SR fixes

- Update trellis-* app versions
- Fix xconnect configuration
- Avoid reserved MPLS labels

Change-Id: Ie7755f6afc4fcb3480e7f218f7e2e76f70c57531
diff --git a/TestON/drivers/common/api/controller/onosrestdriver.py b/TestON/drivers/common/api/controller/onosrestdriver.py
index 941f6e7..7f51bcd 100755
--- a/TestON/drivers/common/api/controller/onosrestdriver.py
+++ b/TestON/drivers/common/api/controller/onosrestdriver.py
@@ -1714,6 +1714,145 @@
             main.log.exception( self.name + ": Uncaught exception!" )
             main.cleanAndExit()
 
+    def getXconnect( self, ip="DEFAULT", port="DEFAULT" ):
+        """
+        Description:
+            Get xconnects
+        Returns:
+            Return xconnects json object
+            Returns None for exceptions
+
+        """
+        try:
+            base = "/onos/segmentrouting"
+            response = None
+            if ip == "DEFAULT":
+                main.log.warn( self.name + ": No ip given, reverting to ip from topo file" )
+                ip = self.ip_address
+            if port == "DEFAULT":
+                main.log.warn( self.name + ": No port given, reverting to port " +
+                               "from topo file" )
+                port = self.port
+            url = "/xconnect"
+            response = self.send( method="GET",
+                                  base=base,
+                                  url=url, ip = ip, port = port )
+            if response:
+                if 200 <= response[ 0 ] <= 299:
+                    main.log.info( self.name + ": Successfully POST cfg" )
+                    return main.TRUE
+                else:
+                    main.log.error( "Error with REST request, response was: %s: %s" %
+                                    ( response[ 0 ], response[ 1 ] ) )
+                    return main.FALSE
+        except ( AttributeError, TypeError ):
+            main.log.exception( self.name + ": Object not as expected" )
+            return None
+        except Exception:
+            main.log.exception( self.name + ": Uncaught exception!" )
+            main.cleanAndExit()
+
+    def setXconnect( self, deviceId, vlanId, port1, port2, ip="DEFAULT", port="DEFAULT" ):
+        """
+        Description:
+            Set xconnects
+        Returns:
+            Returns main.TRUE for successful requests; Returns main.FALSE
+            if error on requests;
+            Returns None for exceptions
+
+        """
+        try:
+            cfgJson = json.loads( '{"deviceId": "%s", "vlanId": "%s", "endpoints":[%s,%s]}' %
+                                 ( deviceId, vlanId, port1, port2 ) )
+            response = self.setXconnectJson( cfgJson, ip=ip, port=port )
+        except ( AttributeError, TypeError ):
+            main.log.exception( self.name + ": Object not as expected" )
+            return None
+        except Exception:
+            main.log.exception( self.name + ": Uncaught exception!" )
+            main.cleanAndExit()
+
+    def setXconnectJson( self, cfgJson, ip="DEFAULT", port="DEFAULT" ):
+        """
+        Description:
+            Set xconnects
+        Returns:
+            Returns main.TRUE for successful requests; Returns main.FALSE
+            if error on requests;
+            Returns None for exceptions
+
+        """
+        try:
+            base = "/onos/segmentrouting"
+            response = None
+            if ip == "DEFAULT":
+                main.log.warn( self.name + ": No ip given, reverting to ip from topo file" )
+                ip = self.ip_address
+            if port == "DEFAULT":
+                main.log.warn( self.name + ": No port given, reverting to port " +
+                               "from topo file" )
+                port = self.port
+            url = "/xconnect"
+            response = self.send( method="POST",
+                                  base=base,
+                                  url=url, ip = ip, port = port,
+                                  data=json.dumps( cfgJson ) )
+            if response:
+                if 200 <= response[ 0 ] <= 299:
+                    main.log.info( self.name + ": Successfully POST cfg" )
+                    return main.TRUE
+                else:
+                    main.log.error( "Error with REST request, response was: %s: %s" %
+                                    ( response[ 0 ], response[ 1 ] ) )
+                    return main.FALSE
+        except ( AttributeError, TypeError ):
+            main.log.exception( self.name + ": Object not as expected" )
+            return None
+        except Exception:
+            main.log.exception( self.name + ": Uncaught exception!" )
+            main.cleanAndExit()
+
+    def deleteXconnect( self, cfgJson, ip="DEFAULT", port="DEFAULT" ):
+        """
+        Description:
+            Remove xconnects
+        Returns:
+            Returns main.TRUE for successful requests; Returns main.FALSE
+            if error on requests;
+            Returns None for exceptions
+
+        """
+        try:
+            base = "/onos/segmentrouting"
+            response = None
+            if ip == "DEFAULT":
+                main.log.warn( self.name + ": No ip given, reverting to ip from topo file" )
+                ip = self.ip_address
+            if port == "DEFAULT":
+                main.log.warn( self.name + ": No port given, reverting to port " +
+                               "from topo file" )
+                port = self.port
+            url = "/xconnect"
+            response = self.send( method="DELETE",
+                                  base=base,
+                                  url=url, ip = ip, port = port,
+                                  data=json.dumps( cfgJson ) )
+            if response:
+                if 200 <= response[ 0 ] <= 299:
+                    main.log.info( self.name + ": Successfully POST cfg" )
+                    return main.TRUE
+                else:
+                    main.log.error( "Error with REST request, response was: %s: %s" %
+                                    ( response[ 0 ], response[ 1 ] ) )
+                    return main.FALSE
+        except ( AttributeError, TypeError ):
+            main.log.exception( self.name + ": Object not as expected" )
+            return None
+        except Exception:
+            main.log.exception( self.name + ": Uncaught exception!" )
+            main.cleanAndExit()
+
     def createFlowBatch( self,
                          numSw = 1,
                          swIndex = 1,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params
index 52770f7..2deaa95 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params
@@ -21,8 +21,8 @@
         <topology>trellis_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
         <conf>bgpdbgp1.conf,bgpdbgp2.conf,bgpdr1.conf,bgpdr2.conf,dhcpd6.conf,dhcpd.conf,zebradbgp1.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tofino b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tofino
index 72a840e..95f1173 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tofino
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tofino
@@ -21,8 +21,8 @@
         <stratumRoot>~/stratum</stratumRoot>
         <topology>trellis_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <jsonFileSuffix>.hw</jsonFileSuffix>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json
index 7cbb5e1..177691c 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json
@@ -20,7 +20,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json.hw b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json.hw
index 38dbc9a..2a4a06e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json.hw
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE01.json.hw
@@ -26,7 +26,7 @@
             "segmentrouting":{
                 "isEdgeRouter":true,
                 "routerMac":"00:90:fb:64:cc:9e",
-                "ipv4NodeSid":1,
+                "ipv4NodeSid":201,
                 "ipv4Loopback":"10.128.13.232",
                 "adjacencySids":[]
             }
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE02.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE02.json
index f0460f9..a43ff74 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE02.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE02.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE03.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE03.json
index 6dc183a..6c4dc4f 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE03.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE03.json
@@ -36,7 +36,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -48,7 +48,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE04.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE04.json
index 443975d..7a61f60 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE04.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE04.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE11.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE11.json
index 42f58c3..1de2582 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE11.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE11.json
@@ -32,7 +32,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE12.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE12.json
index 8ce1a02..cbc01b9 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE12.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE12.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE13.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE13.json
index 7835cf3..88d810d 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE13.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE13.json
@@ -58,7 +58,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -70,7 +70,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE14.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE14.json
index aa969dd..a4d51c5 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE14.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE14.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE21.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE21.json
index 391d6a8..aa67258 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE21.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE21.json
@@ -22,7 +22,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE22.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE22.json
index 50c4289..afaae3e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE22.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE22.json
@@ -54,7 +54,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -68,7 +68,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE23.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE23.json
index 26f3678..ec8021a 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE23.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE23.json
@@ -40,7 +40,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -52,7 +52,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE24.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE24.json
index 6d39eca..c62464c 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE24.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE24.json
@@ -102,7 +102,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -116,7 +116,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -130,7 +130,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -144,7 +144,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE31.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE31.json
index d96fbd4..24b251e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE31.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE31.json
@@ -21,7 +21,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE32.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE32.json
index 797ca0d..123356e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE32.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE32.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -66,7 +66,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE33.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE33.json
index 8752708..291d10d 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE33.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE33.json
@@ -38,7 +38,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -50,7 +50,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE34.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE34.json
index c82b944..edddd01 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE34.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE34.json
@@ -98,7 +98,7 @@
      "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -112,7 +112,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -126,7 +126,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -140,7 +140,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE41.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE41.json
index 9940a3d..6ae7b2f 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE41.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE41.json
@@ -27,7 +27,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE42.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE42.json
index 6e14c7e..4a1fc53 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE42.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE42.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE43.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE43.json
index 514b1fb..ef3177c 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE43.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE43.json
@@ -48,7 +48,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -60,7 +60,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE44.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE44.json
index 9579f7a..e6a7c7a 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE44.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE44.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE51.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE51.json
index ea6fc80..ff991d1 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE51.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE51.json
@@ -20,7 +20,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE52.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE52.json
index 170c2d7..83317c4 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE52.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE52.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE53.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE53.json
index f9475db..3f419f7 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE53.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE53.json
@@ -36,7 +36,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -48,7 +48,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE54.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE54.json
index b428fd4..dd04642 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE54.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE54.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE61.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE61.json
index 6f78265..9d0cf38 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE61.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE61.json
@@ -32,7 +32,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE62.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE62.json
index e030388..25f1ff4 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE62.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE62.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE63.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE63.json
index a971ba7..7f6c652 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE63.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE63.json
@@ -58,7 +58,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -70,7 +70,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE64.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE64.json
index be8fa2f..693e431 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE64.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE64.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE71.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE71.json
index 6d989ad..de681a0 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE71.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE71.json
@@ -27,7 +27,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE72.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE72.json
index 0fcb6a4..8d56d19 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE72.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE72.json
@@ -50,7 +50,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -77,4 +77,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE73.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE73.json
index 01173a0..b8cb49c 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE73.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE73.json
@@ -48,7 +48,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -60,7 +60,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE74.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE74.json
index 68ae34c..7d34104 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE74.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE74.json
@@ -94,7 +94,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -122,7 +122,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -136,7 +136,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/README.md b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/README.md
index 21e7773..bc53765 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/README.md
@@ -14,7 +14,7 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 
 The test runs for different topologies:
  - 2x2 Leaf-Spine and 3-node ONOS cluster
diff --git a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.params b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.params
index 85c0e30..4e17839 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.params
@@ -20,7 +20,7 @@
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,segmentrouting,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,segmentrouting,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/dependencies/SRClusterRestartFuncs.py b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/dependencies/SRClusterRestartFuncs.py
index c11e4a0..cead0b4 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/dependencies/SRClusterRestartFuncs.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/dependencies/SRClusterRestartFuncs.py
@@ -48,6 +48,8 @@
                 # Run the test with physical devices
                 # TODO: connect TestON to the physical network
                 pass
+            # xconnects need to be loaded after topology
+            run.loadXconnects( main )
             # pre-configured routing and bridging test
             run.checkFlows( main, minFlowCount=minFlow )
             run.pingAll( main )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/SRDhcprelay.params b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/SRDhcprelay.params
index e3282f3..d9576e5 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/SRDhcprelay.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/SRDhcprelay.params
@@ -18,8 +18,8 @@
         <topology>trellis_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
         <conf>dhcpd.conf,dhcpd6.conf,bgpdr1.conf,bgpdr2.conf,bgpdbgp1.conf,zebradbgp1.conf,bgpdbgp2.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE01.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE01.json
index 87b7b46..9293c8e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE01.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE01.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE02.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE02.json
index c9b635a..da60e7e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE02.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE02.json
@@ -60,7 +60,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -72,7 +72,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE03.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE03.json
index 87b7b46..9293c8e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE03.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE03.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE04.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE04.json
index c9b635a..da60e7e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE04.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE04.json
@@ -60,7 +60,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -72,7 +72,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE05.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE05.json
index 7ba4f8b..195d497 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE05.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE05.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE06.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE06.json
index f9a70e0..caebe93 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE06.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE06.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE11.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE11.json
index baf3268..243f283 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE11.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE11.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE12.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE12.json
index 3517e1d..a7efeeb 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE12.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE12.json
@@ -60,7 +60,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -72,7 +72,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE13.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE13.json
index baf3268..243f283 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE13.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE13.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE14.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE14.json
index 3517e1d..a7efeeb 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE14.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE14.json
@@ -60,7 +60,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -72,7 +72,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE15.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE15.json
index caeda8b..b478aff 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE15.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE15.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE16.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE16.json
index 5c3f13a..050781e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE16.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE16.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE21.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE21.json
index 85d0091..4547dbf 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE21.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE21.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE22.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE22.json
index a39ad31..43daa02 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE22.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE22.json
@@ -60,7 +60,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -72,7 +72,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE31.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE31.json
index 7e0a83b..6e14ba8 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE31.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE31.json
@@ -52,7 +52,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -64,7 +64,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE41.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE41.json
index f950f0c..6f42b53 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE41.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE41.json
@@ -76,7 +76,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -90,7 +90,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -104,7 +104,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -118,7 +118,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE51.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE51.json
index 0922c53..a7ba265 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE51.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE51.json
@@ -76,7 +76,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -90,7 +90,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -104,7 +104,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -118,7 +118,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE61.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE61.json
index 83cb578..f1a94e1 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE61.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE61.json
@@ -76,7 +76,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -90,7 +90,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -104,7 +104,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -118,7 +118,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE71.json b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE71.json
index 9737d12..0cbde04 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE71.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDhcprelay/dependencies/json/CASE71.json
@@ -76,7 +76,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -90,7 +90,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -104,7 +104,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -118,7 +118,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamic/README.md b/TestON/tests/USECASE/SegmentRouting/SRDynamic/README.md
index e84af0b..905df30 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamic/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamic/README.md
@@ -15,7 +15,7 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 The test runs for different topologies:
  - 2x2 Leaf-Spine and 3-node ONOS cluster
  - 4x4 Leaf-Spine and 3-node ONOS cluster
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.params b/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.params
index a66b468..d8a961e 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.params
@@ -16,13 +16,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/SRDynamicConf.params b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/SRDynamicConf.params
index 1de0c98..5ce28b8 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/SRDynamicConf.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/SRDynamicConf.params
@@ -18,8 +18,8 @@
         <topology>trellis_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
         <conf>dhcpd.conf,dhcpd6.conf,bgpdr1.conf,bgpdr2.conf,bgpdbgp1.conf,zebradbgp1.conf,bgpdbgp2.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x1.json b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x1.json
index 0f2aef7..8c5d3fb 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x1.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x1.json
@@ -2,7 +2,7 @@
    "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x2.json b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x2.json
index e8cc888..fccda9d 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x2.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/0x2.json
@@ -2,7 +2,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -16,7 +16,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x2.json b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x2.json
index 358d35a..0595033 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x2.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x2.json
@@ -36,7 +36,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -48,7 +48,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x4.json b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x4.json
index 7d65db7..1fc65ba 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x4.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/2x4.json
@@ -68,7 +68,7 @@
     "devices" : {
         "of:0000000000000001" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -82,7 +82,7 @@
         },
         "of:0000000000000002" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "00:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -96,7 +96,7 @@
         },
         "of:0000000000000003" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -110,7 +110,7 @@
         },
         "of:0000000000000004" : {
             "segmentrouting" : {
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "00:00:00:00:00:02",
                 "isEdgeRouter" : true,
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/CASE103.json b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/CASE103.json
index addd2dc..28dfd6f 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/CASE103.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/json/CASE103.json
@@ -1,38 +1,50 @@
 {
-    "ports" : {
-        "of:0000000000000001/3" : {
-            "interfaces" : [
+    "ports":{
+        "of:0000000000000001/3":{
+            "interfaces":[
                 {
-                    "ips" : [ "10.0.2.254/24" ],
-                    "vlan-tagged": [ 10 ],
-                    "vlan-native": 20
+                    "ips":[
+                        "10.0.2.254/24"
+                    ],
+                    "vlan-native":20,
+                    "vlan-tagged":[
+                        10
+                    ]
                 }
             ]
         },
-        "of:0000000000000001/4" : {
-            "interfaces" : [
+        "of:0000000000000001/4":{
+            "interfaces":[
                 {
-                    "ips" : [ "10.0.2.254/24" ],
-                    "vlan-tagged": [ 10 ],
-                    "vlan-native": 20
+                    "ips":[
+                        "10.0.2.254/24"
+                    ],
+                    "vlan-native":20,
+                    "vlan-tagged":[
+                        10
+                    ]
                 }
             ]
         },
-        "of:0000000000000001/5" : {
-            "interfaces" : [
+        "of:0000000000000001/5":{
+            "interfaces":[
                 {
-                    "ips" : [ "10.0.2.254/24" ],
-                    "vlan-untagged": 20
+                    "ips":[
+                        "10.0.2.254/24"
+                    ],
+                    "vlan-untagged":20
                 }
             ]
         },
-        "of:0000000000000001/6" : {
-            "interfaces" : [
+        "of:0000000000000001/6":{
+            "interfaces":[
                 {
-                    "ips" : [ "10.0.2.254/24" ],
-                    "vlan-untagged": 20
+                    "ips":[
+                        "10.0.2.254/24"
+                    ],
+                    "vlan-untagged":20
                 }
             ]
         }
     }
-}
+}
\ No newline at end of file
diff --git a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/README.md b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/README.md
index f057e2c..fdedab6 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/README.md
@@ -12,6 +12,6 @@
 1) An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+1) APPS=openflow-base,netcfghostprovider,lldpprovider
 
 The topologies are 2x2 Leaf-Spine and 4x4 Leaf-Spine.
diff --git a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.params b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.params
index 637ba3f..9474413 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.params
@@ -16,13 +16,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/dependencies/SRHAFuncs.py b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/dependencies/SRHAFuncs.py
index 0c4bc07..561ebfc 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/dependencies/SRHAFuncs.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/dependencies/SRHAFuncs.py
@@ -47,6 +47,8 @@
             run.loadJson( main )
             run.loadChart( main )
             run.startMininet( main, 'cord_fabric.py', args=self.topo[ Topo ][ 2 ] )
+            # xconnects need to be loaded after topology
+            run.loadXconnects( main )
             # pre-configured routing and bridging test
             run.checkFlows( main, minFlowCount=minFlow )
             run.pingAll( main )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/README.md b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/README.md
index 59c1214..1debd8a 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/README.md
@@ -12,5 +12,5 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 The topology is a 2x2 Leaf-spine
diff --git a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.params b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.params
index 3bd8457..bb154b2 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.params
@@ -16,13 +16,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/dependencies/SRLinkFailFuncs.py b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/dependencies/SRLinkFailFuncs.py
index 6a8dd7e..4f07fe5 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/dependencies/SRLinkFailFuncs.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/dependencies/SRLinkFailFuncs.py
@@ -50,6 +50,8 @@
             run.loadJson( main )
             run.loadChart( main )
             run.startMininet( main, 'cord_fabric.py', args=self.topo[ Topo ][ 2 ] )
+            # xconnects need to be loaded after topology
+            run.loadXconnects( main )
             # pre-configured routing and bridging test
             run.checkFlows( main, minFlowCount=minFlow )
             run.pingAll( main )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params b/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params
index 3619459..a8fc63e 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params
@@ -18,8 +18,8 @@
         <topology>hagg_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
         <conf>bgpdbgp1.conf,bgpdbgp2.conf,bgpdr1.conf,bgpdr2.conf,dhcpd6.conf,dhcpd.conf,zebradbgp1.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params.flex b/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params.flex
index 06cf9a3..b2dc467 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params.flex
+++ b/TestON/tests/USECASE/SegmentRouting/SRMulticast/SRMulticast.params.flex
@@ -18,8 +18,8 @@
         <topology>hagg_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
         <conf>bgpdbgp1.conf,bgpdbgp2.conf,bgpdr1.conf,bgpdr2.conf,dhcpd6.conf,dhcpd.conf,zebradbgp1.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/README.md b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/README.md
index 94677cb..6281d56 100755
--- a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/README.md
@@ -14,7 +14,7 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 
 The test runs for different topologies:
  - 2x2 Leaf-Spine and 3-node ONOS cluster
diff --git a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params
index 171f0d1..cc1010b 100755
--- a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params
+++ b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params
@@ -15,13 +15,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params.stratum b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params.stratum
index df9ac3c..c6651d6 100644
--- a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params.stratum
+++ b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.params.stratum
@@ -44,7 +44,7 @@
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,lldpprovider,hostprovider,netcfghostprovider,drivers.bmv2,pipelines.fabric,segmentrouting,t3 </cellApps>
+        <cellApps>drivers,hostprovider,netcfghostprovider,lldpprovider,drivers.bmv2,pipelines.fabric,segmentrouting,t3 </cellApps>
     </ENV>
 
     <ONOS_Configuration>
diff --git a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/dependencies/SROnosFailureFuncs.py b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/dependencies/SROnosFailureFuncs.py
index 624745d..679baf0 100644
--- a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/dependencies/SROnosFailureFuncs.py
+++ b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/dependencies/SROnosFailureFuncs.py
@@ -55,6 +55,8 @@
                 # Run the test with physical devices
                 # TODO: connect TestON to the physical network
                 pass
+            # xconnects need to be loaded after topology
+            run.loadXconnects( main )
             # pre-configured routing and bridging test
             run.checkFlows( main, minFlowCount=minFlow )
             run.pingAll( main, 'CASE{}'.format( caseNum ) )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
index 8b8909e..b4ead64 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
@@ -18,8 +18,8 @@
         <topology>hagg_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,trellis_fabric.py,stratum.py</lib>
         <conf>bgpdbgp1.conf,bgpdbgp2.conf,bgpdr1.conf,bgpdr2.conf,dhcpd6.conf,dhcpd.conf,zebradbgp1.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params.flex b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params.flex
index 1eb4d61..f61041f 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params.flex
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params.flex
@@ -18,8 +18,8 @@
         <topology>hagg_fabric.py</topology>
         <lib>routinglib.py,trellislib.py,trellis_fabric.py,stratum.py</lib>
         <conf>bgpdbgp1.conf,bgpdbgp2.conf,bgpdr1.conf,bgpdr2.conf,dhcpd6.conf,dhcpd.conf,zebradbgp1.conf,zebradbgp2.conf</conf>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSanity/README.md b/TestON/tests/USECASE/SegmentRouting/SRSanity/README.md
index e20287e..6dab497 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSanity/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRSanity/README.md
@@ -11,7 +11,7 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 The test runs for different topologies:
  - 2x2 Leaf-Spine and 1-node ONOS cluster
  - 4x4 Leaf-Spine and 1-node ONOS cluster
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.params b/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.params
index be96c56..0041d4d 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.params
@@ -16,13 +16,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSanity/dependencies/SRSanityFuncs.py b/TestON/tests/USECASE/SegmentRouting/SRSanity/dependencies/SRSanityFuncs.py
index 70bb065..9115ff0 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRSanity/dependencies/SRSanityFuncs.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRSanity/dependencies/SRSanityFuncs.py
@@ -44,6 +44,8 @@
             run.loadJson( main )
             run.loadChart( main )
             run.startMininet( main, 'cord_fabric.py', args=self.topo[ Topo ][ 2 ] )
+            # xconnects need to be loaded after topology
+            run.loadXconnects( main )
             # pre-configured routing and bridging test
             run.checkFlows( main, minFlowCount=minFlow )
             run.pingAll( main )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/README.md b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/README.md
index 59c1214..1debd8a 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/README.md
+++ b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/README.md
@@ -12,5 +12,5 @@
  - An updated version of the CPQD switch has to be running to make sure it supports group chaining.
 
 The test is executed using the netcfg subsystem:
-    1) APPS=openflow-base,netcfghostprovider,netcfglinksprovider
+    1) APPS=openflow-base,netcfghostprovider,lldpprovider
 The topology is a 2x2 Leaf-spine
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.params b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.params
index 3bd8457..bb154b2 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.params
@@ -16,13 +16,13 @@
         <useCommonConf>True</useCommonConf>
         <useCommonTopo>True</useCommonTopo>
         <topology>cord_fabric.py</topology>
-        <trellisOar>/home/sdn/segmentrouting-oar-3.0.0-SNAPSHOT.oar</trellisOar>
-        <t3Oar>/home/sdn/t3-app-3.0.0-SNAPSHOT.oar</t3Oar>
+        <trellisOar>/home/sdn/segmentrouting-app-3.0.1-SNAPSHOT.oar</trellisOar>
+        <t3Oar>/home/sdn/t3-app-4.0.0-SNAPSHOT.oar</t3Oar>
     </DEPENDENCY>
 
     <ENV>
         <cellName>productionCell</cellName>
-        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,netcfglinksprovider</cellApps>
+        <cellApps>drivers,hostprovider,openflow-base,netcfghostprovider,lldpprovider</cellApps>
     </ENV>
 
     <GIT>
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
index 4ce8934..68072a7 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
@@ -184,6 +184,13 @@
             main.Cluster.active( 0 ).REST.setNetCfg( json.load( cfg ) )
 
     @staticmethod
+    def loadXconnects( main, suffix='' ):
+        with open( "%s%s-xconnects.json%s" % ( main.configPath + main.forJson,
+                                     main.cfgName, suffix ) ) as cfg:
+            for xconnect in json.load( cfg ).get('xconnects'):
+                main.Cluster.active( 0 ).REST.setXconnectJson( xconnect )
+
+    @staticmethod
     def loadChart( main ):
         try:
             with open( "%s%s.chart" % ( main.configPath + main.forChart,
@@ -1180,12 +1187,10 @@
                                             "hosts": [ "olt1", "vsg1" ] } } )
         main.pingChart[ 'vlan5' ][ 'expect' ] = 0
         main.pingChart[ 'vlan10' ][ 'expect' ] = 0
-        ports = "[%s,%s]" % ( 5, 6 )
-        cfg = '{"of:0000000000000001":[{"vlan":1,"ports":%s,"name":"OLT 1"}]}' % ports
-        main.Cluster.active( 0 ).REST.setNetCfg( json.loads( cfg ),
-                                                 subjectClass="apps",
-                                                 subjectKey="org.onosproject.segmentrouting",
-                                                 configKey="xconnect" )
+        main.Cluster.active( 0 ).REST.setXconnect( "of:0000000000000001",
+                                                   vlanId=1,
+                                                   port1=5,
+                                                   port2=6 )
 
     @staticmethod
     def delHostCfg( main ):
@@ -1215,9 +1220,8 @@
                                                     configKey="basic" )
         main.step( "Removing vlan configuration" )
         main.pingChart[ 'vlan1' ][ 'expect' ] = 0
-        main.Cluster.active( 0 ).REST.removeNetCfg( subjectClass="apps",
-                                                    subjectKey="org.onosproject.segmentrouting",
-                                                    configKey="xconnect" )
+        main.Cluster.active( 0 ).REST.deleteXconnect( "of:0000000000000001",
+                                                      vlanId=1 )
 
     @staticmethod
     def verifyNetworkHostIp( main, attempts=10, sleep=10 ):
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/chart/0x1.chart b/TestON/tests/USECASE/SegmentRouting/dependencies/chart/0x1.chart
index 1d999c4..472465f 100755
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/chart/0x1.chart
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/chart/0x1.chart
@@ -1,8 +1,10 @@
 {
   "ip": {"expect": "True",
     "hosts":["h1", "h2"]},
+  "vlan1": {"expect":"True",
+    "hosts":["olt1", "vsg1"]},
   "vlan5": {"expect":"True",
     "hosts":["olt5", "vsg5"]},
   "vlan10": {"expect":"True",
     "hosts":["olt10", "vsg10"]}
-}
\ No newline at end of file
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/json/0x1.json b/TestON/tests/USECASE/SegmentRouting/dependencies/json/0x1.json
index 90cf052..2b78717 100755
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/json/0x1.json
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/json/0x1.json
@@ -38,7 +38,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R1",
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 101,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "10:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -59,23 +59,5 @@
                 "locations": ["of:0000000000000001/2"]
             }
         }
-    },
-    "apps": {
-        "org.onosproject.segmentrouting": {
-            "xconnect": {
-                "of:0000000000000001": [
-                    {
-                        "vlan": 5,
-                        "ports": [5, 7],
-                        "name": "OLT 1"
-                    },
-                    {
-                        "vlan": 10,
-                        "ports": [5, 8],
-                        "name": "OLT 2"
-                    }
-                ]
-            }
-        }
     }
 }
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/json/2x2.json b/TestON/tests/USECASE/SegmentRouting/dependencies/json/2x2.json
index 52625c7..7c9b5db 100755
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/json/2x2.json
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/json/2x2.json
@@ -54,7 +54,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R1",
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "10:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -65,7 +65,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R2",
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "10:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -120,23 +120,5 @@
                 "locations": ["of:0000000000000002/2"]
             }
         }
-    },
-    "apps": {
-        "org.onosproject.segmentrouting": {
-            "xconnect": {
-                "of:0000000000000001": [
-                    {
-                        "vlan": 5,
-                        "ports": [5,7],
-                        "name": "OLT 1"
-                    },
-                    {
-                        "vlan": 10,
-                        "ports": [5,8],
-                        "name": "OLT 2"
-                    }
-                ]
-            }
-        }
     }
 }
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/json/4x4.json b/TestON/tests/USECASE/SegmentRouting/dependencies/json/4x4.json
index 42223b6..e3c24e6 100755
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/json/4x4.json
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/json/4x4.json
@@ -86,7 +86,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R1",
-                "ipv4NodeSid" : 1,
+                "ipv4NodeSid" : 201,
                 "ipv4Loopback" : "192.168.0.1",
                 "routerMac" : "10:00:00:00:00:01",
                 "isEdgeRouter" : true,
@@ -97,7 +97,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R2",
-                "ipv4NodeSid" : 2,
+                "ipv4NodeSid" : 202,
                 "ipv4Loopback" : "192.168.0.2",
                 "routerMac" : "10:00:00:00:00:02",
                 "isEdgeRouter" : true,
@@ -108,7 +108,7 @@
             "basic" :{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R3",
-                "ipv4NodeSid" : 3,
+                "ipv4NodeSid" : 203,
                 "ipv4Loopback" : "192.168.0.3",
                 "routerMac" : "10:00:00:00:00:03",
                 "isEdgeRouter" : true,
@@ -119,7 +119,7 @@
             "basic":{ "driver" : "ofdpa-ovs" },
             "segmentrouting" : {
                 "name" : "Leaf-R4",
-                "ipv4NodeSid" : 4,
+                "ipv4NodeSid" : 204,
                 "ipv4Loopback" : "192.168.0.4",
                 "routerMac" : "10:00:00:00:00:04",
                 "isEdgeRouter" : true,
@@ -220,23 +220,5 @@
                 "locations": ["of:0000000000000004/2"]
             }
         }
-    },
-    "apps": {
-        "org.onosproject.segmentrouting": {
-            "xconnect": {
-                "of:0000000000000001": [
-                    {
-                        "vlan": 5,
-                        "ports": [5,7],
-                        "name": "OLT 1"
-                    },
-                    {
-                        "vlan": 10,
-                        "ports": [5,8],
-                        "name": "OLT 2"
-                    }
-                ]
-            }
-        }
     }
 }