nft_pipapo_avx2_lookup_4b_4(9)
π nft_pipapo_avx2_lookup_4b_4 β from the Kernel API Manual, bestie π
okay so picture this: it's a Tuesday, you're deep in net/netfilter, and you need an AVX2-based lookup for 4 four-bit groups. yeah. that one. this is the page for it, and honestly? it's giving legend behaviour. β¨
πΈ NAME πΈ
nft_pipapo_avx2_lookup_4b_4 β literally the AVX2-based lookup for 4 four-bit groups. that's the whole vibe. no cap. π
π¦ SYNOPSIS π¦
int nft_pipapo_avx2_lookup_4b_4 (unsigned long *map , unsigned long
*fill , const struct nft_pipapo_field *f , int offset , const u8 *pkt ,
bool first , bool last );
π ARGUMENTS π
like, every single one of them. here we go, bestie π«Ά
mapβ the previous match result, and it gets used as the initial bitmap. it's the before picture. πfillβ the destination bitmap, and it's the one getting filled up with the current match result. it's the after picture. πfβ the field, and it's carrying the lookup and mapping tables. main character energy fr fr. πoffsetβ ignore buckets before the given index, and heads up: no bits are filled there. like, none. zero. don't come for that region. πpktβ packet data, aka a pointer to the input nftables register. πfirstβ if this is the first field, don't source the previous result. fresh start bestie, we're not bringing old baggage into this. πlastβ last field: stop at the first match and return the bit index. we're done, we're leaving, we're not looking back. β¨
π§ DESCRIPTION π§
so, See nft_pipapo_avx2_lookup_4b_2. β that's the whole cross-reference, go read that one for the lore. iykyk.
and for the record: this is used for 16-bit fields (i.e. ports). π ports!! 16-bit!! the way that works!! π
π₯ RETURN π₯
-1on no match. nothing. nada. we go home empty-handed. π- rule index of match if
lastβ like, you asked for the last one, you get the answer. - otherwise, the first long word index to be checked next (i.e. first filled word). it's a little pointer of a return value, showing you where to look next. π«Ά
π SEE ALSO π
okay this is the whole group chat, everyone's here, no one got left on read:
- 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_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)nft_pipapo_avx2_estimate(9)pipapo_resmap_init_avx2(9)pipapo_get_avx2(9)nft_pipapo_avx2_lookup(9)
and that's the page!! π mwah π
huge slay sign-off: this one lives in ./net/netfilter and it's dated October 2026, so mark your calendars bestie, this manual page ate and left no crumbs. ππ¦π
π¦ 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