struct sk_buff

Name

struct sk_buff --  socket buffer

Synopsis

struct sk_buff {
  struct sk_buff  * next;
  struct sk_buff  * prev;
  struct sk_buff_head * list;
  struct sock  * sk;
  struct timeval  stamp;
  struct net_device * dev;
  struct net_device * input_dev;
  struct net_device * real_dev;
  union h;
  union nh;
  union mac;
  struct dst_entry * dst;
  char * cb;
  __u32 priority;
  void (* destructor) (struct sk_buff *skb);
  #ifdef CONFIG_NETFILTERunsigned long  nfmark;
  __u32 nfcache;
  struct nf_ct_info * nfct;
  #ifdef CONFIG_NETFILTER_DEBUGunsigned int  nf_debug;
  #endif#ifdef CONFIG_BRIDGE_NETFILTERstruct nf_bridge_info * nf_bridge;
  #endif#ifdef CONFIG_NET_SCHED__u32   tc_index;
  #endif#endifunsigned int  truesize;
  atomic_t users;
};  

Members

next

Next buffer in list

prev

Previous buffer in list

list

List we are on

sk

Socket we are owned by

stamp

Time we arrived

dev

Device we arrived on/are leaving by

input_dev

Device we arrived on

real_dev

The real device we are using

h

Transport layer header

nh

Network layer header

mac

Link layer header

dst

FIXME: Describe this field

cb

Control buffer. Free for use by every layer. Put private vars here

priority

Packet queueing priority

destructor

Destruct function

nfmark

Can be used for communication between hooks

nfcache

Cache info

nfct

Associated connection, if any

nf_debug

Netfilter debugging

nf_bridge

Saved data about a bridged frame - see br_netfilter.c

tc_index

Traffic control index

truesize

Buffer size

users

User count - see {datagram,tcp}.c