Subject: Re: A couple of questions about the SKB fragments

From: Edward Cree <[email-masked]>
Date: Thu, 5 May 2016 12:13:50 +0100

On 05/05/16 08:40, Ilya Matveychikov wrote:
> Hello folks,
>
> While working with fragmented SKBs we've got stuck with the following:
> - is it possible for an SKB fragment in skb_shinfo(skb)->frag_list to
> be fragmented too (i.e. to have SKBs in frag_list)?
> - do skb->len and skb->data_len contain the whole SKB length,
> including the length of all fragments (not only the paged parts)?
>
> Is there any docs except the kernel sources itself to refer to?
davem has some docs up at http://vger.kernel.org/~davem/skb.html and
http://vger.kernel.org/~davem/skb_data.html
In particular note the following:
"The frag_list is used to maintain a chain of SKBs organized for
 fragmentation purposes, it is _not_ used for maintaining paged data."
So my reading would suggest there is no way to multiple-layer-fragment
an SKB; the frags are page pointers and offsets, not entire sk_buff
structs in their own right.

-Ed