sk_buff Struct Reference

#include <skbuff.h>


Data Fields

sk_buffnext
 These two members must be first.
sk_buffprev
socksk
skb_timeval tstamp
net_device * dev
net_device * input_dev
union {
   tcphdr *   th
   udphdr *   uh
   icmphdr *   icmph
   igmphdr *   igmph
   iphdr *   ipiph
   ipv6hdr *   ipv6h
   unsigned char *   raw
h
union {
   iphdr *   iph
   ipv6hdr *   ipv6h
   arphdr *   arph
   unsigned char *   raw
nh
union {
   unsigned char *   raw
mac
dst_entrydst
sec_pathsp
char cb [48]
unsigned int len
unsigned int data_len
unsigned int mac_len
unsigned int csum
__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
__be16 protocol
void(* destructor )(struct sk_buff *skb)
unsigned int truesize
 These elements must be at the end, see alloc_skb() for details.
atomic_t users
unsigned char * head
unsigned char * data
unsigned char * tail
unsigned char * end


Detailed Description

Definition at line 224 of file skbuff.h.


Field Documentation

struct arphdr* sk_buff::arph

Definition at line 247 of file skbuff.h.

char sk_buff::cb[48]

This is the control buffer. It is free to use for every layer. Please put your private variables there. If you want to keep them across layers you have to do a skb_clone() first. This is owned by whoever has the skb queued ATM.

Definition at line 266 of file skbuff.h.

Referenced by irda_get_mtt(), irda_get_next_speed(), irda_get_next_xbofs(), irda_get_xbofs(), llc_backlog_type(), llc_conn_ev(), llc_sap_ev(), llc_set_backlog_type(), sctp_event2skb(), and sctp_skb2event().

__u8 sk_buff::cloned

Definition at line 273 of file skbuff.h.

unsigned int sk_buff::csum

Definition at line 268 of file skbuff.h.

Referenced by skb_copy_to_page().

unsigned char * sk_buff::data

Definition at line 305 of file skbuff.h.

Referenced by ax25_type_trans(), nlmsg_cancel(), tcf_defact_dump(), tcf_get_base_ptr(), and x25_type_trans().

unsigned int sk_buff::data_len

Definition at line 268 of file skbuff.h.

Referenced by skb_copy_to_page().

void(* sk_buff::destructor)(struct sk_buff *skb)

Referenced by sk_stream_set_owner_r(), skb_set_owner_r(), and skb_set_owner_w().

struct net_device* sk_buff::dev

Definition at line 231 of file skbuff.h.

Referenced by ax25_type_trans(), dn_rt_finish_output(), hci_recv_frame(), and x25_type_trans().

struct dst_entry* sk_buff::dst

Definition at line 255 of file skbuff.h.

Referenced by inet_iif().

unsigned char * sk_buff::end

Definition at line 305 of file skbuff.h.

__u8 sk_buff::fclone

Definition at line 278 of file skbuff.h.

union { ... } sk_buff::h

Referenced by ipx_hdr(), tcf_get_base_ptr(), TCP_ECN_accept_cwr(), and TCP_ECN_send().

unsigned char* sk_buff::head

Definition at line 305 of file skbuff.h.

Referenced by tcf_valid_offset().

struct icmphdr* sk_buff::icmph

Definition at line 237 of file skbuff.h.

struct igmphdr* sk_buff::igmph

Definition at line 238 of file skbuff.h.

struct net_device* sk_buff::input_dev

Definition at line 232 of file skbuff.h.

__u8 sk_buff::ip_summed

Definition at line 273 of file skbuff.h.

Referenced by skb_copy_to_page().

struct iphdr* sk_buff::iph

Definition at line 245 of file skbuff.h.

Referenced by INET_ECN_set_ce().

struct iphdr* sk_buff::ipiph

Definition at line 239 of file skbuff.h.

struct ipv6hdr* sk_buff::ipv6h

Definition at line 246 of file skbuff.h.

struct ipv6hdr* sk_buff::ipv6h

Definition at line 240 of file skbuff.h.

Referenced by INET_ECN_set_ce().

__u8 sk_buff::ipvs_property

Definition at line 278 of file skbuff.h.

unsigned int sk_buff::len

Definition at line 268 of file skbuff.h.

Referenced by __qdisc_dequeue_head(), __qdisc_dequeue_tail(), __qdisc_enqueue_tail(), __qdisc_queue_drop(), __qdisc_requeue(), ah_hmac_digest(), dn_rt_finish_output(), nla_nest_end(), nlmsg_end(), sk_filter(), skb_copy_to_page(), sock_queue_err_skb(), tcf_defact_dump(), TCP_ECN_send(), and tcp_v4_check().

__u8 sk_buff::local_df

Definition at line 273 of file skbuff.h.

union { ... } sk_buff::mac

Referenced by ax25_type_trans(), and x25_type_trans().

unsigned int sk_buff::mac_len

Definition at line 268 of file skbuff.h.

struct sk_buff* sk_buff::next

These two members must be first.

Definition at line 226 of file skbuff.h.

Referenced by sk_add_backlog(), and skb_frags_no().

__u8 sk_buff::nfctinfo

Definition at line 273 of file skbuff.h.

union { ... } sk_buff::nh

Referenced by INET_ECN_set_ce(), llc_pdu_sn_hdr(), llc_pdu_un_hdr(), llc_set_pdu_hdr(), and tcf_get_base_ptr().

__u8 sk_buff::nohdr

Definition at line 273 of file skbuff.h.

__u8 sk_buff::pkt_type

Definition at line 278 of file skbuff.h.

Referenced by ax25_type_trans(), and x25_type_trans().

struct sk_buff* sk_buff::prev

Definition at line 227 of file skbuff.h.

__u32 sk_buff::priority

Definition at line 272 of file skbuff.h.

__be16 sk_buff::protocol

Definition at line 281 of file skbuff.h.

Referenced by INET_ECN_set_ce(), llc_pdu_decode_da(), llc_pdu_decode_sa(), and llc_pdu_init_as_test_rsp().

unsigned char* sk_buff::raw

Definition at line 252 of file skbuff.h.

unsigned char* sk_buff::raw

Definition at line 248 of file skbuff.h.

unsigned char* sk_buff::raw

Definition at line 241 of file skbuff.h.

Referenced by ax25_type_trans(), INET_ECN_set_ce(), ipx_hdr(), llc_pdu_sn_hdr(), llc_pdu_un_hdr(), llc_set_pdu_hdr(), tcf_get_base_ptr(), and x25_type_trans().

struct sock* sk_buff::sk

Definition at line 229 of file skbuff.h.

Referenced by bt_skb_send_alloc(), keepalive_intvl_when(), llc_conn_space(), nlmsg_multicast(), nlmsg_unicast(), sk_filter(), sk_stream_alloc_pskb(), sk_stream_alloc_skb(), sk_stream_rmem_schedule(), sk_stream_set_owner_r(), sk_stream_wmem_schedule(), sk_stream_writequeue_purge(), skb_set_owner_r(), skb_set_owner_w(), tcp_done(), TCP_ECN_send(), TCP_ECN_send_syn(), tcp_fast_path_check(), tcp_set_state(), and tcp_space().

struct sec_path* sk_buff::sp

Definition at line 256 of file skbuff.h.

Referenced by secpath_reset().

unsigned char * sk_buff::tail

Definition at line 305 of file skbuff.h.

Referenced by INET_ECN_set_ce(), nla_nest_end(), nla_nest_start(), nlmsg_end(), tcf_defact_dump(), and tcf_valid_offset().

struct tcphdr* sk_buff::th

Definition at line 235 of file skbuff.h.

Referenced by TCP_ECN_accept_cwr(), TCP_ECN_create_request(), TCP_ECN_make_synack(), TCP_ECN_rcv_ecn_echo(), TCP_ECN_rcv_syn(), TCP_ECN_rcv_synack(), and TCP_ECN_send().

unsigned int sk_buff::truesize

These elements must be at the end, see alloc_skb() for details.

Definition at line 303 of file skbuff.h.

Referenced by llc_conn_space(), sk_charge_skb(), sk_stream_alloc_pskb(), sk_stream_free_skb(), sk_stream_rmem_schedule(), sk_stream_set_owner_r(), skb_copy_to_page(), skb_set_owner_r(), skb_set_owner_w(), and sock_queue_err_skb().

struct skb_timeval sk_buff::tstamp

Definition at line 230 of file skbuff.h.

struct udphdr* sk_buff::uh

Definition at line 236 of file skbuff.h.

atomic_t sk_buff::users

Definition at line 304 of file skbuff.h.


The documentation for this struct was generated from the following file:

Generated on Wed Jun 21 22:48:05 2006 for KernelAPI by  doxygen 1.4.7