Bug 703446 - Failed to ping guest after MTU is changed
Summary: Failed to ping guest after MTU is changed
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.7
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: jason wang
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: Rhel5KvmTier3
TreeView+ depends on / blocked
 
Reported: 2011-05-10 10:57 UTC by Suqin Huang
Modified: 2012-02-21 03:14 UTC (History)
6 users (show)

Fixed In Version: kvm-83-243.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-21 03:14:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:0149 0 normal SHIPPED_LIVE Moderate: kvm security and bug fix update 2012-02-21 07:24:43 UTC

Description Suqin Huang 2011-05-10 10:57:54 UTC
Description of problem:

boot guest with e1000 nic, change the MTU of guest nic and tap device
to 16110 (max MTU of e1000 nic), and added an arp entry on host, then ping
guest from host, ping failed.

# ping $guest_ip -I interface -s 16082 -M do


Version-Release number of selected component (if applicable):
kvm-83-232.el5

How reproducible:
100% 

Steps to Reproduce:
1. boot guest with e1000 nic
cmd:
qemu-kvm -drive file='/home/images/RHEL-Server-6.0-32.qcow2',index=0,if=ide,media=disk,cache=none,format=qcow2 -net nic,vlan=0,model=e1000,macaddr='9a:a8:28:b8:e4:93' -net tap,vlan=0,ifname='t0-033040-H5Lp',script='/home/qemu-ifup-switch',downscript='no' -m 8192 -smp 4,cores=1,threads=1,sockets=4 -cpu qemu64,+sse2 -soundhw ac97 -vnc :0 

2.Change MTU of guest nic and $tap
guest)# ifconfig eth0 mtu 16610
host)# ifconfig $tap 16610

3. Add a arp entry on host
# arp -s $guest_ip $guest_mac -i $tap

4. Ping guest from host  (16110-28=16082, 16110 is max mtu of e1000)
#ping $guest_ip -I $tap -s 16082 -M do

  
Actual results:
could not ping guest successfully

Expected results:


Additional info:
1. host:
kernel : 2.6.18-259.el5

2. guest:
rhel6.0.32

Comment 1 Glauber Costa 2011-05-17 16:56:46 UTC
Why is the arp step necessary ? I don't think manually tweaking the arp cache would be necessary for that.

Did you try not doing it ?

Comment 2 Suqin Huang 2011-06-20 02:45:10 UTC
(In reply to comment #1)
> Why is the arp step necessary ? I don't think manually tweaking the arp cache
> would be necessary for that.
> 
> Did you try not doing it ?

I can reproduce it without arp

Comment 4 Ronen Hod 2011-07-31 13:32:29 UTC
Jason,
If it doesn't work after the backport, then we need to recondider the dev-ack.
Thanks, Ronen.

Comment 8 Qunfang Zhang 2011-11-16 09:03:43 UTC
Reproduced on kvm-83-239.el5 + kernel-2.6.18-274.el5. 
Steps:
1. boot guest with e1000 nic
cmd:
/usr/libexec/qemu-kvm -drive file=/home/RHEL-Server-6.0-32.qcow2,index=0,if=ide,media=disk,cache=none,format=qcow2 -net nic,vlan=0,model=e1000,macaddr=9a:a8:28:b8:e4:93 -net tap,ifname=aa-bb-cc,vlan=0,script='/etc/qemu-ifup',downscript='no' -m  2048 -smp 4,cores=1,threads=1,sockets=4 -vnc :10 -cpu qemu64,+sse2 -monitor stdio -boot c

2.Change MTU of guest nic and $tap
guest)# ifconfig eth2 mtu 16610
host)# ifconfig aa-bb-cc 16610

3. Add a arp entry on host
# arp -s 10.66.9.153 9a:a8:28:b8:e4:93 -i aa-bb-cc

4. Ping guest from host 
#ping -I aa-bb-cc -s 16082 -M do

Result:
Ping failed.


Verified the bug on kvm-83.143.el5 + kernel-2.6.18-296 with the same steps as above. After step 4, can ping the guest from host successfully.

So, this issue is fixed.

Comment 11 errata-xmlrpc 2012-02-21 03:14:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-0149.html


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