nft_pipapo_avx2_lookup_8b_2(9)
πΈ nft_pipapo_avx2_lookup_8b_2 β NAME π
okay so bestie, welcome to the Kernel API Manual β¨ and lemme introduce you to nft_pipapo_avx2_lookup_8b_2 β the AVX2-based lookup for 2 eight-bit groups. that's it, that's the whole vibe. she does lookups, she does them with AVX2, she handles two eight-bit groups at a time, and she absolutely ate π
β¨ SYNOPSIS β¨
int nft_pipapo_avx2_lookup_8b_2 (unsigned long *map , unsigned long *fill , const struct nft_pipapo_field *f , int offset , const u8 *pkt , bool first , bool last );
like, look at that signature. seven whole parameters. she's got range π«Ά
π¦ ARGUMENTS π¦
mapβ the previous match result, and she's used as the initial bitmap. think of it as the receipts from last time, still valid πfillβ the destination bitmap, aka where the current match result gets poured into. she's the empty cup, bestie πfβ the field itself, and bestie she is packed: she contains the lookup and mapping tables πoffsetβ ignore every bucket before this index, and no bits get filled in there. like, we're not even looking at those, periodt πpktβ the packet data, aka a pointer to the input nftables register. the actual material we're working with πfirstβ if this is the very first field, do not source the previous result. fresh start energy, main character behavior βlastβ last field!! stop at the first match and return that bit index. she's done, she's out, she's closing the group chat π
π§ DESCRIPTION π§
okay so the actual explanation: see nft_pipapo_avx2_lookup_4b_2. that's the reference, go read her, she's iconic π
this one right here is used for 16-bit fields β i.e. ports π and that's genuinely the whole description, no cap.
π₯ RETURN π₯
-1on no match π (she looked, she found nothing, it happens)- the rule index of the match if
lastis set π - otherwise, the first long word index to be checked next β i.e. the first filled word β so you know where to look next, iykyk πΈ
π SEE ALSO π
- Kernel file
./net/netfilter/nft_set_pipapo_avx2.c 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_4(9),nft_pipapo_avx2_lookup_8b_6(9),nft_pipapo_avx2_lookup_8b_16(9),nft_pipapo_avx2_lookup_slow(9),nft_pipapo_avx2_estimate(9),pipapo_resmap_init_avx2(9),pipapo_get_avx2(9),nft_pipapo_avx2_lookup(9)
the whole friend group, honestly π«Άβ¨
aaaand that's the page!! this one lives in ./net/netfilter, dated October 2026, and the header up top says nft_pipapo_avx2_lookup_8b_2(9) β the full manual name is the Kernel API Manual, in case you were wondering π bye bestie, go match some ports ππ¦
π¦ 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