struct sk_buff(9)

NAME

struct_sk_buff - socket buffer

SYNOPSIS

struct sk_buff {
  struct sk_buff * next;
  struct sk_buff * prev;
  struct sock * sk;
  ktime_t tstamp;
  struct net_device * dev;
  union {unnamed_union};
  struct sec_path * sp;
  char cb[48];
  unsigned int len;
  unsigned int data_len;
  __u16 mac_len;
  __u16 hdr_len;
  union {unnamed_union};
  __u32 priority;
  __u8 local_df:1;
  __u8 cloned:1;
  __u8 ip_summed:2;
  __u8 nohdr:1;
  __u8 nfctinfo:3;
  __u8 pkt_type:3;
  __u8 fclone:2;
  __u8 ipvs_property:1;
  __u8 peeked:1;
  __u8 nf_trace:1;
  __be16 protocol;
  void (* destructor) (struct sk_buff *skb);
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
  struct nf_conntrack * nfct;
  struct sk_buff * nfct_reasm;
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
  struct nf_bridge_info * nf_bridge;
#endif
  int iif;
#ifdef CONFIG_NETDEVICES_MULTIQUEUE
  __u16 queue_mapping;
#endif
#ifdef CONFIG_NET_SCHED
  __u16 tc_index;
#ifdef CONFIG_NET_CLS_ACT
  __u16 tc_verd;
#endif
#endif
#ifdef CONFIG_IPV6_NDISC_NODETYPE
  __u8 ndisc_nodetype:2;
#endif
#ifdef CONFIG_NET_DMA
  dma_cookie_t dma_cookie;
#endif
#ifdef CONFIG_NETWORK_SECMARK
  __u32 secmark;
#endif
  __u32 mark;
  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;
};

MEMBERS

next
Next buffer in list
prev
Previous buffer in list
sk
Socket we are owned by
tstamp
Time we arrived
dev
Device we arrived on/are leaving by
{unnamed_union}
anonymous
sp
the security path, used for xfrm
cb[48]
Control buffer. Free for use by every layer. Put private vars here
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
priority
Packet queueing priority
local_df
allow local fragmentation
cloned
Head may be cloned (check refcnt to be sure)
ip_summed
Driver fed us an IP checksum
nohdr
Payload reference only, must not modify header
nfctinfo
Relationship of this skb to the connection
pkt_type
Packet class
fclone
skbuff clone status
ipvs_property
skbuff is owned by ipvs
peeked
this packet has been seen already, so stats have been done for it, donīt do them again
nf_trace
netfilter packet trace flag
protocol
Packet protocol from driver
destructor
Destruct function
nfct
Associated connection, if any
nfct_reasm
netfilter conntrack re-assembly pointer
nf_bridge
Saved data about a bridged frame - see br_netfilter.c
iif
ifindex of device we arrived on
queue_mapping
Queue mapping for multiqueue devices
tc_index
Traffic control index
tc_verd
traffic control verdict
ndisc_nodetype
router type (from link layer)
dma_cookie
a cookie to one of several possible DMA operations done by skb DMA functions
secmark
security marking
mark
Generic packet mark
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

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout