Work in progress: link discovery latency case and 100 switch discovery latency case
diff --git a/TestON/tests/TopoPerfNext/TopoPerfNext.py b/TestON/tests/TopoPerfNext/TopoPerfNext.py
index e3940f8..5b80b50 100644
--- a/TestON/tests/TopoPerfNext/TopoPerfNext.py
+++ b/TestON/tests/TopoPerfNext/TopoPerfNext.py
@@ -832,6 +832,77 @@
             #      link down discovery. Take timestamp and
             #      gather list for num_iter
          
+    def CASE5(self, main):
+        '''
+        100 Switch discovery latency
+
+        Important:
+            If a simple topology was used in previous cases,
+            you will need to change the topology file in the
+            params for this case to proceed
+        '''
+        import time
+        import subprocess
+        import os
+        import requests
+        import json
+
+        ONOS1_ip = main.params['CTRL']['ip1']
+        ONOS2_ip = main.params['CTRL']['ip2']
+        ONOS3_ip = main.params['CTRL']['ip3']
+        MN1_ip = main.params['MN']['ip1']
+        ONOS_user = main.params['CTRL']['user']
+
+        default_sw_port = main.params['CTRL']['port1']
+       
+        #Number of iterations of case
+        num_iter = main.params['TEST']['numIter']
+       
+        #Timestamp 'keys' for json metrics output.
+        #These are subject to change, hence moved into params
+        deviceTimestamp = main.params['JSON']['deviceTimestamp']
+
+        main.case("100 Switch discovery latency")
+        main.step("Assigning all switches to ONOS1")
+        #Assumes that topology consists of 100 switches
+        for i in range(1, 101):
+            main.Mininet1.assign_sw_controller(
+                    sw=str(i),
+                    ip1=ONOS1_ip,
+                    port1=default_sw_port)
+        #Ensure that nodes are configured with ptpd
+        #ONOS1 ptpd is master without NTP
+        ONOS1_ptpd = main.ONOS1.ptpd("-W")
+        ONOS2_ptpd = main.ONOS2.ptpd("-g")
+        ONOS3_ptpd = main.ONOS3.ptpd("-g")
+        os.system("sudo ptpd -g")
+
+        if ONOS1_ptpd == main.TRUE and\
+            ONOS2_ptpd == main.TRUE and\
+            ONOS3_ptpd == main.TRUE:
+            main.log.info("ptpd started on all ONOS instances")
+        else:
+            main.log.info("Check ptpd configuration to ensure"+\
+                    " All nodes' system times are in sync")
+
+        for i in range(0, int(num_iter)):
             
-            
-            
+            main.step("Set iptables rule to block incoming sw connections")
+            #Set iptables rule to block incoming switch connections
+            main.ONOS1.handle.sendline(
+                    "sudo iptables -A INPUT -p tcp -s "+MN_ip+
+                    " --dport "+default_sw_port+" -j DROP")
+            main.ONOS1.handle.expect("\$") 
+            #Give time to allow rule to take effect
+            time.sleep(10)
+
+            #TODO: Implement iptables to block all switch communication     
+            #      sudo iptables -A INPUT -p packet_type -s ip_to_block
+            #           --dport port_to_block -j rule<DROP>
+            #TODO: Remove all iptables rule quickly (flush)
+            #      Before removal, obtain TestON timestamp at which 
+            #     removal took place (ensuring nodes are configured via ptp)
+            #      sudo iptables -F
+
+        
+
diff --git a/TestON/tests/TopoPerfNext/TopoPerfNext.topo b/TestON/tests/TopoPerfNext/TopoPerfNext.topo
index 37ca2f9..5010fcc 100644
--- a/TestON/tests/TopoPerfNext/TopoPerfNext.topo
+++ b/TestON/tests/TopoPerfNext/TopoPerfNext.topo
@@ -46,6 +46,24 @@
             <COMPONENTS> </COMPONENTS>
         </ONOS1>
 
+        <ONOS2>
+            <host>10.128.174.2</host>
+            <user>admin</user>
+            <password>onos_test</password>
+            <type>OnosDriver</type>
+            <connect_order>3</connect_order>
+            <COMPONENTS> </COMPONENTS>
+        </ONOS2>
+
+        <ONOS3>
+            <host>10.128.174.3</host>
+            <user>admin</user>
+            <password>onos_test</password>
+            <type>OnosDriver</type>
+            <connect_order>3</connect_order>
+            <COMPONENTS> </COMPONENTS>
+        </ONOS3>
+
         <Mininet1>
             <host>10.128.10.90</host>
             <user>admin</user>
@@ -53,7 +71,7 @@
             <type>MininetCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
-                <arg1> --custom topo-perf-2sw.py </arg1>
+                <arg1> --custom topo-100sw.py </arg1>
                 <arg2> --arp --mac --topo mytopo</arg2>
                 <arg3> </arg3>
                 <controller> remote </controller>