Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_sk_buff(9) [centos man page]

STRUCT 
SK_BUFF(9) Linux Networking STRUCT SK_BUFF(9) 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 COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT SK_BUFF(9)

Check Out this Related Man Page

IN_CKSUM(9)						   BSD Kernel Developer's Manual					       IN_CKSUM(9)

NAME
in_cksum, in4_cksum, in6_cksum -- compute Internet checksum SYNOPSIS
uint16_t in_cksum(struct mbuf *m, int len); uint16_t in4_cksum(struct mbuf *m, uint8_t nxt, int off, int len); uint16_t in6_cksum(struct mbuf *m, uint8_t nxt, int off, int len); DESCRIPTION
These functions are used to compute the ones-complement checksum required by IP and IPv6. The in4_cksum() function is used to compute the transport-layer checksum required by tcp(4) and udp(4) over a range of bytes starting at off and continuing on for len bytes within the mbuf m. If the nxt parameter is non-zero, it is assumed to be an IP protocol number. It is also assumed that the data within m starts with an IP header, and the transport-layer header starts at off; a pseudo-header is constructed as specified in RFC768 and RFC793, and the pseudo-header is prepended to the data covered by the checksum. The in6_cksum() function is similar; if nxt is non-zero, it is assumed that m starts with an IPv6 header, and that the transport-layer header starts after off bytes. The in_cksum() function is equivalent to in4_cksum(m, 0, 0, len). These functions are always performance critical and should be reimplemented in assembler or optimized C for each platform; when available, use of repeated full-width add-with-carry followed by reduction of the sum to a 16 bit width usually leads to best results. See RFC's 1071, 1141, 1624, and 1936 for more information about efficient computation of the internet checksum. RETURN VALUES
All three functions return the computed checksum value. SEE ALSO
inet(4), inet6(4), tcp(4), udp(4), protocols(5), mbuf(9) STANDARDS
These functions implement the Internet transport-layer checksum as specified in RFC768, RFC793, and RFC2460. BUGS
The in6_cksum() function currently requires special handling of link-local addresses in the pseudo-header due to the use of embedded scope- id's within link-local addresses. BSD
May 22, 2001 BSD
Man Page