nft_pipapo_estimate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nft_pipapo_estimate(9) β€” the Kernel API Manual glow-up ✨

okay so this is a page straight out of the Kernel API Manual, and it's about nft_pipapo_estimate β€” the little function that does the vibe check before anything gets built. it doesn't build the set, bestie, it just tells you what it would cost. slay.


✨ NAME ✨

nft_pipapo_estimate β€” sets the size, the space and the lookup complexity. it's giving "estimate before you commit" energy πŸŽ€

πŸ¦‹ SYNOPSIS πŸ¦‹

bool nft_pipapo_estimate (const struct nft_set_desc *desc , u32 features
, struct nft_set_estimate *est );

like, that's the whole signature. bool in, truth out. periodt πŸ’…

🌸 ARGUMENTS 🌸

  • desc β€” the set description, bestie. it carries the element count and the field description that get used. everything about what the set looks like lives here πŸ”₯
  • features β€” the flags, and listen: NFT_SET_INTERVAL needs to be there. no cap, it's required. if it's missing, that's a whole thing.
  • est β€” the storage where the estimation data gets dropped. it's the lil output box for the numbers 🫢

⭐ RETURN ⭐

returns true if the set description is compatible, and false otherwise. that's it. binary. iconic. πŸ’–

πŸ‘‘ SEE ALSO πŸ‘‘

okay so the reading list is long, but we're doing it. no skipping, bestie β€” every single one of these is part of the pipapo cinematic universe 🌈

start with the kernel file ./net/netfilter/nft_set_pipapo.c Theory of Operation(9) β€” that's the lore drop, the main character energy of the whole thing πŸ“–

then the whole ensemble cast:

pipapo_refill(9), pipapo_get_slow(9), pipapo_get(9), nft_pipapo_lookup(9), nft_pipapo_get(9), pipapo_realloc_mt(9), lt_calculate_size(9), pipapo_resize(9), pipapo_bucket_set(9), pipapo_lt_4b_to_8b(9), pipapo_lt_8b_to_4b(9), pipapo_lt_bits_adjust(9), pipapo_insert(9), pipapo_step_diff(9), pipapo_step_after_end(9), pipapo_base_sum(9), pipapo_expand(9), pipapo_map(9), pipapo_free_scratch(9), pipapo_realloc_scratch(9), pipapo_maybe_clone(9), nft_pipapo_insert(9), pipapo_clone(9), pipapo_rules_same_key(9), pipapo_unmap(9), pipapo_drop(9), pipapo_gc_scan(9), pipapo_gc_queue(9), pipapo_free_fields(9), pipapo_reclaim_match(9), nft_pipapo_commit(9), nft_pipapo_activate(9), nft_pipapo_deactivate(9), nft_pipapo_flush(9), pipapo_get_boundaries(9), pipapo_match_field(9), nft_pipapo_remove(9), nft_pipapo_do_walk(9), nft_pipapo_walk(9), nft_pipapo_privsize(9), nft_pipapo_init(9), nft_set_pipapo_match_destroy(9), nft_pipapo_destroy(9), nft_pipapo_gc_init(9)

ngl, that's a lot of cross-references. don't panic β€” it's just the whole pipapo family tree. iykyk 🧚

and that's the whole page!! tysm for reading, bestie, you ate that πŸ“ this one shipped from ./net/netfilter back in October 2026, so if the kernel's moved on since then, that's on them and not on us 😭 stay hydrated, keep your feature flags on, and see you at the next (9) πŸ’œ

πŸ“¦ where this page comes from