1. NAME▲
struct_sk_buff - socket buffer
2. 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}
;
sk_buff_data_t inner_transport_header;
sk_buff_data_t inner_network_header;
sk_buff_data_t inner_mac_header;
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;
}
;
3. 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_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
4. COPYRIGHT ▲