some skbuff questions

From: cranium (cranium2003_at_yahoo.com)
Date: 05/28/04


Date: 28 May 2004 08:18:40 -0700

hello,
1) Is there only one alloc_skb for each type of packet(like
TCP,ICMP,UDP) to be built?
2) Is that function is used for allocating a total space for packet so
that it will contain all layer headers as well as application data?
3) what is the significance of 15 value in alloc_skb functions in many
source files?
actually i want to know explaination about following two lines about
value 15 and 16.
tcp_output.c:1219: buff = alloc_skb(MAX_TCP_HEADER + 15,
sk->allocation);
linux/skbuff.h:1042: skb = alloc_skb(length+16, gfp_mask);
i am using kernel 2.4.24.
regards,
cranium