skb_pull_rcsum(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… skb_pull_rcsum(9)

okay bestie, welcome to the Kernel API Manual β€” we're doing a little skb_pull_rcsum moment and honestly it's giving "tiny function, big responsibility" energy πŸŽ€


✨ NAME ✨

skb_pull_rcsum β€” pull the skb and update the receive checksum, both at once, no cap 🫢


🌸 SYNOPSIS 🌸

void * skb_pull_rcsum (struct sk_buff *skb , unsigned int len );

like literally just two args, she's lowkey minimal πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • skb β€” the buffer you're updating, your main character fr πŸ’–
  • len β€” how much data got pulled, i.e. the length of data pulled

⭐ DESCRIPTION ⭐

So what she actually does: this function performs an skb_pull on the packet and updates the CHECKSUM_COMPLETE checksum. two jobs, one call, iconic behavior honestly πŸ‘‘

And listen β€” you should be using this on receive path processing instead of plain skb_pull 🌈 unless you know for a fact that the checksum difference is zero (think: a valid IP header, that kind of situation), or you're setting ip_summed to CHECKSUM_NONE.

let me say that again because it matters: receive path? use this. skipping the checksum math? only if the difference is genuinely zero or you're going CHECKSUM_NONE. don't be out here guessing πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./net/core/skbuff.c πŸ’€ (yes, that's where she lives) β€” plus the whole extended friend group:

like that's a whole friend group chat and she's in every one of em πŸ˜­πŸ’–


🧚 sign-off 🧚

and that's the page!! this one came from ./net/core, dated October 2026 β€” so yeah, mark your calendar bestie, and go pull some skbs responsibly πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from