sk_buff for frame fragmentation and reassembly

Seong Moon (seong@etri.re.kr)
Wed, 28 Aug 2002 10:42:50 +0900


Hi,there.

I'm writing virtual network device driver.
I want to write the function of fragmentation and reassembly of a frame
which is larger than physical MTU.

So, I've looked into the ip_fragment() and ip_defrag() and sk_buff.h .
But I couldn't understand the process of fragmentation and reassembly of
datagram.

My questions are as follows :

<fragmentation>
- ip_fragment() uses alloc_skb() and skb_copy_bit(),
Is the original sk_buff shared ? or Is another sk_buff created?
I want to know the meaning of alloc_skb() and skb_copy_bit().

<reassembly>
- ip_defrag() uses skb_shinfo(skb)->frag_list.
When I pass a reassembled frame to network layer, can I
use skb_shinfo(skb)->frag_list ?
If not, How can I pass the reassembled frame to upper layer?

<sk_buff>
what does the usage of pskb_pull() and pskb_trim()?

Thanks in advance.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/