(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 <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
"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.
> "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 <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
I was keeping in turn with the discussion that was
already referencing sunsolve.sun.com, but yes, that's one.
* 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