pipapo_get_slow(9)
π pipapo_get_slow(9)
okay so this is from the Kernel API Manual bestie, and it's the ~slow~ lookup girlie of the pipapo family. she's not in a hurry, she's just thorough π
β¨ NAME β¨
pipapo_get_slow β get the matching element reference when you hand her the key data π
π¦ SYNOPSIS π¦
struct nft_pipapo_elem * pipapo_get_slow (const struct nft_pipapo_match
*m , const u8 *data , u8 genmask , u64 tstamp );
πΈ ARGUMENTS πΈ
mβ the storage holding all the set elements. it's literally where everybody lives πdataβ the key data we're matching against the existing elements. this is the thing we're looking for, no cap πgenmaskβ if it's set, we check that the element is actually active in that given genmask. like a vibe check but for generations β¨tstampβ the timestamp we use to check for expired elements. grandma elements get caught here β°
π§ DESCRIPTION π§
For more details, see DOC: Theory of Operation. (iykyk π)
So this is the main lookup function, main character energy fr fr. She matches your key data against either the working match set or the uncommitted copy β it all depends on what the caller passed in to her. She's flexible like that π«Ά
nft_pipapo_get(that's the lookup from userspace/control plane) andnft_pipapo_lookup(the datapath lookup) β both of them pass the active copy β¨- the insertion path is gonna pass the uncommitted working copy π οΈ
periodt. that's the whole vibe check.
π RETURN π
A pointer to struct nft_pipapo_elem when there's a match, and NULL otherwise π
ngl, NULL is the "she's not here" of return values. don't panic, it's just not a match π
π SEE ALSO π
Kernel file ./net/netfilter/nft_set_pipapo.c Theory of Operation(9), pipapo_refill(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_estimate(9), nft_pipapo_init(9), nft_set_pipapo_match_destroy(9), nft_pipapo_destroy(9), nft_pipapo_gc_init(9)
like, that's the whole group chat, everyone's invited π
mwah π this page came from ./net/netfilter and it's dated October 2026 β screenshot it, bookmark it, tattoo it, idc, just remember the date 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