Re: gso: Handle new frag_list of frags GRO packets

Eric Dumazet
2013-11-13T15:06:28Z

On Wed, 2013-11-13 at 22:26 +0800, Herbert Xu wrote:
> On Tue, Nov 12, 2013 at 06:45:04PM -0800, Eric Dumazet wrote:
> > On Wed, 2013-11-13 at 10:25 +0800, Herbert Xu wrote:
> >
> > > So a better test for the time being would be to test with TSO
> > > disabled in both cases.
> > >
> >
> > GRO on, TSO off, little difference between two cases :
> >
> > (Note some small things run in background, so these numbers are not
> > ultra precise)
>
> OK looks pretty sane.
>
> > > In the mean time I'm cooking up a patch to generate TSO packets.
> >
> > That would be very nice !
>
> It's failing on my machine but I'm not certain whether it's a bug
> in my patch or a bug in my NIC's TSO code. So I'd appreciate it
> if you can give this a spin on your mlx4.
>
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> index 557e1a5..1302515 100644
> --- a/net/core/skbuff.c
> +++ b/net/core/skbuff.c

Well, I wont try this patch, as it can not possibly work :(

The problem is not only skb_segment() but all its callers / users, as I
mentioned yesterday.

Specifically, you'll have to change inet_gso_segment(),
gre_gso_segment(), tcp_gso_segment(), ipv6_gso_segment(),
udp6_ufo_fragment() ...

Yes, we have to propagate correct IP id identifiers, and correct tcp
sequence numbers, tcp checksums.