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 ▲