- Application do not push or pop the label.
 - Set the MPLS ID correctly in the driver.

Change-Id: I40ab5286a0ca44865f10bb7d8901e29b49cbe24c
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
index 8dae594..20c1b41 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -818,9 +818,9 @@
             CopyTtlOutAction copyTtlOutAction = new CopyTtlOutAction();
             DecMplsTtlAction decMplsTtlAction = new DecMplsTtlAction(1);
 
-            actions.add(pushMplsAction);
-            actions.add(copyTtlOutAction);
-            actions.add(decMplsTtlAction);
+            //actions.add(pushMplsAction);
+            //actions.add(copyTtlOutAction);
+            //actions.add(decMplsTtlAction);
             actions.add(setIdAction);
         }
         else {
@@ -836,9 +836,9 @@
                 CopyTtlOutAction copyTtlOutAction = new CopyTtlOutAction();
                 DecMplsTtlAction decMplsTtlAction = new DecMplsTtlAction(1);
 
-                actions.add(pushMplsAction);
-                actions.add(copyTtlOutAction);
-                actions.add(decMplsTtlAction);
+                //actions.add(pushMplsAction);
+                //actions.add(copyTtlOutAction);
+                //actions.add(decMplsTtlAction);
                 actions.add(setIdAction);
             }
         }
@@ -848,6 +848,7 @@
 
         for (String fwdSw : fwdToSws) {
             groupAction.addSwitch(new Dpid(fwdSw));
+            groupAction.setEdgeLabel(Integer.parseInt(mplsLabel));
 
         }
         actions.add(groupAction);
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
index 9a4519d..5a57b86 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
@@ -874,8 +874,10 @@
             if (b.mplsLabel != -1) {
                 OFAction pushLabel = factory.actions().buildPushMpls()
                         .setEthertype(EthType.MPLS_UNICAST).build();
-                OFAction setLabel = factory.actions().buildSetMplsLabel()
-                        .setMplsLabel(b.mplsLabel).build();
+                OFOxmMplsLabel lid = factory.oxms()
+                        .mplsLabel(U32.of(b.mplsLabel));
+                OFAction setLabel = factory.actions().buildSetField()
+                        .setField(lid).build();
                 OFAction copyTtl = factory.actions().copyTtlOut();
                 OFAction decrTtl = factory.actions().decMplsTtl();
                 actions.add(pushLabel);