Initial import of Microsemi Driver

Change-Id: I431d5f2c18e0b66a84c36273c3d9f0b84f223841

Added in BUCK files for building driver

Change-Id: I70681327f5b89f67e904c45d5974ab393652d51f

Corrected some syntax errors

Change-Id: I11150cc499c212005f80619e3900e747f1c23d96

Updated pom file to clean build

Change-Id: I6613ddc9e6802aa882e716cf04df210249870835

Added in utility functions for EA1000 Init

Change-Id: I51ffe0cf0daf9ffcea0e2479ee9982fcd1755440

Added YMS code to Microsemi Driver

Change-Id: I6f2a14e454c6909bf9e9f6025321c74c98c13c72

Updated driver to work with YMS and YCH

Change-Id: If7dbe3cd5bd1b6f902d09d6b2dc3895605d70f70

Implemented IetfSystemManager as a service and call on YMS as a service

Change-Id: If1c5e8482b1f53f578a3b0b770accd50024111cf

Moved YMS calls over in to Yang Service implementation

Change-Id: I044aad06f1ef7452bc48e88987787a683666cd72

improved unit test for IetfSystemManager

Change-Id: I48fbf831e7e5ca0e1ef3de8288e56da1b5ebb7a4

Major changes to IetfSystemManager to work in live system

Change-Id: I6e3aa118ba422151f314b9a666860d90905c9929

Added in retry mechanism for DeviceDescription to wait for YCH

Change-Id: If8e0f2c2f315ffd6db15627a11382a00217dd262

Added in implementation of MseaSaFiltering and unit tests

Change-Id: I34bf888e0e732bd4664d1fb8ef5abb679b1506fe

Updated driver with unit tests for MseaSaFiltering

Change-Id: I7ea2407a546622ff55d1ab21610c45697546d632

Modified removeFlowRules of Ea1000FlowRuleProgrammable

Change-Id: Ibb4a555f61887a8e6e42af588bb42f7b70f58efb

Added in manager for MseaUniEvc service with unit tests

Change-Id: Idc5853f46051548973f52a0659f7f88982ff960c

Implemented getFlowEntries() for EVCs from EA1000

Change-Id: Ie85dadfa7760f0b30a9bdf6ccd09cca9f097fff9

Added in translation of FlowRules in to EVC on EA1000

Change-Id: Icfb65171c3300c96b3ca4e18cbd327f0ed2190be

Added in handling of FlowRule deletion including complex ceVlanMaps

Change-Id: I7fd0bb0ef04d1b40e4b7d6a6db7f7ee662329780

Updated Service entries for new onos-yang-tools

Change-Id: I44e655202f3a45073e1e16f83737caed6e01afa8

Revert "Updated Service entries for new onos-yang-tools"

This reverts commit 642b550ef1de12ed59bad2eaa3a2da414d2e5e59.

Improved timeout mechanism for YANG model loading

Change-Id: If744ecd206372e822edf2b736c83226321a12256

Minor edits of EVC creation

Change-Id: Ib0a4763deaf6dce37625ba77f5095b39cd98272d

Added in CustomEvc and supporting classes

Change-Id: Iad60eb1bcd48d2aec55b894b2d419b51852c3b2f

Created CeVlanUtils to resolve loading problem

Change-Id: I0d63931ad2c5ad2725861ebc7dccc4d5fe7b9298

Modified startup check

Change-Id: I6e6bcfa7e615044cb08fe7ee2f8a6c8b89aabb21

Modified handlin of flow rules

Change-Id: I965a79c23298866122aeb94c6d9d584aafee3bd5

Fixed problem with ceVlanMap

Change-Id: If1458c35d0b95b5b25b6636f098292f9e91c06c6

Minor Pom edits

Change-Id: I5cefb18674aa04b1f50bd7e2306260c1c3ad3814

Commented out extension references in YANG files to avoid onos-yang-tools problems

Change-Id: I32fdb34c4f476f495fe28e75d0f410aaf14e2ec1

Corrected error in removing 0 in CeVlanMapUtils

Change-Id: I8cd1fd02788b81c2613364d5639ef6e090057f80

Changes in YMS to accomodate EA1000 driver

Change-Id: I6ae2b9bd2be49eae8d4ad2f929dfe3214c514550
diff --git a/drivers/microsemi/ea1000yang/src/main/yang/ENTITY-STATE-TC-MIB.yang b/drivers/microsemi/ea1000yang/src/main/yang/ENTITY-STATE-TC-MIB.yang
new file mode 100644
index 0000000..c2d8a59
--- /dev/null
+++ b/drivers/microsemi/ea1000yang/src/main/yang/ENTITY-STATE-TC-MIB.yang
@@ -0,0 +1,184 @@
+/*
+ * This module has been generated by smidump 0.4.8:
+ *
+ *      smidump -f yang ENTITY-STATE-TC-MIB
+ *
+ * Do not edit. Edit the source file instead!
+ */
+
+module ENTITY-STATE-TC-MIB {
+
+  /*** NAMESPACE / PREFIX DEFINITION ***/
+
+  namespace "urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB";
+  prefix "entity-state";
+
+  /*** LINKAGE (IMPORTS / INCLUDES) ***/
+
+
+  /*** META INFORMATION ***/
+
+  organization
+   "IETF Entity MIB Working Group";
+
+  contact
+   "General Discussion: entmib@ietf.org
+    To Subscribe:
+    http://www.ietf.org/mailman/listinfo/entmib
+
+    http://www.ietf.org/html.charters/entmib-charter.html
+
+    Sharon Chisholm
+    Nortel Networks
+    PO Box 3511 Station C
+    Ottawa, Ont.  K1Y 4H7
+    Canada
+    schishol@nortel.com
+
+    David T. Perkins
+    548 Qualbrook Ct
+    San Jose, CA 95110
+    USA
+    Phone: 408 394-8702
+    dperkins@snmpinfo.com";
+
+  description
+   "This MIB defines state textual conventions.
+
+    Copyright (C) The Internet Society 2005.  This version
+    of this MIB module is part of RFC 4268;  see the RFC
+    itself for full legal notices.";
+
+  revision "2005-11-22" {
+    description
+     "Initial version, published as RFC 4268.";
+  }
+
+  /*** TYPE DEFINITIONS ***/
+
+  typedef EntityAdminState {
+    type enumeration {
+      enum unknown      { value 1; }
+      enum locked       { value 2; }
+      enum shuttingDown { value 3; }
+      enum unlocked     { value 4; }
+    }
+    description
+     " Represents the various possible administrative states.
+
+
+
+
+
+      A value of 'locked' means the resource is administratively
+      prohibited from use.  A value of 'shuttingDown' means that
+      usage is administratively limited to current instances of
+      use.  A value of 'unlocked' means the resource is not
+      administratively prohibited from use.  A value of
+      'unknown' means that this resource is unable to
+      report administrative state.";
+  }
+
+  typedef EntityOperState {
+    type enumeration {
+      enum unknown  { value 1; }
+      enum disabled { value 2; }
+      enum enabled  { value 3; }
+      enum testing  { value 4; }
+    }
+    description
+     " Represents the possible values of operational states.
+
+      A value of 'disabled' means the resource is totally
+      inoperable.  A value of 'enabled' means the resource
+      is partially or fully operable.  A value of 'testing'
+      means the resource is currently being tested
+      and cannot therefore report whether it is operational
+      or not.  A value of 'unknown' means that this
+      resource is unable to report operational state.";
+  }
+
+  typedef EntityUsageState {
+    type enumeration {
+      enum unknown { value 1; }
+      enum idle    { value 2; }
+      enum active  { value 3; }
+      enum busy    { value 4; }
+    }
+    description
+     " Represents the possible values of usage states.
+      A value of 'idle' means the resource is servicing no
+      users.  A value of 'active' means the resource is
+      currently in use and it has sufficient spare capacity
+      to provide for additional users.  A value of 'busy'
+      means the resource is currently in use, but it
+      currently has no spare capacity to provide for
+      additional users.  A value of 'unknown' means
+      that this resource is unable to report usage state.";
+  }
+
+  typedef EntityAlarmStatus {
+    type bits {
+      bit unknown       { position 0; }
+      bit underRepair   { position 1; }
+      bit critical      { position 2; }
+      bit major         { position 3; }
+      bit minor         { position 4; }
+      bit warning       { position 5; }
+      bit indeterminate { position 6; }
+    }
+    description     
+     " Represents the possible values of alarm status.
+      An Alarm [RFC3877] is a persistent indication
+      of an error or warning condition.
+
+      When no bits of this attribute are set, then no active
+      alarms are known against this entity and it is not under
+      repair.
+
+      When the 'value of underRepair' is set, the resource is
+      currently being repaired, which, depending on the
+      implementation, may make the other values in this bit
+      string not meaningful.
+
+      When the value of 'critical' is set, one or more critical
+      alarms are active against the resource.  When the value
+      of 'major' is set, one or more major alarms are active
+      against the resource.  When the value of 'minor' is set,
+      one or more minor alarms are active against the resource.
+      When the value of 'warning' is set, one or more warning
+      alarms are active against the resource.  When the value
+      of 'indeterminate' is set, one or more alarms of whose
+      perceived severity cannot be determined are active
+      against this resource.
+
+      A value of 'unknown' means that this resource is
+      unable to report alarm state.";
+  }
+
+  typedef EntityStandbyStatus {
+    type enumeration {
+      enum unknown          { value 1; }
+      enum hotStandby       { value 2; }
+      enum coldStandby      { value 3; }
+      enum providingService { value 4; }
+    }
+    description     
+     " Represents the possible values of standby status.
+
+      A value of 'hotStandby' means the resource is not
+      providing service, but it will be immediately able to
+      take over the role of the resource to be backed up,
+      without the need for initialization activity, and will
+      contain the same information as the resource to be
+      backed up.  A value of 'coldStandy' means that the
+      resource is to back up another resource, but will not
+      be immediately able to take over the role of a resource
+      to be backed up, and will require some initialization
+      activity.  A value of 'providingService' means the
+      resource is providing service.  A value of
+      'unknown' means that this resource is unable to
+      report standby state.";
+  }
+
+} /* end of module ENTITY-STATE-TC-MIB */