Disable e1000 tcp checksum offloading T5220

  • Follow


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
0
Reply Thomas 11/24/2009 2:18:00 PM

Hello,

* Thomas Glanzmann <sithglan@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
0
Reply Thomas 11/24/2009 6:04:26 PM


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

> 
> This is on Solaris 10 Update 5 with all patches applied. The error is reproducable.
> 
>         Thomas
0
Reply Martha 11/25/2009 5:46:33 PM

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.
0
Reply Oscar 11/25/2009 5:52:55 PM

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
0
Reply Thomas 11/25/2009 6:56:32 PM

Hello,

* Thomas Glanzmann <sithglan@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
0
Reply Thomas 11/26/2009 11:14:55 AM

Thomas Glanzmann wrote:
> 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

I was keeping in turn with the discussion that was 
already referencing sunsolve.sun.com, but yes, that's one.
0
Reply Martha 11/30/2009 5:33:32 PM

Hello,

* Thomas Glanzmann <sithglan@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
Reply Thomas 12/2/2009 12:21:24 PM

7 Replies
2159 Views

(page loaded in 0.082 seconds)

Similiar Articles:










7/23/2012 5:50:03 AM


Reply: