STRUCT SK_BUFF(9) Linux Networking STRUCT SK_BUFF(9)NAMEstruct_sk_buff - socket buffer
SYNOPSIS
struct sk_buff {
struct sk_buff * next;
struct sk_buff * prev;
struct sock * sk;
ktime_t tstamp;
struct net_device * dev;
unsigned long _skb_dst;
#ifdef CONFIG_XFRM
struct sec_path * sp;
#endif
char cb[48];
unsigned int len;
unsigned int data_len;
__u16 mac_len;
__u16 hdr_len;
union {unnamed_union};
__u16 vlan_tci;
#ifndef __GENKSYMS__
#endif
sk_buff_data_t transport_header;
sk_buff_data_t network_header;
sk_buff_data_t 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
sk
Socket we are owned by
tstamp
Time we arrived
dev
Device we arrived on/are leaving by
_skb_dst
destination entry
sp
the security path, used for xfrm
cb[48]
Control buffer. Free for use by every layer. Put private vars here
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
vlan_tci
vlan tag control information
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
COPYRIGHTKernel Hackers Manual 2.6. November 2013 STRUCT SK_BUFF(9)