* Re: [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo
@ 2010-09-27 9:50 pradeep
2010-09-27 12:57 ` Lucas Meneghel Rodrigues
2010-09-27 22:43 ` Lucas Meneghel Rodrigues
0 siblings, 2 replies; 4+ messages in thread
From: pradeep @ 2010-09-27 9:50 UTC (permalink / raw)
To: Lucas Meneghel Rodrigues, autotest, kvm
Hi Lucas
Tried different combinations for this jumbo test case. it dint work for
me. I guess there is a problem while trying to remove ARP entry.
ARP entry can be removed from cache using ip and network
interface (for ex: eth0)
arp -d <ip> -i eth0
Error which i got:
23:06:14 DEBUG| Running 'arp -d 192.168.122.104 -i rtl8139_0_5900'
23:06:14 ERROR| Test failed: CmdError: Command <arp -d 192.168.122.104
-i rtl8139_0_5900> failed, rc=255, Command returned non-zero exit status
* Command:
arp -d 192.168.122.104 -i rtl8139_0_5900
Exit status: 255
Duration: 0.00138521194458
stderr:
SIOCDARP(pub): No such file or directory
When i try manually this one works for me.
Gues ip: 192.168.122.104
try "arp -i 192.168.122.1 -i eth0"
--Thanks
Pradeep
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo 2010-09-27 9:50 [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo pradeep @ 2010-09-27 12:57 ` Lucas Meneghel Rodrigues 2010-09-27 22:43 ` Lucas Meneghel Rodrigues 1 sibling, 0 replies; 4+ messages in thread From: Lucas Meneghel Rodrigues @ 2010-09-27 12:57 UTC (permalink / raw) To: pradeep; +Cc: autotest, kvm On Mon, 2010-09-27 at 15:20 +0530, pradeep wrote: > Hi Lucas > > Tried different combinations for this jumbo test case. it dint work for > me. I guess there is a problem while trying to remove ARP entry. > ARP entry can be removed from cache using ip and network > interface (for ex: eth0) > > arp -d <ip> -i eth0 > > > Error which i got: > > 23:06:14 DEBUG| Running 'arp -d 192.168.122.104 -i rtl8139_0_5900' > 23:06:14 ERROR| Test failed: CmdError: Command <arp -d 192.168.122.104 > -i rtl8139_0_5900> failed, rc=255, Command returned non-zero exit status > * Command: > arp -d 192.168.122.104 -i rtl8139_0_5900 > Exit status: 255 > Duration: 0.00138521194458 > > stderr: > SIOCDARP(pub): No such file or directory > > When i try manually this one works for me. > > Gues ip: 192.168.122.104 > > try "arp -i 192.168.122.1 -i eth0" I've seen the same problem, and I'm fixing the nw patchset to resolve it. Thanks for reporting it! Lucas > > --Thanks > Pradeep > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo 2010-09-27 9:50 [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo pradeep 2010-09-27 12:57 ` Lucas Meneghel Rodrigues @ 2010-09-27 22:43 ` Lucas Meneghel Rodrigues 1 sibling, 0 replies; 4+ messages in thread From: Lucas Meneghel Rodrigues @ 2010-09-27 22:43 UTC (permalink / raw) To: pradeep; +Cc: autotest, kvm On Mon, 2010-09-27 at 15:20 +0530, pradeep wrote: > Hi Lucas > > Tried different combinations for this jumbo test case. it dint work for > me. I guess there is a problem while trying to remove ARP entry. > ARP entry can be removed from cache using ip and network > interface (for ex: eth0) > > arp -d <ip> -i eth0 > > > Error which i got: > > 23:06:14 DEBUG| Running 'arp -d 192.168.122.104 -i rtl8139_0_5900' > 23:06:14 ERROR| Test failed: CmdError: Command <arp -d 192.168.122.104 > -i rtl8139_0_5900> failed, rc=255, Command returned non-zero exit status > * Command: > arp -d 192.168.122.104 -i rtl8139_0_5900 > Exit status: 255 > Duration: 0.00138521194458 > > stderr: > SIOCDARP(pub): No such file or directory > > When i try manually this one works for me. > > Gues ip: 192.168.122.104 > > try "arp -i 192.168.122.1 -i eth0" I think the problem here is that we should use the bridge name instead of the tap interface name. I have modified the patchset and sent it to the mailing list. v4 of the patchset fixes a lot of bugs I found while testing v3. Please try it, make sure you reinstall your guests because one issue with the kickstarts was found that prevented vm.serial_login() from working. Lucas ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 00/18] KVM autotest network patchset v3
@ 2010-09-14 22:25 Lucas Meneghel Rodrigues
2010-09-14 22:25 ` [PATCH 07/18] KVM test: Add a subtest jumbo Lucas Meneghel Rodrigues
0 siblings, 1 reply; 4+ messages in thread
From: Lucas Meneghel Rodrigues @ 2010-09-14 22:25 UTC (permalink / raw)
To: autotest; +Cc: kvm, Lucas Meneghel Rodrigues
This is Amos's patchset rebased, with some cleanups and additions:
- New method to generate MAC address prefixes
- Fix some tests to use new management
- Remove the dependency on address_pools.cfg
- Coding style fixes
We still have to do some work before the patches can be applied,
the good news is, we're getting closer :)
Amos Kong (12):
KVM test: Add a new macaddress pool algorithm
KVM test: Add a new subtest ping
KVM test: Add basic file transfer test
KVM test: Add a subtest of load/unload nic driver
KVM test: Add a subtest of nic promisc
KVM test: Add a subtest of multicast
KVM test: Add a subtest of pxe
KVM test: Add a subtest of changing MAC address
KVM test: Add a netperf subtest
KVM test: kvm_utils - Add support of check if remote port free
KVM test: Improve vlan subtest
KVM test: vlan subtest - Replace extra_params '-snapshot' with
image_snapshot
Lucas Meneghel Rodrigues (6):
KVM test: Make physical_resources_check to work with MAC management
KVM test: Remove address_pools.cfg dependency
KVM test: Add a get_ifname function
KVM Test: Add a common ping module for network related tests
KVM test: Add a subtest jumbo
KVM test: Add subtest of testing offload by ethtool
client/tests/kvm/address_pools.cfg.sample | 65 ------
client/tests/kvm/control | 8 -
client/tests/kvm/control.parallel | 9 -
client/tests/kvm/get_started.py | 4 +-
client/tests/kvm/kvm_test_utils.py | 112 ++++++++++-
client/tests/kvm/kvm_utils.py | 137 ++++++++++++-
client/tests/kvm/kvm_vm.py | 104 +++++++++-
client/tests/kvm/scripts/join_mcast.py | 37 ++++
client/tests/kvm/tests/ethtool.py | 215 ++++++++++++++++++++
client/tests/kvm/tests/file_transfer.py | 58 ++++++
client/tests/kvm/tests/jumbo.py | 130 ++++++++++++
client/tests/kvm/tests/mac_change.py | 65 ++++++
client/tests/kvm/tests/multicast.py | 83 ++++++++
client/tests/kvm/tests/netperf.py | 56 +++++
client/tests/kvm/tests/nic_promisc.py | 103 ++++++++++
client/tests/kvm/tests/nicdriver_unload.py | 115 +++++++++++
client/tests/kvm/tests/physical_resources_check.py | 7 +-
client/tests/kvm/tests/ping.py | 72 +++++++
client/tests/kvm/tests/pxe.py | 31 +++
client/tests/kvm/tests/vlan.py | 186 +++++++++++++++++
client/tests/kvm/tests/vlan_tag.py | 68 ------
client/tests/kvm/tests_base.cfg.sample | 97 ++++++++-
22 files changed, 1584 insertions(+), 178 deletions(-)
delete mode 100644 client/tests/kvm/address_pools.cfg.sample
create mode 100755 client/tests/kvm/scripts/join_mcast.py
create mode 100644 client/tests/kvm/tests/ethtool.py
create mode 100644 client/tests/kvm/tests/file_transfer.py
create mode 100644 client/tests/kvm/tests/jumbo.py
create mode 100644 client/tests/kvm/tests/mac_change.py
create mode 100644 client/tests/kvm/tests/multicast.py
create mode 100644 client/tests/kvm/tests/netperf.py
create mode 100644 client/tests/kvm/tests/nic_promisc.py
create mode 100644 client/tests/kvm/tests/nicdriver_unload.py
create mode 100644 client/tests/kvm/tests/ping.py
create mode 100644 client/tests/kvm/tests/pxe.py
create mode 100644 client/tests/kvm/tests/vlan.py
delete mode 100644 client/tests/kvm/tests/vlan_tag.py
--
1.7.2.2
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 07/18] KVM test: Add a subtest jumbo 2010-09-14 22:25 [PATCH 00/18] KVM autotest network patchset v3 Lucas Meneghel Rodrigues @ 2010-09-14 22:25 ` Lucas Meneghel Rodrigues 2010-09-24 8:16 ` [Autotest] " pradeep 0 siblings, 1 reply; 4+ messages in thread From: Lucas Meneghel Rodrigues @ 2010-09-14 22:25 UTC (permalink / raw) To: autotest; +Cc: kvm According to different nic model set different MTU for it. And ping from guest to host, to see whether tested size can be received by host. Changes from v2: - Coding style fixes Changes from v1: - Make standard of lost ratio can be configured Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Amos Kong <akong@redhat.com> --- client/tests/kvm/tests/jumbo.py | 130 ++++++++++++++++++++++++++++++++ client/tests/kvm/tests_base.cfg.sample | 11 +++- 2 files changed, 140 insertions(+), 1 deletions(-) create mode 100644 client/tests/kvm/tests/jumbo.py diff --git a/client/tests/kvm/tests/jumbo.py b/client/tests/kvm/tests/jumbo.py new file mode 100644 index 0000000..9c36951 --- /dev/null +++ b/client/tests/kvm/tests/jumbo.py @@ -0,0 +1,130 @@ +import logging, commands, random +from autotest_lib.client.common_lib import error +from autotest_lib.client.bin import utils +import kvm_test_utils, kvm_utils + +def run_jumbo(test, params, env): + """ + Test the RX jumbo frame function of vnics: + + 1) Boot the VM. + 2) Change the MTU of guest nics and host taps depending on the NIC model. + 3) Add the static ARP entry for guest NIC. + 4) Wait for the MTU ok. + 5) Verify the path MTU using ping. + 6) Ping the guest with large frames. + 7) Increment size ping. + 8) Flood ping the guest with large frames. + 9) Verify the path MTU. + 10) Recover the MTU. + + @param test: KVM test object. + @param params: Dictionary with the test parameters. + @param env: Dictionary with test environment. + """ + + vm = kvm_test_utils.get_living_vm(env, params.get("main_vm")) + session = kvm_test_utils.wait_for_login(vm) + mtu = params.get("mtu", "1500") + flood_time = params.get("flood_time", "300") + max_icmp_pkt_size = int(mtu) - 28 + + ifname = vm.get_ifname(0) + ip = vm.get_address(0) + if ip is None: + raise error.TestError("Could not get the IP address") + + try: + # Environment preparation + ethname = kvm_test_utils.get_linux_ifname(session, vm.get_macaddr(0)) + + logging.info("Changing the MTU of guest ...") + guest_mtu_cmd = "ifconfig %s mtu %s" % (ethname , mtu) + s, o = session.get_command_status_output(guest_mtu_cmd) + if s != 0: + logging.error(o) + raise error.TestError("Fail to set the MTU of guest NIC: %s" % + ethname) + + logging.info("Chaning the MTU of host tap ...") + host_mtu_cmd = "ifconfig %s mtu %s" % (ifname, mtu) + utils.run(host_mtu_cmd) + + logging.info("Add a temporary static ARP entry ...") + arp_add_cmd = "arp -s %s %s -i %s" % (ip, vm.get_macaddr(0), ifname) + utils.run(arp_add_cmd) + + def is_mtu_ok(): + s, o = kvm_test_utils.ping(ip, 1, interface=ifname, + packetsize=max_icmp_pkt_size, + hint="do", timeout=2) + return s == 0 + + def verify_mtu(): + logging.info("Verify the path MTU") + s, o = kvm_test_utils.ping(ip, 10, interface=ifname, + packetsize=max_icmp_pkt_size, + hint="do", timeout=15) + if s != 0 : + logging.error(o) + raise error.TestFail("Path MTU is not as expected") + if kvm_test_utils.get_loss_ratio(o) != 0: + logging.error(o) + raise error.TestFail("Packet loss ratio during MTU " + "verification is not zero") + + def flood_ping(): + logging.info("Flood with large frames") + kvm_test_utils.ping(ip, interface=ifname, + packetsize=max_icmp_pkt_size, + flood=True, timeout=float(flood_time)) + + def large_frame_ping(count=100): + logging.info("Large frame ping") + s, o = kvm_test_utils.ping(ip, count, interface=ifname, + packetsize=max_icmp_pkt_size, + timeout=float(count) * 2) + ratio = kvm_test_utils.get_loss_ratio(o) + if ratio != 0: + raise error.TestFail("Loss ratio of large frame ping is %s" % + ratio) + + def size_increase_ping(step=random.randrange(90, 110)): + logging.info("Size increase ping") + for size in range(0, max_icmp_pkt_size + 1, step): + logging.info("Ping %s with size %s" % (ip, size)) + s, o = kvm_test_utils.ping(ip, 1, interface=ifname, + packetsize=size, + hint="do", timeout=1) + if s != 0: + s, o = kvm_test_utils.ping(ip, 10, interface=ifname, + packetsize=size, + adaptive=True, hint="do", + timeout=20) + + if kvm_test_utils.get_loss_ratio(o) > int(params.get( + "fail_ratio", 50)): + raise error.TestFail("Ping loss ratio is greater " + "than 50% for size %s" % size) + + logging.info("Waiting for the MTU to be OK") + wait_mtu_ok = 10 + if not kvm_utils.wait_for(is_mtu_ok, wait_mtu_ok, 0, 1): + logging.debug(commands.getoutput("ifconfig -a")) + raise error.TestError("MTU is not as expected even after %s" + "seconds" % wait_mtu_ok) + + # Functional Test + verify_mtu() + large_frame_ping() + size_increase_ping() + + # Stress test + flood_ping() + verify_mtu() + + finally: + # Environment clean + session.close() + logging.info("Removing the temporary ARP entry") + utils.run("arp -d %s -i %s" % (ip, ifname)) diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index 90c1f69..70929b0 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -474,6 +474,9 @@ variants: counts = 100 flood_minutes = 10 + - jumbo: install setup unattended_install.cdrom + type = jumbo + - physical_resources_check: install setup unattended_install.cdrom type = physical_resources_check catch_uuid_cmd = dmidecode | awk -F: '/UUID/ {print $2}' @@ -620,10 +623,16 @@ variants: variants: - @rtl8139: nic_model = rtl8139 + jumbo: + mtu = 1500 - e1000: nic_model = e1000 + jumbo: + mtu = 16110 - virtio_net: nic_model = virtio + jumbo: + mtu = 65520 # Guests @@ -1185,7 +1194,7 @@ variants: # Windows section - @Windows: - no autotest linux_s3 vlan_tag ioquit unattended_install.(url|nfs|remote_ks) + no autotest linux_s3 vlan_tag ioquit unattended_install.(url|nfs|remote_ks) jumbo shutdown_command = shutdown /s /f /t 0 reboot_command = shutdown /r /f /t 0 status_test_command = echo %errorlevel% -- 1.7.2.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo 2010-09-14 22:25 ` [PATCH 07/18] KVM test: Add a subtest jumbo Lucas Meneghel Rodrigues @ 2010-09-24 8:16 ` pradeep 0 siblings, 0 replies; 4+ messages in thread From: pradeep @ 2010-09-24 8:16 UTC (permalink / raw) To: Lucas Meneghel Rodrigues; +Cc: autotest, kvm On Tue, 14 Sep 2010 19:25:32 -0300 Lucas Meneghel Rodrigues <lmr@redhat.com> wrote: > + session.close() > + logging.info("Removing the temporary ARP entry") > + utils.run("arp -d %s -i %s" % (ip, ifname)) > Hi Lucas Tried different combinations for this jumbo test case. it dint work for me. I guess there is a problem while trying to remove ARP entry. ARP entry can be removed from cache using ip and network interface (for ex: eth0) arp -d <ip> -i eth0 Error which i got: 23:06:14 DEBUG| Running 'arp -d 192.168.122.104 -i rtl8139_0_5900' 23:06:14 ERROR| Test failed: CmdError: Command <arp -d 192.168.122.104 -i rtl8139_0_5900> failed, rc=255, Command returned non-zero exit status * Command: arp -d 192.168.122.104 -i rtl8139_0_5900 Exit status: 255 Duration: 0.00138521194458 stderr: SIOCDARP(pub): No such file or directory When i try manually this one works for me. Gues ip: 192.168.122.104 try "arp -i 192.168.122.1 -i eth0" --Thanks Pradeep ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-09-27 22:44 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-09-27 9:50 [Autotest] [PATCH 07/18] KVM test: Add a subtest jumbo pradeep 2010-09-27 12:57 ` Lucas Meneghel Rodrigues 2010-09-27 22:43 ` Lucas Meneghel Rodrigues -- strict thread matches above, loose matches on Subject: below -- 2010-09-14 22:25 [PATCH 00/18] KVM autotest network patchset v3 Lucas Meneghel Rodrigues 2010-09-14 22:25 ` [PATCH 07/18] KVM test: Add a subtest jumbo Lucas Meneghel Rodrigues 2010-09-24 8:16 ` [Autotest] " pradeep
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox