diff --git a/cli/cli/c_actions.py b/cli/cli/c_actions.py
index 4e31679..9f99f3d 100755
--- a/cli/cli/c_actions.py
+++ b/cli/cli/c_actions.py
@@ -2256,8 +2256,8 @@
                 if 'SET_DL_DST' in groupDescEntry['bucketsActions'][bucketId]:
                     setdstmac = groupDescEntry['bucketsActions'][bucketId]['SET_DL_DST']
                 pushmpls = '*'
-                if 'PUSH_MPLS' in groupDescEntry['bucketsActions'][bucketId]:
-                    pushmpls = groupDescEntry['bucketsActions'][bucketId]['PUSH_MPLS']
+                if 'PUSH_MPLS_LABEL' in groupDescEntry['bucketsActions'][bucketId]:
+                    pushmpls = groupDescEntry['bucketsActions'][bucketId]['PUSH_MPLS_LABEL']
                 popmpls = '*'
                 if 'POP_MPLS' in groupDescEntry['bucketsActions'][bucketId]:
                     popmpls = groupDescEntry['bucketsActions'][bucketId]['POP_MPLS']
@@ -2267,6 +2267,9 @@
                 goToGroup = '*'
                 if 'goToGroup' in groupDescEntry['bucketsActions'][bucketId]:
                     goToGroup = groupDescEntry['bucketsActions'][bucketId]['goToGroup']
+                setBos= None
+                if 'PUSH_MPLS_BOS' in groupDescEntry['bucketsActions'][bucketId]:
+                    setBos = groupDescEntry['bucketsActions'][bucketId]['PUSH_MPLS_BOS']
                 combResult.append({
                        'groupid'       : groupId,
                        'grouptype'     : groupDescEntry['groupType'],
@@ -2276,10 +2279,11 @@
                        'bucketbytecnt' : groupStatEntry['bucketStats'][bucketId]['byteCount'],
                        'setsrcmac'     : setsrcmac,
                        'setdstmac'     : setdstmac,
-                       'pushmpls'     : pushmpls,
+                       'pushMplsLabel'     : pushmpls,
                        'popmpls'     : popmpls,
                        'outport'     : outport,
                        'goToGroup'     : goToGroup,
+                       'setBos'     : setBos,
                     })
         entries = combResult
     #
diff --git a/cli/cli/desc/version200/core.py b/cli/cli/desc/version200/core.py
index df2b3f0..84a0e3f 100755
--- a/cli/cli/desc/version200/core.py
+++ b/cli/cli/desc/version200/core.py
@@ -2335,12 +2335,12 @@
             'default' : [ 'Idx', 'groupid', 'grouptype', 'totalpktcnt', 'totalbytecnt',
                           'bucketpktcnt', 'bucketbytecnt', 
                           'setsrcmac', 'setdstmac',
-                          'pushmpls', 'popmpls',
+                          'pushMplslabel', 'setBos',
                           'outport','goToGroup'],
             'scoped' : [ 'Idx', 'groupid', 'grouptype', 'totalpktcnt', 'totalbytecnt',
                           'bucketpktcnt', 'bucketbytecnt', 
                           'setsrcmac', 'setdstmac',
-                          'pushmpls', 'popmpls',
+                          'pushMplsLabel','setBos',
                           'outport','goToGroup' ],
             },
         'fields': {
@@ -2364,9 +2364,9 @@
                                       },
             'setdstmac'           : { 'verbose-name' : 'set_dst_mac',
                                       },
-            'pushmpls'            : { 'verbose-name' : 'push_mpls',
+            'pushMplsLabel'            : { 'verbose-name' : 'push_mpls',
                                      },
-            'popmpls'             : { 'verbose-name' : 'pop_mpls',
+            'setBos'              : { 'verbose-name' : 'setBos',
                                      },
             'outport'             : { 'verbose-name' : 'outport',
                                      },
@@ -2501,7 +2501,7 @@
 ROUTER_FORMAT = {
     'router'     : {
         'field-orderings' : {
-            'default' : ['dpid','name', 'routerIP','routerMac','isEdgeRouter','nodeSId'
+            'default' : ['Idx','dpid','name', 'routerIP','routerMac','isEdgeRouter','nodeSId'
                          ],
             },
         'fields': {
diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
index 6080cb4..f3bca85 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
@@ -142,7 +142,7 @@
                     else{
                         jGen.writeNumberField("output", ((OFActionOutput)action).getPort().getPortNumber());
                     }
-                }
+                }/*
                 else if(action.getType().compareTo(OFActionType.POP_MPLS) == 0
                         || action.getType().compareTo(OFActionType.COPY_TTL_IN) == 0
                         || action.getType().compareTo(OFActionType.COPY_TTL_OUT) == 0
@@ -151,9 +151,9 @@
                         || action.getType().compareTo(OFActionType.POP_PBB) == 0
                         || action.getType().compareTo(OFActionType.POP_VLAN) == 0){
                     jGen.writeStringField(action.getType().name(), "True");
-                }
-                else if(action.getType().compareTo(OFActionType.COPY_TTL_IN) == 0){
-                    jGen.writeStringField("POP_MPLS", "True");
+                }*/
+                else if(action.getType().compareTo(OFActionType.POP_MPLS) == 0){
+                    jGen.writeStringField("POP_MPLS", ((OFActionPopMpls)action).getEthertype().toString());
                 }
                 else if (action.getType().equals(OFActionType.SET_FIELD)){
                     //TODO Support for more setFields
diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
index dadf82f..ade65fa 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
@@ -49,15 +49,19 @@
                         jGen.writeStringField("SET_DL_DST", ((OFActionSetField)action).getField().getValue().toString());
                     }
                     else if (((OFActionSetField)action).getField().toString().contains("OFOxmMplsLabelVer13")){
-                        jGen.writeNumberField("PUSH_MPLS", 
+                        jGen.writeNumberField("PUSH_MPLS_LABEL", 
                                 Integer.decode(((OFActionSetField)action).getField().getValue().toString()));
                     }
+                    else if (((OFActionSetField)action).getField().toString().contains("OFOxmMplsBosVer13")){
+                        jGen.writeStringField("PUSH_MPLS_BOS", 
+                                ((OFActionSetField)action).getField().getValue().toString());
+                    }
                 }
                 else if(action.getType().compareTo(OFActionType.OUTPUT) == 0){
                     jGen.writeNumberField("OUTPPUT", ((OFActionOutput)action).getPort().getPortNumber());
                 }
                 else if(action.getType().compareTo(OFActionType.POP_MPLS) == 0){
-                    jGen.writeStringField("POP_MPLS", "True");
+                    jGen.writeStringField("POP_MPLS",  ((OFActionPopMpls)action).getEthertype().toString());
                 }
                 else if(action.getType().compareTo(OFActionType.GROUP) == 0){
                     jGen.writeNumberField("goToGroup", ((OFActionGroup)action).getGroup().getGroupNumber());
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRoutingWebRoutable.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRoutingWebRoutable.java
index b0fff02..119df92 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRoutingWebRoutable.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRoutingWebRoutable.java
@@ -15,7 +15,7 @@
     @Override
     public Restlet getRestlet(Context context) {
         Router router = new Router(context);
-        //TODO: rewrite SwitchesResource for router specific info.
+        //TODO: rewrite Router/SwitchesResource for router specific info.
         router.attach("/routers",  RouterStatisticsResource.class);
         router.attach("/router/{routerId}/{statsType}",  RouterStatisticsResource.class);
         router.attach("/tunnel", SegmentRouterTunnelResource.class);
