Bug 955540
| Summary: | Host network is not available when Guest act as a netperf client testing 'UDP_STREAM' and another host act as a netserver | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Qian Guo <qiguo> | |
| Component: | qemu-kvm | Assignee: | Michael S. Tsirkin <mst> | |
| Status: | CLOSED WONTFIX | QA Contact: | xiywang | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 7.0 | CC: | ailan, chayang, hhuang, jasowang, juzhang, knoel, michen, pezhang, rbalakri, virt-maint | |
| Target Milestone: | rc | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 965975 1190573 (view as bug list) | Environment: | ||
| Last Closed: | 2018-02-07 23:12:29 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 965975, 1190573 | |||
|
Description
Qian Guo
2013-04-23 09:17:12 UTC
The netperf test result: Test w/ virtio-net-pci: # netperf -H 10.66.7.126 -t UDP_STREAM MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.7.126 () port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 212992 65507 10.00 553431 0 29002.37 212992 10.00 19213 1006.85 Test w/ e1000: # netperf -H 10.66.7.126 -t UDP_STREAM MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.7.126 () port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 212992 65507 10.00 16211 0 849.53 212992 10.00 3863 202.44 When test the same netperf between guest and hostA, not hit this issue Hi, Michael I test this case w/ two hosts, that in the same broadcast domain, not hit this issue, both network of hosts works well during UDP_STREAM tests: HostA: # ethtool em1 Settings for em1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 2 Transceiver: internal Auto-negotiation: on MDI-X: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes # ethtool -i em1 driver: e1000e version: 2.2.14-k firmware-version: 0.13-4 bus-info: 0000:00:19.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no HostB: # ethtool em1 Settings for em1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 2 Transceiver: internal Auto-negotiation: on MDI-X: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes # ethtool -i em1 driver: e1000e version: 2.2.14-k firmware-version: 0.13-4 bus-info: 0000:00:19.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no And the test result of netperf: # netperf -H 10.66.5.221 -t UDP_STREAM MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.5.221 () port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 212992 65507 10.00 18213 0 954.45 212992 10.00 18213 954.45 From the results, if this bug is a virt bug? If it's not a virt bug, pls feel free to change the components. Best Regards! Qian Guo Just checking: this is not a regression right? Same issue observed with 6.4? also I am guessing this is with multiqueue disabled? Please answer Michael's question and also try: - Could it happens when you are doing pktgen from guest - Does the problem disappear when adding sndbuf=1048576 in cli Thanks (In reply to jason wang from comment #6) > Please answer Michael's question and also try: > > - Could it happens when you are doing pktgen from guest > - Does the problem disappear when adding sndbuf=1048576 in cli > > Thanks Since there's some urgent things in my hand, I will test assp after that, and update here. Thanks! (In reply to Michael S. Tsirkin from comment #4) > Just checking: this is not a regression right? > Same issue observed with 6.4? Hi, Michael I test w/ RHEL6.4GA, same issue, GuestA in HostA, and HostB run netserver, then during test UDP_STREAM, could not ping HostA from anywhere. guest and host kernel: # uname -r 2.6.32-358.el6.x86_64 qemu-kvm version: # rpm -q qemu-kvm qemu-kvm-0.12.1.2-2.355.el6.x86_64 And I did not test w/ multi-queue, so shall I test it in rhel7 w/ multi-queue? I will test by comment #6, and update here. Thanks ! Qian Guo (In reply to jason wang from comment #6) > Please answer Michael's question and also try: > > - Could it happens when you are doing pktgen from guest Test pktgen inside guest, i just use single queue # ./pktgen.sh eth0 1 cat pktgen.sh #!/bin/sh # usage sh pktgen.sh $device $queues modprobe -r pktgen modprobe pktgen echo reset > /proc/net/pktgen/pgctrl ifconfig $1 up function pgset() { local result echo $1 > $PGDEV result=`cat $PGDEV | fgrep "Result: OK:"` if [ "$result" = "" ]; then cat $PGDEV | fgrep Result: fi } function pg() { echo inject > $PGDEV cat $PGDEV } for i in 0 `seq $(($2-1))` do echo "Adding queue 0 of $1" dev=$1@$i PGDEV=/proc/net/pktgen/kpktgend_$i pgset "rem_device_all" pgset "add_device $dev" pgset "max_before_softirq 100000" # Configure the individual devices echo "Configuring devices $dev" PGDEV=/proc/net/pktgen/$dev pgset "queue_map_min $i" pgset "queue_map_max $i" pgset "count 10000000" pgset "min_pkt_size 60" pgset "max_pkt_size 60" pgset "dst 10.66.10.90" pgset "dst_mac 9a:05:06:07:08:10" pgset "udp_src_min 0" pgset "udp_src_max 65535" pgset "udp_dst_min 0" pgset "udp_dst_max 65535" done # Time to run PGDEV=/proc/net/pktgen/pgctrl echo "Running... ctrl^C to stop" pgset "start" echo "Done" It works well, during pktgen test in guest, pinging this host well, no pkg lost. > - Does the problem disappear when adding sndbuf=1048576 in cli And no pkg lost when set sndbuf=1048576 and test UDP_STREAM netperf test. It is the result when test w/ sndbuf=104876: # netperf -H 10.66.6.254 -t UDP_STREAM -l 120 MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.66.6.254 () port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 212992 65507 120.09 218778 0 954.71 229376 120.09 218778 954.71 > > Thanks |