Resolve Merge Conflicts
diff --git a/TestON/drivers/common/cli/onosdriver.py b/TestON/drivers/common/cli/onosdriver.py
index 1f52be1..e2625cf 100644
--- a/TestON/drivers/common/cli/onosdriver.py
+++ b/TestON/drivers/common/cli/onosdriver.py
@@ -103,7 +103,7 @@
         try:
             self.handle.sendline("onos-package")
             self.handle.expect("onos-package")
-            self.handle.expect("tar.gz",timeout=10)
+            self.handle.expect("tar.gz",timeout=30)
             handle = str(self.handle.before)
             main.log.info("onos-package command returned: "+
                     handle)
@@ -855,18 +855,24 @@
     def onos_remove_raft_logs(self):
         '''
         Removes Raft / Copy cat files from ONOS to ensure
-        a cleaner environment. 
-       
+        a cleaner environment.
+
         Description:
-            Stops all ONOS defined in the cell, 
+            Stops all ONOS defined in the cell,
             wipes the raft / copycat log files
         '''
         try:
             self.handle.sendline("")
             self.handle.expect("\$")
             self.handle.sendline("onos-remove-raft-logs")
-            self.handle.expect("\$")
-
+            #Sometimes this command hangs
+            i = self.handle.expect(["\$", pexpect.TIMEOUT],
+                    timeout=120)
+            if i == 1:
+                i = self.handle.expect(["\$", pexpect.TIMEOUT],
+                        timeout=120)
+                if i == 1:
+                    return main.FALSE
             return main.TRUE
 
         except pexpect.EOF:
@@ -880,7 +886,7 @@
             main.log.info(self.name+" ::::::")
             main.cleanup()
             main.exit()
-    
+
     def onos_start_network(self, mntopo):
         '''
         Calls the command 'onos-start-network [<mininet-topo>]
diff --git a/TestON/drivers/common/cli/quaggaclidriver.py b/TestON/drivers/common/cli/quaggaclidriver.py
index 7851d13..19717fb 100644
--- a/TestON/drivers/common/cli/quaggaclidriver.py
+++ b/TestON/drivers/common/cli/quaggaclidriver.py
@@ -82,10 +82,10 @@
         except:
             return main.FALSE
 
-    def generate_routes(self, net, numRoutes):
-        main.log.info("I am in generate_routes method!")
-        
-        # a IP prefix will be composed by "net" + "." + m + "." + n + "." + x 
+    def generate_prefixes(self, net, numRoutes):
+        main.log.info("I am in generate_prefixes method!")
+
+        # each IP prefix will be composed by "net" + "." + m + "." + n + "." + x
         # the length of each IP prefix is 24
         routes = []
         routes_gen = 0
@@ -105,9 +105,138 @@
 
         if routes_gen == numRoutes:
             main.log.info("Successfully generated " + str(numRoutes)
-            + " routes!")
+            + " prefixes!")
             return routes
         return main.FALSE
+
+    # This method generates a multiple to single point intent(MultiPointToSinglePointIntent) for a given route
+    def generate_expected_singleRouteIntent(self, prefix, nextHop, nextHopMac, sdnip_data):
+
+        ingress = []
+        egress = ""
+        for peer in sdnip_data['bgpPeers']:
+            if peer['ipAddress'] == nextHop:
+                egress = "of:" + str(peer['attachmentDpid']).replace(":", "") + ":" + str(peer['attachmentPort'])
+            else:
+                ingress.append("of:" + str(peer['attachmentDpid']).replace(":", "") + ":" + str(peer['attachmentPort']) )
+
+        selector = "[IPV4_DST{ip=" + prefix + "}, ETH_TYPE{ethType=800}]"
+        treatment = "[ETH_DST{mac=" + str(nextHopMac) + "}]"
+
+        intent = egress + "/" + str(sorted(ingress)) + "/" + selector + "/" + treatment
+        return intent
+
+    def generate_expected_onePeerRouteIntents(self, prefixes, nextHop, nextHopMac, sdnip_json_file_path):
+        intents = []
+        sdnip_json_file=open(sdnip_json_file_path).read()
+
+        sdnip_data = json.loads(sdnip_json_file)
+
+        for prefix in prefixes:
+            intents.append(self.generate_expected_singleRouteIntent(prefix, nextHop, nextHopMac, sdnip_data))
+        return sorted(intents)
+
+    # TODO
+    # This method generates all expected route intents for all BGP peers
+    def generate_expected_routeIntents(self):
+        intents = []
+        return intents
+
+    # This method extracts all actual routes from ONOS CLI
+    def extract_actual_routes(self, get_routes_result):
+        routes_json_obj = json.loads(get_routes_result)
+
+        allRoutes_actual = []
+        for route in routes_json_obj:
+            if route['prefix'] == '172.16.10.0/24':
+                continue
+            allRoutes_actual.append(route['prefix'] + "/" + route['nextHop'])
+
+        return sorted(allRoutes_actual)
+
+    # This method extracts all actual route intents from ONOS CLI
+    def extract_actual_routeIntents(self, get_intents_result):
+        intents = []
+        # TODO: delete the line below when change to Mininet demo script
+        get_intents_result=open("../tests/SdnIpTest/intents.json").read()
+        intents_json_obj = json.loads(get_intents_result)
+
+        for intent in intents_json_obj:
+            if intent['appId'] != "org.onlab.onos.sdnip" :
+                continue
+            if intent['type'] == "MultiPointToSinglePointIntent":
+                egress = str(intent['egress']['device'])+ ":" + str(intent['egress']['port'])
+                ingress = []
+                for attachmentPoint in intent['ingress']:
+                    ingress.append(str(attachmentPoint['device']) + ":" + str(attachmentPoint['port']))
+                intent = egress + "/" + str(sorted(ingress)) + "/" + intent['selector'] + "/" + intent['treatment']
+                intents.append(intent)
+        return sorted(intents)
+
+    # This method extracts all actual BGP intents from ONOS CLI
+    def extract_actual_bgpIntents(self, get_intents_result):
+        intents = []
+        # TODO: delete the line below when change to Mininet demo script
+        get_intents_result=open("../tests/SdnIpTest/intents.json").read()
+        intents_json_obj = json.loads(get_intents_result)
+
+        for intent in intents_json_obj:
+            if intent['appId'] != "org.onlab.onos.sdnip":
+                continue
+            if intent['type'] == "PointToPointIntent" and "protocol=6" in str(intent['selector']):
+                ingress = str(intent['ingress']['device']) + ":" + str(intent['ingress']['port'])
+                egress = str(intent['egress']['device']) + ":" + str(intent['egress']['port'])
+                selector = str(intent['selector']).replace(" ", "").replace("[", "").replace("]", "").split(",")
+                intent = ingress + "/" + egress + "/" + str(sorted(selector))
+                intents.append(intent)
+
+        return sorted(intents)
+
+    # This method generates a single point to single point intent(PointToPointIntent) for BGP path
+    def generate_expected_bgpIntents(self, sdnip_json_file_path):
+        from operator import eq
+
+        sdnip_json_file=open(sdnip_json_file_path).read()
+        sdnip_data = json.loads(sdnip_json_file)
+
+        intents = []
+        bgpPeerAttachmentPoint=""
+        bgpSpeakerAttachmentPoint = "of:" + str(sdnip_data['bgpSpeakers'][0]['attachmentDpid']).replace(":", "") + ":" + str(sdnip_data['bgpSpeakers'][0]['attachmentPort'])
+        for peer in sdnip_data['bgpPeers']:
+            bgpPeerAttachmentPoint = "of:" + str(peer['attachmentDpid']).replace(":", "") + ":" + str(peer['attachmentPort'])
+            # find out the BGP speaker IP address for this BGP peer
+            bgpSpeakerIpAddress=""
+            for interfaceAddress in sdnip_data['bgpSpeakers'][0]['interfaceAddresses']:
+                #if eq(interfaceAddress['interfaceDpid'],sdnip_data['bgpSpeakers'][0]['attachmentDpid']) and eq(interfaceAddress['interfacePort'], sdnip_data['bgpSpeakers'][0]['attachmentPort']):
+                if eq(interfaceAddress['interfaceDpid'],peer['attachmentDpid']) and eq(interfaceAddress['interfacePort'], peer['attachmentPort']):
+                    bgpSpeakerIpAddress =  interfaceAddress['ipAddress']
+                    break
+                else:
+                    continue
+
+            # from bgpSpeakerAttachmentPoint to bgpPeerAttachmentPoint direction
+            selector_str = "IPV4_SRC{ip=" + bgpSpeakerIpAddress + "/32}," + "IPV4_DST{ip=" + peer['ipAddress']+ "/32}," + "IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}"            
+            selector = selector_str.replace(" ", "").replace("[", "").replace("]", "").split(",")
+            intent = bgpSpeakerAttachmentPoint + "/" + bgpPeerAttachmentPoint + "/" + str(sorted(selector))
+            intents.append(intent)
+
+            selector_str = "IPV4_SRC{ip=" + bgpSpeakerIpAddress + "/32}," + "IPV4_DST{ip=" + peer['ipAddress']+ "/32}," + "IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_SRC{tcpPort=179}"
+            selector = selector_str.replace(" ", "").replace("[", "").replace("]", "").split(",")
+            intent = bgpSpeakerAttachmentPoint + "/" + bgpPeerAttachmentPoint + "/" + str(sorted(selector))
+            intents.append(intent)
+
+            # from bgpPeerAttachmentPoint to bgpSpeakerAttachmentPoint direction
+            selector_str = "IPV4_SRC{ip=" + peer['ipAddress'] + "/32}," + "IPV4_DST{ip=" + bgpSpeakerIpAddress + "/32}," + "IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}"            
+            selector = selector_str.replace(" ", "").replace("[", "").replace("]", "").split(",")
+            intent = bgpPeerAttachmentPoint + "/" + bgpSpeakerAttachmentPoint + "/" + str(sorted(selector))
+            intents.append(intent)
+
+            selector_str = "IPV4_SRC{ip=" + peer['ipAddress'] + "/32}," + "IPV4_DST{ip=" + bgpSpeakerIpAddress + "/32}," + "IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_SRC{tcpPort=179}"
+            selector = selector_str.replace(" ", "").replace("[", "").replace("]", "").split(",")
+            intent = bgpPeerAttachmentPoint + "/" + bgpSpeakerAttachmentPoint + "/" + str(sorted(selector))
+            intents.append(intent)
+
+        return sorted(intents)
     
     def add_routes(self, routes, routeRate):
         main.log.info("I am in add_routes method!")
@@ -137,7 +266,7 @@
             return main.TRUE
         return main.FALSE
     
-    # please use the generate_routes plus add_routes instead of this one
+    # Please use the generate_routes plus add_routes instead of this one
     def add_route(self, net, numRoutes, routeRate):
         try:
             self.handle.sendline("")
@@ -184,6 +313,7 @@
         if routes_added == numRoutes:
             return main.TRUE
         return main.FALSE
+
     def del_route(self, net, numRoutes, routeRate):
         try:
             self.handle.sendline("")
diff --git a/TestON/tests/SdnIpTest/SdnIpTest.py b/TestON/tests/SdnIpTest/SdnIpTest.py
index 18b23af..dd73766 100755
--- a/TestON/tests/SdnIpTest/SdnIpTest.py
+++ b/TestON/tests/SdnIpTest/SdnIpTest.py
@@ -9,20 +9,38 @@
 
         '''
         Test the SDN-IP functionality
+        allRoutes_expected: all expected routes for all BGP peers
+		routeIntents_expected: all expected MultiPointToSinglePointIntent intents
+		bgpIntents_expected: expected PointToPointIntent intents
+		allRoutes_actual: all routes from ONOS LCI
+		routeIntents_actual: actual MultiPointToSinglePointIntent intents from ONOS CLI
+		bgpIntents_actual: actual PointToPointIntent intents from ONOS CLI
         '''
         import time
         import json
         from operator import eq
         
-        # all generated routes for all BGP peers
-        allRoutes = []
-
+        main.case("The test case is to help to setup the TestON environment and test new drivers")
+        SDNIP_JSON_FILE_PATH = "../tests/SdnIpTest/sdnip.json"
+        # all expected routes for all BGP peers
+        allRoutes_expected = []
         main.step("Start to generate routes for BGP peer on host1")
-        routes = main.Quaggacli.generate_routes(1, 3)
-        main.log.info(routes)
-        
-        for route in routes:
-            allRoutes.append(route + "/" + "1.1.1.1")
+        prefixes = main.Quaggacli.generate_prefixes(1, 3)
+        main.log.info(prefixes)
+
+        # TODO: delete the static prefix below after integration with Demo Mininet script
+        prefixes = []
+        prefixes.append("172.16.30.0/24")
+        prefixes.append("1.0.0.0/24")
+        prefixes.append("2.0.0.0/24")
+        prefixes.append("3.0.0.0/24")
+
+
+        for prefix in prefixes:
+            # generate route with next hop
+            allRoutes_expected.append(prefix + "/" + "1.1.1.1")
+
+        routeIntents_expected = main.Quaggacli.generate_expected_onePeerRouteIntents(prefixes, "192.168.30.1", "00:00:00:00:03:01", SDNIP_JSON_FILE_PATH)
 
         # start to insert routes into the bgp peer
         main.step("Start Quagga-cli on host1")
@@ -31,13 +49,13 @@
         main.step("Start to configure Quagga on host1")
         main.Quaggacli.enter_config(64513)
     
-        main.step("Start to generate and add routes for BGP peer on host1")    
-        routes = main.Quaggacli.generate_routes(8, 3)
+        main.step("Start to generate and add routes for BGP peer on host1")
+        routes = main.Quaggacli.generate_prefixes(8, 3)
         main.Quaggacli.add_routes(routes, 1)
              
         # add generates routes to allRoutes
         for route in routes:
-            allRoutes.append(route + "/" + "1.1.1.1")
+            allRoutes_expected.append(route + "/" + "1.1.1.1")
 
         cell_name = main.params['ENV']['cellName']
         ONOS1_ip = main.params['CTRL']['ip1']
@@ -62,27 +80,50 @@
         get_routes_result = main.ONOScli.routes(json_format=True)  
                      
         # parse routes from ONOS CLI
-        routes_list = []
-        routes_json_obj = json.loads(get_routes_result)   
-        for route in routes_json_obj:
-            if route['prefix'] == '172.16.10.0/24':
-                continue
-            routes_list.append(route['prefix'] + "/" + route['nextHop'])
+        allRoutes_actual = main.Quaggacli.extract_actual_routes(get_routes_result)
       
-        main.log.info("Start to checking routes")
-        main.log.info("Routes inserted into the system:")
-        main.log.info(sorted(allRoutes))
+        main.step("Check routes installed")
+        main.log.info("Routes expected:")
+        main.log.info(sorted(allRoutes_expected))
         main.log.info("Routes get from ONOS CLI:")
-        main.log.info(sorted(routes_list))
-        utilities.assert_equals(expect=sorted(allRoutes), actual=sorted(routes_list),
-                onpass="***Routes in SDN-IP are correct!***",
-                onfail="***Routes in SDN-IP are wrong!***")
-        
-        time.sleep(2)
-        main.step("Get intents installed on ONOS")
-        get_intents_result = main.ONOScli.intents(json_format=True)
-        main.log.info(get_intents_result)
+        main.log.info(allRoutes_actual)
+        utilities.assert_equals(expect=sorted(allRoutes_expected), actual=allRoutes_actual,
+                                onpass="***Routes in SDN-IP are correct!***",
+                                onfail="***Routes in SDN-IP are wrong!***")
 
+        time.sleep(2)
+        get_intents_result = main.ONOScli.intents(json_format=True)
+
+
+        main.step("Check MultiPointToSinglePointIntent intents installed")
+        # route_intents_expected are generated when generating routes
+        # get rpoute intents from ONOS CLI
+        routeIntents_actual  = main.Quaggacli.extract_actual_routeIntents(get_intents_result)
+        main.log.info("MultiPointToSinglePoint intents expected:")
+        main.log.info(routeIntents_expected)
+        main.log.info("MultiPointToSinglePoint intents get from ONOS CLI:")
+        main.log.info(routeIntents_actual)
+        utilities.assert_equals(expect=True, actual=eq(routeIntents_expected, routeIntents_actual),
+                                onpass="***MultiPointToSinglePoint Intents in SDN-IP are correct!***",
+                                onfail="***MultiPointToSinglePoint Intents in SDN-IP are wrong!***")
+
+
+        main.step("Check BGP PointToPointIntent intents installed")
+        # bgp intents expected
+        bgpIntents_expected = main.Quaggacli.generate_expected_bgpIntents(SDNIP_JSON_FILE_PATH)
+        # get BGP intents from ONOS CLI
+        bgpIntents_actual = main.Quaggacli.extract_actual_bgpIntents(get_intents_result)
+
+        bgpIntents_str_expected = str(bgpIntents_expected).replace('u',"")
+        bgpIntents_str_actual = str(bgpIntents_actual)
+        main.log.info("PointToPointIntent intents expected:")
+        main.log.info(bgpIntents_str_expected)
+        main.log.info("PointToPointIntent intents get from ONOS CLI:")
+        main.log.info(bgpIntents_str_actual)
+
+        utilities.assert_equals(expect=True, actual=eq(bgpIntents_str_expected, bgpIntents_str_actual),
+                                onpass="***PointToPointIntent Intents in SDN-IP are correct!***",
+                                onfail="***PointToPointIntent Intents in SDN-IP are wrong!***")
 
         #main.step("Test whether Mininet is started")
         #main.Mininet2.handle.sendline("xterm host1")
diff --git a/TestON/tests/SdnIpTest/addresses.json b/TestON/tests/SdnIpTest/addresses.json
new file mode 100644
index 0000000..f7eb983
--- /dev/null
+++ b/TestON/tests/SdnIpTest/addresses.json
@@ -0,0 +1,36 @@
+{
+    "addresses" : [
+		{
+		    "dpid" : "00:00:00:00:00:00:00:a3",
+		    "port" : "1",
+		    "ips" : ["192.168.10.0/24"],
+                    "mac" : "00:00:00:00:00:01"
+			
+		},
+		{
+		    "dpid" : "00:00:00:00:00:00:00:a5",
+		    "port" : "1",
+		    "ips" : ["192.168.20.0/24"],
+		    "mac" : "00:00:00:00:00:01"
+		},
+		{
+		    "dpid" : "00:00:00:00:00:00:00:a2",
+		    "port" : "1",
+		    "ips" : ["192.168.30.0/24"],
+		    "mac" : "00:00:00:00:00:01"
+		},
+		{
+		    "dpid" : "00:00:00:00:00:00:00:a6",
+		    "port" : "1",
+		    "ips" : ["192.168.40.0/24"],
+		    "mac" : "00:00:00:00:00:01"
+		},
+		{
+		    "dpid" : "00:00:00:00:00:00:00:a4",
+		    "port" : "4",
+		    "ips" : ["192.168.60.0/24"],
+		    "mac" : "00:00:00:00:00:01"
+		}
+
+    ]
+}
\ No newline at end of file
diff --git a/TestON/tests/SdnIpTest/intents.json b/TestON/tests/SdnIpTest/intents.json
new file mode 100644
index 0000000..d17715f
--- /dev/null
+++ b/TestON/tests/SdnIpTest/intents.json
@@ -0,0 +1,1468 @@
+[  
+   {  
+      "id":"0xffffffffcb2cb6ec",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x140a3304",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffcb2d9828",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x1a89f138",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffd1418988",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x2cd85684",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x3122a56b",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x5874487",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x6ae96523",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x217361ed",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffaee31428",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x68cad35c",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffed2b21fa",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffa5dbcf50",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x373774a3",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "installable":[  
+         {  
+            "id":"0x5a75d509",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffff8d492c5d",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffef408263",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffff8ce7d031",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffb344fe39",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xf2665f1",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x5b61a473",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffd0e186b8",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x4d8d4942",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x3738d163",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffff993b0fc9",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xfffffffff33e39a0",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffda3dd5b2",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffff8ce60db9",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xfeca8b9",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x3124d881",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x40241a59",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffd141fa26",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x3018359e",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.1/32}, IPV4_DST{ip=192.168.30.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a2, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffaee2a38a",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x658af442",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffaf46b62f",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x7a92607b",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.1/32}, IPV4_DST{ip=192.168.20.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a5, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffff8d484b21",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffe8c0c42f",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.101/32}, IPV4_DST{ip=192.168.10.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a3, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffed295f82",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x28379d0",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },  
+   {  
+      "id":"0xffffffffdba23bce",
+      "type":"MultiPointToSinglePointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_DST{ip=172.16.30.0/24}, ETH_TYPE{ethType=800}]",
+      "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+      "ingress":[  
+         {  
+            "device":"of:00000000000000a3",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a4",
+            "port":"4"
+         },
+         {  
+            "device":"of:00000000000000a6",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a5",
+            "port":"1"
+         }
+      ],
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x5e70036",
+            "type":"LinkCollectionIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_DST{ip=172.16.30.0/24}, ETH_TYPE{ethType=800}]",
+            "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+            "links":[  
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a4",
+                     "port":"1"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a2",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a5",
+                     "port":"2"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a3",
+                     "port":"4"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a6",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a3",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"2"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               }
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffaf44f3b7",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a5",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffd73a0afb",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.20.101/32}, IPV4_DST{ip=192.168.20.1/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a5, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x751d3d2e",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffc4847e9e",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x3fb23806",
+      "type":"MultiPointToSinglePointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_DST{ip=2.0.0.0/24}, ETH_TYPE{ethType=800}]",
+      "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+      "ingress":[  
+         {  
+            "device":"of:00000000000000a3",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a4",
+            "port":"4"
+         },
+         {  
+            "device":"of:00000000000000a6",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a5",
+            "port":"1"
+         }
+      ],
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x23d68afe",
+            "type":"LinkCollectionIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_DST{ip=2.0.0.0/24}, ETH_TYPE{ethType=800}]",
+            "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+            "links":[  
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a4",
+                     "port":"1"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a2",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a5",
+                     "port":"2"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a3",
+                     "port":"4"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a6",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a3",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"2"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               }
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x751be06e",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffff85bf43de",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x6aea465f",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a3",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x27f32021",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.10.1/32}, IPV4_DST{ip=192.168.10.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a3, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xf25f553",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x5821c559",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.30.101/32}, IPV4_DST{ip=192.168.30.1/32}, IP_PROTO{protocol=1}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a2, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xfffffffff3406cb6",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+      "ingress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x14daab84",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.1/32}, IPV4_DST{ip=192.168.40.101/32}, IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, TCP_DST{tcpPort=179}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a6, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffd7d10b27",
+      "type":"MultiPointToSinglePointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_DST{ip=1.0.0.0/24}, ETH_TYPE{ethType=800}]",
+      "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+      "ingress":[  
+         {  
+            "device":"of:00000000000000a3",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a4",
+            "port":"4"
+         },
+         {  
+            "device":"of:00000000000000a6",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a5",
+            "port":"1"
+         }
+      ],
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffff8f921bfd",
+            "type":"LinkCollectionIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_DST{ip=1.0.0.0/24}, ETH_TYPE{ethType=800}]",
+            "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+            "links":[  
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a4",
+                     "port":"1"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a2",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a5",
+                     "port":"2"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a3",
+                     "port":"4"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a6",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a3",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"2"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               }
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffa79364e5",
+      "type":"MultiPointToSinglePointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_DST{ip=3.0.0.0/24}, ETH_TYPE{ethType=800}]",
+      "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+      "ingress":[  
+         {  
+            "device":"of:00000000000000a3",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a4",
+            "port":"4"
+         },
+         {  
+            "device":"of:00000000000000a6",
+            "port":"1"
+         },
+         {  
+            "device":"of:00000000000000a5",
+            "port":"1"
+         }
+      ],
+      "egress":{  
+         "device":"of:00000000000000a2",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffb81af9ff",
+            "type":"LinkCollectionIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a6, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_DST{ip=3.0.0.0/24}, ETH_TYPE{ethType=800}]",
+            "treatment":"[ETH_DST{mac=00:00:00:00:03:01}]",
+            "links":[  
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a4",
+                     "port":"1"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a2",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a5",
+                     "port":"2"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a3",
+                     "port":"4"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a6",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"3"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               },
+               {  
+                  "src":{  
+                     "device":"of:00000000000000a3",
+                     "port":"3"
+                  },
+                  "dst":{  
+                     "device":"of:00000000000000a4",
+                     "port":"2"
+                  },
+                  "type":"DIRECT",
+                  "state":"ACTIVE",
+                  "annotations":{  
+
+                  }
+               }
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x14d9eb65",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "egress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffffd1edad87",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.1/32}, IPV4_DST{ip=192.168.60.101/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a4, portNumber=4}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, dst=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a1, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0x14d88ea5",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a4",
+         "port":"4"
+      },
+      "installable":[  
+         {  
+            "id":"0xffffffff932872c7",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.60.101/32}, IPV4_DST{ip=192.168.60.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a2, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a2, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a4, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a4, portNumber=4}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   },
+   {  
+      "id":"0xffffffffd0df53a2",
+      "type":"PointToPointIntent",
+      "appId":"org.onlab.onos.sdnip",
+      "state":"INSTALLED",
+      "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+      "ingress":{  
+         "device":"of:00000000000000a1",
+         "port":"1"
+      },
+      "egress":{  
+         "device":"of:00000000000000a6",
+         "port":"1"
+      },
+      "installable":[  
+         {  
+            "id":"0x12f07370",
+            "type":"PathIntent",
+            "appId":"org.onlab.onos.sdnip",
+            "resources":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ],
+            "selector":"[IPV4_SRC{ip=192.168.40.101/32}, IPV4_DST{ip=192.168.40.1/32}, IP_PROTO{protocol=6}, TCP_SRC{tcpPort=179}, ETH_TYPE{ethType=800}]",
+            "path":[  
+               "DefaultEdgeLink{src=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, dst=HostLocation{elementId=of:00000000000000a1, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a1, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a3, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a3, portNumber=4}, dst=ConnectPoint{elementId=of:00000000000000a5, portNumber=2}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultLink{src=ConnectPoint{elementId=of:00000000000000a5, portNumber=3}, dst=ConnectPoint{elementId=of:00000000000000a6, portNumber=4}, type=DIRECT, state=ACTIVE, durable=false}",
+               "DefaultEdgeLink{src=HostLocation{elementId=of:00000000000000a6, portNumber=1}, dst=ConnectPoint{elementId=00:00:00:00:00:00/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"
+            ]
+         }
+      ]
+   }
+]
\ No newline at end of file
diff --git a/TestON/tests/SdnIpTest/sdnip.json b/TestON/tests/SdnIpTest/sdnip.json
new file mode 100644
index 0000000..a5d1867
--- /dev/null
+++ b/TestON/tests/SdnIpTest/sdnip.json
@@ -0,0 +1,69 @@
+{
+   
+    "bgpPeers" : [
+		{
+		    "attachmentDpid" : "00:00:00:00:00:00:00:a3",
+		    "attachmentPort" : "1",
+		    "ipAddress" : "192.168.10.1"
+		},
+		{
+		    "attachmentDpid" : "00:00:00:00:00:00:00:a5",
+		    "attachmentPort" : "1",
+		    "ipAddress" : "192.168.20.1"
+		},
+		{
+		    "attachmentDpid" : "00:00:00:00:00:00:00:a2",
+		    "attachmentPort" : "1",
+		    "ipAddress" : "192.168.30.1"
+		},
+		{
+		    "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+		    "attachmentPort" : "1",
+		    "ipAddress" : "192.168.40.1"
+		},
+		{
+		    "attachmentDpid" : "00:00:00:00:00:00:00:a4",
+		    "attachmentPort" : "4",
+		    "ipAddress" : "192.168.60.1"
+		}
+
+    ],
+    "bgpSpeakers" : [
+	    {
+	    	 "name" : "bgpSpeaker1",
+	    	 "attachmentDpid" : "00:00:00:00:00:00:00:a1",
+	         "attachmentPort" : "1",
+	         "macAddress" : "00:00:00:00:00:01",
+	         "interfaceAddresses" : [
+				{
+				    "interfaceDpid" : "00:00:00:00:00:00:00:a3",
+		  		    "interfacePort" : "1",
+				    "ipAddress" : "192.168.10.101"
+				},
+				{
+				    "interfaceDpid" : "00:00:00:00:00:00:00:a5",
+		       		    "interfacePort" : "1",
+				    "ipAddress" : "192.168.20.101"
+				},
+				{
+				    "interfaceDpid" : "00:00:00:00:00:00:00:a2",
+		       		    "interfacePort" : "1",
+				    "ipAddress" : "192.168.30.101"
+				},
+				{
+				    "interfaceDpid" : "00:00:00:00:00:00:00:a6",
+		       		    "interfacePort" : "1",
+				    "ipAddress" : "192.168.40.101"
+				},
+				{
+				    "interfaceDpid" : "00:00:00:00:00:00:00:a4",
+		       		    "interfacePort" : "4",
+				    "ipAddress" : "192.168.60.101"
+				}
+		
+		    ]
+	         
+	    }
+   	
+    ]
+}
\ No newline at end of file
diff --git a/TestON/tests/TopoConvNext/TopoConvNext.params b/TestON/tests/TopoConvNext/TopoConvNext.params
index f96123a..96cb9ad 100644
--- a/TestON/tests/TopoConvNext/TopoConvNext.params
+++ b/TestON/tests/TopoConvNext/TopoConvNext.params
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>1,2,3,2,3,2,4,2,3,2,3,2,4,2,3,2,3,2</testcases>
+    <testcases>1,2,3,2,3,2,3,4,2,3,2,3,2,4,2,3,2,3,2</testcases>
 
     <ENV>
         <cellName>topo_conv_test</cellName>
@@ -42,13 +42,12 @@
         <onosLogFile>/opt/onos/log/karaf*</onosLogFile>
 
         #Number of times to iterate each case
-        <numIter>10</numIter>
-        <numSwitch1>100</numSwitch1>
-        <numSwitch2>200</numSwitch2>
+        <numIter>5</numIter>
+        <numSwitch1>200</numSwitch1>
+        <numSwitch2>400</numSwitch2>
         <numSwitch3>500</numSwitch3>
         #Number of iterations to ignore initially
-        <iterIgnore>2</iterIgnore>
-cp single_topo_event_accumulator.cfg ~/ONOS/tools/package/etc/org.onlab.onos.net.topology.impl.DefaultTopologyProvider.cfg
+        <iterIgnore>1</iterIgnore>
 
         <topo_accumulator_config>
         large_topo_event_accumulator.cfg
@@ -57,7 +56,6 @@
         org.onlab.onos.net.topology.impl.DefaultTopologyProvider.cfg
         </topo_config_name>
 
-
         <swDisc100Threshold>0,100000</swDisc100Threshold>
     </TEST>
 
diff --git a/TestON/tests/TopoConvNext/TopoConvNext.py b/TestON/tests/TopoConvNext/TopoConvNext.py
index 4b8042c..52a951c 100644
--- a/TestON/tests/TopoConvNext/TopoConvNext.py
+++ b/TestON/tests/TopoConvNext/TopoConvNext.py
@@ -29,7 +29,7 @@
         global cluster_count 
         global topo_iteration
         topo_iteration = 1
-        cluster_count = 3 
+        cluster_count = 1 
         #******
         cell_name = main.params['ENV']['cellName']
 
@@ -47,20 +47,20 @@
         BENCH_ip = main.params['BENCH']['ip']
 
         main.case("Setting up test environment")
-        main.step("copying topology event accumulator config file"+
+        main.log.info("copying topology event accumulator config file"+\
                 " to ONOS package/etc/ directory")
         topo_config_name = main.params['TEST']['topo_config_name']
         topo_config =\
                 main.params['TEST']['topo_accumulator_config']
-        main.ONOSbench.handle.sendline("cp ~/"+topo_config+
-            " ~/ONOS/tools/package/etc/"+
+        main.ONOSbench.handle.sendline("cp ~/"+topo_config+\
+            " ~/ONOS/tools/package/etc/"+\
             topo_config_name)
         main.ONOSbench.handle.expect("\$")
 
         main.log.info("Uninstalling previous instances")
         #main.ONOSbench.onos_uninstall(node_ip = ONOS1_ip)
-        #main.ONOSbench.onos_uninstall(node_ip = ONOS2_ip)
-        #main.ONOSbench.onos_uninstall(node_ip = ONOS3_ip)
+        main.ONOSbench.onos_uninstall(node_ip = ONOS2_ip)
+        main.ONOSbench.onos_uninstall(node_ip = ONOS3_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS4_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS5_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS6_ip)
@@ -72,15 +72,17 @@
         cell_file_result = main.ONOSbench.create_cell_file(
                 BENCH_ip, cell_name, MN1_ip, 
                 "onos-core,onos-app-metrics", 
-                ONOS1_ip, ONOS2_ip, ONOS3_ip)
-
+                #ONOS1_ip, ONOS2_ip, ONOS3_ip)
+                ONOS1_ip)
+                    
         main.step("Applying cell file to environment")
         cell_apply_result = main.ONOSbench.set_cell(cell_name)
         verify_cell_result = main.ONOSbench.verify_cell()
         
         main.step("Removing raft logs")
         main.ONOSbench.onos_remove_raft_logs()
-        
+        time.sleep(10)
+
         main.step("Git checkout and pull "+checkout_branch)
         if git_pull == 'on':
             checkout_result = \
@@ -100,8 +102,8 @@
 
         main.step("Set cell for ONOS cli env")
         main.ONOS1cli.set_cell(cell_name)
-        main.ONOS2cli.set_cell(cell_name)
-        main.ONOS3cli.set_cell(cell_name)
+        #main.ONOS2cli.set_cell(cell_name)
+        #main.ONOS3cli.set_cell(cell_name)
     
         main.step("Creating ONOS package")
         package_result = main.ONOSbench.onos_package()
@@ -109,15 +111,15 @@
         #Start test with single node only
         main.step("Installing ONOS package")
         install1_result = main.ONOSbench.onos_install(node=ONOS1_ip)
-        install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
-        install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
+        #install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
+        #install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
 
         time.sleep(10)
 
         main.step("Start onos cli")
         cli1 = main.ONOS1cli.start_onos_cli(ONOS1_ip)
-        cli2 = main.ONOS2cli.start_onos_cli(ONOS2_ip)
-        cli3 = main.ONOS3cli.start_onos_cli(ONOS3_ip)
+        #cli2 = main.ONOS2cli.start_onos_cli(ONOS2_ip)
+        #cli3 = main.ONOS3cli.start_onos_cli(ONOS3_ip)
 
         main.step("Enable metrics feature")
         #main.ONOS1cli.feature_install("onos-app-metrics")
@@ -126,8 +128,8 @@
                 actual= cell_file_result and cell_apply_result and\
                         verify_cell_result and checkout_result and\
                         pull_result and mvn_result and\
-                        install1_result and install2_result and\
-                        install3_result,
+                        install1_result, #and install2_result and\
+                        #install3_result,
                 onpass="Test Environment setup successful",
                 onfail="Failed to setup test environment")
     
@@ -176,6 +178,7 @@
         #throughout the test
         global num_sw
         global topo_iteration    
+        global cluster_count
         if topo_iteration == 1:
             num_sw = main.params['TEST']['numSwitch1']
         elif topo_iteration == 2:
@@ -219,6 +222,11 @@
                         ip1=ONOS_ip_list[node],
                         port1=default_sw_port)
             index = i+1 
+        #for i in range(1, int(num_sw)+1):
+            #main.Mininet1.assign_sw_controller(
+                    #sw=str(i),
+                    #ip1="10.128.174.1",
+                    #            port1="6633")
 
         main.log.info("Please check ptpd configuration to ensure "+\
                 "all nodes' system times are in sync")
@@ -286,52 +294,140 @@
             #    time.sleep(30)
 
             if cluster_count >= 3:
-                main.ONOS1.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos1_iter"+str(i)+".txt")
-                main.ONOS2.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos2_iter"+str(i)+".txt")
-                main.ONOS3.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos3_iter"+str(i)+".txt")
+                main.ONOS1.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos1_iter"+str(i)+".txt &")
+                main.ONOS2.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos2_iter"+str(i)+".txt &")
+                main.ONOS3.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos3_iter"+str(i)+".txt &")
             if cluster_count >= 4:
-                main.ONOS4.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos4_iter"+str(i)+".txt")
+                main.ONOS4.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos4_iter"+str(i)+".txt &")
             if cluster_count >= 5:
-                main.ONOS5.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos5_iter"+str(i)+".txt")
+                main.ONOS5.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos5_iter"+str(i)+".txt &")
             if cluster_count >= 6:
-                main.ONOS6.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos6_iter"+str(i)+".txt")
+                main.ONOS6.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos6_iter"+str(i)+".txt &")
             if cluster_count == 7:
-                main.ONOS7.tshark_grep("SYN, ACK",
-                        "/tmp/syn_ack_onos7_iter"+str(i)+".txt")
-           
+                main.ONOS7.handle.sendline("tshark -i eth0 -t e | "+
+                    "grep 'SYN, ACK' | grep '6633' >"+
+                    "/tmp/syn_ack_onos6_iter"+str(i)+".txt &")
+         
+            #NOTE:
+            #       Delay before checking devices to 
+            #       help prevent timing out from CLI
+            #       due to multiple command drop
+            time.sleep(20)
+
+            loop = True
             loop_count = 0
             device_count = 0
-            while loop_count < 60: 
+            while loop_count < 60 and loop: 
                 main.log.info("Checking devices for device down")
-                device_str = main.ONOS1cli.devices()
-                device_json = json.loads(device_str)
-                for device in device_json:
-                    if device['available'] == False:
-                        #print device_count
-                        device_count += 1
-                    else:
-                        device_count = 0
-                if device_count >= int(num_sw)*int(cluster_count):
-                    main.step("Flushing iptables and obtaining t0")
-                    t0_system = time.time()*1000
-                    main.ONOS1.handle.sendline("sudo iptables -F")
-                    main.ONOS2.handle.sendline("sudo iptables -F")
-                    main.ONOS3.handle.sendline("sudo iptables -F")
-                    main.ONOS4.handle.sendline("sudo iptables -F")
-                    main.ONOS5.handle.sendline("sudo iptables -F")
-                    main.ONOS6.handle.sendline("sudo iptables -F")
-                    main.ONOS7.handle.sendline("sudo iptables -F")
-                    
-                    break
                 
+                temp_len = 0
+                device_str1 = main.ONOS1cli.devices(
+                    node_ip=ONOS_ip_list[1])
+                device_json1 = json.loads(device_str1)
+                json_len = len(device_json1) 
+                
+                for device1 in device_json1: 
+                    temp_len = temp_len + 1
+                    if device1['available'] == True:
+                        loop = True
+                        break
+                    #if I'm on the last json object and I still haven't
+                    #broken out of the loop, it means there were
+                    #no available devices
+                    elif temp_len == json_len-1:
+                        main.log.info("Temp length: "+str(temp_len))
+                        main.step("Flushing iptables and obtaining t0")
+                        t0_system = time.time()*1000
+                        
+                        main.ONOS1.handle.sendline("sudo iptables -F")
+                        main.ONOS2.handle.sendline("sudo iptables -F")
+                        main.ONOS3.handle.sendline("sudo iptables -F")
+                        main.ONOS4.handle.sendline("sudo iptables -F")
+                        main.ONOS5.handle.sendline("sudo iptables -F")
+                        main.ONOS6.handle.sendline("sudo iptables -F")
+                        main.ONOS7.handle.sendline("sudo iptables -F")
+                    
+                        loop = False
+                        break
+
+                #if cluster_count == 1:
+                #    device_str1 = main.ONOS1cli.devices(
+                #        node_ip=ONOS_ip_list[1])
+                #    device_json1 = json.loads(device_str1)
+                #    for device1 in device_json1:
+                #        if device1['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+                #if cluster_count == 2:
+                #    device_str2 = main.ONOS2cli.devices(
+                #        node_ip=ONOS_ip_list[2])
+                #    device_json2 = json.loads(device_str2)
+                #    for device2 in device_json2:
+                #        if device2['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+                #if cluster_count == 3:
+                #    device_str3 = main.ONOS3cli.devices(
+                #        node_ip=ONOS_ip_list[3])
+                #    device_json3 = json.loads(device_str3)
+                #    for device3 in device_json3:
+                #        if device3['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+                #if cluster_count == 4:
+                #    device_str4 = main.ONOS4cli.devices(
+                #        node_ip=ONOS_ip_list[4])
+                #    device_json4 = json.loads(device_str4)
+                #    for device4 in device_json4:
+                #        if device4['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+                #if cluster_count == 5:
+                #    device_str5 = main.ONOS5cli.devices(
+                #        node_ip=ONOS_ip_list[5])
+                #    device_json5 = json.loads(device_str5)
+                #    for device5 in device_json5:
+                #        if device5['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+                #if cluster_count == 7:
+                #    device_str7 = main.ONOS7cli.devices(
+                #        node_ip=ONOS_ip_list[7])
+                #    device_json7 = json.loads(device_str7)
+                #    for device7 in device_json7:
+                #        if device7['available'] == False:
+                #            device_count += 1
+                #        else:
+                #            device_count = 0
+   
+                #If device count is greater than the 
+                #number of switches discovered by all nodes
+                #then remove iptables and measure t0 system time
+                    
+                
+                loop_count += 1
                 time.sleep(1)
 
+            if device_count < int(num_sw):
+                main.log.info("Devices down did not ")
+
             main.log.info("System time t0: "+str(t0_system))
 
             counter_loop = 0
@@ -358,7 +454,8 @@
                     if node == 1 and not onos1_dev:
                         main.log.info("Checking node 1 for device "+
                             "discovery")
-                        device_str_obj1 = main.ONOS1cli.devices()
+                        device_str_obj1 = main.ONOS1cli.devices(
+                            node_ip=ONOS_ip_list[1])
                         device_json1 = json.loads(device_str_obj1)
                         for device1 in device_json1:
                             if device1['available'] == True:
@@ -372,7 +469,8 @@
                     if node == 2 and not onos2_dev:
                         main.log.info("Checking node 2 for device "+
                             "discovery")
-                        device_str_obj2 = main.ONOS2cli.devices()
+                        device_str_obj2 = main.ONOS2cli.devices(
+                            node_ip=ONOS_ip_list[2])
                         device_json2 = json.loads(device_str_obj2)
                         for device2 in device_json2:
                             if device2['available'] == True:
@@ -386,7 +484,8 @@
                     if node == 3 and not onos3_dev:
                         main.log.info("Checking node 3 for device "+
                             "discovery")
-                        device_str_obj3 = main.ONOS3cli.devices()
+                        device_str_obj3 = main.ONOS3cli.devices(
+                            node_ip=ONOS_ip_list[3])
                         device_json3 = json.loads(device_str_obj3)
                         for device3 in device_json3:
                             if device3['available'] == True:
@@ -400,7 +499,8 @@
                     if node == 4 and not onos4_dev:
                         main.log.info("Checking node 4 for device "+
                             "discovery")
-                        device_str_obj4 = main.ONOS4cli.devices()
+                        device_str_obj4 = main.ONOS4cli.devices(
+                            node_ip=ONOS_ip_list[4])
                         device_json4 = json.loads(device_str_obj4)
                         for device4 in device_json4:
                             if device4['available'] == True:
@@ -414,7 +514,8 @@
                     if node == 5 and not onos5_dev:
                         main.log.info("Checking node 5 for device "+
                             "discovery")
-                        device_str_obj5 = main.ONOS5cli.devices()
+                        device_str_obj5 = main.ONOS5cli.devices(
+                            node_ip=ONOS_ip_list[5])
                         device_json5 = json.loads(device_str_obj5)
                         for device5 in device_json5:
                             if device5['available'] == True:
@@ -428,7 +529,8 @@
                     if node == 6 and not onos6_dev:
                         main.log.info("Checking node 6 for device "+
                             "discovery")
-                        device_str_obj6 = main.ONOS6cli.devices()
+                        device_str_obj6 = main.ONOS6cli.devices(
+                            node_ip=ONOS_ip_list[6])
                         device_json6 = json.loads(device_str_obj6)
                         for device6 in device_json6:
                             if device6['available'] == True:
@@ -442,7 +544,8 @@
                     if node == 7 and not onos7_dev:
                         main.log.info("Checking node 7 for device "+
                             "discovery")
-                        device_str_obj7 = main.ONOS7cli.devices()
+                        device_str_obj7 = main.ONOS7cli.devices(
+                            node_ip=ONOS_ip_list[7])
                         device_json7 = json.loads(device_str_obj7)
                         for device7 in device_json7:
                             if device7['available'] == True:
@@ -463,6 +566,7 @@
                     if onos1_dev:
                         main.log.info("All devices have been discovered"+
                             " on all ONOS instances")
+                        time.sleep(5)
                         json_str_metrics_1 =\
                             main.ONOS1cli.topology_events_metrics()
                         json_obj_1 = json.loads(json_str_metrics_1)
@@ -471,7 +575,10 @@
                         
                         graph_lat_1 = \
                             int(graph_timestamp_1) - int(t0_system)
-                        
+                       
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+
                         if graph_lat_1 > sw_disc_threshold_min\
                             and graph_lat_1 < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
@@ -491,6 +598,8 @@
                         main.log.info("All devices have been discovered"+
                             " on all "+str(cluster_count)+
                             " ONOS instances")
+                        time.sleep(5)
+
                         json_str_metrics_1 =\
                             main.ONOS1cli.topology_events_metrics()
                         json_str_metrics_2 =\
@@ -506,23 +615,27 @@
                             int(graph_timestamp_1) - int(t0_system)
                         graph_lat_2 = \
                             int(graph_timestamp_2) - int(t0_system)
+                        
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
 
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2)) / 2
+                        max_graph_lat = max(graph_lat_1, 
+                            graph_lat_2, graph_lat_3)
 
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                         break
                 if cluster_count == 3:
                     if onos1_dev and onos2_dev and onos3_dev:
@@ -558,26 +671,29 @@
                         graph_lat_3 = \
                             int(graph_timestamp_3) - int(t0_system)
 
-                        main.log.info("DEBUG: graph_timestamp_1: "+
-                                str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
+                        main.log.info("Graph Timestamp ONOS3: "+
+                            str(graph_timestamp_3))
 
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2) +\
-                             int(graph_lat_3)) / 3 
-                        
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        max_graph_lat = max(graph_lat_1, 
+                                graph_lat_2,
+                                graph_lat_3)
+
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                         
                         break
                 if cluster_count == 4:
@@ -614,25 +730,33 @@
                             int(graph_timestamp_3) - int(t0_system)
                         graph_lat_4 = \
                             int(graph_timestamp_4) - int(t0_system)
-
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2) +\
-                             int(graph_lat_3) +\
-                             int(graph_lat_4)) / 4 
                         
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
+                        main.log.info("Graph Timestamp ONOS3: "+
+                            str(graph_timestamp_3))
+                        main.log.info("Graph Timestamp ONOS4: "+
+                            str(graph_timestamp_4))
+
+                        max_graph_lat = max(graph_lat_1,
+                                graph_lat_2,
+                                graph_lat_3,
+                                graph_lat_4)
+                        
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                 
                         break
                 if cluster_count == 5:
@@ -682,26 +806,36 @@
                             int(graph_timestamp_4) - int(t0_system)
                         graph_lat_5 = \
                             int(graph_timestamp_5) - int(t0_system)
-
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2) +\
-                             int(graph_lat_3) +\
-                             int(graph_lat_4) +\
-                             int(graph_lat_5)) / 5 
                         
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
+                        main.log.info("Graph Timestamp ONOS3: "+
+                            str(graph_timestamp_3))
+                        main.log.info("Graph Timestamp ONOS4: "+
+                            str(graph_timestamp_4))
+                        main.log.info("Graph Timestamp ONOS5: "+
+                            str(graph_timestamp_5))
+
+                        max_graph_lat = max(graph_lat_1,
+                                graph_lat_2,
+                                graph_lat_3,
+                                graph_lat_4,
+                                graph_lat_5)
+                        
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                 
                         break
                 if cluster_count == 6:
@@ -752,27 +886,39 @@
                             int(graph_timestamp_5) - int(t0_system)
                         graph_lat_6 = \
                             int(graph_timestamp_6) - int(t0_system)
-
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2) +\
-                             int(graph_lat_3) +\
-                             int(graph_lat_4) +\
-                             int(graph_lat_5) +\
-                             int(graph_lat_6)) / 6 
                         
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
+                        main.log.info("Graph Timestamp ONOS3: "+
+                            str(graph_timestamp_3))
+                        main.log.info("Graph Timestamp ONOS4: "+
+                            str(graph_timestamp_4))
+                        main.log.info("Graph Timestamp ONOS5: "+
+                            str(graph_timestamp_5))
+                        main.log.info("Graph Timestamp ONOS6: "+
+                            str(graph_timestamp_6))
+
+                        max_graph_lat = max(graph_lat_1,
+                                graph_lat_2,
+                                graph_lat_3,
+                                graph_lat_4,
+                                graph_lat_5,
+                                graph_lat_6)
+                        
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                         
                         break
                 if cluster_count == 7:
@@ -838,36 +984,55 @@
                         graph_lat_7 = \
                             int(graph_timestamp_7) - int(t0_system)
 
-                        avg_graph_lat = \
-                            (int(graph_lat_1) +\
-                             int(graph_lat_2) +\
-                             int(graph_lat_3) +\
-                             int(graph_lat_4) +\
-                             int(graph_lat_5) +\
-                             int(graph_lat_6) +\
-                             int(graph_lat_7)) / 7 
+                        main.log.info("Graph Timestamp ONOS1: "+
+                            str(graph_timestamp_1))
+                        main.log.info("Graph Timestamp ONOS2: "+
+                            str(graph_timestamp_2))
+                        main.log.info("Graph Timestamp ONOS3: "+
+                            str(graph_timestamp_3))
+                        main.log.info("Graph Timestamp ONOS4: "+
+                            str(graph_timestamp_4))
+                        main.log.info("Graph Timestamp ONOS5: "+
+                            str(graph_timestamp_5))
+                        main.log.info("Graph Timestamp ONOS6: "+
+                            str(graph_timestamp_6))
+                        main.log.info("Graph Timestamp ONOS7: "+
+                            str(graph_timestamp_7))
+
+                        max_graph_lat = max(graph_lat_1,
+                                graph_lat_2,
+                                graph_lat_3,
+                                graph_lat_4,
+                                graph_lat_5,
+                                graph_lat_6,
+                                graph_lat_7)
                         
-                        if avg_graph_lat > sw_disc_threshold_min\
-                            and avg_graph_lat < sw_disc_threshold_max\
+                        if max_graph_lat > sw_disc_threshold_min\
+                            and max_graph_lat < sw_disc_threshold_max\
                             and int(i) > iter_ignore:
                             sw_discovery_lat_list.append(
-                                    avg_graph_lat)
+                                    max_graph_lat)
                             main.log.info("Sw discovery latency of "+
                                 str(cluster_count)+" node(s): "+
-                                str(avg_graph_lat)+" ms")
+                                str(max_graph_lat)+" ms")
                         else:
                             main.log.info("Switch discovery latency "+
                                 "exceeded the threshold.")
-                            main.log.info(avg_graph_lat)
+                            main.log.info(max_graph_lat)
                         
                         break
                 
                 counter_loop += 1
                 time.sleep(3)
                 #END WHILE LOOP            
-            
+          
+            #Below is used for reporting SYN / ACK timing
+            #of all switches 
             main.ONOS1.tshark_stop()
             syn_ack_timestamp_list = []
+            if cluster_count < 3:
+                #TODO: capture synack on nodes less than 3
+                syn_ack_timestamp_list.append(0)
 
             if cluster_count >= 3:
                 main.ONOS2.tshark_stop() 
@@ -886,17 +1051,29 @@
                      f_onos1:
                     for line in f_onos1:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
                 with open("/tmp/syn_ack_onos2_iter"+str(i)+".txt") as\
                      f_onos2:
                     for line in f_onos2:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
                 with open("/tmp/syn_ack_onos3_iter"+str(i)+".txt") as\
                      f_onos3:
                     for line in f_onos3:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
             if cluster_count >= 4:
                 main.ONOS4.tshark_stop() 
                 time.sleep(5)
@@ -907,7 +1084,11 @@
                      f_onos4:
                     for line in f_onos4:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
             if cluster_count >= 5:
                 main.ONOS5.tshark_stop()
                 time.sleep(5)
@@ -918,7 +1099,11 @@
                      f_onos5:
                     for line in f_onos5:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
             if cluster_count >= 6:
                 main.ONOS6.tshark_stop()
                 time.sleep(5)
@@ -929,7 +1114,11 @@
                      f_onos6:
                     for line in f_onos6:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
             if cluster_count == 7:
                 main.ONOS7.tshark_stop()
                 time.sleep(5)
@@ -940,11 +1129,16 @@
                      f_onos7:
                     for line in f_onos7:
                         line = line.split(" ")
-                        syn_ack_timestamp_list.append(line[1])
+                        try:
+                            float(line[1])
+                            syn_ack_timestamp_list.append(line[1])
+                        except ValueError:
+                            main.log.info("String cannot be converted")
           
             #Sort the list by timestamp
             syn_ack_timestamp_list = sorted(syn_ack_timestamp_list)
-            
+            print "syn_ack_-1  " + str(syn_ack_timestamp_list)
+
             syn_ack_delta =\
                     int(float(syn_ack_timestamp_list[-1])*1000) -\
                     int(float(syn_ack_timestamp_list[0])*1000) 
@@ -1014,6 +1208,18 @@
         install_result = main.FALSE
         #Supports up to 7 node configuration
         #TODO: Cleanup this ridiculous repetitive code 
+        if cluster_count == 3:
+            install_result = \
+                main.ONOSbench.onos_install(node=ONOS2_ip)
+            install_result = \
+                main.ONOSbench.onos_install(node=ONOS3_ip)
+            time.sleep(5)
+            main.log.info("Starting CLI")
+            main.ONOS2cli.start_onos_cli(ONOS2_ip)
+            main.ONOS3cli.start_onos_cli(ONOS3_ip)
+            main.ONOS1cli.add_node(ONOS2_ip, ONOS2_ip)
+            main.ONOS1cli.add_node(ONOS3_ip, ONOS3_ip)
+            
         if cluster_count == 4:
             main.log.info("Installing ONOS on node 4")
             install_result = \
@@ -1025,17 +1231,17 @@
         
         elif cluster_count == 5:
             main.log.info("Installing ONOS on nodes 4 and 5")
-            install_result1 = \
-                main.ONOSbench.onos_install(node=ONOS4_ip)
             install_result2 = \
-                main.ONOSbench.onos_install(node=ONOS5_ip)
+                main.ONOSbench.onos_install(options="",node=ONOS4_ip)
+            install_result3 = \
+                main.ONOSbench.onos_install(options="",node=ONOS5_ip)
             time.sleep(5)
             main.log.info("Starting CLI")
             main.ONOS4cli.start_onos_cli(ONOS4_ip)
             main.ONOS5cli.start_onos_cli(ONOS5_ip)
             main.ONOS1cli.add_node(ONOS4_ip, ONOS4_ip)
             main.ONOS1cli.add_node(ONOS5_ip, ONOS5_ip)
-            install_result = install_result1 and install_result2
+            install_result = install_result2 and install_result3
 
         elif cluster_count == 6:
             main.log.info("Installing ONOS on nodes 4, 5,and 6")
@@ -1058,12 +1264,8 @@
 
         elif cluster_count == 7:
             main.log.info("Installing ONOS on nodes 4, 5, 6,and 7")
-            install_result1 = \
-                main.ONOSbench.onos_install(options="",node=ONOS4_ip)
-            install_result2 = \
-                main.ONOSbench.onos_install(options="",node=ONOS5_ip)
             install_result3 = \
-                main.ONOSbench.onos_install(options="",node=ONOS6_ip)
+                main.ONOSbench.onos_install(node=ONOS6_ip)
             install_result4 = \
                 main.ONOSbench.onos_install(node=ONOS7_ip)
             main.log.info("Starting CLI")
@@ -1076,7 +1278,7 @@
             main.ONOS1cli.add_node(ONOS6_ip, ONOS6_ip)
             main.ONOS1cli.add_node(ONOS7_ip, ONOS7_ip)
 
-            install_result = install_result1 and install_result2 and\
+            install_result = \
                     install_result3 and install_result4
 
         time.sleep(5)
@@ -1111,6 +1313,8 @@
         BENCH_ip = main.params['BENCH']['ip']
 
         main.log.info("Uninstalling previous instances")
+        main.ONOSbench.onos_uninstall(node_ip = ONOS2_ip)
+        main.ONOSbench.onos_uninstall(node_ip = ONOS3_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS4_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS5_ip)
         main.ONOSbench.onos_uninstall(node_ip = ONOS6_ip)
@@ -1118,7 +1322,7 @@
         
         global topo_iteration
         global cluster_count
-        cluster_count = 3 
+        cluster_count = 1  
         topo_iteration += 1
 
         main.log.report("Increasing topology size")
diff --git a/TestON/tests/TopoPerfNext/TopoPerfNext.py b/TestON/tests/TopoPerfNext/TopoPerfNext.py
index 0ec69d2..49089bf 100644
--- a/TestON/tests/TopoPerfNext/TopoPerfNext.py
+++ b/TestON/tests/TopoPerfNext/TopoPerfNext.py
@@ -46,11 +46,11 @@
         topo_cfg_name = main.params['TEST']['topo_config_name']
         
         main.case("Setting up test environment")
-        main.step("Copying topology event accumulator config file to "+
-            "ONOS /package/etc")
-        main.ONOSbench.handle.sendline("cp ~/"+
-            topo_cfg_file+
-            "~/ONOS/tools/package/etc/"+
+        main.log.info("Copying topology event accumulator config"+\
+            " to ONOS /ppackage/etc")
+        main.ONOSbench.handle.sendline("cp ~/"+\
+            topo_cfg_file+\
+            "~/ONOS/tools/package/etc/"+\
             topo_cfg_name)
         main.ONOSbench.handle.expect("\$")