[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

IP Fragmentation



 I am not sure why the kernel allocates 15 more bytes when it creates a fragment packet. The piece of kernel code which does the memory allocated for the new fragment is as follows:
 
 
                 /*
                  *      Allocate buffer.
                  */
 
                 if ((skb2 = alloc_skb(len+hlen+dev->hard_header_len+15,GFP_ATOMIC)) == NULL) {
                         NETDEBUG(printk(KERN_INFO "IP: frag: no memory for new fragment!\n"));
                         err = -ENOMEM;
                         goto fail;
                 }
 
For the first fragment
    len=1480;
    hlen=20 (no IP Options);
    dev->hard_header_len = 14;
 but couldn't figure out the significance of 15 more bytes.
 
-Ramesh