struct sk_buff — socket buffer
struct sk_buff {
union {unnamed_union};
__u16 inner_transport_header;
__u16 inner_network_header;
__u16 inner_mac_header;
__be16 protocol;
__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;
}; union {unnamed_union}anonymous
__u16 inner_transport_headerInner transport layer header (encapsulation)
__u16 inner_network_headerNetwork layer header (encapsulation)
__u16 inner_mac_headerLink layer header (encapsulation)
__be16 protocolPacket protocol from driver
__u16 transport_headerTransport layer header
__u16 network_headerNetwork layer header
__u16 mac_headerLink layer header
sk_buff_data_t tailTail pointer
sk_buff_data_t endEnd pointer
unsigned char * headHead of buffer
unsigned char * dataData head pointer
unsigned int truesizeBuffer size
atomic_t usersUser count - see {datagram,tcp}.c