nft_pipapo_do_walk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nft_pipapo_do_walk β€” the manual page bestie

okay so this is nft_pipapo_do_walk, from the kernel API manual (section 9, the kernel API girlies). strap in, it's actually not that deep, i promise πŸŽ€


✨ NAME ✨

nft_pipapo_do_walk β€” walk over elements in m πŸšΆβ€β™€οΈβœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

void nft_pipapo_do_walk (const struct nft_ctx *ctx , struct nft_set *set
, const struct nft_pipapo_match *m , struct nft_set_iter *iter );

literally just that one call, no return value, she's a void icon πŸ’…


🌸 ARGUMENTS 🌸

  • ctx β€” the nftables API context, aka the vibe check for the whole operation 🫢
  • set β€” the nftables API set representation, the actual set we're dealing with ✨
  • m β€” the matching data that points to the key mapping array. this is the main character of the function, honestly πŸ‘‘
  • iter β€” the iterator, the thing that keeps track of where we're at πŸ’«

πŸ”₯ DESCRIPTION πŸ”₯

okay so here's the tea β˜•: the elements are referenced in the mapping array for the last field, right? so we can just scan that array directly. no cap, there's literally no need to follow rule mappings from the first field. why would you when the last field already has the receipts? πŸ™ˆ

and m? she's protected β€” either by the RCU read lock or by the transaction mutex. so don't come for her without one of those, bestie πŸ’€


🌈 SEE ALSO 🌈

bestie there are SO many siblings, buckle up 🧚:

like, the whole pipapo family reunion fr fr 🫢


ngl the whole "don't touch m without the RCU read lock or the transaction mutex" thing is the one part where you need to be on your best behaviour. everything else is just walking an array, slay πŸ’…

and that's the page, periodt πŸ’– she lives in ./net/netfilter and this edition is dated October 2026 β€” go off, kernel docs, you ate πŸŒŸπŸŽ€

πŸ“¦ where this page comes from