batadv_bla_check_duplist(9)
π batadv_bla_check_duplist(9) π
okay so bestie, this is the Kernel API Manual page for batadv_bla_check_duplist, and it is literally the vibe check for broadcast duplicates. no cap. π«Ά
β¨ NAME β¨
batadv_bla_check_duplist β Check if a frame is in the broadcast dup.
πΈ SYNOPSIS πΈ
bool batadv_bla_check_duplist (struct batadv_priv *bat_priv , struct
sk_buff *skb , int payload_offset , const u8 *orig );
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. itβs giving βmain character data structureβ energy, fr fr.skbβ contains the multicast packet to be checked. yes bestie, this is the packet in question πpayload_offsetβ offset in theskb, marking the start of the data to be CRC'ed. iconic little pointer into the payload β¨origβ originator mac address,NULLif unknown. if we donβt know who sent it, itβs justNULLand we move on π«‘
π¦ DESCRIPTION π¦
Check if it is on our broadcast list. another gateway might have sent the same packet because it is connected to the same backbone, so we have to remove this duplicate. the way that mesh networking just does that π
This is performed by checking the CRC, which will tell us with a good chance that it is the same packet. If it is furthermore sent by another host, drop it. We allow equal packets from the same host however as this might be intended. periodt π
lowkey important: same packet from another host gets dropped, but equal packets from the same host are allowed because that might be intended. no extra guesses, thatβs just the rule π₯
π RETURN π
true if a packet is in the duplicate list, false otherwise. simple as that, bestie. β
π SEE ALSO π
Kernel file ./net/batman-adv/bridge_loop_avoidance.c β the source file, iykyk π§
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_ucast_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)
and thatβs the whole squad, bestie π«Ά signed off from ./net/batman-adv, dated October 2026, for the batadv_bla_check_duplist(9) page in the Kernel API Manual. slay πβ¨
π¦ 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