Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Disable e1000 tcp checksum offloading T5220

1,594 views
Skip to first unread message

Thomas Glanzmann

unread,
Nov 24, 2009, 9:18:00 AM11/24/09
to
Hello,
we have a T5220 with e1000 network cards and tcp checksum offloading
enabled. The problem is that the checksum is incorrectly computed for
some values:

(ad054764pc) [~] tshark -r zweiter.pcap -V frame.number == 46 | grep -i checksum
Header checksum: 0x4123 [correct]
Checksum: 0xffff [should be 0x0000 (see RFC 1624)]
[Good Checksum: False]
[Bad Checksum: False]

The problem is that I have DOS TCP stack that is RFC aware and ignores such
packets. Now my question is if someone hit this bug before and if there is
patch available and how to disable tcp offloading on Solaris 10 to circumvent
the problem.

This is on Solaris 10 Update 5 with all patches applied. The error is reproducable.

Thomas

Thomas Glanzmann

unread,
Nov 24, 2009, 1:04:26 PM11/24/09
to
Hello,

* Thomas Glanzmann <sith...@stud.uni-erlangen.de>:


> we have a T5220 with e1000 network cards and tcp checksum offloading
> enabled. The problem is that the checksum is incorrectly computed for
> some values:

> (ad054764pc) [~] tshark -r zweiter.pcap -V frame.number == 46 | grep -i checksum
> Header checksum: 0x4123 [correct]
> Checksum: 0xffff [should be 0x0000 (see RFC 1624)]
> [Good Checksum: False]
> [Bad Checksum: False]

there was a similar bug failed and fixed. A college confirmed that the
kernel patch is already applied the problem still pops up:

http://sunsolve.sun.com/search/document.do?assetkey=1-1-6533773-1

I also filed a bug report with Solaris and keep this thread updated.

Thomas

Martha Starkey

unread,
Nov 25, 2009, 12:46:33 PM11/25/09
to
On 11/24/09 09:18, Thomas Glanzmann wrote:
> Hello,
> we have a T5220 with e1000 network cards and tcp checksum offloading
> enabled. The problem is that the checksum is incorrectly computed for
> some values:
>
> (ad054764pc) [~] tshark -r zweiter.pcap -V frame.number == 46 | grep -i checksum
> Header checksum: 0x4123 [correct]
> Checksum: 0xffff [should be 0x0000 (see RFC 1624)]
> [Good Checksum: False]
> [Bad Checksum: False]
>
> The problem is that I have DOS TCP stack that is RFC aware and ignores such
> packets. Now my question is if someone hit this bug before and if there is
> patch available and how to disable tcp offloading on Solaris 10 to circumvent
> the problem.

"TCP/IP: How to disable NIC hardware checksumming in Solaris[TM]."

http://sunsolve.sun.com/search/document.do?assetkey=1-61-214543-1

Oscar del Rio

unread,
Nov 25, 2009, 12:52:55 PM11/25/09
to
Martha Starkey wrote:
>
> "TCP/IP: How to disable NIC hardware checksumming in Solaris[TM]."
>
> http://sunsolve.sun.com/search/document.do?assetkey=1-61-214543-1

Just to save some time to readers: these documents require Sun Contract
to access them.

Thomas Glanzmann

unread,
Nov 25, 2009, 1:56:32 PM11/25/09
to
Hello Martha,

> "TCP/IP: How to disable NIC hardware checksumming in Solaris[TM]."

> http://sunsolve.sun.com/search/document.do?assetkey=1-61-214543-1

thank you a lot. For the people who don't have an account or find this using
google:

put that into /etc/system and reboot:

set ip:dohwcksum=0

Thomas

Thomas Glanzmann

unread,
Nov 26, 2009, 6:14:55 AM11/26/09
to
Hello,

* Thomas Glanzmann <sith...@stud.uni-erlangen.de>:


> Now my question is if someone hit this bug before and if there is
> patch available and how to disable tcp offloading on Solaris 10 to
> circumvent the problem.

it is also possible to disable tcp offloading in the e1000 driver
directly:

/kernel/drv/e1000g.conf:

tx_hcksum_enable=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
lso_enable=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;

update_drv, unplumb, plumb or reboot.

Source: http://defect.opensolaris.org/bz/show_bug.cgi?id=5259

Thomas

Martha Starkey

unread,
Nov 30, 2009, 12:33:32 PM11/30/09
to

I was keeping in turn with the discussion that was
already referencing sunsolve.sun.com, but yes, that's one.

Thomas Glanzmann

unread,
Dec 2, 2009, 7:21:24 AM12/2/09
to
Hello,

* Thomas Glanzmann <sith...@stud.uni-erlangen.de>:


> put that into /etc/system and reboot:

> set ip:dohwcksum=0

that resolved the issue for me. No wrong checksums anymore.

Thomas

0 new messages