Socket Buffer Functions
Prev
Chapter 1. Linux Networking
Next
Socket Buffer Functions
struct skb_shared_hwtstamps
- hardware time stamps
struct sk_buff
- socket buffer
skb_dst
- returns skb dst_entry
skb_dst_set
- sets skb dst
skb_dst_is_noref
- Test if skb dst isn't refcounted
skb_queue_empty
- check if a queue is empty
skb_queue_is_last
- check if skb is the last entry in the queue
skb_queue_is_first
- check if skb is the first entry in the queue
skb_queue_next
- return the next packet in the queue
skb_queue_prev
- return the prev packet in the queue
skb_get
- reference buffer
skb_cloned
- is the buffer a clone
skb_header_cloned
- is the header a clone
skb_header_release
- release reference to header
skb_shared
- is the buffer shared
skb_share_check
- check if buffer is shared and if so clone it
skb_unshare
- make a copy of a shared buffer
skb_peek
- peek at the head of an sk_buff_head
skb_peek_tail
- peek at the tail of an sk_buff_head
skb_queue_len
- get queue length
__skb_queue_head_init
- initialize non-spinlock portions of sk_buff_head
skb_queue_splice
- join two skb lists, this is designed for stacks
skb_queue_splice_init
- join two skb lists and reinitialise the emptied list
skb_queue_splice_tail
- join two skb lists, each list being a queue
skb_queue_splice_tail_init
- join two skb lists and reinitialise the emptied list
__skb_queue_after
- queue a buffer at the list head
__skb_fill_page_desc
- initialise a paged fragment in an skb
skb_fill_page_desc
- initialise a paged fragment in an skb
skb_headroom
- bytes at buffer head
skb_tailroom
- bytes at buffer end
skb_availroom
- bytes at buffer end
skb_reserve
- adjust headroom
pskb_trim_unique
- remove end from a paged unique (not cloned) buffer
skb_orphan
- orphan a buffer
__dev_alloc_skb
- allocate an skbuff for receiving
netdev_alloc_skb
- allocate an skbuff for rx on a specific device
__netdev_alloc_page
- allocate a page for ps-rx on a specific device
netdev_alloc_page
- allocate a page for ps-rx on a specific device
skb_frag_page
- retrieve the page refered to by a paged fragment
__skb_frag_ref
- take an addition reference on a paged fragment.
skb_frag_ref
- take an addition reference on a paged fragment of an skb.
__skb_frag_unref
- release a reference on a paged fragment.
skb_frag_unref
- release a reference on a paged fragment of an skb.
skb_frag_address
- gets the address of the data contained in a paged fragment
skb_frag_address_safe
- gets the address of the data contained in a paged fragment
__skb_frag_set_page
- sets the page contained in a paged fragment
skb_frag_set_page
- sets the page contained in a paged fragment of an skb
skb_frag_dma_map
- maps a paged fragment via the DMA API
skb_clone_writable
- is the header of a clone writable
skb_cow
- copy header of skb when it is required
skb_cow_head
- skb_cow but only making the head writable
skb_padto
- pad an skbuff up to a minimal size
skb_linearize
- convert paged skb to linear one
skb_linearize_cow
- make sure skb is linear and writable
skb_postpull_rcsum
- update checksum for received skb after pull
pskb_trim_rcsum
- trim received skb and update checksum
skb_get_timestamp
- get timestamp from a skb
skb_complete_tx_timestamp
- deliver cloned skb with tx timestamps
skb_tx_timestamp
- Driver hook for transmit timestamping
skb_checksum_complete
- Calculate checksum of an entire packet
skb_checksum_none_assert
- make sure skb ip_summed is CHECKSUM_NONE
struct sock_common
- minimal network layer representation of sockets
struct sock
- network layer representation of sockets
unlock_sock_fast
- complement of lock_sock_fast
sk_filter_release
- release a socket filter
sk_wmem_alloc_get
- returns write allocations
sk_rmem_alloc_get
- returns read allocations
sk_has_allocations
- check if allocations are outstanding
wq_has_sleeper
- check if there are any waiting processes
sock_poll_wait
- place memory barrier behind the poll_wait call.
sk_eat_skb
- Release a skb if it is no longer needed
sockfd_lookup
- Go from a file number to its socket slot
sock_release
- close a socket
kernel_recvmsg
- Receive a message from a socket (kernel space)
sock_register
- add a socket protocol handler
sock_unregister
- remove a protocol handler
__alloc_skb
- allocate a network buffer
build_skb
- build a network buffer
__netdev_alloc_skb
- allocate an skbuff for rx on a specific device
dev_alloc_skb
- allocate an skbuff for receiving
__kfree_skb
- private function
kfree_skb
- free an sk_buff
consume_skb
- free an skbuff
skb_recycle_check
- check if skb can be reused for receive
skb_morph
- morph one skb into another
skb_clone
- duplicate an sk_buff
skb_copy
- create private copy of an sk_buff
__pskb_copy
- create copy of an sk_buff with private head.
pskb_expand_head
- reallocate header of sk_buff
skb_copy_expand
- copy and expand sk_buff
skb_pad
- zero pad the tail of an skb
skb_put
- add data to a buffer
skb_push
- add data to the start of a buffer
skb_pull
- remove data from the start of a buffer
skb_trim
- remove end from a buffer
__pskb_pull_tail
- advance tail of skb header
skb_store_bits
- store bits from kernel buffer to skb
skb_dequeue
- remove from the head of the queue
skb_dequeue_tail
- remove from the tail of the queue
skb_queue_purge
- empty a list
skb_queue_head
- queue a buffer at the list head
skb_queue_tail
- queue a buffer at the list tail
skb_unlink
- remove a buffer from a list
skb_append
- append a buffer
skb_insert
- insert a buffer
skb_split
- Split fragmented skb to two parts at length len.
skb_prepare_seq_read
- Prepare a sequential read of skb data
skb_seq_read
- Sequentially read skb data
skb_abort_seq_read
- Abort a sequential read of skb data
skb_find_text
- Find a text pattern in skb data
skb_append_datato_frags
- append the user data to a skb
skb_pull_rcsum
- pull skb and update receive checksum
skb_segment
- Perform protocol segmentation on skb.
skb_cow_data
- Check that a socket buffer's data buffers are writable
skb_partial_csum_set
- set up and verify partial csum values for packet
sk_alloc
- All socket objects are allocated here
sk_wait_data
- wait for data to arrive at sk_receive_queue
__sk_mem_schedule
- increase sk_forward_alloc and memory_allocated
__sk_mem_reclaim
- reclaim memory_allocated
lock_sock_fast
- fast version of lock_sock
__skb_recv_datagram
- Receive a datagram skbuff
skb_kill_datagram
- Free a datagram skbuff forcibly
skb_copy_datagram_iovec
- Copy a datagram to an iovec.
skb_copy_datagram_const_iovec
- Copy a datagram to an iovec.
skb_copy_datagram_from_iovec
- Copy a datagram from an iovec.
skb_copy_and_csum_datagram_iovec
- Copy and checkum skb to user iovec.
datagram_poll
- generic datagram poll
sk_stream_write_space
- stream socket write_space callback.
sk_stream_wait_connect
- Wait for a socket to get into the connected state
sk_stream_wait_memory
- Wait for more memory for a socket