From: Eric Dumazet <[email protected]>
Date: Mon, 26 Nov 2018 15:05:02 -0800
> One thing that could be done without too much impact is to provide a cbext[]
> only for TCP packets in write/rtx queue, that is not in sk_buff but
> on the struct sk_buff_fclones
>
> This extra space would not be 0-initialized at alloc_skb()
> and would not be copied at skb_clone()
>
> I mentioned this idea a while back already.
>
>
> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> index
> 73902acf2b71c8800d81b744a936a7420f33b459..c4bfc2fd98eb9723c0219d5cd8bf5b28afaf5398
> 100644
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -1018,6 +1018,8 @@ struct sk_buff_fclones {
> struct sk_buff skb2;
>
> refcount_t fclone_ref;
> +
> + char cbext[128] __aligned(8);
> };
So, potentially at least, MP-TCP could use this.
The down side is that it doesn't allow for the br_netfilter, skb->sp,
etc. consoldation down to one test.