batadv_bla_get_backbone_gw(9)
π batadv_bla_get_backbone_gw β the "find it or make it" girlie of bridge loop avoidance
okay so bestie, welcome to the batadv_bla_get_backbone_gw(9) page π this is a Kernel API Manual moment and honestly the whole thing is about one job: you hand it some stuff, and it either finds you a backbone gateway or creates one for you. lowkey iconic. literally a find-or-create. slay.
β¨ NAME β¨
batadv_bla_get_backbone_gw β finds or creates a backbone gateway π«Ά
πΈ SYNOPSIS πΈ
struct batadv_bla_backbone_gw * batadv_bla_get_backbone_gw (struct
batadv_priv *bat_priv , const u8 *orig , unsigned short vid , bool
own_backbone );
that's the whole signature, no cap β four args in, a struct batadv_bla_backbone_gw * out π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. it's giving "main character data structure", it's got the whole mesh interface tea in it π¦origβ the mac address of the originator.const u8 *bestie, so don't you dare go writing through it πvidβ the VLAN ID. unsigned short energy β¨own_backboneβ set if the requested backbone is local. like, is this backbone ours? set the bool, tell the truth π
β RETURN β
the (possibly created) backbone gateway β or NULL on error π
heads up: that "possibly created" is doing a LOT of work in that sentence. this function might genuinely be over here conjuring a backbone gateway out of thin air for you. and if things go sideways you get NULL, so vibe check before you dereference, fr fr π
π SEE ALSO π
the kernel file, in all its glory:
./net/batman-adv/bridge_loop_avoidance.c
and the whole extended friend group (they're all (9) pages, we love a consistent squad):
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_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_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)
like, that is a roster. the BLA cinematic universe is real and you're in it π§
and that's the page bestie!! π written under the ./net/batman-adv umbrella, dated October 2026, and yes it's batadv_bla_get_backbone_gw(9) all the way down. mwah π go find (or create) yourself a backbone gateway, you absolute legend π
π¦ 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