Re: [PATCH] net: linearizing skb when downgrade gso_size

From: Willem de Bruijn
Date: Tue Jul 09 2024 - 17:30:14 EST


Herbert Xu wrote:
> On Tue, Jul 09, 2024 at 11:53:21AM -0400, Willem de Bruijn wrote:
> >
> > > + /* Due to header grow, MSS needs to be downgraded.
> > > + * There is BUG_ON When segment the frag_list with
> > > + * head_frag true so linearize skb after downgrade
> > > + * the MSS.
> > > + */
>
> This sounds completely wrong. You should never grow the TCP header
> by changing gso_size. What is the usage-scenario for this?
>
> Think about it, if a router forwards a TCP packet, and ends up
> growing its TCP header and then splits the packet into two, then
> this router is brain-dead.

This is an unfortunate feature, but already exists.

It decreases gso_size to account for tunnel headers.

For USO, we added BPF_F_ADJ_ROOM_FIXED_GSO to avoid this in better,
newer users.