[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] [XM-TEST] Use explicit (IP id==packet size) on hping2 tests to avoid problems with IP id==0
We have run into some xm-test network test failures in the tests that use hping2 that are caused by an IP id of 0: - hping2 uses a packet socket, so must do its own fragmentation when sending messages >1500 bytes. - When fragmenting, hping2 uses the low byte of the PID as the IP id in each of the fragmented IP headers. - The kernel will assign an IP id if it sees the IP id == 0 in the header that hping2 passes down (net/ipv4/raw.c:raw_send_hdrinc()) So if the low byte of the PID is 0, every fragment will get assigned a unique IP id by the kernel, and reassembly will fail at the destination. Jim ---------------------------------- Use explicit (IP id==packet size) on hping2 tests to avoid problems with IP id==0 Signed-off-by: Jim Dykman <dykman@xxxxxxxxxx> diff -r dc213d745642 tools/xm-test/tests/network/03_network_local_tcp_pos.py --- a/tools/xm-test/tests/network/03_network_local_tcp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/03_network_local_tcp_pos.py Thu May 18 14:19:01 2006 @@ -44,7 +44,7 @@ lofails="" for size in trysizes: out = console.runCmd("hping2 127.0.0.1 -E /dev/urandom -q -c 20 " - + "--fast -d " + str(size)) + + "--fast -d " + str(size) + " -N " + str(size)) if out["return"]: lofails += " " + str(size) @@ -54,7 +54,7 @@ ip = netdev.getNetDevIP() for size in trysizes: out = console.runCmd("hping2 " + ip + " -E /dev/urandom -q -c 20 " - + "--fast -d "+ str(size)) + + "--fast -d "+ str(size) + " -N " + str(size)) if out["return"]: eth0fails += " " + str(size) except ConsoleError, e: diff -r dc213d745642 tools/xm-test/tests/network/04_network_local_udp_pos.py --- a/tools/xm-test/tests/network/04_network_local_udp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/04_network_local_udp_pos.py Thu May 18 14:19:01 2006 @@ -43,7 +43,7 @@ lofails="" for size in trysizes: out = console.runCmd("hping2 127.0.0.1 -E /dev/urandom -2 -q -c 20 " - + "--fast -d " + str(size)) + + "--fast -d " + str(size) + " -N " + str(size)) if out["return"]: lofails += " " + str(size) print out["output"] @@ -54,7 +54,7 @@ ip = netdev.getNetDevIP() for size in trysizes: out = console.runCmd("hping2 " + ip + " -E /dev/urandom -2 -q -c 20 " - + "--fast -d " + str(size)) + + "--fast -d " + str(size) + " -N " + str(size)) if out["return"]: eth0fails += " " + str(size) print out["output"] diff -r dc213d745642 tools/xm-test/tests/network/06_network_dom0_tcp_pos.py --- a/tools/xm-test/tests/network/06_network_dom0_tcp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/06_network_dom0_tcp_pos.py Thu May 18 14:19:01 2006 @@ -44,7 +44,7 @@ dom0ip = netdev.getDom0AliasIP() for size in trysizes: out = console.runCmd("hping2 " + dom0ip + " -E /dev/urandom -q -c 20 " - + "--fast -d " + str(size)) + + "--fast -d " + str(size) + " -N " + str(size)) if out["return"]: fails += " " + str(size) print out["output"] diff -r dc213d745642 tools/xm-test/tests/network/07_network_dom0_udp_pos.py --- a/tools/xm-test/tests/network/07_network_dom0_udp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/07_network_dom0_udp_pos.py Thu May 18 14:19:01 2006 @@ -43,7 +43,7 @@ dom0ip = netdev.getDom0AliasIP() for size in trysizes: out = console.runCmd("hping2 " + dom0ip + " -E /dev/urandom -2 -q -c 20" - + " --fast -d " + str(size)) + + " --fast -d " + str(size) + " -N " + str(size)) if out["return"]: fails += " " + str(size) print out["output"] diff -r dc213d745642 tools/xm-test/tests/network/12_network_domU_tcp_pos.py --- a/tools/xm-test/tests/network/12_network_domU_tcp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/12_network_domU_tcp_pos.py Thu May 18 14:19:01 2006 @@ -50,7 +50,7 @@ ip2 = dst_netdev.getNetDevIP() for size in pingsizes: out = src_console.runCmd("hping2 " + ip2 + " -E /dev/urandom -q -c 20 " - + "--fast -d " + str(size)) + + "--fast -d " + str(size) + " -N " + str(size)) if out["return"]: fails += " " + str(size) print out["output"] diff -r dc213d745642 tools/xm-test/tests/network/13_network_domU_udp_pos.py --- a/tools/xm-test/tests/network/13_network_domU_udp_pos.py Mon May 15 15:32:09 2006 +++ b/tools/xm-test/tests/network/13_network_domU_udp_pos.py Thu May 18 14:19:01 2006 @@ -50,7 +50,7 @@ ip2 = dst_netdev.getNetDevIP() for size in pingsizes: out = src_console.runCmd("hping2 " + ip2 + " -E /dev/urandom -2 -q " - + "-c 20 --fast -d " + str(size)) + + "-c 20 --fast -d " + str(size) + " -N " + str(size)) if out["return"]: fails += " " + str(size) print out["output"] Attachment:
ipid.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |