pipapo_expand(9)
π pipapo_expand(9) β like, the Kernel API Manual one, bestie β¨
okay so first thing: this is a section 9 page (kernel API manual, iykyk), and it's about pipapo_expand. she's a lil function with a big job and honestly? main character energy. let's get into it π«Ά
πΈ NAME πΈ
pipapo_expand β expand to composing netmasks, insert into lookup table
like yes, that's the whole vibe. she expands a range into composing netmasks and then inserts the corresponding stuff into the lookup table. slay π
β¨ SYNOPSIS β¨
int pipapo_expand (struct nft_pipapo_field *f , const u8 *start , const
u8 *end , int len );
that's the signature, exactly as written, no notes π₯
π ARGUMENTS π
fβ the field containing the lookup table π like this is the container she's working in, bestie.startβ start of range. literally the beginning, no cap.endβ end of range. where the whole thing stops πlenβ length of value in bits. so like, measured in bits, not bytes, don't get it twisted β¨
π¦ DESCRIPTION π¦
so what she actually does: expand the range to composing netmasks, and insert the corresponding rule references in lookup buckets π
that's it. that's the job. she takes your range, breaks it down into composing netmasks, and drops the matching rule references into the lookup buckets. iconic behaviour, no notes π
β RETURN β
- number of inserted rules on success π
- a negative error code on failure π (the sad path, we don't love her but we respect her)
π§ SEE ALSO π§
so there are, like, a lot of friends in this orbit. family reunion energy fr fr π
./net/netfilter/nft_set_pipapo.cTheory of Operation(9) β the lore. read this one if you want the whole backstory π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_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)
that's the whole group chat, everyone accounted for πβ¨
okay bye bestie, go read your netfilter source π this page lives in ./net/netfilter, dated October 2026, and honestly? she ate. periodt π
π₯π
π¦ 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