batadv_bla_answer_request(9)
π batadv_bla_answer_request β from the Kernel API Manual, bestie π
Okay so picture this: you're deep in the Kernel API Manual (yes, that's the manual name, we're fancy here), and you stumble onto page batadv_bla_answer_request. And it's literally the "hey bestie, here are MY claims again, please re-check" function. Iconic behaviour, honestly.
β¨ NAME β¨
batadv_bla_answer_request β answer a bla request by sending own claims π«Ά
πΈ SYNOPSIS πΈ
void batadv_bla_answer_request (struct batadv_priv *bat_priv , struct
batadv_hard_iface *primary_if , unsigned short vid );
It returns void, so likeβ¦ no receipts, no return value, it just does the thing. Main character energy fr fr π
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information β¨ this is the whole vibe holder, all the mesh interface info lives in here.primary_ifβ interface where the request came on π₯ like, the door the knock came through.vidβ the vid where the request came on π·οΈ the vid in question, matching the request's vid, no cap.
π DESCRIPTION π
So what does it actually do? It repeats all of our own claims, and then, finally, it sends an ANNOUNCE frame β which lets the requester do another check, to see if the CRC is correct now. π₯
That's the whole arc. Re-claim everything, then announce, then let them re-verify. Chef's kiss, no notes. π
β SEE ALSO β
The Kernel file: ./net/batman-adv/bridge_loop_avoidance.c π (go read the source, iykyk)
And the whole friend group, in order, squad goals:
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_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)
Sign-off time, bestie π This little beauty ships from ./net/batman-adv, dated October 2026 β so like, future-core but make it kernel π¦π. Now go forth and answer those requests, you gorgeous genius. 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