struct sk_buff
Prev | Socket Buffer Functions | Next

## Name

struct sk_buff — socket buffer

## 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};
      __be16 inner_protocol;
      __u16 inner_transport_header;
      __u16 inner_network_header;
      __u16 inner_mac_header;
      __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;
    };

## 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_protocol

  Protocol (encapsulation)

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

Prev | Up | Next
struct skb_shared_hwtstamps | Home | skb_dst