Re: [PATCH] net: preserve IP control block during GSO segmentation

From: Cong Wang
Date: Mon Jan 11 2016 - 19:58:29 EST

On Sun, Jan 10, 2016 at 11:45 PM, Zang MingJie <zealot0630@xxxxxxxxx> wrote:
> On 01/08/2016 08:13 PM, David Laight wrote:
>> You could set SKB_SGO_CB_OFFSET to sizeof ((skb)->cb) - sizeof (struct
>> skb_gso_cb)
>> so that the end of 'cb' is always used.
>> (Assuming the former is a multiple of 4.)
>> It might be worth using an on-stack structure passed through as a separate
>> parameter - it doesn't look as though it has to be queued with the skb.
>> (Clearly a bigger change.)
> I would definitely prefer the stack structure.
> As a kernel developer, sometime I can hardly figure out which struct current
> cb is without debug it, and the worst they are not documented anywhere. I
> can hardly know the life time of the cb types.


Skb control block was not designed to be used like a stack but like a union
for different layers, just that people begin to mess it up.