batadv_bla_send_loopdetect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_bla_send_loopdetect β€” a Kernel API Manual moment ✨

okay bestie, so we're in the Kernel API Manual today and the star of the show is batadv_bla_send_loopdetect β€” literally the function that sends a loopdetect frame πŸŽ€


✨ NAME ✨

batadv_bla_send_loopdetect β€” send a loopdetect frame 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

void batadv_bla_send_loopdetect (struct batadv_priv *bat_priv , struct
       batadv_bla_backbone_gw *backbone_gw );

no cap, that's the whole signature β€” it returns void, so don't go looking for a return value, there isn't one πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • bat_priv β€” the bat priv with all the mesh interface information ✨ like, it's the whole mesh-interface-info situation in one struct
  • backbone_gw β€” the backbone gateway for which a loop should be detected πŸ‘‘

🌈 DESCRIPTION 🌈

so here's the vibe check 🫢 β€” bridge loop avoidance has some loops it can't handle, and this function is the girlboss move for catching those. It sends a loop detection packet out on the backbone.

and here's the iconic little twist πŸ‘€ β€” unlike other BLA frames, this frame will be allowed on the mesh by other nodes. That's the whole trick. So if it gets received on the mesh? that literally indicates that there is a loop πŸ˜­πŸ’€

fr fr, the frame showing back up on the mesh is the red flag 🚩 β€” that's the detection working as intended, not the network being cute.

πŸ’œ SEE ALSO πŸ’œ

Kernel file: ./net/batman-adv/bridge_loop_avoidance.c 🧚

the whole friend group, one bullet each πŸŽ€:


✨ that's the page, bestie ✨ this one lives in ./net/batman-adv, dated October 2026 β€” go off, bridge loop avoidance, you ate πŸ’…πŸ“πŸ’–

πŸ“¦ where this page comes from