pipapo_get_avx2(9)
π pipapo_get_avx2 β the AVX2 lookup girlies' moment (Kernel API Manual, section 9)
okay so bestie, real talk: this is pipapo_get_avx2, and she is the fast one. Same lookup job as the regular pipapo path, except she's out here exploiting SIMD and looking iconic while doing it. π¦
β¨ NAME β¨
pipapo_get_avx2 β literally the Lookup function for the AVX2 implementation. That's her whole job description and she ate. π
π SYNOPSIS π
struct nft_pipapo_elem * pipapo_get_avx2 (const struct nft_pipapo_match
*m , const u8 *data , u8 genmask , u64 tstamp );
that's the whole signature bestie, take it in. m, data, genmask, tstamp β four args, zero skips. π₯
πΈ ARGUMENTS πΈ
mβ the storage that's holding all the set elements. that's the whole closet she's rummaging through. πdataβ the key data being matched against the elements you already have. your little search query, basically. πgenmaskβ if it's set, she checks that the element is actually active in the givengenmask. no zombies allowed, only alive girlies. β¨tstampβ the timestamp used to check whether elements are expired. she's checking IDs at the door fr fr. β°
π DESCRIPTION π
so for the full lore, go read DOC: Theory of Operation in nft_set_pipapo.c β that's where the deep backstory lives, iykyk.
But the tea on this one specifically: this implementation exploits the repetitive characteristic of the algorithm to give you a fast, vectorised version using the AVX2 SIMD instruction set. like. she's doing the same math, just four-or-more lanes at a time, and honestly? obsessed. π§β
β οΈ two very real rules, no cap: - the caller must check that the FPU is usable. - this function must be called with BH disabled. those aren't vibes, those are requirements. do not skip them. π
π RETURN π
pointer to struct nft_pipapo_elem on match, NULL otherwise. hit or miss, babes β there is no third option. π
π SEE ALSO π
kernel file ./net/netfilter/nft_set_pipapo_avx2.c β the source, the mothership, go look:
nft_pipapo_avx2_prepare(9)nft_pipapo_avx2_fill(9)nft_pipapo_avx2_refill(9)nft_pipapo_avx2_lookup_4b_2(9)nft_pipapo_avx2_lookup_4b_4(9)nft_pipapo_avx2_lookup_4b_8(9)nft_pipapo_avx2_lookup_4b_12(9)nft_pipapo_avx2_lookup_4b_32(9)nft_pipapo_avx2_lookup_8b_1(9)nft_pipapo_avx2_lookup_8b_2(9)nft_pipapo_avx2_lookup_8b_4(9)nft_pipapo_avx2_lookup_8b_6(9)nft_pipapo_avx2_lookup_8b_16(9)nft_pipapo_avx2_lookup_slow(9)(the fallback queen herself π«Ά)nft_pipapo_avx2_estimate(9)pipapo_resmap_init_avx2(9)nft_pipapo_avx2_lookup(9)
β¨ mwah β¨ that's the whole page, bestie. this cutie came to you from ./net/netfilter, dated October 2026, and her name's pipapo_get_avx2(9) in case you forgot already πππ
π¦ 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