> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Fri, 22 Aug 2008 18:33:20 -0400
>
> > On Fri, 22 Aug 2008 22:24:31 +0300
> > Octavian Purdila <opurdila@ixiacom.com> wrote:
> >
> > >
> > > We are working on a completely in hardware LRO implementation and this patch
> > > would simplify the hardware implementation. Is this acceptable?
> > >
> > > --- a/net/ipv4/ip_input.c
> > > +++ b/net/ipv4/ip_input.c
> > > @@ -415,7 +415,8 @@ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt,
> > >
> > > iph = ip_hdr(skb);
> > >
> > > - if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl)))
> > > + if (!skb_csum_unnecessary(skb) &&
> > > + unlikely(ip_fast_csum((u8 *)iph, iph->ihl)))
> > > goto inhdr_error;
> > >
> > > len = ntohs(iph->tot_len);
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe netdev" in
> > > the body of a message to
majordomo@vger.kernel.org
> > > More majordomo info at
http://vger.kernel.org/majordomo-info.html
> >
> > The overhead of the additional conditional might outweigh any benefit.
>
> I don't think they want this for performance, they want to not have to
> compute the IP header checksum in their HW LRO implementation, which
> is just as silly :-)