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/
This archive was generated by hypermail 2b29 : Sat Aug 31 2002 - 22:00:21 EST