diff --git a/cli/Makefile b/cli/Makefile
index 4693918..18ddc47 100755
--- a/cli/Makefile
+++ b/cli/Makefile
@@ -84,3 +84,7 @@
 
 build-sdnplatform:
 #	cd $(FL_DIR); ant dist
+clean-srdb: stop-sdncon
+	rm -fr sdncon/sdncon
+	make clean
+	make start-sdncon
diff --git a/cli/cli/c_actions.py b/cli/cli/c_actions.py
index 9c4176f..219b1d6 100755
--- a/cli/cli/c_actions.py
+++ b/cli/cli/c_actions.py
@@ -68,7 +68,7 @@
                 newActions += ch
         return newActions
     else:
-        actions
+        ''
 def renameActions(actions):
     actions = actions.replace('GOTO_TABLE','GOTO')
     actions = actions.replace('WRITE_ACTIONS','WRITE')
@@ -2198,22 +2198,18 @@
         combResult = []
         tunnelList = entries
         for tunnel in tunnelList:
-            labelStack = str(tunnel.get('labelStack'))
+            labelStack = str(tunnel.get('labelStack')) if tunnel.get('labelStack') else ''
             labelStack = remove_unicodes(labelStack)
             tunnelId = tunnel.get('tunnelId')
+            tunnelPath = tunnel.get('tunnelPath')
             dpidGroup = str(tunnel.get('dpidGroup'))
             dpidGroup= remove_unicodes(dpidGroup)
             policies = tunnel.get('policies')
-            #nodes = ''
-            #for node in tunnel.get("nodes"):
-            #    nodes += (node.get('value') + ',')
-            #if nodes != '':
-            #    nodes = nodes[:-1]
             combResult.append({
                                'tunnelId'       : tunnelId,
-                               #'nodes'           : nodes,
-                               'labelStack'     :labelStack,
-                               'dpidGroup'      :dpidGroup,
+                               'labelStack'     : labelStack,
+                               'dpidGroup'      : dpidGroup,
+                               'tunnelPath'     : tunnelPath,
                                'policies'       : policies,
                                })
         entries = combResult
@@ -2267,7 +2263,8 @@
                 if actions != None:
                     actions = remove_unicodes(actions)
                     actions = renameActions(actions)
-                actions = remove_unicodes(actions)
+                else:
+                    actions =''
                 combResult.append({
                        'switch'        : ipTableEntry['switch'],
                        'byteCount'     : ipTableEntry['byteCount'],
@@ -2294,6 +2291,8 @@
                 if actions != None:
                     actions = remove_unicodes(actions)
                     actions = renameActions(actions)
+                else:
+                    actions =''
                 combResult.append({
                        'switch'        : ipTableEntry['switch'],
                        'byteCount'     : ipTableEntry['byteCount'],
@@ -2339,6 +2338,8 @@
                 if actions != None:
                     actions = remove_unicodes(actions)
                     actions = renameActions(actions)
+                else:
+                    actions = ''
                 combResult.append({
                        'switch'        : ipTableEntry['switch'],
                        'byteCount'     : ipTableEntry['byteCount'],
diff --git a/cli/cli/desc/version200/core.py b/cli/cli/desc/version200/core.py
index d9b949f..02397f7 100755
--- a/cli/cli/desc/version200/core.py
+++ b/cli/cli/desc/version200/core.py
@@ -2070,38 +2070,14 @@
 REALTIME_TABLE_ACL_FLOW_FORMAT = {
     'realtime_table_acl_flow' : {
         'field-orderings' : {
-            'default' : [
-                          'Idx',  'cookie', 'priority'
-                          'byteCount', 'packetCount',
-                         'dataLayerSource', 'dataLayerDestination',
-                          'flow-brief','mplsLabel','mplsBos','mplsTc','actions'
-                        ],
-            'scoped'  : [
-                          'Idx', 'cookie', 'priority',
-                          'byteCount', 'packetCount',
-                          'dataLayerSource', 'dataLayerDestination','mplsLabel','mplsBos','mplsTc'
-                          'flow-brief','actions'
-
-                        ],
-            'brief'   : [ 'Idx', 'cookie','priority', 'dataLayerSource', 'dataLayerDestination',
-                          'networkSource', 'networkDestination', 'networkProtocol',
-                          'transportSource', 'transportDestination','mplsLabel','mplsBos','mplsTc','actions'],
             'default' : [ 'Idx','byteCount', 'packetCount', 'durationSeconds',
                           'cookie','priority', 'inputPort', 'dataLayerSource', 'dataLayerDestination',
                           'dataLayerType', 'networkSource', 'networkDestination', 'networkProtocol',
-                          'transportSource', 'transportDestination''mplsLabel','mplsBos','mplsTc', 'actions'],
+                          'transportSource', 'transportDestination''mplsLabel','actions'],
             'scoped'  : [ 'Idx','byteCount', 'packetCount', 'durationSeconds',
                           'cookie','priority', 'inputPort', 'dataLayerSource', 'dataLayerDestination',
                           'dataLayerType', 'networkSource', 'networkDestination', 'networkProtocol',
-                          'transportSource', 'transportDestination','mplsLabel','mplsBos','mplsTc','actions'],
-            'details' : [ 'Idx','byteCount', 'packetCount', 'durationSeconds',
-                          'cookie', 'priority','hardTimeout', 'idleTimeout', 'priority', 'tableId', 'inputPort',
-                          'dataLayerSource', 'dataLayerDestination', 'dataLayerType', 'dataLayerVirtualLan',
-                          'dataLayerVirtualLanPriorityCodePoint', 'networkSource', 'networkDestination',
-                          'networkProtocol', 'transportSource', 'transportDestination',
-                          'networkTypeOfService','mplsLabel','mplsBos','mplsTc', 'actions'],
-            #'vns_flow': [ 'Idx', 'dataLayerSource', 'dataLayerDestination', 'dataLayerVirtualLan', 'dataLayerType'],
-            #'summary' : [ 'Idx', 'vnsName', 'vnsFlowCnt', 'flowEntryCnt'],
+                          'transportSource', 'transportDestination','actions'],
             },
         'fields': {
             'switch'           : { 'verbose-name' : 'Switch',
@@ -2148,7 +2124,7 @@
             'dataLayerDestination' : { 'verbose-name' : 'Dst MAC',
                                        'formatter' : fmtcnv.replace_host_with_alias
                                  },
-            'dataLayerType'    : { 'verbose-name' : 'Ether Type',
+            'dataLayerType'    : { 'verbose-name' : 'EthType',
                                    'formatter' : fmtcnv.decode_ether_type
                                  },
             'dataLayerVirtualLan' : { 'verbose-name' : 'VLAN ID',
@@ -2416,7 +2392,7 @@
 SHOW_TUNNEL_FORMAT = {
     'show_tunnel' : {
         'field-orderings' : {
-            'default' : [ 'Idx', 'tunnelId', 'policies','labelStack',],
+            'default' : [ 'Idx', 'tunnelId', 'policies','labelStack','tunnelPath'],
             'details' : [ 'Idx', 'tunnelId', 'policies','labelStack', 'dpidGroup',],
             },
         'fields': {
@@ -2424,7 +2400,9 @@
                                },
             'dpidGroup'         : { 'verbose-name' : 'dpid/Group',
                                },
-            'labelStack'         : { 'verbose-name' : 'Label Stack',
+            'labelStack'         : { 'verbose-name' : 'Label Stack [Outer-->Inner]',
+                               },
+            'tunnelPath'         : { 'verbose-name' : 'Tunnel Path [Head-->Tail]',
                                },
                    }
         },
@@ -2433,9 +2411,9 @@
 SHOW_POLICY_FORMAT = {
     'show_policy' : {
         'field-orderings' : {
-            'default' : [ 'Idx', 'policyId', 'policyType','tunnelId','priority','dstMacAddress','srcMacAddress',
-                        'dstIpAddress' ,'srcIpAddress', 'dstTcpPortNumber','srcTcpPortNumber',
-                        'etherType', 'ipProtocolNumber',
+            'default' : [ 'Idx', 'policyId', 'policyType','priority','dstMacAddress','srcMacAddress',
+                        'etherType','dstIpAddress' ,'ipProtocolNumber','srcIpAddress', 'dstTcpPortNumber',
+                        'srcTcpPortNumber','tunnelId'
                          ]
             },
             'fields': {
diff --git a/cli/cli/desc/version200/policy.py b/cli/cli/desc/version200/policy.py
index 2dee7c1..685a86c 100644
--- a/cli/cli/desc/version200/policy.py
+++ b/cli/cli/desc/version200/policy.py
@@ -43,10 +43,9 @@
                     'completion'   : 'complete-object-field',
                     'syntax-help'  : 'Enter a policy name',
                     'doc'          : 'policy|policy',
-                    #'doc-include'  : [ 'type-doc' ],
                 },
                 {
-                    'token'        : 'type',
+                    'token'        : 'policy-type',
                     'optional-for-no' : True,
                     'short-help'   : 'Set type of policy',
                     'doc'          : 'policy|policy',
diff --git a/cli/cli/desc/version200/switch.py b/cli/cli/desc/version200/switch.py
index 13f3a69..190c538 100755
--- a/cli/cli/desc/version200/switch.py
+++ b/cli/cli/desc/version200/switch.py
@@ -492,13 +492,13 @@
                         'doc'        : 'switch|show-interfaces-alias',
                     }
                 ),
-                {
-                    'field'      : 'vns',
-                    'type'       : 'enum',
-                    'values'     : 'vns',
-                    'action'     : 'legacy-cli',
-                    'obj-type'   : 'switch-ports-vns'
-                },
+                #{
+                #    'field'      : 'vns',
+                #    'type'       : 'enum',
+                #    'values'     : 'vns',
+                #    'action'     : 'legacy-cli',
+                #    'obj-type'   : 'switch-ports-vns'
+                #},
                 {
                     'field'     : 'alias',
                     'type'      : 'enum',
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
index 105983b..3808ef8 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
@@ -9,14 +9,17 @@
     private String tunnelId;
     private List<List<String>> labelStack;
     private List<String> dpidGroup;
+    private List<Integer> tunnelPath;
     private String policies;
     
     public SegmentRouterTunnelInfo (String tId,List<List<String>> tunnelRoutes,
-            List<String> dpidsWithGroup,String policiesId){
+            List<String> dpidsWithGroup,List<Integer> path, String policiesId){
         this.tunnelId = tId;
         this.labelStack = tunnelRoutes;
         this.dpidGroup = dpidsWithGroup;
+        this.tunnelPath = path;
         this.policies = policiesId;
+        
     }
     public String getTunnelId (){
         return this.tunnelId;
@@ -27,6 +30,9 @@
     public List<String> getDpidGroup (){
         return this.dpidGroup;
     }
+    public List<Integer> getTunnelPath (){
+        return this.tunnelPath;
+    }
     public String getPolicies (){
         return this.policies;
     }
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
index 32d9cc6..aa9b62f 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
@@ -82,6 +82,7 @@
         List<SegmentRouterTunnelInfo> infoList = new ArrayList<SegmentRouterTunnelInfo>();
         while(ttI.hasNext()){
            TunnelInfo tunnelInfo = ttI.next();
+           List<Integer> tunnelPath = tunnelInfo.getLabelids();
            String tunnelId = tunnelInfo.getTunnelId();
            Collection<PolicyInfo> policies = segmentRoutingService.getPoclicyTable();
            Iterator<PolicyInfo> piI = policies.iterator();
@@ -106,7 +107,7 @@
                dpidGroup.add(label.getSrcSwDpid() + "/"+ gId);
            }
            SegmentRouterTunnelInfo info = new SegmentRouterTunnelInfo(tunnelId,
-                    labelStack, dpidGroup, policiesId);
+                    labelStack, dpidGroup, tunnelPath, policiesId );
            infoList.add(info);
         }
         log.debug("getTunnel with params");
