skb_queue_splice_tail(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… skb_queue_splice_tail(9) β€” like, the whole kernel API manual bestie ✨

okay so real talk: this is the skb_queue_splice_tail page from the Kernel API Manual, and it is exactly what it says on the tin. no cap, that's the whole vibe. πŸŽ€


🌸 NAME 🌸

skb_queue_splice_tail β€” join two skb lists, each list being a queue πŸ’–

like... you're literally welding two queues together. that's the job. periodt.


✨ SYNOPSIS ✨

void skb_queue_splice_tail (const struct sk_buff_head *list , struct
       sk_buff_head *head );

note the const on list bestie β€” she's read only, hands off πŸ™ˆ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • list β€” the new list to add 🌈 like, the incoming squad.
  • head β€” the place to add it in the first list πŸ’… the destination. the host. the main character queue.

πŸ‘‘ SEE ALSO πŸ‘‘

so this is the part where the manpage just... goes feral and lists the entire extended universe. but it's all here, i'm not skipping a single one, i promise 🫢

Kernel file ./include/linux/skbuff.h, skb checksums(9), skb_frag_size(9), skb_frag_size_set(9), skb_frag_size_add(9), skb_frag_size_sub(9), skb_frag_must_loop(9), skb_frag_foreach_page(9), struct skb_shared_hwtstamps(9), dataref and headerless skbs(9), Basic sk_buff geometry(9), struct sk_buff(9), skb_pfmemalloc(9), skb_dst(9), skb_dstref_steal(9), skb_dstref_restore(9), skb_dst_set(9), skb_dst_set_noref(9), skb_dst_is_noref(9), skb_napi_id(9), skb_unref(9), kfree_skb(9), alloc_skb(9), skb_fclone_busy(9), alloc_skb_fclone(9), skb_pad(9), skb_queue_empty(9), skb_queue_empty_lockless(9), skb_queue_is_last(9), skb_queue_is_first(9), skb_queue_next(9), skb_queue_prev(9), skb_get(9), skb_cloned(9), skb_header_cloned(9), __skb_header_release(9), skb_shared(9), skb_share_check(9), skb_unshare(9), skb_peek(9), __skb_peek(9), skb_peek_next(9), skb_peek_tail(9), skb_queue_len(9), skb_queue_len_lockless(9), __skb_queue_head_init(9), skb_queue_splice(9), skb_queue_splice_init(9), skb_queue_splice_tail_init(9), __skb_queue_after(9), __skb_queue_head(9), __skb_queue_tail(9), __skb_dequeue(9), __skb_dequeue_tail(9), skb_len_add(9), __skb_fill_netmem_desc(9), skb_fill_page_desc(9), skb_fill_page_desc_noacc(9), skb_headroom(9), skb_tailroom(9), skb_availroom(9), skb_reserve(9), skb_tailroom_reserve(9), skb_reset_transport_header_careful(9), skb_set_transport_header_careful(9), pskb_trim_unique(9), skb_orphan(9), skb_orphan_frags(9), __skb_queue_purge_reason(9), netdev_alloc_frag(9), netdev_alloc_skb(9), __dev_alloc_pages(9), __dev_alloc_page(9), dev_page_is_reusable(9), skb_propagate_pfmemalloc(9), skb_frag_off(9), skb_frag_off_add(9), skb_frag_off_set(9), skb_frag_off_copy(9), skb_frag_net_iov(9), skb_frag_page(9), skb_frag_netmem(9), skb_frag_address(9), skb_frag_address_safe(9), skb_frag_phys(9), skb_frag_page_copy(9), __skb_frag_dma_map(9), skb_clone_writable(9), skb_cow(9), skb_cow_head(9), skb_padto(9), __skb_put_padto(9), skb_put_padto(9), skb_linearize(9), skb_has_shared_frag(9), skb_linearize_cow(9), skb_postpull_rcsum(9), skb_postpush_rcsum(9), skb_push_rcsum(9), pskb_trim_rcsum(9), skb_needs_linearize(9), skb_get_timestamp(9), skb_data_move(9), skb_postpull_data_move(9), skb_postpush_data_move(9), skb_complete_tx_timestamp(9), skb_tstamp_tx(9), skb_tx_timestamp(9), skb_complete_wifi_ack(9), skb_checksum_complete(9), struct skb_ext(9), skb_checksum_none_assert(9), skb_head_is_locked(9)

πŸ’€ that's the whole list. i counted. i'm not okay but i did it.

🌈 a lil sign-off 🌈

this page lives in ./include/linux (that's the source, bestie), and it's dated October 2026 β€” yes, future vibes, we love a forward-thinking manpage ⭐ and the page itself is skb_queue_splice_tail(9) ofc, that's her name, don't wear it out πŸ’œ

go forth and splice those tails, icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from