netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* e1000 tcp checksum incorrect, x86 64b
@ 2007-09-28  3:50 Jon Smirl
  2007-09-28  4:08 ` Herbert Xu
  0 siblings, 1 reply; 4+ messages in thread
From: Jon Smirl @ 2007-09-28  3:50 UTC (permalink / raw)
  To: netdev

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

App is writing seven bytes to the socket. Socket write timeout expires
and the seven bytes are sent. The checksum is not getting inserted
into the packet. It is set to a constant 0x8389 instead of the right
value.  App is gmpc 0.15.4.95, Revision: 6794

Attached Wireshark packet trace show the problem. e1000 is 192.168.1.4
64bit, Q6600. Dell Dimension 9200

Checksum is being computed ok for file copy traffic.
Problem was in rc7 too, I upgraded to current git to see if it was
fixed and it isn't

Wireshark is 0.99.4 from Ubuntu in case it is the problem.

-- 
Jon Smirl
jonsmirl@gmail.com

[-- Attachment #2: checkerr --]
[-- Type: application/octet-stream, Size: 9733 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: e1000 tcp checksum incorrect, x86 64b
  2007-09-28  3:50 e1000 tcp checksum incorrect, x86 64b Jon Smirl
@ 2007-09-28  4:08 ` Herbert Xu
  2007-09-28 16:35   ` Rick Jones
  0 siblings, 1 reply; 4+ messages in thread
From: Herbert Xu @ 2007-09-28  4:08 UTC (permalink / raw)
  To: Jon Smirl; +Cc: netdev

Jon Smirl <jonsmirl@gmail.com> wrote:
>
> App is writing seven bytes to the socket. Socket write timeout expires
> and the seven bytes are sent. The checksum is not getting inserted
> into the packet. It is set to a constant 0x8389 instead of the right
> value.  App is gmpc 0.15.4.95, Revision: 6794
> 
> Attached Wireshark packet trace show the problem. e1000 is 192.168.1.4
> 64bit, Q6600. Dell Dimension 9200

Wireshark is broken.  It needs to know TP_STATUS_CSUMNOTREADY
means that the checksum is partial and will only be completed
when the hardware sends the packet out.

Alternatively disable checksum offload with ethtool.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: e1000 tcp checksum incorrect, x86 64b
  2007-09-28  4:08 ` Herbert Xu
@ 2007-09-28 16:35   ` Rick Jones
  2007-09-28 17:39     ` Jon Smirl
  0 siblings, 1 reply; 4+ messages in thread
From: Rick Jones @ 2007-09-28 16:35 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Jon Smirl, netdev

Herbert Xu wrote:
> Jon Smirl <jonsmirl@gmail.com> wrote:
> 
>>App is writing seven bytes to the socket. Socket write timeout expires
>>and the seven bytes are sent. The checksum is not getting inserted
>>into the packet. It is set to a constant 0x8389 instead of the right
>>value.  App is gmpc 0.15.4.95, Revision: 6794
>>
>>Attached Wireshark packet trace show the problem. e1000 is 192.168.1.4
>>64bit, Q6600. Dell Dimension 9200
> 
> 
> Wireshark is broken.  It needs to know TP_STATUS_CSUMNOTREADY
> means that the checksum is partial and will only be completed
> when the hardware sends the packet out.
> 
> Alternatively disable checksum offload with ethtool.

Or take the packet traces "outboard" of the NIC somewhere/somehow.

What problem(s) led to your taking the packet trace in the first place?

rick jones

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: e1000 tcp checksum incorrect, x86 64b
  2007-09-28 16:35   ` Rick Jones
@ 2007-09-28 17:39     ` Jon Smirl
  0 siblings, 0 replies; 4+ messages in thread
From: Jon Smirl @ 2007-09-28 17:39 UTC (permalink / raw)
  To: Rick Jones; +Cc: Herbert Xu, netdev

On 9/28/07, Rick Jones <rick.jones2@hp.com> wrote:
> Herbert Xu wrote:
> > Jon Smirl <jonsmirl@gmail.com> wrote:
> >
> >>App is writing seven bytes to the socket. Socket write timeout expires
> >>and the seven bytes are sent. The checksum is not getting inserted
> >>into the packet. It is set to a constant 0x8389 instead of the right
> >>value.  App is gmpc 0.15.4.95, Revision: 6794
> >>
> >>Attached Wireshark packet trace show the problem. e1000 is 192.168.1.4
> >>64bit, Q6600. Dell Dimension 9200
> >
> >
> > Wireshark is broken.  It needs to know TP_STATUS_CSUMNOTREADY
> > means that the checksum is partial and will only be completed
> > when the hardware sends the packet out.
> >
> > Alternatively disable checksum offload with ethtool.
>
> Or take the packet traces "outboard" of the NIC somewhere/somehow.
>
> What problem(s) led to your taking the packet trace in the first place?

I was working on the Ethernet driver for another embedded system
attached to the box. I noticed these errors going to my NSLU2 which I
thought was working ok. But now I know they are not real errors.

Ethernet driver for MPC5200 in embedded system still has some
problems. It is being discussed on linuxppc-embedded.

-- 
Jon Smirl
jonsmirl@gmail.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-09-28 17:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-28  3:50 e1000 tcp checksum incorrect, x86 64b Jon Smirl
2007-09-28  4:08 ` Herbert Xu
2007-09-28 16:35   ` Rick Jones
2007-09-28 17:39     ` Jon Smirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).