SYNOPSIS
struct sk_buff {
struct sk_buff * next;
struct sk_buff * prev;
ktime_t tstamp;
struct sock * sk;
struct net_device * dev;
char cb[48];
unsigned long _skb_refdst;
#ifdef CONFIG_XFRM
struct sec_path * sp;
#endif
unsigned int len;
unsigned int data_len;
__u16 mac_len;
__u16 hdr_len;
union {unnamed_union};
__be16 inner_protocol;
__u16 inner_transport_header;
__u16 inner_network_header;
__u16 inner_mac_header;
__u16 transport_header;
__u16 network_header;
__u16 mac_header;
sk_buff_data_t tail;
sk_buff_data_t end;
unsigned char * head;
unsigned char * data;
unsigned int truesize;
atomic_t users;
};
MEMBERS
next
- Next buffer in list
prev
- Previous buffer in list
tstamp
- Time we arrived
sk
- Socket we are owned by
dev
- Device we arrived on/are leaving by
cb[48]
- Control buffer. Free for use by every layer. Put private vars here
_skb_refdst
- destination entry (with norefcount bit)
sp
- the security path, used for xfrm
len
- Length of actual data
data_len
- Data length
mac_len
- Length of link layer header
hdr_len
- writable header length of cloned skb
{unnamed_union}
- anonymous
inner_protocol
- Protocol (encapsulation)
inner_transport_header
- Inner transport layer header (encapsulation)
inner_network_header
- Network layer header (encapsulation)
inner_mac_header
- Link layer header (encapsulation)
transport_header
- Transport layer header
network_header
- Network layer header
mac_header
- Link layer header
tail
- Tail pointer
end
- End pointer
head
- Head of buffer
data
- Data head pointer
truesize
- Buffer size
users
- User count - see {datagram,tcp}.c
COPYRIGHT