WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Adding hping TCP and UDP tests. They hping a number of p

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Adding hping TCP and UDP tests. They hping a number of packets to
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 10 Mar 2006 02:06:07 +0000
Delivery-date: Fri, 10 Mar 2006 02:06:59 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User stekloff@xxxxxxxxxxxxxxxxxxxxx
# Node ID 8c1badb84c3ed6160822771441d68151b1f62052
# Parent  b13e54483c1aedf59e66e4addaa03eba70019780
Adding hping TCP and UDP tests. They hping a number of packets to
local interface, dom0, and from domU to domU. HVM support included.

Signed-off-by: Jim Dykman <dykman@xxxxxxxxxx>
Signed-off-by: Daniel Stekloff <dsteklof@xxxxxxxxxx>

diff -r b13e54483c1a -r 8c1badb84c3e tools/xm-test/tests/network/Makefile.am
--- a/tools/xm-test/tests/network/Makefile.am   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/Makefile.am   Thu Mar  9 23:49:54 2006
@@ -1,10 +1,15 @@
 
 SUBDIRS =
-
 TESTS = \
        02_network_local_ping_pos.test          \
+       03_network_local_tcp_pos.test           \
+       04_network_local_udp_pos.test           \
        05_network_dom0_ping_pos.test           \
-       11_network_domU_ping_pos.test
+       06_network_dom0_tcp_pos.test            \
+       07_network_dom0_udp_pos.test            \
+       11_network_domU_ping_pos.test           \
+       12_network_domU_tcp_pos.test            \
+       13_network_domU_udp_pos.test
 
 
 
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/03_network_local_tcp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/03_network_local_tcp_pos.py   Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,95 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# TCP tests on local interfaces.
+#  - creates a single guest domain
+#  - sets up a single NIC
+#  - conducts hping tcp tests to the local loopback and IP address
+
+# hping2 127.0.0.1 -c 1 -d $size
+# hping2 $local_IP -c 1 -d $size
+#   where $size = 1, 48, 64, 512, 1440, 1448, 1500, 1505,
+#                 4096, 4192, 32767, 65507, 65508
+
+
+trysizes = [ 1, 48, 64, 512, 1440, 1448, 1500, 1505, 4096, 4192, 
+              32767, 65495 ]
+
+
+from XmTestLib import *
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # read an IP address from the config
+    ip   = Net.ip("dom1", "eth0")
+    mask = Net.mask("dom1", "eth0")
+except NetworkError, e:
+    FAIL(str(e))
+
+# Fire up a guest domain w/1 nic
+if ENABLE_HVM_SUPPORT:
+    brg = "xenbr0"
+    config = {"vif" : ['type=ioemu, bridge=%s' % brg]}
+else:
+    brg = None
+    config = {"vif" : ['ip=%s' % ip]}
+
+domain = XmTestDomain(extraConfig=config)
+try:
+    domain.start()
+except DomainError, e:
+    if verbose:
+        print "Failed to create test domain because:"
+        print e.extra
+    FAIL(str(e))
+
+
+# Attach a console
+try:
+    console = XmConsole(domain.getName(), historySaveCmds=True)
+except ConsoleError, e:
+    FAIL(str(e))
+
+try:
+    # Activate the console
+    console.sendInput("bhs")
+
+    # Bring up the "lo" interface.
+    console.runCmd("ifconfig lo 127.0.0.1")
+
+    console.runCmd("ifconfig eth0 inet "+ip+" netmask "+mask+" up")
+
+    # First do loopback 
+    lofails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 127.0.0.1 -E /dev/urandom -q -c 20 " 
+              + "--fast -d " + str(size))
+        if out["return"]:
+            lofails += " " + str(size)
+
+    # Next comes eth0
+    eth0fails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 " + ip + " -E /dev/urandom -q -c 20 "
+              + "--fast -d "+ str(size))
+        if out["return"]:
+            eth0fails += " " + str(size) 
+except ConsoleError, e:
+        FAIL(str(e))
+except NetworkError, e:
+        FAIL(str(e))
+
+
+# Tally up failures
+failures=""
+if len(lofails):
+        failures += "TCP hping2 over loopback failed for size" + lofails + ". "
+if len(eth0fails):
+        failures += "TCP hping2 over eth0 failed for size" + eth0fails + "."
+if len(failures):
+    FAIL(failures)
+
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/04_network_local_udp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/04_network_local_udp_pos.py   Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,96 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# UDP tests on local interfaces.
+#  - creates a single guest domain
+#  - sets up a single NIC
+#  - conducts hping udp tests to the local loopback and IP address
+
+# hping2 127.0.0.1 -2 -c 1 -d $size
+# hping2 $local_IP -2 -c 1 -d $size
+#   where $size = 1, 48, 64, 512, 1440, 1448, 1500, 1505,
+#                 4096, 4192, 32767, 65507, 65508
+
+
+trysizes = [ 1, 48, 64, 512, 1440, 1448, 1500, 1505, 4096, 4192, 
+              32767, 65495 ]
+
+from XmTestLib import *
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # read an IP address from the config
+    ip   = Net.ip("dom1", "eth0")
+    mask = Net.mask("dom1", "eth0")
+except NetworkError, e:
+    FAIL(str(e))
+
+# Fire up a guest domain w/1 nic
+if ENABLE_HVM_SUPPORT:
+    brg = "xenbr0"
+    config = {"vif" : ['type=ioemu, bridge=%s' % brg]}
+else:
+    brg = None
+    config = {"vif" : ['ip=%s' % ip]}
+
+domain = XmTestDomain(extraConfig=config)
+try:
+    domain.start()
+except DomainError, e:
+    if verbose:
+        print "Failed to create test domain because:"
+        print e.extra
+    FAIL(str(e))
+
+
+# Attach a console
+try:
+    console = XmConsole(domain.getName(), historySaveCmds=True)
+except ConsoleError, e:
+    FAIL(str(e))
+
+try:
+    # Activate the console
+    console.sendInput("bhs")
+
+    # Bring up the "lo" interface.
+    console.runCmd("ifconfig lo 127.0.0.1")
+
+    console.runCmd("ifconfig eth0 inet "+ip+" netmask "+mask+" up")
+
+    # First do loopback 
+    lofails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 127.0.0.1 -E /dev/urandom -2 -q -c 20 "
+              + "--fast -d " + str(size))
+        if out["return"]:
+            lofails += " " + str(size)
+            print out["output"]
+
+    # Next comes eth0
+    eth0fails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 " + ip + " -E /dev/urandom -2 -q -c 20 "
+              + "--fast -d " + str(size))
+        if out["return"]:
+            eth0fails += " " + str(size) 
+            print out["output"]
+except ConsoleError, e:
+        FAIL(str(e))
+except NetworkError, e:
+        FAIL(str(e))
+
+
+# Tally up failures
+failures=""
+if len(lofails):
+        failures += "UDP hping2 over loopback failed for size" + lofails + ". "
+if len(eth0fails):
+        failures += "UDP hping2 over eth0 failed for size" + eth0fails + "."
+if len(failures):
+    FAIL(failures)
+
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/06_network_dom0_tcp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/06_network_dom0_tcp_pos.py    Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,81 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# TCP tests to dom0.
+#  - determines dom0 network
+#  - creates a single guest domain
+#  - sets up a single NIC on same subnet as dom0
+#  - conducts hping2 tcp tests to the dom0 IP address
+
+# hping2 $dom0_IP -c 1 -d $size
+#   where $size = 1, 48, 64, 512, 1440, 1448, 1500, 1505,
+#                 4096, 4192, 32767, 65507, 65508
+
+trysizes = [ 1, 48, 64, 512, 1440, 1500, 1505, 4096, 4192, 
+                32767, 65495 ]
+
+
+
+from XmTestLib import *
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # read an IP address from the config
+    ip     = Net.ip("dom1", "eth0")
+    mask   = Net.mask("dom1", "eth0")
+except NetworkError, e:
+        FAIL(str(e))
+
+# Fire up a guest domain w/1 nic
+if ENABLE_HVM_SUPPORT:
+    brg = "xenbr0"
+    config = {"vif" : ['type=ioemu, bridge=%s' % brg]}
+else:
+    brg = None
+    config = {"vif"  : ["ip=%s" % ip]}
+
+domain = XmTestDomain(extraConfig=config)
+try:
+    domain.start()
+except DomainError, e:
+    if verbose:
+        print "Failed to create test domain because:"
+        print e.extra
+    FAIL(str(e))
+
+
+# Attach a console
+try:
+    console = XmConsole(domain.getName(), historySaveCmds=True)
+    # Activate the console
+    console.sendInput("bhs")
+except ConsoleError, e:
+    FAIL(str(e))
+
+try:
+    # Add a suitable dom0 IP address 
+    dom0ip = Net.ip("dom0", "eth0", todomname=domain.getName(), toeth="eth0", 
bridge=brg)
+except NetworkError, e:
+        FAIL(str(e))
+
+try:
+    console.runCmd("ifconfig eth0 inet "+ip+" netmask "+mask+" up")
+
+    # Ping dom0
+    fails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 " + dom0ip + " -E /dev/urandom -q -c 20 "
+              + "--fast -d " + str(size))
+        if out["return"]:
+            fails += " " + str(size) 
+            print out["output"]
+except ConsoleError, e:
+        FAIL(str(e))
+
+if len(fails):
+    FAIL("TCP hping2 to dom0 failed for size" + fails + ".")
+
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/07_network_dom0_udp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/07_network_dom0_udp_pos.py    Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,81 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# UDP tests to dom0.
+#  - determines dom0 network
+#  - creates a single guest domain
+#  - sets up a single NIC on same subnet as dom0
+#  - conducts hping2 udp tests to the dom0 IP address
+
+# hping2 $dom0_IP -2 -c 1 -d $size
+#   where $size = 1, 48, 64, 512, 1440, 1448, 1500, 1505,
+#                 4096, 4192, 32767, 65507, 65508
+
+trysizes = [ 1, 48, 64, 512, 1440, 1500, 1505, 4096, 4192, 
+                32767, 65495 ]
+
+
+
+from XmTestLib import *
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # read an IP address from the config
+    ip     = Net.ip("dom1", "eth0")
+    mask   = Net.mask("dom1", "eth0")
+except NetworkError, e:
+        FAIL(str(e))
+
+# Fire up a guest domain w/1 nic
+if ENABLE_HVM_SUPPORT:
+    brg = "xenbr0"
+    config = {"vif" : ['type=ioemu, bridge=%s' % brg]}
+else:
+    brg = None
+    config = {"vif"  : ["ip=%s" % ip]}
+
+domain = XmTestDomain(extraConfig=config)
+try:
+    domain.start()
+except DomainError, e:
+    if verbose:
+        print "Failed to create test domain because:"
+        print e.extra
+    FAIL(str(e))
+
+
+# Attach a console
+try:
+    console = XmConsole(domain.getName(), historySaveCmds=True)
+    # Activate the console
+    console.sendInput("bhs")
+except ConsoleError, e:
+    FAIL(str(e))
+
+try:
+    # Add a suitable dom0 IP address 
+    dom0ip = Net.ip("dom0", "eth0", todomname=domain.getName(), toeth="eth0", 
bridge=brg)
+except NetworkError, e:
+        FAIL(str(e))
+
+try:
+    console.runCmd("ifconfig eth0 inet "+ip+" netmask "+mask+" up")
+
+    # Ping dom0
+    fails=""
+    for size in trysizes:
+        out = console.runCmd("hping2 " + dom0ip + " -E /dev/urandom -2 -q -c 
20"
+             + " --fast -d " + str(size))
+        if out["return"]:
+            fails += " " + str(size) 
+            print out["output"]
+except ConsoleError, e:
+        FAIL(str(e))
+
+if len(fails):
+    FAIL("UDP hping2 to dom0 failed for size" + fails + ".")
+
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/12_network_domU_tcp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/12_network_domU_tcp_pos.py    Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,82 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# TCP tests to domU interface
+#  - creates two guest domains
+#  - sets up a single NIC on each on same subnet 
+#  - conducts tcp tests to the domU IP address.
+
+# hping2 $domU_IP -c 1 -d $size 
+#   where $size = 1, 48, 64, 512, 1440, 1500, 1505, 
+#                 4096, 4192, 32767, 65507, 65508
+
+pingsizes = [ 1, 48, 64, 512, 1440, 1500, 1505, 4096, 4192, 16384, 24567, 
+              32767, 65495 ]
+
+from XmTestLib import *
+
+def netDomain(ip):
+    if ENABLE_HVM_SUPPORT:
+        config = {"vif" : ['type=ioemu']}
+    else:
+        config = {"vif"  : ["ip=%s" % ip]}
+
+    dom = XmTestDomain(extraConfig=config)
+    try:
+        dom.start()
+    except DomainError, e:
+        if verbose:
+            print "Failed to create test domain because:"
+            print e.extra
+        FAIL(str(e))
+    try:
+        # Attach a console
+        console = XmConsole(dom.getName(), historySaveCmds=True)
+        # Activate the console
+        console.sendInput("bhs")
+    except ConsoleError, e:
+        FAIL(str(e))
+    return console
+    
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # pick an IP address 
+    ip1   = Net.ip("dom1", "eth2")
+    mask1 = Net.mask("dom1", "eth2")
+except NetworkError, e:
+    FAIL(str(e))
+
+try:
+    # pick another IP address 
+    ip2   = Net.ip("dom2", "eth2")
+    mask2 = Net.mask("dom2", "eth2")
+except NetworkError, e:
+    FAIL(str(e))
+
+# Fire up a pair of guest domains w/1 nic each
+src_console = netDomain(ip1)
+dst_console = netDomain(ip2)
+
+try:
+    src_console.runCmd("ifconfig eth0 inet "+ip1+" netmask "+mask1+" up")
+    dst_console.runCmd("ifconfig eth0 inet "+ip2+" netmask "+mask2+" up")
+
+    # Ping the victim over eth0
+    fails=""
+    for size in pingsizes:
+        out = src_console.runCmd("hping2 " + ip2 + " -E /dev/urandom -q -c 20 "
+              + "--fast -d " + str(size))
+        if out["return"]:
+            fails += " " + str(size) 
+            print out["output"]
+except ConsoleError, e:
+    FAIL(str(e))
+
+if len(fails):
+    FAIL("TCP hping2 failed for size" + fails + ".")
+
diff -r b13e54483c1a -r 8c1badb84c3e 
tools/xm-test/tests/network/13_network_domU_udp_pos.py
--- /dev/null   Thu Mar  9 23:49:08 2006
+++ b/tools/xm-test/tests/network/13_network_domU_udp_pos.py    Thu Mar  9 
23:49:54 2006
@@ -0,0 +1,82 @@
+#!/usr/bin/python
+
+# Copyright (C) International Business Machines Corp., 2006
+# Author:  <dykman@xxxxxxxxxx>
+
+# UDP tests to domU interface
+#  - creates two guest domains
+#  - sets up a single NIC on each on same subnet 
+#  - conducts udp tests to the domU IP address.
+
+# hping2 $domU_IP -2 -c 1 -d $size  
+#   where $size = 1, 48, 64, 512, 1440, 1500, 1505, 
+#                 4096, 4192, 32767, 65507, 65508
+
+pingsizes = [ 1, 48, 64, 512, 1440, 1500, 1505, 4096, 4192, 
+              32767, 65495 ]
+
+from XmTestLib import *
+
+def netDomain(ip):
+    if ENABLE_HVM_SUPPORT:
+        config = {"vif" : ['type=ioemu']}
+    else:
+        config = {"vif"  : ["ip=%s" % ip]}
+
+    dom = XmTestDomain(extraConfig=config)
+    try:
+        dom.start()
+    except DomainError, e:
+        if verbose:
+            print "Failed to create test domain because:"
+            print e.extra
+        FAIL(str(e))
+    try:
+        # Attach a console
+        console = XmConsole(dom.getName(), historySaveCmds=True)
+        # Activate the console
+        console.sendInput("bhs")
+    except ConsoleError, e:
+        FAIL(str(e))
+    return console
+    
+rc = 0
+
+Net = XmNetwork()
+
+try:
+    # pick an IP address 
+    ip1   = Net.ip("dom1", "eth2")
+    mask1 = Net.mask("dom1", "eth2")
+except NetworkError, e:
+    FAIL(str(e))
+
+try:
+    # pick another IP address 
+    ip2   = Net.ip("dom2", "eth2")
+    mask2 = Net.mask("dom2", "eth2")
+except NetworkError, e:
+    FAIL(str(e))
+
+# Fire up a pair of guest domains w/1 nic each
+src_console = netDomain(ip1)
+dst_console = netDomain(ip2)
+
+try:
+    src_console.runCmd("ifconfig eth0 inet "+ip1+" netmask "+mask1+" up")
+    dst_console.runCmd("ifconfig eth0 inet "+ip2+" netmask "+mask2+" up")
+
+    # Ping the victim over eth0
+    fails=""
+    for size in pingsizes:
+        out = src_console.runCmd("hping2 " + ip2 + " -E /dev/urandom -2 -q "
+              + "-c 20 --fast -d " + str(size))
+        if out["return"]:
+            fails += " " + str(size) 
+            print out["output"]
+except ConsoleError, e:
+    FAIL(str(e))
+
+if len(fails):
+    FAIL("UDP hping2 failed for size" + fails + ".")
+

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Adding hping TCP and UDP tests. They hping a number of packets to, Xen patchbot -unstable <=