Bug 999869 - windows guest can not ping ext host using packet size 65500 when using rtl8139 and vhost is on
Summary: windows guest can not ping ext host using packet size 65500 when using rtl813...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Yvugenfi@redhat.com
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-22 09:44 UTC by yunpingzheng
Modified: 2014-08-19 07:54 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-19 07:54:12 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description yunpingzheng 2013-08-22 09:44:50 UTC
Description of problem:
when boot a windows guest with rtl8139 and vhost=on. 
can not ping ext host with packet size 65500(the max packet size support is 63632)
when ping host that vm is runing can ping with packet size 65500.

when using e1000 and virtio_net it works ok

test on rhel6.4 host it works ok.

Version-Release number of selected component (if applicable):
host: RHEL.7
kernel-3.10.0-2.el7.x86_64
qemu-kvm-1.5.2-3.el7.x86_64

guest: any windows guest.

How reproducible:
100%

Steps to Reproduce:
1. boot guest wit rtl8139 nic, and vhost=on
2. from an ext host ping the guest 
  #ping -s 65507 $ip_win_guest
3. in guest ping the ext host
  # ping -l 65500 $ext_host_ip
4. in guest ping the host
  #ping -l 65500 $host_ip.

Actual results:
in step 3 and step 4, ping timeout. when using -l 63632 it works, 63233 it can not works.

Expected results:

all ping should works

Additional info:
qemu_cmd:
/usr/libexec/qemu-kvm -M pc -name vm0 \
-chardev socket,id=qmp_monitor1,path=/tmp/qmp_monitor1,server,nowait \
-mon chardev=qmp_monitor1,mode=control \
-drive file=/mnt/windows/win8-64.qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,snapshot=on,format=qcow2,aio=native \
-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 \
-drive file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=iso1,media=cdrom,format=raw \
-device ide-drive,bus=ide.1,unit=0,drive=iso1,id=cdrom1 \
-device e1000,netdev=idKF4XM9,mac=9a:9b:68:24:99:73,id=ndev00idKF4XM9 \
-netdev tap,id=idKF4XM9,vhost=on,script=qemu-ifup-switch \
-smp 4,cores=2,threads=1,sockets=4,maxcpus=255 \
-m 4096 -vnc :0 -monitor stdio -boot order=cdn,once=c,menu=on

host nic:
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

Comment 4 Yvugenfi@redhat.com 2014-08-13 12:54:31 UTC
Please retest with latest RHEL7.0 kernel.

Comment 5 juzhang 2014-08-14 01:49:40 UTC
Hi Sibiao,

Can you have a try this?

Best Regards,
Junyi

Comment 6 Sibiao Luo 2014-08-19 05:37:21 UTC
(In reply to yunpingzheng from comment #0)
> Description of problem:
> when boot a windows guest with rtl8139 and vhost=on. 
> can not ping ext host with packet size 65500(the max packet size support is
> 63632)
> when ping host that vm is runing can ping with packet size 65500.
> 
> when using e1000 and virtio_net it works ok
> 
> test on rhel6.4 host it works ok.
> 
> Version-Release number of selected component (if applicable):
> host: RHEL.7
> kernel-3.10.0-2.el7.x86_64
> qemu-kvm-1.5.2-3.el7.x86_64
> 
> guest: any windows guest.
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1. boot guest wit rtl8139 nic, and vhost=on
> 2. from an ext host ping the guest 
>   #ping -s 65507 $ip_win_guest
> 3. in guest ping the ext host
>   # ping -l 65500 $ext_host_ip
> 4. in guest ping the host
>   #ping -l 65500 $host_ip.
> 
> Actual results:
> in step 3 and step 4, ping timeout. when using -l 63632 it works, 63233 it
> can not works.
> 
> Expected results:
> 
> all ping should works
> 
> Additional info:
> qemu_cmd:
> /usr/libexec/qemu-kvm -M pc -name vm0 \
> -chardev socket,id=qmp_monitor1,path=/tmp/qmp_monitor1,server,nowait \
> -mon chardev=qmp_monitor1,mode=control \
> -drive
> file=/mnt/windows/win8-64.qcow2,index=0,if=none,id=drive-virtio-disk1,
> media=disk,cache=none,snapshot=on,format=qcow2,aio=native \
> -device
> virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 \
> -drive
> file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=iso1,
> media=cdrom,format=raw \
> -device ide-drive,bus=ide.1,unit=0,drive=iso1,id=cdrom1 \
> -device e1000,netdev=idKF4XM9,mac=9a:9b:68:24:99:73,id=ndev00idKF4XM9 \
> -netdev tap,id=idKF4XM9,vhost=on,script=qemu-ifup-switch \
> -smp 4,cores=2,threads=1,sockets=4,maxcpus=255 \
> -m 4096 -vnc :0 -monitor stdio -boot order=cdn,once=c,menu=on
> 
> host nic:
> 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network
> Connection (rev 04)

Retried with the same testing on the latest kernel version which did not hit it any more, all the ping works successfully.

host info:
# uname -r && rpm -q qemu-kvm-rhev && rpm -q seabios
3.10.0-145.el7.x86_64
qemu-kvm-rhev-2.1.0-2.el7.x86_64
seabios-1.7.5-4.el7.x86_64
guest info:
win7 64bit

host nic info:
# lspci | grep Ether
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

Best Regards,
sluo

Comment 7 Yvugenfi@redhat.com 2014-08-19 07:54:12 UTC
Closing based on comment #6.

Thanks!


Note You need to log in before you can comment on or make changes to this bug.