Re: Are "skb->data" physically continuous?

From: Bluesea (big_bluesea@yahoo.com)
Date: Tue Sep 16 2003 - 15:43:56 EST



--- Nick Patavalis <npat@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Sep 16, 2003 at 06:22:17PM +0300, Nick
> Patavalis wrote:
> > On Tue, Sep 16, 2003 at 08:09:54AM -0700, Bluesea
> wrote:
> > > I've a question, does the Linux TCP/IP stack
> calculate
> > > the pseudo-header checksum if skb->ip_summed =
> > > CHECKSUM_HW, or leave it to the driver?
> >
> > Assuming that you are referring to the transmit
> path, and judging from
> > the impementation of the e100 driver, it seems
> that the kernel has
> > performed no checksum calculation if ip_summed ==
> CHECKSUM_HW. Either
> > the hardware or the driver has to do it. In the
> case of e100, the
> > driver does the pseudo-header checksum calculation
> and the hardware
> > does the rest.
> >
>
> While this is what happens in the e100 driver, the
> kernel *does* seem
> to calculate the *pseudo-header checksum* even in
> the "skb->ip_summed == CHECKSUM_HW" case.

The e100 driver doesn't calculate the pseudo-header
checksum. Maybe you are looking at source code of
kernel 2.4.20. The function e100_pseudo_hdr_csum() is
not used in the later versions.

Bluesea

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html