Changes made to reflect new driver functions
diff --git a/TestON/tests/HATest1/HATest1.params b/TestON/tests/HATest1/HATest1.params
index dfda24b..7ccd409 100644
--- a/TestON/tests/HATest1/HATest1.params
+++ b/TestON/tests/HATest1/HATest1.params
@@ -1,15 +1,50 @@
 <PARAMS>
-    <testcases>2,3</testcases>
+    <testcases>2,3,4,5,6</testcases>
     <CTRL>
         <ip1>10.128.9.1</ip1>
-        <ip2>10.128.9.2</ip2>
-        <ip3>10.128.9.3</ip3>
-        <ip4>10.128.9.4</ip4>
-        <ip5>10.128.9.5</ip5>
         <port1>6633</port1>
+        <restPort1>8080</restPort1>
+        <ip2>10.128.9.2</ip2>
+        <port2>6633</port2>
+        <restPort2>8080</restPort2>
+        <ip3>10.128.9.3</ip3>
+        <port3>6633</port3>
+        <restPort3>8080</restPort3>
+        <ip4>10.128.9.4</ip4>
+        <port4>6633</port4>
+        <restPort4>8080</restPort4>
+        <ip5>10.128.9.5</ip5>
+        <port5>6633</port5>
+        <restPort5>8080</restPort5>
+        <switchURL>/wm/onos/registry/switches/json</switchURL>
+        <intentHighURL>/wm/onos/intent/high</intentHighURL>
+        <intentLowURL>/wm/onos/intent/log</intentLowURL>
     </CTRL>
+    <TopoRest>/wm/onos/topology</TopoRest>
     <INTENTS>
         <intentPort>8080</intentPort>
         <intentURL>wm/onos/intent</intentURL>
     </INTENTS>
+    <PING>
+        <source1>h8</source1>
+        <source2>h9</source2>
+        <source3>h10</source3>
+        <source4>h11</source4>
+        <source5>h12</source5>
+        <source6>h13</source6>
+        <source7>h14</source7>
+        <source8>h15</source8>
+        <source9>h16</source9>
+        <source10>h17</source10>
+        <target1>10.0.0.18</target1>
+        <target2>10.0.0.19</target2>
+        <target3>10.0.0.20</target3>
+        <target4>10.0.0.21</target4>
+        <target5>10.0.0.22</target5>
+        <target6>10.0.0.23</target6>
+        <target7>10.0.0.24</target7>
+        <target8>10.0.0.25</target8>
+        <target9>10.0.0.26</target9>
+        <target10>10.0.0.27</target10>
+    </PING>
 </PARAMS>
diff --git a/TestON/tests/HATest1/HATest1.py b/TestON/tests/HATest1/HATest1.py
index 61b7c29..91d5b96 100644
--- a/TestON/tests/HATest1/HATest1.py
+++ b/TestON/tests/HATest1/HATest1.py
@@ -1,7 +1,11 @@
 
 class HATest1:
 
-    
+    global topology
+    global masterSwitchList
+    global highIntentList
+    global lowIntentList
+    global flowTable
     def __init__(self) :
         self.default = ''
 
@@ -69,13 +73,13 @@
             if i ==1:
                 main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip1'],port1=main.params['CTRL']['port1'])
             elif i>=2 and i<5:
-                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip2'],port1=main.params['CTRL']['port1'])
+                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip2'],port1=main.params['CTRL']['port2'])
             elif i>=5 and i<8:
-                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip3'],port1=main.params['CTRL']['port1'])
+                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip3'],port1=main.params['CTRL']['port3'])
             elif i>=8 and i<18:
-                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip4'],port1=main.params['CTRL']['port1'])
+                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip4'],port1=main.params['CTRL']['port4'])
             elif i>=18 and i<28:
-                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip5'],port1=main.params['CTRL']['port1'])
+                main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip5'],port1=main.params['CTRL']['port5'])
             else:
                 main.Mininet1.assign_sw_controller(sw=str(i),ip1=main.params['CTRL']['ip1'],port1=main.params['CTRL']['port1'])
         
@@ -124,7 +128,6 @@
                 else:
                     result = main.FALSE
         utilities.assert_equals(expect = main.TRUE,actual=result,onpass="MasterControllers assigned correctly")
-        time.sleep(30)
 
     def CASE3(self,main) :
         import time
@@ -148,7 +151,6 @@
             srcMac = '00:00:00:00:00:'+str(hex(i+10)[2:])
             main.ONOS1.add_intent(intent_id=str(count),src_dpid=srcDPID,dst_dpid=dstDPID,src_mac=srcMac,dst_mac=dstMac,intentIP=intentIP,intentPort=intentPort,intentURL=intentURL)
             count+=1
-        time.sleep(400)
         count = 1
         i = 8
         result = main.TRUE
@@ -179,8 +181,113 @@
         
 
     def CASE4(self,main) :
+        import time
+        from subprocess import Popen, PIPE
         main.case("Setting up and Gathering data for current state")
+        main.step("Get the current In-Memory Topology on each ONOS Instance")
+        ctrls = []
+        count = 1
+        while True:
+            temp = ()
+            if ('ip'+str(count)) in main.params['CTRL']:
+                temp = temp+(getattr(main,('ONOS'+str(count))),)
+                temp = temp + ("ONOS"+str(count),)
+                temp = temp + (main.params['CTRL']['ip'+str(count)],)
+                temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+                ctrls.append(temp)
+                count+=1
+            else:
+                break
+        topo_result = main.TRUE
+        for n in range(1,count):
+            temp_result = main.Mininet1.compare_topo(ctrls,main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+
+        main.step("Get the Mastership of each switch")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['switchURL']],stdout=PIPE).communicate()
+        global masterSwitchList1
+        masterSwitchList1 = stdout
+
+        main.step("Get the High Level Intents")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['intentHighURL']],stdout=PIPE).communicate()
+        global highIntentList1
+        highIntentList1 = stdout
         
+        main.step("Get the Low level Intents")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['intentLowURL']],stdout=PIPE).communicate()
+        global lowIntentList1
+        lowIntentList1= stdout
+        
+        main.step("Get the OF Table entries")
+        
+        main.step("Start continuous pings")
+        main.Mininet2.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'],pingTime=500)
+        main.Mininet2.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'],pingTime=500)
+
+
+    def CASE5(self,main) :
+        main.case("MAIN COMPONENT FAILURE AND SCENARIO SPECIFIC TESTS")
+        
+
+    def CASE6(self,main) :
+        import os
+        main.case("Running ONOS Constant State Tests")
+        main.step("Get the current In-Memory Topology on each ONOS Instance and Compare it to the Topology before component failure")
+
+        main.step("Get the Mastership of each switch and compare to the Mastership before component failure")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['switchURL']],stdout=PIPE).communicate()
+        result = main.TRUE
+        for i in range(1,28):
+            if main.ZK1.findMaster(switchDPID="s"+str(i),switchList=masterSwitchList1)==main.ZK1.findMaster(switchDPID="s"+str(i),switchList=stdout):
+                result = result and main.TRUE
+            else:
+                result = main.FALSE
+        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Mastership of Switches was not changed",onfail="MASTERSHIP OF SWITCHES HAS CHANGED!!!")
+
+        main.step("Get the High Level Intents and compare to before component failure")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['intentHighURL']],stdout=PIPE).communicate()
+        changesInIntents=main.ONOS1.comp_intents(preIntents=highIntentList1,postIntents=stdout)
+        if not changesInIntents:
+            result = main.TRUE
+        else:
+            main.log.info("THERE WERE CHANGES TO THE HIGH LEVEL INTENTS! CHANGES WERE: "+str(changesInIntents))
+            result = main.FALSE
+        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="No changes to High level Intents",onfail="CHANGES WERE MADE TO HIGH LEVEL INTENTS")
+
+        main.step("Get the Low level Intents and compare to before component failure")
+        (stdout,stderr)=Popen(["curl",main.params['CTRL']['ip1']+":"+main.params['CTRL']['apiPort']+main.params['CTRL']['intentLowURL']],stdout=PIPE).communicate()
+        changesInIntents=main.ONOS1.comp_low(preIntents=lowIntentList1,postIntents=stdout)
+        if not changesInIntents:
+            result = main.TRUE
+        else:
+            main.log.info("THERE WERE CHANGES TO THE LOW LEVEL INTENTS! CHANGES WERE: "+str(changesInIntents))
+            result = main.FALSE
+        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="No changes to Low level Intents",onfail="CHANGES WERE MADE TO LOW LEVEL INTENTS")
+
+
+        main.step("Get the OF Table entries and compare to before component failure")
+        
+        main.step("Check the continuous pings to ensure that no packets were dropped during component failure")
+        main.Mininet2.pingKill()
+        result = main.FALSE
+        for i in range(8,18):
+            result = result or main.Mininet2.checkForLoss("/tmp/ping.h"+str(i))
+        if result==main.TRUE:
+            main.log.info("LOSS IN THE PINGS!")
+        elif result == main.ERROR:
+            main.log.info("There are multiple mininet process running!!")
+        else:
+            main.log.info("No Loss in the pings!")
+        utilities.assert_equals(expect=main.FALSE,actual=result,onpass="No Loss of connectivity!",onfail="LOSS OF CONNECTIVITY")
+
+
 
 
 
diff --git a/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.py b/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.py
index 38a754e..32a6601 100644
--- a/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.py
+++ b/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.py
@@ -27,7 +27,7 @@
         main.RamCloud3.del_db()
         main.RamCloud4.del_db()
         main.step("Start tcpdump on mn")
-        main.Mininet1.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port'])
+        main.Mininet2.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port'])
 #        main.step("Start tcpdump on mn")
 #        main.Mininet1.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port'])
         main.step("Starting ONOS")
@@ -266,16 +266,16 @@
         import time
         import os
         main.case("Starting long ping... ") 
-        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'])
-        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'])
-        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'])
-        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'])
-        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'])
-        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'])
-        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'])
-        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'])
-        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'])
-        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'])
+        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'], pingTime = 100)
         main.step("Check that the pings are going") 
         result = main.Mininet4.pingstatus(src=main.params['PING']['source1'])
         result = result & main.Mininet4.pingstatus(src=main.params['PING']['source2'])
@@ -339,16 +339,16 @@
         import os
         time.sleep(20)
         main.case("Starting long ping... ")
-        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'])
-        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'])
-        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'])
-        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'])
-        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'])
-        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'])
-        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'])
-        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'])
-        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'])
-        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'])
+        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'], pingTime = 100)
         main.step("Check that the pings are going")
         result = main.Mininet4.pingstatus(src=main.params['PING']['source1'])
         result = result & main.Mininet4.pingstatus(src=main.params['PING']['source2'])
@@ -396,16 +396,16 @@
 
         time.sleep(20)
         main.case("Starting long ping... ")
-        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'])
-        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'])
-        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'])
-        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'])
-        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'])
-        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'])
-        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'])
-        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'])
-        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'])
-        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'])
+        main.Mininet4.pingLong(src=main.params['PING']['source1'],target=main.params['PING']['target1'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source2'],target=main.params['PING']['target2'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source3'],target=main.params['PING']['target3'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source4'],target=main.params['PING']['target4'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source5'],target=main.params['PING']['target5'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source6'],target=main.params['PING']['target6'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source7'],target=main.params['PING']['target7'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source8'],target=main.params['PING']['target8'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source9'],target=main.params['PING']['target9'], pingTime = 100)
+        main.Mininet4.pingLong(src=main.params['PING']['source10'],target=main.params['PING']['target10'], pingTime = 100)
         main.step("Check that the pings are going")
         result = main.Mininet4.pingstatus(src=main.params['PING']['source1'])
         result = result & main.Mininet4.pingstatus(src=main.params['PING']['source2'])
@@ -471,6 +471,6 @@
             result = main.FALSE
             count = len(check1.splitlines()) + len(check2.splitlines()) + len(check3.splitlines()) + len(check4.splitlines())
         utilities.assert_equals(expect=main.TRUE,actual=result,onpass="No Exceptions found in the logs",onfail=str(count) + " Exceptions were found in the logs")
-        main.Mininet1.stop_tcpdump()
+        main.Mininet2.stop_tcpdump()
 
 
diff --git a/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.topo b/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.topo
index b49d5dc..6402f13 100644
--- a/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.topo
+++ b/TestON/tests/RCOnosPerf4nodes/RCOnosPerf4nodes.topo
@@ -110,13 +110,20 @@
                 <controller> remote </controller>
              </COMPONENTS>
         </Mininet1>
+        <Mininet2>
+            <host>10.128.4.159</host>
+            <user>admin</user>
+            <password></password>
+            <type>RemoteMininetDriver</type>
+            <connect_order>14</connect_order>
+        </Mininet2>
 
         <Mininet4>
             <host>10.128.4.159</host>
             <user>admin</user>
             <password></password>
             <type>RemoteMininetDriver</type>
-            <connect_order>14</connect_order>
+            <connect_order>15</connect_order>
         </Mininet4>
     </COMPONENT>
 </TOPOLOGY>
diff --git a/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.py b/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.py
index f8cfca1..d177f8b 100644
--- a/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.py
+++ b/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.py
@@ -153,6 +153,8 @@
                 main.Mininet1.assign_sw_controller(sw=str(j),count=4,ip1=main.params['CTRL']['ip1'],port1=main.params['CTRL']['port1'],ip2=main.params['CTRL']['ip2'],port2=main.params['CTRL']['port2'],ip3=main.params['CTRL']['ip3'],port3=main.params['CTRL']['port3'],ip4=main.params['CTRL']['ip4'],port4=main.params['CTRL']['port4'])
         main.Mininet1.get_sw_controller("s1")       
         time.sleep(30)
+
+        main.Zookeeper1.findMaster(switchDPID="00:00:00:00:00:00:10:00")
  
 # **********************************************************************************************************************************************************************************************
 #Add Flows
@@ -369,7 +371,7 @@
         main.case("Bringing Link down... ")
         result = main.Mininet1.link(END1=main.params['LINK']['begin'],END2=main.params['LINK']['end'],OPTION="down")
         utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Link DOWN!",onfail="Link not brought down...")
-        time.sleep(10)
+        time.sleep(30)
         strtTime = time.time() 
         result = main.ONOS1.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
         for i in range(10):
@@ -413,7 +415,7 @@
         result = main.Mininet1.link(END1='s1',END2='s3',OPTION="down")
         result = main.Mininet1.link(END1=main.params['LINK']['begin'],END2=main.params['LINK']['end'],OPTION="up")
         utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Link UP!",onfail="Link not brought up...")
-        time.sleep(10) 
+        time.sleep(30) 
         strtTime = time.time() 
         result = main.ONOS1.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
         for i in range(10):
diff --git a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.params b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.params
index 6de3811..250da70 100644
--- a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.params
+++ b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.params
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>1,2,21,31,6,7,4,5,6,7,41,5,6,7,4,6,7,5,41,6,7,66</testcases>
+    <testcases>1,2,21,31,6,7,4,6,7,5,6,7,41,6,7,5,6,7,6,7,66</testcases>
     <tcpdump>
         <intf>eth0</intf>
         <port>port 6633</port>
diff --git a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.py b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.py
index be801e6..bebdf4b 100644
--- a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.py
+++ b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.py
@@ -20,7 +20,7 @@
         main.ONOS3.stop_all()        
         main.ONOS4.stop_all() 
         main.step("Start tcpdump on mn")
-        main.Mininet1.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port']) 
+        main.Mininet2.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port']) 
 #        main.step("Start tcpdump on mn")
 #        main.Mininet1.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port']) 
         main.step("start ONOS")
@@ -616,6 +616,6 @@
             result = main.FALSE
             count = len(check1.splitlines()) + len(check2.splitlines()) + len(check3.splitlines()) + len(check4.splitlines())
         utilities.assert_equals(expect=main.TRUE,actual=result,onpass="No Exceptions found in the logs",onfail=str(count) + " Exceptions were found in the logs")
-        main.Mininet1.stop_tcpdump()
+        main.Mininet2.stop_tcpdump()
 
 
diff --git a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
index c5c5dee..988e8af 100644
--- a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
+++ b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
@@ -134,6 +134,13 @@
                 <controller> remote </controller>
              </COMPONENTS>
         </Mininet1>
+        <Mininet2>
+            <host>10.128.4.159</host>
+            <user>admin</user>
+            <password></password>
+            <type>RemoteMininetDriver</type>
+            <connect_order>14</connect_order>
+        </Mininet2>
 
     </COMPONENT>
 </TOPOLOGY>