skb_copy_bits(9)
β¨ NAME β¨
From the Kernel API Manual, bestie: skb_copy_bits(9) β the function that copies bits from an skb to a kernel buffer. Thatβs the whole name, no cap. π
πΈ SYNOPSIS πΈ
int skb_copy_bits (const struct sk_buff *skb , int offset , void *to ,
int len );
π ARGUMENTS π
skbβ source skb. Like, the actual sourceskb; sheβs the main character here. πoffsetβ offset in source. Where the copy starts inside the source, periodt.toβ destination buffer. The destination buffer, aka where the copied bits are going. π«Άlenβ number of bytes to copy. The amount. The length. The vibe. β¨
π¦ DESCRIPTION π¦
Okay so the serve is: copy the specified number of bytes from the source skb to the destination buffer. Thatβs it β iconic, focused, ate. π
CAUTION ! : If its prototype is ever changed, check arch/{*}/net/{*}.S files, since it is called from BPF assembly code.
Do not skip that one, bestie β itβs giving important lore. ππ₯
π₯ SEE ALSO π₯
Kernel file ./net/core/skbuff.c is the home base, and the whole friend group is: 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_store_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)
mwah π β source/version: ./net/core Β· date: October 2026 Β· page: skb_copy_bits(9). Go copy those bits, bestie ππ¦
π¦ 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