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/ietf-netconf-with-defaults.yang b/drivers/microsemi/ea1000yang/src/main/yang/ietf-netconf-with-defaults.yang
new file mode 100644
index 0000000..1c569a2
--- /dev/null
+++ b/drivers/microsemi/ea1000yang/src/main/yang/ietf-netconf-with-defaults.yang
@@ -0,0 +1,165 @@
+ module ietf-netconf-with-defaults {
+
+    namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults";
+
+    prefix ncwd;
+
+    import ietf-netconf { prefix nc; }
+
+    organization
+     "IETF NETCONF (Network Configuration Protocol) Working Group";
+
+    contact
+     "WG Web:   <http://tools.ietf.org/wg/netconf/>
+      WG List:  <mailto:netconf@ietf.org>
+
+      WG Chair: Bert Wijnen
+                <mailto:bertietf@bwijnen.net>
+
+      WG Chair: Mehmet Ersue
+                <mailto:mehmet.ersue@nsn.com>
+
+      Editor: Andy Bierman
+              <mailto:andy.bierman@brocade.com>
+
+      Editor: Balazs Lengyel
+              <mailto:balazs.lengyel@ericsson.com>";
+
+    description
+     "This module defines an extension to the NETCONF protocol
+      that allows the NETCONF client to control how default
+      values are handled by the server in particular NETCONF operations.
+
+      Copyright (c) 2010 IETF Trust and the persons identified as
+      the document authors.  All rights reserved.
+
+      Redistribution and use in source and binary forms, with or
+      without modification, is permitted pursuant to, and subject
+      to the license terms contained in, the Simplified BSD License
+      set forth in Section 4.c of the IETF Trust's Legal Provisions
+      Relating to IETF Documents
+      (http://trustee.ietf.org/license-info).
+
+      This version of this YANG module is part of RFC XXXX; see
+      the RFC itself for full legal notices.";
+    // RFC Ed.: replace XXXX with actual RFC number and remove this note
+
+    // RFC Ed.: remove this note
+    // Note: extracted from draft-ietf-netmod-with-defaults-10.txt
+
+    revision 2010-06-09 {
+      description
+        "Initial version.";
+      reference
+       "RFC XXXX: With-defaults capability for NETCONF";
+    }
+    // RFC Ed.: replace XXXX with actual
+    // RFC number and remove this note
+
+    typedef with-defaults-mode {
+       description
+         "Possible modes to report default data.";
+       reference
+          "RFC XXXX; section 3.";
+          // RFC Ed.: replace XXXX with actual
+          // RFC number and remove this note
+
+       type enumeration {
+          enum report-all {
+              description
+                "All default data is reported.";
+              reference
+                "RFC XXXX; section 3.1";
+                // RFC Ed.: replace XXXX with actual
+                // RFC number and remove this note
+
+          }
+          enum report-all-tagged {
+              description
+                "All default data is reported.
+                 Any nodes considered to be default data
+                 will contain a 'wd:default' XML attribute,
+                 set to 'true'.";
+              reference
+                "RFC XXXX; section 3.4";
+                // RFC Ed.: replace XXXX with actual
+                // RFC number and remove this note
+          }
+          enum trim {
+              description
+                "Values are not reported if they contain the default.";
+              reference
+                "RFC XXXX; section 3.2";
+                // RFC Ed.: replace XXXX with actual
+                // RFC number and remove this note
+
+          }
+          enum explicit {
+              description
+                "Report values that contain the definition of
+                 explicitly set data.";
+              reference
+                "RFC XXXX; section 3.3";
+                // RFC Ed.: replace XXXX with actual
+                // RFC number and remove this note
+          }
+      }
+    }
+
+    grouping with-defaults-parameters {
+      description
+        "Contains the <with-defaults> parameter for control
+         of defaults in NETCONF retrieval operations.";
+
+      leaf with-defaults {
+        description
+          "The explicit defaults processing mode requested.";
+        reference
+          "RFC XXXX; section 4.6.1";
+          // RFC Ed.: replace XXXX with actual
+          // RFC number and remove this note
+
+        type with-defaults-mode;
+      }
+    }
+
+    // extending the get-config operation
+    augment /nc:get-config/nc:input {
+        description
+          "Adds the <with-defaults> parameter to the
+           input of the NETCONF <get-config> operation.";
+        reference
+          "RFC XXXX; section 4.6.1";
+          // RFC Ed.: replace XXXX with actual
+          // RFC number and remove this note
+
+        uses with-defaults-parameters;
+    }
+
+    // extending the get operation
+    augment /nc:get/nc:input {
+        description
+          "Adds the <with-defaults> parameter to
+           the input of the NETCONF <get> operation.";
+        reference
+          "RFC XXXX; section 4.6.1";
+          // RFC Ed.: replace XXXX with actual
+          // RFC number and remove this note
+
+        uses with-defaults-parameters;
+    }
+
+    // extending the copy-config operation
+    augment /nc:copy-config/nc:input {
+        description
+          "Adds the <with-defaults> parameter to
+           the input of the NETCONF <copy-config> operation.";
+        reference
+          "RFC XXXX; section 4.6.1";
+          // RFC Ed.: replace XXXX with actual
+          // RFC number and remove this note
+
+        uses with-defaults-parameters;
+    }
+
+ }