hello Deepankar, as given in skbuff.h skb_put is used to add data to buffer. I also found 3 skb_put functions call in ip_output.c for fragments. Is they for creating a new packet and fill it? .So as i understand that at each layer skbuff is filled freshly (???) that is data from eg. (tcp)above layer that contains tcp header+data that is taken by IP layer as data and added ip header. So in an all IP layer reuirs skb_put to put data from above layer and skb_push to add IP header. Is that right? IS that way packet build at IP layer...? regards, parag. On Thu, 29 Apr 2004 Deepankar Vidyarthi wrote : >This is an sk_buff API function available to you to add data at the end. >It may not always be needed. >One situation where it might be useful is in data link layer where frame >trailers are >added to the packet at the end. >And for that matter any trailing data/control information can be added using >skb_put. > >Deepankar.