1. NAME

struct_sk_buff - socket buffer

2. SYNOPSIS



 
Sélectionnez
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