struct_sock9
Network layer representation of sockets
Usage
struct sock_common
__sk_common;
socket_lock_t sk_lock;
struct sk_buff_head
sk_receive_queue;
struct unnamed_struct
;
struct xfrm_policy
__rcu
*
sk_policy
[2]
;
struct dst_entry
*
sk_rx_dst;
struct dst_entry
__rcu
*
sk_dst_cache;
atomic_t sk_wmem_alloc;
atomic_t sk_omem_alloc;
int sk_sndbuf;
struct sk_buff_head
sk_write_queue;
unsigned int
sk_padding:2;
unsigned int
sk_no_check_tx:1;
unsigned int
sk_no_check_rx:1;
unsigned int
sk_userlocks:4;
unsigned int
sk_protocol:8;
unsigned int
sk_type:16;
int sk_wmem_queued;
gfp_t sk_allocation;
u32 sk_pacing_rate;
u32 sk_max_pacing_rate;
netdev_features_t sk_route_caps;
netdev_features_t sk_route_nocaps;
int sk_gso_type;
unsigned int
sk_gso_max_size;
u16 sk_gso_max_segs;
int sk_rcvlowat;
unsigned long
sk_lingertime;
struct sk_buff_head
sk_error_queue;
struct proto
*
sk_prot_creator;
rwlock_t sk_callback_lock;
int sk_err;
int sk_err_soft;
u32 sk_ack_backlog;
u32 sk_max_ack_backlog;
__u32 sk_priority;
__u32 sk_mark;
struct pid
*
sk_peer_pid;
const struct
cred
*
sk_peer_cred;
long sk_rcvtimeo;
long sk_sndtimeo;
struct timer_list
sk_timer;
ktime_t sk_stamp;
seqlock_t sk_stamp_seq;
u16 sk_tsflags;
u8 sk_shutdown;
u32 sk_tskey;
struct socket
*
sk_socket;
void *
sk_user_data;
struct page_frag
sk_frag;
struct sk_buff
*
sk_send_head;
__s32 sk_peek_off;
int sk_write_pending;
void *
sk_security;
struct sock_cgroup_data
sk_cgrp_data;
struct mem_cgroup
*
sk_memcg;
void (*
sk_state_change)
(struct
sock
*sk);
void (*
sk_data_ready)
(struct
sock
*sk);
void (*
sk_write_space)
(struct
sock
*sk);
void (*
sk_error_report)
(struct
sock
*sk);
int (*
sk_backlog_rcv)
(struct
sock
*sk,struct
sk_buff
*skb);
void (*
sk_destruct)
(struct
sock
*sk);
struct sock_reuseport
__rcu
*
sk_reuseport_cb;
struct rcu_head
sk_rcu;
Members
__sk_common
shared layout with inet_timewait_sock
sk_lock
synchronizer
sk_receive_queue
incoming packets
{unnamed_struct}
anonymous
sk_policy[2]
flow policy
sk_rx_dst
receive input route used by early demux
sk_dst_cache
destination cache
sk_wmem_alloc
transmit queue bytes committed
sk_omem_alloc
"o“ is ”option“ or ”other"
sk_sndbuf
size of send buffer in bytes
sk_write_queue
Packet sending queue
sk_padding
unused element for alignment
sk_no_check_tx
SO_NO_CHECK setting, set checksum in TX packets
sk_no_check_rx
allow zero checksum in RX packets
sk_userlocks
SO_SNDBUF and SO_RCVBUF settings
sk_protocol
which protocol this socket belongs in this network family
sk_type
socket type (SOCK_STREAM, etc)
sk_wmem_queued
persistent queue size
sk_allocation
allocation mode
sk_pacing_rate
Pacing rate (if supported by transport/packet scheduler)
sk_max_pacing_rate
Maximum pacing rate (SO_MAX_PACING_RATE)
sk_route_caps
route capabilities (e.g. NETIF_F_TSO)
sk_route_nocaps
forbidden route capabilities (e.g NETIF_F_GSO_MASK)
sk_gso_type
GSO type (e.g. SKB_GSO_TCPV4)
sk_gso_max_size
Maximum GSO segment size to build
sk_gso_max_segs
Maximum number of GSO segments
sk_rcvlowat
SO_RCVLOWAT setting
sk_lingertime
SO_LINGER l_linger setting
sk_error_queue
rarely used
sk_prot_creator
sk_prot of original sock creator (see ipv6_setsockopt, IPV6_ADDRFORM for instance)
sk_callback_lock
used with the callbacks in the end of this struct
sk_err
last error
sk_err_soft
errors that don't cause failure but are the cause of a persistent failure not just 'timed out'
sk_ack_backlog
current listen backlog
sk_max_ack_backlog
listen backlog set in listen
sk_priority
SO_PRIORITY setting
sk_mark
generic packet mark
sk_peer_pid
struct pid for this socket's peer
sk_peer_cred
SO_PEERCRED setting
sk_rcvtimeo
SO_RCVTIMEO setting
sk_sndtimeo
SO_SNDTIMEO setting
sk_timer
sock cleanup timer
sk_stamp
time stamp of last packet received
sk_stamp_seq
lock for accessing sk_stamp on 32 bit architectures only
sk_tsflags
SO_TIMESTAMPING socket options
sk_shutdown
mask of SEND_SHUTDOWN and/or RCV_SHUTDOWN
sk_tskey
counter to disambiguate concurrent tstamp requests
sk_socket
Identd and reporting IO signals
sk_user_data
RPC layer private data
sk_frag
cached page frag
sk_send_head
front of stuff to transmit
sk_peek_off
current peek_offset value
sk_write_pending
a write to stream socket waits to start
sk_security
used by security modules
sk_cgrp_data
cgroup data for this cgroup
sk_memcg
this socket's memory cgroup association
sk_state_change
callback to indicate change in the state of the sock
sk_data_ready
callback to indicate there is data to be processed
sk_write_space
callback to indicate there is bf sending space available
sk_error_report
callback to indicate errors (e.g. MSG_ERRQUEUE)
sk_backlog_rcv
callback to process the backlog
sk_destruct
called at sock freeing time, i.e. when all refcnt == 0
sk_reuseport_cb
reuseport group container
sk_rcu
used during RCU grace period
History
- Debian 9 (Stretch): the text shown here
- Debian 8 (Jessie)
- Debian 7 (Wheezy)
- Debian 6.0 (Squeeze)
- Debian 5.0 (Lenny)
- Debian 4.0 (Etch)