nft_pipapo_estimate(9)
π 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_INTERVALneeds 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
- 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