Re: [PATCH v3 net-next] net: introduce dev_set_forwarding()

Herbert Xu
2013-11-03T16:31:14Z

On Sun, Nov 03, 2013 at 08:28:24AM -0800, Eric Dumazet wrote:
>
> 1) Because we should not call skb_segment() at all on a router ?
>
> 2) If you aggregate too much on a router, you increase latencies,
> or if you prefer the RTT of TCP flows.
>
> 3) Because skb_segment() layer only builds MSS sized skb, so this
> remove TSO ability on output path
>
> Splitting a 45 MSS packet into 3 TSO packets (16 + 16 + X MSS) is going
> to be quite complex, given the gso_segment() stuff is meant to segment
> in MSS packets. Adding complexity in this already complex stuff is
> simply not worth it.
>
> For local TCP, its different, because if you receive such high
> throughput, ability to build full size GRO packet helps to reduce number
> of ACK segments and number of SKB in receive queue (or OFO queue),
> without impacting ACK clocking and TCP dynamics.
>
> And even if a router does not do this aggregation, the final receiver
> will do.
>
> So in conclusion, GRO is like TSO : Its not because they are able to use
> 64KB skbs you always _have_ to fill skb to max capacity.

I give up. It's as if you've ignored everything I've said before.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt