Socket Buffer Functions
Prev | Chapter 1. Linux Networking | Next

## Socket Buffer Functions

struct skb_shared_hwtstamps — hardware time stamps
struct skb_mstamp — multi resolution time stamps
skb_mstamp_get — get current timestamp
skb_mstamp_us_delta — compute the difference in usec between two skb_mstamp
struct sk_buff — socket buffer
skb_dst — returns skb dst_entry
skb_dst_set — sets skb dst
skb_dst_set_noref — sets skb dst, hopefully, without taking reference
skb_dst_is_noref — Test if skb dst isn't refcounted
skb_fclone_busy — check if fclone is busy
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_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_next — peek skb following the given one from a queue
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
skb_tailroom_reserve — adjust reserved_tailroom
pskb_trim_unique — remove end from a paged unique (not cloned) buffer
skb_orphan — orphan a buffer
skb_orphan_frags — orphan the frags contained in a buffer
netdev_alloc_skb — allocate an skbuff for rx on a specific device
__dev_alloc_pages — allocate page for network Rx
__dev_alloc_page — allocate a page for network Rx
skb_propagate_pfmemalloc — Propagate pfmemalloc if skb is allocated after RX page
skb_frag_page — retrieve the page referred 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_put_padto — increase size and pad an skbuff up to a minimal size
skb_linearize — convert paged skb to linear one
skb_has_shared_frag — can any frag be overwritten
skb_linearize_cow — make sure skb is linear and writable
skb_postpull_rcsum — update checksum for received skb after pull
skb_push_rcsum — push skb and update receive checksum
pskb_trim_rcsum — trim received skb and update checksum
skb_needs_linearize — check if we need to linearize a given skb depending on the given device features.
skb_get_timestamp — get timestamp from a skb
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
skb_head_is_locked — Determine if the skb->head is locked down
skb_gso_network_seglen — Return length of individual segments of a gso packet
skb_gso_mac_seglen — Return length of individual segments of a gso packet
struct sock_common — minimal network layer representation of sockets
struct sock — network layer representation of sockets
sk_nulls_for_each_entry_offset — iterate over a list at a given struct offset
unlock_sock_fast — complement of lock_sock_fast
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_page_frag — return an appropriate page_frag
sock_tx_timestamp — checks whether the outgoing packet is to be time stamped
sk_eat_skb — Release a skb if it is no longer needed
sk_state_load — read sk->sk_state for lockless contexts
sk_state_store — update sk->sk_state
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
netdev_alloc_frag — allocate a page fragment
__netdev_alloc_skb — allocate an skbuff for rx on a specific device
__napi_alloc_skb — allocate skbuff for rx in a specific NAPI instance
__kfree_skb — private function
kfree_skb — free an sk_buff
skb_tx_error — report an sk_buff xmit error
consume_skb — free an skbuff
skb_morph — morph one skb into another
skb_copy_ubufs — copy userspace skb frags buffers to kernel
skb_clone — duplicate an sk_buff
skb_copy — create private copy of an sk_buff
__pskb_copy_fclone — 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
pskb_put — add data to the tail of a potentially fragmented buffer
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_copy_bits — copy bits from skb to kernel buffer
skb_store_bits — store bits from kernel buffer to skb
skb_zerocopy — Zero copy skb 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_to_sgvec — Fill a scatter-gather list from a socket buffer
skb_cow_data — Check that a socket buffer's data buffers are writable
skb_clone_sk — create clone of skb, and take reference to socket
skb_partial_csum_set — set up and verify partial csum values for packet
skb_checksum_setup — set up partial checksum offset
skb_checksum_trimmed — validate checksum of an skb
skb_try_coalesce — try to merge skb to prior one
skb_scrub_packet — scrub an skb
skb_gso_transport_seglen — Return length of individual segments of a gso packet
skb_gso_validate_mac_len — Will a split GSO skb fit in a given length?
alloc_skb_with_frags — allocate skb with page frags
sk_ns_capable — General socket capability test
sk_capable — Socket global capability test
sk_net_capable — Network namespace socket capability test
sk_set_memalloc — sets `SOCK_MEMALLOC`
sk_alloc — All socket objects are allocated here
sk_clone_lock — clone a socket, and lock its clone
skb_page_frag_refill — check that a page_frag contains enough room
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_iter — Copy a datagram to an iovec iterator.
skb_copy_datagram_from_iter — Copy a datagram from an iov_iter.
zerocopy_sg_from_iter — Build a zerocopy datagram from an iov_iter
skb_copy_and_csum_datagram_msg — Copy and checksum 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

Prev | Up | Next
struct socket | Home | struct skb_shared_hwtstamps