--- /dev/null
+#/usr/bin/env python
+
+import sys
+import socket
+
+
+def do_flood(host, num):
+ try:
+ socket.inet_aton(host)
+ is_ip4 = True
+ except socket.error:
+ try:
+ socket.inet_pton(socket.AF_INET6, host)
+ is_ip4 = False
+ except socket.error:
+ raise Exception('Invlid ip4/6 address!')
+
+ family = socket.AF_INET if is_ip4 else socket.AF_INET6
+
+ for port in range(num):
+ sock = socket.socket(family, socket.SOCK_DGRAM)
+ sock.sendto('test', (host, port + 1))
+
+
+if __name__ == '__main__':
+ if len(sys.argv) < 2:
+ raise Exception('IP and packet count expected!')
+ do_flood(sys.argv[1], int(sys.argv[2]))
assert_rc_ok $? multihoming_topo_clean "No response received!"
# do some port sweeping to see that load balancing works
- ip netns exec vppns1 nc -n -z "${2}" 1-1000 > /dev/null 2>&1
+ ip netns exec vppns1 python scripts/port_flood.py "${2}" 1000
# check that it works
- pkts=$(echo "show int" | nc 0 5002 | grep host-intervpp11 | awk '{print $6}' | tr -d '\r')
+ pkts=$(echo "show int" | nc 0 5003 | grep host-intervpp12 | awk '{print $6}' | tr -d '\r')
if [ $pkts -gt 450 ] && [ $pkts -lt 550 ] ; then
rc=0
maybe_pause $3
# do some port sweeping to see that load balancing works
- ip netns exec vppns1 nc -n -z "${2}" 1-1000 > /dev/null 2>&1
+ ip netns exec vppns1 python scripts/port_flood.py "${2}" 1000
# check that it works
- pkts=$(echo "show int" | nc 0 5002 | grep host-intervpp11 | awk '{print $6}' | tr -d '\r')
+ pkts=$(echo "show int" | nc 0 5003 | grep host-intervpp12 | awk '{print $6}' | tr -d '\r')
if [ $pkts -gt 450 ] && [ $pkts -lt 550 ] ; then
rc=0
function set_arp
{
odl_mac=`ip a show dev odl | grep "link/ether" | awk '{print $2}'`
- echo "set ip arp host-xtr1 6.0.3.100 $odl_mac" | nc 0 5002
- echo "set ip arp host-xtr2 6.0.3.100 $odl_mac" | nc 0 5003
- echo "set ip arp host-xtr3 6.0.3.100 $odl_mac" | nc 0 5004
+ echo "set ip arp host-intervpp1 6.0.3.100 $odl_mac" | nc 0 5002
+ echo "set ip arp host-intervpp2 6.0.3.100 $odl_mac" | nc 0 5003
mac=`ip netns exec vppns1 ip a show dev veth_vpp1 | grep "link/ether" | awk '{print $2}'`
echo "set ip arp host-vpp1 6.0.1.2 $mac" | nc 0 5002