Bug 845937

Summary: ‘TX’ function of nic was wrong when capture packet size by tcpdump in rhel5.9 64bit guest
Product: Red Hat Enterprise Linux 5 Reporter: Sibiao Luo <sluo>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED WONTFIX QA Contact: Network QE <network-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.9CC: ccui, chayang, gbai, juzhang, michen, mkenneth, mst, ovasik, sluo, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-16 13:14:10 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:

Description Sibiao Luo 2012-08-06 07:50:38 UTC
Description of problem:
boot a rhel5.9 64bit guest with e1000 or virtio NIC, disable/enable the 'TX' via 'ethtool -K eth0 tx off/on' in guest, and then transfer a big file between guest and anther host by scp, and capture packet size by tcpdump, but find that no mater the TX is on or off, all cksum listenned by "tcpdump" were "correct...". the virtio/e1000 nic are the same results.

Version-Release number of selected component (if applicable):
host info:
# uname -r && rpm -q kvm
2.6.18-333.el5
kvm-83-258.el5
guest info:
# uname -r
2.6.18-333.el5

How reproducible:
almost every time

Steps to Reproduce:
1.boot a guest with the virtio or e1000 nic.
eg: # /usr/libexec/qemu-kvm -m 2G -smp 2,cores=2,threads=1,sockets=1 -M rhel5.6.0 -cpu qemu64,+sse2 -name virtio_nic_test -drive file=/home/RHEL-Server-5.9-64-virtio.qcow2,format=qcow2,media=disk,if=ide,cache=none,werror=stop,boot=on -net nic,vlan=0,model=e1000,macaddr=08:2E:5F:0A:0D:1A -net tap,sndbuf=0,vlan=0,script=/etc/qemu-ifup,downscript=no -uuid `uuidgen` -monitor unix:/tmp/virt-nic-sluo,server,nowait -spice port=5931,disable-ticketing -qxl 1 -usbdevice tablet -soundhw ac97 -no-hpet -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -boot c
2.turn on/off TX and check the TX status in guest.
# ethtool -K eth0 tx on/off
# ethtool -k eth0
3.scp a big file from guest to anther host.
4.capture packet size by tcpdump in the guest.
# tcpdump -vvv -i eth0

Actual results:
1).turn the TX on, after the step 4,
# ethtool -K eth0 tx on
# ethtool -k eth0
Offload parameters for eth0:
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: off
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
generic-receive-offload: off
...
15:19:51.095530 IP (tos 0x0, ttl  64, id 39640, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40249: ., cksum 0xc2a1 (correct), 28465:28465(0) ack 68170272 win 1267 <nop,nop,timestamp 164822716 1709393>
15:19:51.095567 IP (tos 0x0, ttl  64, id 39641, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40249: ., cksum 0xb751 (correct), 28465:28465(0) ack 68173168 win 1267 <nop,nop,timestamp 164822716 1709393>
15:19:51.095571 IP (tos 0x0, ttl  64, id 39642, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40249: ., cksum 0xac01 (correct), 28465:28465(0) ack 68176064 win 1267 <nop,nop,timestamp 164822716 1709393>
15:19:51.095690 IP (tos 0x0, ttl  64, id 39645, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40249: ., cksum 0x8dc0 (correct), 28465:28465(0) ack 68183808 win 1267 <nop,nop,timestamp 164822717 1709393>
...
2).turn the TX off, after the step 4,
# ethtool -K eth0 tx off
# ethtool -k eth0
Offload parameters for eth0:
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
generic-receive-offload: off

...
15:21:44.531913 IP (tos 0x0, ttl  64, id 19979, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0x2549 (correct), 88849:88849(0) ack 216437168 win 5635 <nop,nop,timestamp 164936152 1822829>
15:21:44.531918 IP (tos 0x0, ttl  64, id 19980, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0x19f9 (correct), 88849:88849(0) ack 216440064 win 5635 <nop,nop,timestamp 164936152 1822829>
15:21:44.531920 IP (tos 0x0, ttl  64, id 19981, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0x0ea9 (correct), 88849:88849(0) ack 216442960 win 5635 <nop,nop,timestamp 164936152 1822829>
15:21:44.531984 IP (tos 0x0, ttl  64, id 19982, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0x0359 (correct), 88849:88849(0) ack 216445856 win 5635 <nop,nop,timestamp 164936152 1822829>
15:21:44.531988 IP (tos 0x0, ttl  64, id 19983, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0xf808 (correct), 88849:88849(0) ack 216448752 win 5635 <nop,nop,timestamp 164936152 1822829>
15:21:44.531991 IP (tos 0x0, ttl  64, id 19984, offset 0, flags [DF], proto: TCP (6), length: 52) 10.66.9.242.ssh > 10.66.11.83.40250: ., cksum 0xf068 (correct), 88849:88849(0) ack 216450704 win 5635 <nop,nop,timestamp 164936152 1822829>
...

Expected results:
all cksum listenned by "tcpdump" should be "(incorrect...)" if "tx" in "on", while "tx" in "off" it be "(correct)".

Additional info:

Comment 1 RHEL Program Management 2012-08-06 08:09:54 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.

Comment 2 Sibiao Luo 2012-08-06 09:59:21 UTC
(In reply to comment #0)
> 

Add some important information about this bug.

> Actual results:
> 1).turn the TX on, after the step 4,
> 
when test this scenario, the 'TX' of eth0 and switch for the host were also turned on.
# ethtool -K eth0 tx on
# ethtool -K switch tx on
# ethtool -k eth0
...
tx-checksumming: on
...
# ethtool -k switch
...
tx-checksumming: on
...

> 2).turn the TX off, after the step 4,
> 
when test this scenario, the 'TX' of eth0 and switch for the host were also turned off.
# ethtool -K eth0 tx off
# ethtool -K switch tx off
# ethtool -k eth0
...
tx-checksumming: off
...
# ethtool -k switch
...
tx-checksumming: off
...

Comment 3 Miya Chen 2012-08-06 11:39:03 UTC
Hi Sibiao, does rhel5.9 host has the same behavior? If host works well, could you please check if this is a regression compared with rhel5.8 guest?

Comment 4 Sibiao Luo 2012-08-06 13:57:55 UTC
(In reply to comment #3)
> Hi Sibiao, does rhel5.9 host has the same behavior? If host works well,
> could you please check if this is a regression compared with rhel5.8 guest?

ok, i will check it tommorow, thx for your kindly reminds.

Comment 5 Sibiao Luo 2012-08-07 02:46:20 UTC
Hi all,

    I check this issue on the rhel5.9 host, it has the same behavior, no mater the TX is on or off, all cksum listenned by "tcpdump" were "correct...". btw, rhel5.8 guest also can hit this issue, this is not a regression bug.

    Above all, move this issue to the kernel component.

Best wish.
sluo

Comment 6 RHEL Program Management 2012-10-30 05:54:27 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 7 RHEL Program Management 2014-03-07 12:40:17 UTC
This bug/component is not included in scope for RHEL-5.11.0 which is the last RHEL5 minor release. This Bugzilla will soon be CLOSED as WONTFIX (at the end of RHEL5.11 development phase (Apr 22, 2014)). Please contact your account manager or support representative in case you need to escalate this bug.

Comment 8 Sibiao Luo 2014-03-10 05:02:58 UTC
(In reply to RHEL Product and Program Management from comment #7)
> This bug/component is not included in scope for RHEL-5.11.0 which is the
> last RHEL5 minor release. This Bugzilla will soon be CLOSED as WONTFIX (at
> the end of RHEL5.11 development phase (Apr 22, 2014)). Please contact your
> account manager or support representative in case you need to escalate this
> bug.
Checked it with kernel and kvm QE POV that will not have function affect, so agree to close as WONTFIX. Please correct me if any mistake, thanks.

Best Regards,
sluo

Comment 9 Ondrej Vasik 2014-07-16 13:14:10 UTC
Thanks, closing WONTFIX.