skb_pad(9)
π skb_pad(9) β like, the Kernel API Manual one, bestie β¨
okay so picture this: it's a Kernel API Manual page, the title is skb_pad(9), and it's about to be your new fave little helper. let's get into it π«Ά
πΈ NAME πΈ
skb_pad β zero pad the tail of an skb. that's it, that's the whole vibe β¨
π¦ SYNOPSIS π¦
int skb_pad (struct sk_buff *skb , int pad );
like, literally that's the signature. no cap. π
π ARGUMENTS π
skbβ the buffer you're padding, bestie. this is the one getting the lil glow-up at the end πpadβ how much space to pad. the amount. the quantity. the padding, if you will πΈ
π DESCRIPTION π
okay so here's the tea π΅ β skb_pad makes sure that a buffer is followed by a padding area that is zero filled. like, it guarantees the tail is spotless. no leftover crumbs, no mystery bytes, just zeros. immaculate β¨
and why do we care? because it's used by network drivers which may DMA or transfer data beyond the buffer end onto the wire. so like, the hardware goes a lil past the edge of your data (rude, honestly) and this is what keeps that from being a whole situation π
β οΈ heads up bestie: it may return an error in out of memory cases. and when it errors, the skb is freed. so don't go touching that skb afterward, fr fr π
π₯ SEE ALSO π₯
this list is long long, like scrolling-for-days long, but i gotchu β every single one, in order, no skips π
- 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_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(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)
likeβ¦ that's the whole friend group. every single one. i counted. twice. π§
π and that's the page, bestie! this one came out of./include/linuxand it's dated October 2026, filed under the nameskb_pad(9)β so if you ever need to find it again, that's the receipt π mwah, study well, and remember: the skb gets freed on error, so likeβ¦ don't be weird about it ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms