CFM and Microsemi cleanup

Change-Id: I4a69b2b0db6e18f48de8fbcb576d2563cb41e498
diff --git a/apps/cfm/src/test/resources/examples/CreateMdDomainA.json b/apps/cfm/src/test/resources/examples/CreateMdDomainA.json
index 2dbb761..3bb8a2f 100644
--- a/apps/cfm/src/test/resources/examples/CreateMdDomainA.json
+++ b/apps/cfm/src/test/resources/examples/CreateMdDomainA.json
@@ -2,6 +2,6 @@
   "mdName": "DomainA",
   "mdNameType": "CHARACTERSTRING",
   "mdLevel": "LEVEL3",
-  "mdNumeridId": 1
+  "mdNumericId": 1
 }
 }
\ No newline at end of file
diff --git a/drivers/microsemi/README.md b/drivers/microsemi/README.md
index 1737b08..36f5416 100644
--- a/drivers/microsemi/README.md
+++ b/drivers/microsemi/README.md
@@ -1,4 +1,4 @@
-#Microsemi Edge Assure 1000 SFP-NID
+# Microsemi Edge Assure 1000 SFP-NID
 This driver allows connection to the Microsemi Edge Assure 1000 SFP-NID
 [EdgeAssure 1000 Product Page](https://www.microsemi.com/existing-parts/parts/137346)
 
@@ -6,7 +6,7 @@
 
 Currently only a subset of it's functionality is supported through ONOS, but this will expand to full functionality in future releases.
 
-#Compile and Installation
+# Compile and Installation
 Currently this driver is built using BUCK and uses version 2.1 of onos-yang-tools<br/>
 
 All that is required to activate the driver is to run the following at the ONOS CLI<br/>
@@ -14,43 +14,49 @@
 This will load any dependent apps also. To verify the driver has been loaded run the command<br/>
 **onos:apps -a -s**
 
-#Change NETCONF default connection timeout
+# Change NETCONF default connection timeout
 Connection timeouts need to be increased from default values when using EA1000. At ONOS command line run
 
-`onos:cfg set org.onosproject.netconf.ctl.impl.NetconfControllerImpl netconfConnectTimeout 50`<br/>
-`onos:cfg set org.onosproject.netconf.ctl.impl.NetconfControllerImpl netconfReplyTimeout 50`<br/>
+```
+onos:cfg set org.onosproject.netconf.ctl.impl.NetconfControllerImpl netconfConnectTimeout 50
+onos:cfg set org.onosproject.netconf.ctl.impl.NetconfControllerImpl netconfReplyTimeout 50
+```
 
-#Creating Devices
+# Creating Devices
 EA1000 Devices will not be automatically discovered at present in ONOS. They have to be created through the network/configuration REST interface in ONOS.
 
 * The name must follow the format **netconf:ipaddr:port**
 * The **ip** and **port** must correspond to the ip and port in the name (above).
 
-`{`<br/>
-&nbsp;`"devices": {`<br/>
-&nbsp;&nbsp;`"netconf:192.168.56.10:830": {`<br/>
-&nbsp;&nbsp;&nbsp;`"netconf": {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"username": "admin",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"password": "admin",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"ip": "192.168.56.10",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"port": "830"`<br/>
-&nbsp;&nbsp;&nbsp;`},`<br/>
-&nbsp;&nbsp;&nbsp;`"basic": {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"driver": "microsemi-netconf",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"type": "SWITCH",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"manufacturer": "Microsemi",`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"hwVersion": "EA1000"`<br/>
-&nbsp;&nbsp;&nbsp;`}`<br/>
-&nbsp;&nbsp;`}`<br/>
-&nbsp;`}`<br/>
-`}`<br/>
+```json
+{
+  "devices": {
+    "netconf:192.168.56.10:830": {
+      "netconf": {
+        "username": "admin",
+        "password": "admin",
+        "ip": "192.168.56.10",
+        "port": "830"
+      },
+      "basic": {
+        "driver": "microsemi-netconf",
+        "type": "SWITCH",
+        "manufacturer": "Microsemi",
+        "hwVersion": "EA1000"
+      }
+    }
+  }
+}
+```
 
 
-#Connected Device
+# Connected Device
 When the EA1000 is configured and connected is should be visible in ONOS through the **devices** command.
 
-`onos> devices`<br/>
-`id=netconf:192.168.56.10:830, available=true, local-status=connected 33s ago, role=MASTER, type=SWITCH, mfr=Microsemi, hw=EA1000, sw=4.4.0-53-generic, serial=Eagle Simulator., driver=microsemi-netconf, ipaddress=192.168.56.10, latitude=51.8865467, locType=geo, longitude=-8.4040440, name=netconf:192.168.56.10:830, port=830, protocol=NETCONF`
+```
+onos> devices
+id=netconf:192.168.56.10:830, available=true, local-status=connected 33s ago, role=MASTER, type=SWITCH, mfr=Microsemi, hw=EA1000, sw=4.4.0-53-generic, serial=Eagle Simulator., driver=microsemi-netconf, ipaddress=192.168.56.10, latitude=51.8865467, locType=geo, longitude=-8.4040440, name=netconf:192.168.56.10:830, port=830, protocol=NETCONF 
+```
 
 Note how the
 * software version (sw=**4.4.0-53-generic**)
@@ -65,37 +71,43 @@
 * Port 0 - The **Optics** port - this is a single mode 1000LX 1310nm optical connection
 * Port 1 - The **Host** port - this is a 1GB Ethernet Copper connection in to an SFP Port
 
-`onos> ports`<br/>
-`id=netconf:192.168.56.10:830, available=true, local-status=connected 15s ago, role=MASTER, type=SWITCH, mfr=Microsemi, hw=EA1000, sw=4.4.0-53-generic, serial=Eagle Simulator., driver=microsemi-netconf, ipaddress=192.168.56.10, latitude=51.8865467, locType=geo, longitude=-8.4040440, name=netconf:192.168.56.10:830, port=830, protocol=NETCONF`<br/>
-`&nbsp;port=0, state=enabled, type=fiber, speed=1000, portName=Optics`<br/>
-`&nbsp;port=1, state=enabled, type=copper, speed=1000, portName=Host`<br/>
+```
+onos> ports
+id=netconf:192.168.56.10:830, available=true, local-status=connected 15s ago, role=MASTER, type=SWITCH, mfr=Microsemi, hw=EA1000, sw=4.4.0-53-generic, serial=Eagle Simulator., driver=microsemi-netconf, ipaddress=192.168.56.10, latitude=51.8865467, locType=geo, longitude=-8.4040440, name=netconf:192.168.56.10:830, port=830, protocol=NETCONF
+    port=0, state=enabled, type=fiber, speed=1000, portName=Optics
+    port=1, state=enabled, type=copper, speed=1000, portName=Host
+```
 
-
-#OpenFlow Emulation
+# OpenFlow Emulation
 Currently the EA1000 supports only a limited set of OpenFlow rules through the Flows REST API and the Flow Objective API.
 
-##IP Source Address filtering
+## IP Source Address filtering
 A feature of the EA1000 that may be configured through Flow Rules is IP Source Address Filtering. This can only be activated on Port 0 (the optics Port). An example of this kind of flow is
 
 `POST /onos/v1/flows/ HTTP/1.1`<br/>
-`{`<br/>
-&nbsp;`"flows": [`<br/>
-&nbsp;&nbsp;`{`<br/>
-&nbsp;&nbsp;&nbsp;`"priority": 50000,`<br/>
-&nbsp;&nbsp;&nbsp;`"timeout": 0,`<br/>
-&nbsp;&nbsp;&nbsp;`"isPermanent": true,`<br/>
-&nbsp;&nbsp;&nbsp;`"deviceId": "netconf:192.168.56.10:830",`<br/>
-&nbsp;&nbsp;&nbsp;`"tableId": 8,`<br/>
-&nbsp;&nbsp;&nbsp;`"treatment": {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"instructions": [  {"type": "NOACTION"} ],`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"deferred": []`<br/>
-&nbsp;&nbsp;&nbsp;`},`<br/>
-&nbsp;&nbsp;&nbsp;`"selector": {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`"criteria": [  {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"type": "IPV4_SRC", "ip": "192.168.8.0/24"`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`},{`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"type": "IN_PORT", "port": "0"`<br/>
-`} ] } } ] }`<br/>
+```json
+{
+  "flows": [
+    {
+      "priority": 50000,
+      "timeout": 0,
+      "isPermanent": true,
+      "deviceId": "netconf:192.168.56.10:830",
+      "tableId": 8,
+      "treatment": {
+        "instructions": [ {"type": "NOACTION"} ],
+        "deferred": []
+       },
+      "selector": {
+        "criteria": [
+          {"type": "IPV4_SRC", "ip": "192.168.8.0/24"},
+          {"type": "IN_PORT", "port": "0"}
+        ]
+      }
+    }
+  ]
+}
+```
 
 ## Vlan Tag Manipulation
 **Note: Before Vlan Tag manipulation can be done the mode of the interface on the EA1000 has to be changed to be compatible with the type of tags that are being received. If this is not done, once an EVC is created the packets that have the Vlan tagged on will be treated as untagged by EA1000, and dropped if there is no EVC present corresponding to the interface PVID. See the section below on the "Setting EA1000 Interface Tagging Mode"**
@@ -103,97 +115,104 @@
 Flows that Push, Pop or Overwrite VLAN tags are implemented in EA1000 and are treated as MEF Carrier Ethernet EVCs. Both CTags and STags can be pushed on to matching Ethernet packets at network Layer 2.
 
 `POST /onos/v1/flows/ HTTP/1.1`<br/>
-`{`<br/>
-`  "flows": [`<br/>
-`    {`<br/>
-`      "priority": 50000,`<br/>
-`      "timeout": 0,`<br/>
-`      "isPermanent": true,`<br/>
-`      "tableId": 6,` --This sets the EVC id  - this first flow is configuring the customer side - UNI-C<br/>
-`      "deviceId": "netconf:192.168.56.10:830",`<br/>
-`      "treatment": {`<br/>
-`        "instructions": [`<br/>
-`          {`<br/>
-`            "type": "L2MODIFICATION",`<br/>
-`            "subtype": "VLAN_PUSH",` --This pushes a VLAN on<br/>
-`            "ethernetType": "0x88a8"`  --The pushed VLAN type is QinQ<br/>
-`          },{`<br/>
-`            "type": "L2MODIFICATION",`<br/>
-`            "subtype": "VLAN_ID",`<br/>
-`            "vlanId": "200"`  --The pushed VLAN id is 200<br/>
-`          }`<br/>
-`        ],`<br/>
-`        "deferred": []`<br/>
-`      },`<br/>
-`      "selector": {`<br/>
-`        "criteria": [`<br/>
-`         {`<br/>
-`          "type": "VLAN_VID",`<br/>
-`          "vlanId": "100"` -- Applies only to packets already tagged with VLAN 100..<br/>
-`         },{`<br/>
-`          "type": "IN_PORT",`<br/>
-`          "port": "1"`  -- ..that are coming in on the Host port<br/>
-`         }`<br/>
-`        ]`<br/>
-`      }`<br/>
-`    },{`<br/>
-`      "priority": 50000,`<br/>
-`      "timeout": 0,`<br/>
-`      "isPermanent": true,`<br/>
-`      "tableId": 6,`  -- The same EVC, but now we are configuring another VLAN<br/>
-`      "deviceId": "netconf:192.168.56.10:830",`<br/>
-`      "treatment": {`<br/>
-`       "instructions": [`<br/>
-`         {`<br/>
-`          "type": "L2MODIFICATION",`<br/>
-`          "subtype": "VLAN_PUSH",`  -- Push again<br/>
-`          "ethernetType": "0x88a8"`  -- QinQ again<br/>
-`         },{`
-`          "type": "L2MODIFICATION",`<br/>
-`          "subtype": "VLAN_ID",`<br/>
-`          "vlanId": "200"`  -- VLAN 200 again<br/>
-`         }`<br/>
-`        ],`<br/>
-`        "deferred": []`<br/>
-`      },`<br/>
-`      "selector": {`<br/>
-`        "criteria": [`<br/>
-`         {`<br/>
-`          "type": "VLAN_VID",`<br/>
-`          "vlanId": "101"`  -- Applies only to packets already tagged with VLAN 101..<br/>
-`         },{`<br/>
-`          "type": "IN_PORT",`<br/>
-`          "port": "1"`  -- ..that are coming in on the Host port<br/>
-`         }`<br/>
-`        ]`<br/>
-`      }`<br/>
-`    },{`<br/>
-`      "priority": 50000,`<br/>
-`      "timeout": 0,`<br/>
-`      "isPermanent": true,`<br/>
-`      "tableId": 6,`  -- The same EVC, but now we are configuring the opposite side<br/>
-`      "deviceId": "netconf:192.168.56.10:830",`<br/>
-`      "treatment": {`<br/>
-`       "instructions": [`<br/>
-`         {`<br/>
-`          "type": "L2MODIFICATION",`<br/>
-`          "subtype": "VLAN_POP"`  -- Here we are popping the top level tag<br/>
-`         }`<br/>
-`       ],`<br/>
-`       "deferred": []`<br/>
-`      },`<br/>
-`      "selector": {`<br/>
-`       "criteria": [`<br/>
-`        {`<br/>
-`         "type": "VLAN_VID",`  -- Applies only to packets tagged with VLAN 200<br/>
-`         "vlanId": "200"`<br/>
-`        },{`<br/>
-`         "type": "IN_PORT",`<br/>
-`         "port": "0"`  -- That are coming in on the Optics Port<br/>
-`        }`<br/>
-`      ] } } ] }`<br/>
+```json
+{
+  "flows": [
+    {
+      "priority": 50000,
+      "timeout": 0,
+      "isPermanent": true,
+      "tableId": 6, // This sets the EVC id - this first flow is configuring the customer side - UNI-C
+      "deviceId": "netconf:192.168.56.10:830",
+      "treatment": {
+        "instructions": [
+          {
+            "type": "L2MODIFICATION",
+            "subtype": "VLAN_PUSH", // This pushes a VLAN on
+            "ethernetType": "0x88a8" // The pushed VLAN type is QinQ
+          },
+          {
+            "type": "L2MODIFICATION",
+            "subtype": "VLAN_ID",
+            "vlanId": "200" // The pushed VLAN id is 200
+          }],
+        "deferred": []
+      },
+      "selector": {
+        "criteria": [
+        {
+          "type": "VLAN_VID",
+          "vlanId": "100" // Applies only to packets already tagged with VLAN 100..
+        },
+        {
+          "type": "IN_PORT",
+          "port": "1" // ...that are coming in on the Host port
+        }]
+        }
+    },
+    {
+      "priority": 50000,
+      "timeout": 0,
+      "isPermanent": true,
+      "tableId": 6, // The same EVC, but now we are configuring another VLAN
+      "deviceId": "netconf:192.168.56.10:830",
+      "treatment": {
+        "instructions": [
+          {
+            "type": "L2MODIFICATION",
+            "subtype": "VLAN_PUSH", // Push again
+            "ethernetType": "0x88a8" // QinQ again
+          },
+          {
+            "type": "L2MODIFICATION",
+            "subtype": "VLAN_ID",
+            "vlanId": "200" // VLAN 200 again
+          }],
+        "deferred": []
+      },
+      "selector": {
+        "criteria": [
+          {
+            "type": "VLAN_VID",
+            "vlanId": "101" // Applies only to packets already tagged with VLAN 101..
+          },
+          {
+            "type": "IN_PORT",
+            "port": "1" // ... that are coming in on the Host port
+          }]
+      }
+    },
+    {
+      "priority": 50000,
+      "timeout": 0,
+      "isPermanent": true,
+      "tableId": 6, // The same EVC, but now we are configuring the opposite side
+      "deviceId": "netconf:192.168.56.10:830",
+      "treatment": {
+        "instructions": [
+        {
+          "type": "L2MODIFICATION",
+          "subtype": "VLAN_POP" // Here we are popping the top level tag
+        }],
+        "deferred": []
+      },
+      "selector": {
+        "criteria": [
+          {
+            "type": "VLAN_VID", // Applies only to packets tagged with VLAN 200
+            "vlanId": "200"
+          },
+          {
+            "type": "IN_PORT",
+            "port": "0" // That are coming in on the Optics Port
+          }]
+      }
+    }
+  ]
+}
+```
 
-##Setting EA1000 Interface Tagging Mode
+## Setting EA1000 Interface Tagging Mode
 The Interface of the EA1000 has an attribute **frame_format** that must be set to either:
 * none (default)
 * ctag
@@ -210,124 +229,150 @@
 
 See the EA1000 User Guide for details on how to use *yangcli-pro* to access the EA1000.
 
-On an EA1000 accessed through *yangcli-pro* the following commands can be used to make these changes:<br/>
-`admin@192.168.2.234> discard-changes`<br/>
-`admin@192.168.2.234> copy-config source=startup target=candidate`<br/>
-`admin@192.168.2.234> merge /interfaces/interface[name='eth0']/frame-format --value='stag'`<br/>
-`admin@192.168.2.234> merge /interfaces/interface[name='eth1']/frame-format --value='ctag'`<br/>
-`admin@192.168.2.234> commit`<br/>
-`admin@192.168.2.234> copy-config source=running target=startup`<br/>
+On an EA1000 accessed through *yangcli-pro* the following commands can be used to make these changes:
 
+```
+admin@192.168.2.234> discard-changes
+admin@192.168.2.234> copy-config source=startup target=candidate
+admin@192.168.2.234> merge /interfaces/interface[name='eth0']/frame-format --value='stag'
+admin@192.168.2.234> merge /interfaces/interface[name='eth1']/frame-format --value='ctag'
+admin@192.168.2.234> commit
+admin@192.168.2.234> copy-config source=running target=startup
+```
 
-#ONOS Carrier Ethernet Application
+# ONOS Carrier Ethernet Application
 The ONOS [Carrier Ethernet](https://wiki.onosproject.org/display/ONOS/Carrier+Ethernet+Application) application allows EVCs to be created between UNIs that are linked together in ONOS. This is translated down to OpenFlow switches by converting the **ce-evc-create** commands in to Flow Rules similar to those shown above.
 
 While EA1000 is not an OpenFlow switch, it's driver can convert these flows in to NETCONF which can be used to configure EVCs on the EA1000. Because EA1000 is just a 2 port device it represents only 1 UNI (conventionally on switches each port represnts a UNI).
 
 When an EA1000 device is configured in ONOS the Carrier Ethernet Application considers both of its ports to be UNIs, as can be seen in the listing below:
 
-`onos> ce-uni-list`<br/>
-`CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=null, refCount=0, ceVlanIds=[], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[]}`<br/>
-`CarrierEthernetUni{id=netconf:192.168.56.10:830/1, cfgId=netconf:192.168.56.10:830/1, role=null, refCount=0, ceVlanIds=[], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[]}`<br/>
+```
+onos> ce-uni-list
+CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=null, refCount=0, ceVlanIds=[], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[]}
+CarrierEthernetUni{id=netconf:192.168.56.10:830/1, cfgId=netconf:192.168.56.10:830/1, role=null, refCount=0, ceVlanIds=[], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[]}
+```
 
 This mismatch is handled in the driver - both side appear to be separate here but they will apply to the same single UNI on the EA1000 in opposite directions.
 
 For an EVC to be created there has to an ONOS 'link' between 2 UNIs for a POINT-TO-POINT connection - an Ethernet Virtual Private Line (**EVPL**). There has to be more than 2 UNIs to create a MULTIPOINT-TO-MULTIPOINT link - an E-Lan.
 
-##Links
+## Links
 In a simple scenario that has 2 EA1000s (netconf:192.168.56.10:830 and netconf:192.168.56.20:830) configured in ONOS, the two might be linked together through their optics ports (port 0). The following result is expected for a bi-directional link:
 
-`onos> links`<br/>
-`src=netconf:192.168.56.10:830/0, dst=netconf:192.168.56.20:830/0, type=DIRECT, state=ACTIVE, expected=false`<br/>
-`src=netconf:192.168.56.20:830/0, dst=netconf:192.168.56.10:830/0, type=DIRECT, state=ACTIVE, expected=false`<br/>
-
+```
+onos> links
+src=netconf:192.168.56.10:830/0, dst=netconf:192.168.56.20:830/0, type=DIRECT, state=ACTIVE, expected=false
+src=netconf:192.168.56.20:830/0, dst=netconf:192.168.56.10:830/0, type=DIRECT, state=ACTIVE, expected=false
+```
 This will not exist by default since Link Discovery is not yet a feature of the EA1000 driver. These have to be created manually - through the network/configuration REST API.
 
 `POST /onos/v1/network/configuration/ HTTP/1.1`<br/>
-`{`<br/>
-`  "links": {`<br/>
-`  "netconf:192.168.56.10:830/0-netconf:192.168.56.20:830/0" : {`  -- 10 to 20<br/>
-`    "basic" : {`<br/>
-`      "type" : "DIRECT"`<br/>
-`    }`<br/>
-`  },`<br/>
-`  "netconf:192.168.56.20:830/0-netconf:192.168.56.10:830/0" : {`  -- and reverse<br/>
-`    "basic" : {`<br/>
-`      "type" : "DIRECT"`<br/>
-`    } } } }`<br/>
+```json
+{
+  "links": {
+    "netconf:192.168.56.10:830/0-netconf:192.168.56.20:830/0": { // 10 to 20
+      "basic" : {
+        "type" : "DIRECT"
+      }
+    },
+    "netconf:192.168.56.20:830/0-netconf:192.168.56.10:830/0" : { // and reverse
+      "basic" : {
+        "type" : "DIRECT"
+      }
+    }
+  }
+}
+```
 
-##EVPL Creation
+## EVPL Creation
 To create a simple EVPL the following command can be used at the ONOS CLI:<br/>
 
-`onos>ce-evc-create --cevlan 101 evpl1 POINT_TO_POINT netconf:192.168.57.10:830/0 netconf:192.168.57.20:830/0`<br/>
+```
+onos>ce-evc-create --cevlan 101 evpl1 POINT_TO_POINT netconf:192.168.57.10:830/0 netconf:192.168.57.20:830/0
+```
 
 This returns without any message. Tailing through the ONOS logs will reveal any error that might have occurred.<br/>
 
-This EVC can be viewed only through the command line:<br/>
-`onos> ce-evc-list`<br/>
-`  CarrierEthernetVirtualConnection{id=EP-Line-1, cfgId=evpl1, type=POINT_TO_POINT, state=ACTIVE,`<br/>
-`UNIs=[`<br/>
-`CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}, `<br/>
-`CarrierEthernetUni{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}], `<br/>
-`FCs=[CarrierEthernetForwardingConstruct{id=FC-1, cfgId=null, type=POINT_TO_POINT, vlanId=1, metroConnectId=null, refCount=1, `<br/>
-`LTPs=[`<br/>
-`CarrierEthernetLogicalTerminationPoint{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, ni=CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}},`   `CarrierEthernetLogicalTerminationPoint{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, ni=CarrierEthernetUni{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}}]}]}`<br/>
+This EVC can be viewed only through the command line:
+```
+onos> ce-evc-list
+CarrierEthernetVirtualConnection{id=EP-Line-1, cfgId=evpl1, type=POINT_TO_POINT, state=ACTIVE,
+UNIs=[
+CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]},
+CarrierEthernetUni{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}],
+FCs=[CarrierEthernetForwardingConstruct{id=FC-1, cfgId=null, type=POINT_TO_POINT, vlanId=1, metroConnectId=null, refCount=1,
+LTPs=[
+CarrierEthernetLogicalTerminationPoint{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, ni=CarrierEthernetUni{id=netconf:192.168.56.10:830/0, cfgId=netconf:192.168.56.10:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}}, CarrierEthernetLogicalTerminationPoint{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, ni=CarrierEthernetUni{id=netconf:192.168.56.20:830/0, cfgId=netconf:192.168.56.20:830/0, role=Root, refCount=0, ceVlanIds=[101], capacity=1000000000, usedCapacity=0.0, bandwidthProfiles=[CarrierEthernetBandwidthProfile{id=FC-1, type=EVC, cir=0.0, cbs=0, eir=0.0, ebs=0}]}}]}]}
+```
 
-##EVPL flows
+## EVPL flows
 This creates a set of flows in ONOS that are pushed down to the two EA1000s through NETCONF to configure the EVCs
 
-`onos> flows`<br/>
-`deviceId=netconf:192.168.56.10:830, flowRuleCount=2`<br/>
-`    id=71000050d21dd5, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:0, VLAN_VID:1], treatment=DefaultTrafficTreatment{immediate=[VLAN_POP], deferred=[], transition=None, meter=None, cleared=false, metadata=null}`  -- This represents ingress on the Optics port 0 on device A and POPs off the S-Tag<br/>
-`    id=710000b5c1f057, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:1, VLAN_VID:101], treatment=DefaultTrafficTreatment{immediate=[VLAN_PUSH:qinq, VLAN_ID:1], deferred=[], transition=TABLE:0, meter=None, cleared=false, metadata=null}`  -- This represents ingress on the Host port 1 on device A and pushes on the S-Tag 1<br/>
+```
+onos> flows
+deviceId=netconf:192.168.56.10:830, flowRuleCount=2
+id=71000050d21dd5, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:0, VLAN_VID:1], treatment=DefaultTrafficTreatment{immediate=[VLAN_POP], deferred=[], transition=None, meter=None, cleared=false, metadata=null} # This represents ingress on the Optics port 0 on device A and POPs off the S-Tag
+id=710000b5c1f057, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:1, VLAN_VID:101], treatment=DefaultTrafficTreatment{immediate=[VLAN_PUSH:qinq, VLAN_ID:1], deferred=[], transition=TABLE:0, meter=None, cleared=false, metadata=null} # This represents ingress on the Host port 1 on device A and pushes on the S-Tag 1
 
-`deviceId=netconf:192.168.56.20:830, flowRuleCount=2`<br/>
-`    id=710000613c8252, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:0, VLAN_VID:1], treatment=DefaultTrafficTreatment{immediate=[VLAN_POP], deferred=[], transition=None, meter=None, cleared=false, metadata=null}`  -- This represents ingress on the Optics port 0 on device B and POPs off the S-Tag 1<br/>
-`    id=7100006ca2573f, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:1, VLAN_VID:101], treatment=DefaultTrafficTreatment{immediate=[VLAN_PUSH:qinq, VLAN_ID:1], deferred=[], transition=TABLE:0, meter=None, cleared=false, metadata=null}`  -- This represents ingress on the Host port 1 on device B and pushes on the S-Tag 1<br/>
+deviceId=netconf:192.168.56.20:830, flowRuleCount=2
+id=710000613c8252, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:0, VLAN_VID:1], treatment=DefaultTrafficTreatment{immediate=[VLAN_POP], deferred=[], transition=None, meter=None, cleared=false, metadata=null} # This represents ingress on the Optics port 0 on device B and POPs off the S-Tag 1
+id=7100006ca2573f, state=ADDED, bytes=0, packets=0, duration=0, liveType=UNKNOWN, priority=50000, tableId=1, appId=org.onosproject.ecord.carrierethernet, payLoad=null, selector=[IN_PORT:1, VLAN_VID:101], treatment=DefaultTrafficTreatment{immediate=[VLAN_PUSH:qinq, VLAN_ID:1], deferred=[], transition=TABLE:0, meter=None, cleared=false, metadata=null} # This represents ingress on the Host port 1 on device B and pushes on the S-Tag 1
+```
 
 Through these flows it's clear that the CE-VLAN on the UNI-C side is 101 and that the S-Tag that is being pushed on is VLAN 1. Packets coming back in on the UNI-N on port 0 have their S-Tag popped off. In this scenario this will create evc-1 on both of the EA1000s.<br/>
 
 On the actual EA1000 itself using a NETCONF CLI Client like yangcli-pro, the result is:
+```
+admin@192.168.56.10> sget-config /mef-services/uni source=running
+rpc-reply {
+  data {
+    mef-services {
+      uni { # There is only one UNI on the EA1000
+        name Uni-on-192.168.56.10:830 # Automatically assigned
+        evc 1 { # From the VLAN 1 from CE app
+          evc-index 1
+          name EVC-1 # Automatically assigned
+          evc-per-uni {
+            evc-per-uni-c { # The UNI-C side
+            ce-vlan-map 101 # Could be a range of values
+            flow-mapping {
+              ce-vlan-id 101
+              flow-id 31243725464268887 # For tracking with ONOS
+            }
+            ingress-bwp-group-index 0 # No meters
+            tag-push { # Push on an a VLAN
+              push-tag-type pushStag # Push type is S-TAG
+              outer-tag-vlan 1 # Push value is 1
+              }
+            }
+            evc-per-uni-n { # For the UNI-N side
+              ce-vlan-map 1 # The VLAN to match for egress on this side
+              flow-mapping {
+                ce-vlan-id 1
+                flow-id 31243723770830293
+              }
+              ingress-bwp-group-index 0
+              tag-pop { # Pop off the S-TAG
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+admin@192.168.56.10>
+```
 
-`admin@192.168.56.10> sget-config /mef-services/uni source=running`<br/>
-`rpc-reply {`<br/>
-&nbsp;data `{`<br/>
-&nbsp;&nbsp;`mef-services {`<br/>
-&nbsp;&nbsp;&nbsp;`uni {`  -- There is only one UNI on the EA1000<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`name Uni-on-192.168.56.10:830`  -- Automatically assigned<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;`evc  1 {`  -- From the VLAN 1 from CE app<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`evc-index 1`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`name EVC-1`  -- Automatically assigned<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`evc-per-uni {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`evc-per-uni-c {`  -- The UNI-C side<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ce-vlan-map 101`  -- Could be a range of values<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`flow-mapping {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ce-vlan-id 101`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`flow-id 31243725464268887`  -- For tracking with ONOS<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ingress-bwp-group-index 0`  -- No meters<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`tag-push {`  -- Push on an a VLAN<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`push-tag-type pushStag`  -- Push type is S-TAG<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`outer-tag-vlan 1`  -- Push value is 1<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`evc-per-uni-n {`  -- For the UNI-N side<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ce-vlan-map 1`  -- The VLAN to match for egress on this side<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`flow-mapping {`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ce-vlan-id 1`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`flow-id 31243723770830293`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ingress-bwp-group-index 0`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`tag-pop {`  -- Pop off the S-TAG<br/>
-`} } } } } } } }`<br/>
-`admin@192.168.56.10>`<br/>
-
-##CIR and EIR as OpenFlow Meters
+## CIR and EIR as OpenFlow Meters
 ** Note: The meters created by Carrier Ethernet are not compatible with Open vSwitch at present.They will disrupt the configuration of the EA1000 if there are Open VSwitch based OpenFlow switches between the UNIs **<br/>
 
 To create limits on how the EVPL can transport data the CIR, EIR and CBS and EBS values can be specified:
 
-`onos> ce-evc-create --cevlan 102 -c 400 -e 200 -cbs 3000 -ebs 2000 evpl2 POINT_TO_POINT netconf:192.168.56.10:830/0 netconf:192.168.56.20:830/0`<br/>
+```
+onos> ce-evc-create --cevlan 102 -c 400 -e 200 -cbs 3000 -ebs 2000 evpl2 POINT_TO_POINT netconf:192.168.56.10:830/0 netconf:192.168.56.20:830/0
+```
 
 * -c 400 means Commit Information Rate is 400 MB/s
 * -e 200 means Excess information Rate is 200 MB/s
@@ -336,13 +381,11 @@
 
 These will be created as meters in Open Flow.
 
-`onos> meters`<br/>
-` DefaultMeter{device=netconf:192.168.56.20:830, id=1, appId=org.onosproject.ecord.carrierethernet, unit=KB_PER_SEC, isBurst=true, state=PENDING_ADD, bands=[DefaultBand{rate=50000, burst-size=3000, type=REMARK, drop-precedence=0}, DefaultBand{rate=75000, burst-size=5000, type=DROP, drop-precedence=null}]}`<br/>
-` DefaultMeter{device=netconf:192.168.56.10:830, id=1, appId=org.onosproject.ecord.carrierethernet, unit=KB_PER_SEC, isBurst=true, state=PENDING_ADD, bands=[DefaultBand{rate=75000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=50000, burst-size=3000, type=REMARK, drop-precedence=0}]}`<br/>
+```
+onos> meters
+DefaultMeter{device=netconf:192.168.56.20:830, id=1, appId=org.onosproject.ecord.carrierethernet, unit=KB_PER_SEC, isBurst=true, state=PENDING_ADD, bands=[DefaultBand{rate=50000, burst-size=3000, type=REMARK, drop-precedence=0}, DefaultBand{rate=75000, burst-size=5000, type=DROP, drop-precedence=null}]}
+DefaultMeter{device=netconf:192.168.56.10:830, id=1, appId=org.onosproject.ecord.carrierethernet, unit=KB_PER_SEC, isBurst=true, state=PENDING_ADD, bands=[DefaultBand{rate=75000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=50000, burst-size=3000, type=REMARK, drop-precedence=0}]}
+```
 
-Here the rates is shown as Bands. For each device the Bands are
-*  REMARK for CIR and CBS - the REMARK applies to any packets that exceed the CIR in kB/s (400Mb/s = 50000kB/s) and the burst size 3000 Bytes
-*  DROP for EIR and EBS - the DROP applies to any packets that exceed the sum of CIR and EIR in kB/s (400Mb/s + 200Mb/s = 75000kB/s) and a burst in excess of CBS and EBS (3000 + 2000 = 5000 Bytes)
-
-##EVC Deletion
+## EVC Deletion
 EVCs can be deleted individually with **ce-evc-remove <evc-id>** or all together with **ce-evc-remove-all**.
\ No newline at end of file
diff --git a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/EA1000CfmMepProgrammable.java b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/EA1000CfmMepProgrammable.java
index df6844e..5e38f7c 100755
--- a/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/EA1000CfmMepProgrammable.java
+++ b/drivers/microsemi/src/main/java/org/onosproject/drivers/microsemi/EA1000CfmMepProgrammable.java
@@ -430,10 +430,10 @@
             case INTERVAL_3MS:
                 yamgMa.ccmInterval(CcmIntervalEnum.YANGAUTOPREFIX3_3MS);
                 break;
-            case INVERVAL_10MS:
+            case INTERVAL_10MS:
                 yamgMa.ccmInterval(CcmIntervalEnum.YANGAUTOPREFIX10MS);
                 break;
-            case INVERVAL_100MS:
+            case INTERVAL_100MS:
                 yamgMa.ccmInterval(CcmIntervalEnum.YANGAUTOPREFIX100MS);
                 break;
             case INTERVAL_1S:
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/MaintenanceAssociation.java b/incubator/api/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/MaintenanceAssociation.java
index b3c24de..5b28c9a 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/MaintenanceAssociation.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/MaintenanceAssociation.java
@@ -82,8 +82,8 @@
     public enum CcmInterval {
         INVALID(0),
         INTERVAL_3MS(3),
-        INVERVAL_10MS(10),
-        INVERVAL_100MS(100),
+        INTERVAL_10MS(10),
+        INTERVAL_100MS(100),
         INTERVAL_1S(1000),
         INTERVAL_10S(10000),
         INTERVAL_1MIN(60000),