Re: TCP checksum and device driver eri0
From: Casper Dik (Casper.Dik_at_Sun.COM)
To: Giovanni Porcelli <firstname.lastname@example.org> Date: Sun, 29 Jun 2003 10:58:31 +0200
>During a snoop session on a 280R with solaris 9 and network interface
>eri0, I noticed that the TCP checksum field of every outgoing packet was
The eri0 interface and some other Solaris interfaces employ
hardware checksumming; as a result, packets with correct checksums
never exist in the kernel, they're generated in the hardware.
>The same packet snooped on the network has the correct checksum value.
>I believe that something happens between the snoop point on the machine
>and the network interface eri0 output.
>I also tried on other machines: on a Sun 450R with solaris 9 (but with
>hme0) the TCP checksum snooped locally is correct, also on a Sun 250
>with solaris 8 and hme0 is correct.
No hardware checksum for hme.
>With this last result I believe that the responsible is the eri0 driver.
>It is true?
>If I want to snoop locally *but* with the correct checksum value, how
>can I do?
You can disable hardware checksums:
set ip:dohwcksum = 0