skb_store_bits(9)
π skb_store_bits(9) π
okay bestie, welcome to the Kernel API Manual β yes, the whole manual, and today's main character is skb_store_bits. this one's short but she works, so let's get into it β¨
πΈ NAME πΈ
skb_store_bits β store bits from kernel buffer to skb π«Ά
β SYNOPSIS β
int skb_store_bits (struct sk_buff *skb , int offset , const void *from
, int len );
like, that's the whole signature. one function, four args, no drama π
π ARGUMENTS π
skbβ the destination buffer, aka where the bytes are going π―offsetβ offset in destination, so where in that skb we're dropping the goods πfromβ source buffer, aka where the bytes are coming from πlenβ number of bytes to copy, like literally just count them π
π¦ DESCRIPTION π¦
so the whole vibe is: copy the specified number of bytes from the source buffer to the destination skb. simple, iconic, no notes π
and then β highkey the best part β this function handles all the messy bits of traversing fragment lists and such. like, that's the whole reason she exists. all the gross fragment-list traversal? handled. you don't have to think about it. she ate and left no crumbs πβ¨
π SEE ALSO π
Kernel file ./net/core/skbuff.c β plus a whole friend group of related functions, fr fr:
drop_reasons_register_subsys(9), drop_reasons_unregister_subsys(9), skb_panic(9), napi_skb_cache_get_bulk(9), __build_skb(9), build_skb_around(9), __napi_build_skb(9), napi_build_skb(9), __alloc_skb(9), __netdev_alloc_skb(9), napi_alloc_skb(9), skb_pp_cow_data(9), skb_pp_frag_ref(9), __kfree_skb(9), sk_skb_reason_drop(9), skb_tx_error(9), consume_skb(9), __consume_stateless_skb(9), napi_consume_skb(9), alloc_skb_for_msg(9), skb_morph(9), skb_copy_ubufs(9), skb_clone(9), skb_copy(9), __pskb_copy_fclone(9), pskb_expand_head(9), skb_expand_head(9), skb_copy_expand(9), __skb_pad(9), pskb_put(9), skb_put(9), skb_push(9), skb_pull(9), skb_pull_data(9), skb_trim(9), __pskb_pull_tail(9), skb_copy_bits(9), skb_zerocopy(9), skb_dequeue(9), skb_dequeue_tail(9), skb_queue_purge_reason(9), skb_rbtree_purge(9), skb_queue_head(9), skb_queue_tail(9), skb_unlink(9), skb_append(9), skb_split(9), skb_shift(9), skb_prepare_seq_read(9), skb_seq_read(9), skb_abort_seq_read(9), skb_copy_seq_read(9), skb_find_text(9), skb_pull_rcsum(9), skb_segment(9), skb_to_sgvec(9), skb_cow_data(9), skb_clone_sk(9), skb_partial_csum_set(9), skb_checksum_setup(9), skb_checksum_maybe_trim(9), skb_checksum_trimmed(9), skb_try_coalesce(9), skb_scrub_packet(9), skb_eth_pop(9), skb_eth_push(9), skb_mpls_push(9), skb_mpls_pop(9), skb_mpls_update_lse(9), skb_mpls_dec_ttl(9), alloc_skb_with_frags(9), skb_condense(9), __skb_ext_alloc(9), __skb_ext_set(9), skb_ext_add(9), skb_attempt_defer_free(9), skb_splice_from_iter(9)
ngl bestie, this one's a short read β but that fragment-list handling? that's the whole plot. iykyk ππ
and that's the page!! from the ./net/core girlies, October 2026 edition β mwah, go touch some sk_buffs, ily π§ββοΈππ
π¦ 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