batadv_bla_c...cast_duplist(9)
π batadv_bla_check_ucast_duplist β like, the whole kernel API manual vibe π
okay so before we even start β this page lives in the Kernel API Manual, bestie. that's the manual name, and it's giving very "I read kernel docs for fun" energy. which, same. π«Ά
β¨ NAME β¨
batadv_bla_check_ucast_duplist β check if a frame is in the broadcast dup.
like, yes, the name says ucast and the description says broadcast. that's not a typo on my end, that's literally what the page says. iykyk π
πΈ SYNOPSIS πΈ
bool batadv_bla_check_ucast_duplist (struct batadv_priv *bat_priv ,
struct sk_buff *skb );
she returns a bool, she takes two things, she's done. minimalist queen π
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information. it's the main character that holds, like, everything about the mesh interface. β¨skbβ contains the multicast packet to be checked, decapsulated from aunicast_packet. so it arrived as a unicast packet, but it got unpacked and now there's a multicast packet sitting inside. cute little nested situation π
π DESCRIPTION π
so what does she actually do. she checks if it's on our broadcast list. that's the vibe check. π
here's the drama though: another gateway might have sent the same packet because it's connected to the same backbone. so we have to remove this duplicate. no cap β same backbone, same packet, twice, and we are NOT about that life. we yeet the dupe. ποΈ
π RETURN π
trueif a packet is in the duplicate listfalseotherwise
that's it. that's the whole return section. short and iconic. β
π SEE ALSO π
first up, the actual kernel file this lives in:
- Kernel file
./net/batman-adv/bridge_loop_avoidance.c
and now the entire friend group, in order, no skipping, no cutting the list short because that would be rude π
batadv_choose_claim(9)batadv_choose_backbone_gw(9)batadv_compare_backbone_gw(9)batadv_compare_claim(9)batadv_backbone_gw_release(9)batadv_backbone_gw_put(9)batadv_claim_release(9)batadv_claim_put(9)batadv_claim_hash_find(9)batadv_backbone_hash_find(9)batadv_bla_del_backbone_claims(9)batadv_bla_send_claim(9)batadv_bla_loopdetect_report(9)batadv_bla_get_backbone_gw(9)batadv_bla_update_own_backbone_gw(9)batadv_bla_answer_request(9)batadv_bla_send_request(9)batadv_bla_send_announce(9)batadv_bla_add_claim(9)batadv_bla_claim_get_backbone_gw(9)batadv_bla_del_claim(9)batadv_handle_announce(9)batadv_handle_request(9)batadv_handle_unclaim(9)batadv_handle_claim(9)batadv_check_claim_group(9)batadv_bla_process_claim(9)batadv_bla_purge_backbone_gw(9)batadv_bla_purge_claims(9)batadv_bla_update_orig_address(9)batadv_bla_send_loopdetect(9)batadv_bla_status_update(9)batadv_bla_periodic_work(9)batadv_bla_init(9)batadv_bla_check_duplist(9)batadv_bla_check_bcast_duplist(9)batadv_bla_is_backbone_gw_orig(9)batadv_bla_is_backbone_gw(9)batadv_bla_free(9)batadv_bla_loopdetect_check(9)batadv_bla_rx(9)batadv_bla_tx(9)batadv_bla_claim_dump_entry(9)batadv_bla_claim_dump_bucket(9)batadv_bla_claim_dump(9)batadv_bla_backbone_dump_entry(9)batadv_bla_backbone_dump_bucket(9)batadv_bla_backbone_dump(9)batadv_bla_check_claim(9)
forty-nine references. she's social. she knows everyone at the party. π₯
ngl bestie, this is kernel-internal API documentation β it's not like, a command you type. it's describing a function inside ./net/batman-adv/bridge_loop_avoidance.c. read it, understand it, don't @ me about it. π
and that's the page!! sign-off time: this little beauty comes from ./net/batman-adv, dated October 2026. 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