Bug 449175 - E1000 driver enables TSOv6 for hardware that doesn't support it
Summary: E1000 driver enables TSOv6 for hardware that doesn't support it
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.1
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Andy Gospodarek
QA Contact: Red Hat Kernel QE team
Depends On:
Blocks: 502011
TreeView+ depends on / blocked
Reported: 2008-05-30 21:48 UTC by Bhavesh Davda
Modified: 2014-06-29 23:00 UTC (History)
4 users (show)

Clone Of:
Last Closed: 2009-09-02 08:53:13 UTC

Attachments (Terms of Use)
rhel5-test0.patch (467 bytes, patch)
2008-06-10 16:29 UTC, Andy Gospodarek
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:1243 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.4 kernel security and bug fix update 2009-09-01 08:53:34 UTC

Description Bhavesh Davda 2008-05-30 21:48:27 UTC
Description of problem:

Version-Release number of selected component (if applicable):

How reproducible: 100%

Steps to Reproduce:
1. Boot RHEL5.1 in a VMware VM, with an e1000 virtual NIC that emulates an
82545EM, which doesn't support TSO over IPv6.
2. ethtool -k ethX tso on
3. Transmit any TCP over IPv6 packet.
Actual results:

Hits an ASSERT in the VMware hypervisor which triggers if TSO6 is attempted to
be used on the 82545EM emulated vNIC.

Expected results:

TSO6 should not be used for NICs that don't support it.

Additional info:

The Intel version of the driver (http://e1000.sourceforge.net), at least
versions 7.6.12 and later that I looked at, conditionally advertise NETIF_F_TSO6
in e1000_set_tso, based on whether e1000_probe detected a mac type >= 82547_rev_2.

We could patch our emulation to not assert that TSO6 is being used for transmit,
but that would only be a workaround for an issue with the driver, which could
cause undefined behaviour with real E1000 hardware as well.

Comment 1 Andy Gospodarek 2008-06-10 16:29:03 UTC
Created attachment 308836 [details]

I didn't look at the sourceforge driver, but I see the error in the logic in
e1000_set_tso.	This patch should do the trick.

If you get a chance to build a kernel and test it that would be great.	If not
I will integrate it into my test kernels later this week and post a link to
them in this bugzilla when they are ready.

Comment 2 Andy Gospodarek 2008-06-16 13:42:33 UTC
My test kernels have been updated to include a patch for this bugzilla.


Please test them and report back your results.

Comment 3 Bhavesh Davda 2008-06-16 16:28:01 UTC
The patch looks good, and we'll give the new kernel a spin and let you know soon
on whether it fixes the problem. I fully expect it to fix the issue, but stay

Thanks for the quick turnaround!

Comment 4 Jesse Brandeburg 2008-09-11 17:49:39 UTC
is this bug resolved?

Comment 5 RHEL Product and Program Management 2009-02-03 23:14:23 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update

Comment 6 Andy Gospodarek 2009-02-09 14:05:39 UTC
I'm sure it does, but I never heard back.  We'll get this in the next update.

Comment 7 RHEL Product and Program Management 2009-02-16 15:44:25 UTC
Updating PM score.

Comment 9 Don Zickus 2009-05-06 17:13:55 UTC
in kernel-2.6.18-144.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Please do NOT transition this bugzilla state to VERIFIED until our QE team
has sent specific instructions indicating when to do so.  However feel free
to provide a comment indicating that this fix has been verified.

Comment 12 errata-xmlrpc 2009-09-02 08:53:13 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


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