STRUCT BATADV_PRIV_BLA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct batadv_priv_bla(9) πŸ¦‹

okay bestie, welcome to the Kernel API Manual page for struct batadv_priv_bla(9) β€” the per mesh interface bridge loop avoidance data. It's the BLA backstage pass, basically. We're gonna read it top to bottom, no cap πŸ’…βœ¨

🌸 NAME 🌸

struct batadv_priv_bla β€” per mesh interface bridge loop avoidance data.

That's the whole vibe: it's the per mesh interface bridge loop avoidance data, and it's lowkey iconic πŸ‘‘

⭐ SYNOPSIS ⭐

Here's the struct in all its glory β€” field names are sacred, don't rename a single one:

struct batadv_priv_bla {
    atomic_t num_requests;
    spinlock_t num_requests_lock;
    struct batadv_hashtable *claim_hash;
    struct batadv_hashtable *backbone_hash;
    u8 loopdetect_addr[ETH_ALEN];
    unsigned long loopdetect_lasttime;
    atomic_t loopdetect_next;
    struct batadv_bcast_duplist_entry
bcast_duplist[BATADV_DUPLIST_SIZE];
    int bcast_duplist_curr;
    spinlock_t bcast_duplist_lock;
    struct batadv_bla_claim_dst claim_dest;
    struct delayed_work work;
 };

πŸ’– Members πŸ’–

  • num_requests β€” number of bla requests in flight, literally keeping tabs on what's in the air.
  • num_requests_lock β€” the lock for the update of num_requests + batadv_backbone_gw::state + batadv_backbone_gw::wait_periods update. Yes, all of that, and it's giving very busy bouncer energy.
  • claim_hash β€” hash table containing mesh nodes this host has claimed.
  • backbone_hash β€” hash table containing all detected backbone gateways.
  • loopdetect_addr β€” MAC address used for own loopdetection frames.
  • loopdetect_lasttime β€” time when the loopdetection frames were sent.
  • loopdetect_next β€” how many periods to wait for the next loopdetect process.
  • bcast_duplist β€” recently received broadcast packets array, specifically for broadcast duplicate suppression.
  • bcast_duplist_curr β€” index of last broadcast packet added to bcast_duplist.
  • bcast_duplist_lock β€” lock protecting bcast_duplist & bcast_duplist_curr.
  • claim_dest β€” local claim data, e.g. claim group.
  • work β€” work queue callback item for cleanups & bla announcements.

🌈 SEE ALSO 🌈

Kernel file ./net/batman-adv/types.h β€” and then the whole extended universe, fr fr:

  • batadv_dat_addr_t(9)
  • enum batadv_dhcp_recipient(9)
  • BATADV_TT_REMOTE_MASK(9)
  • BATADV_TT_SYNC_MASK(9)
  • struct batadv_ogm_buf(9)
  • struct batadv_hard_iface_bat_iv(9)
  • enum batadv_v_hard_iface_flags(9)
  • struct batadv_hard_iface_bat_v(9)
  • enum batadv_hard_iface_wifi_flags(9)
  • struct batadv_wifi_net_device_state(9)
  • struct batadv_hard_iface(9)
  • struct batadv_orig_ifinfo_bat_iv(9)
  • struct batadv_orig_ifinfo(9)
  • struct batadv_frag_table_entry(9)
  • struct batadv_frag_list_entry(9)
  • struct batadv_vlan_tt(9)
  • struct batadv_orig_node_vlan(9)
  • struct batadv_orig_bat_iv(9)
  • struct batadv_orig_node(9)
  • enum batadv_orig_capabilities(9)
  • struct batadv_gw_node(9)
  • struct batadv_hardif_neigh_node_bat_v(9)
  • struct batadv_hardif_neigh_node(9)
  • struct batadv_neigh_node(9)
  • struct batadv_neigh_ifinfo_bat_iv(9)
  • struct batadv_neigh_ifinfo_bat_v(9)
  • struct batadv_neigh_ifinfo(9)
  • struct batadv_bcast_duplist_entry(9)
  • enum batadv_counters(9)
  • struct batadv_priv_tt(9)
  • struct batadv_priv_gw(9)
  • struct batadv_priv_tvlv(9)
  • struct batadv_priv_dat(9)
  • struct batadv_mcast_querier_state(9)
  • struct batadv_mcast_mla_flags(9)
  • struct batadv_priv_mcast(9)
  • struct batadv_tp_unacked(9)
  • struct batadv_tp_vars_common(9)
  • struct batadv_tp_sender_cc(9)
  • struct batadv_tp_sender(9)
  • struct batadv_tp_receiver(9)
  • struct batadv_meshif_vlan(9)
  • struct batadv_priv_bat_v(9)
  • struct batadv_priv(9)
  • enum batadv_bla_backbone_gw_state(9)
  • struct batadv_bla_backbone_gw(9)
  • struct batadv_bla_claim(9)
  • struct batadv_tt_common_entry(9)
  • struct batadv_tt_local_entry(9)
  • struct batadv_tt_global_entry(9)
  • struct batadv_tt_orig_list_entry(9)
  • struct batadv_tt_change_node(9)
  • struct batadv_tt_req_node(9)
  • struct batadv_tt_roam_node(9)
  • struct batadv_skb_cb(9)
  • struct batadv_forw_packet(9)
  • struct batadv_algo_iface_ops(9)
  • struct batadv_algo_neigh_ops(9)
  • struct batadv_algo_orig_ops(9)
  • struct batadv_algo_gw_ops(9)
  • struct batadv_algo_ops(9)
  • struct batadv_dat_entry(9)
  • struct batadv_hw_addr(9)
  • struct batadv_dat_candidate(9)
  • struct batadv_tvlv_container(9)
  • struct batadv_tvlv_handler(9)
  • enum batadv_tvlv_handler_flags(9)

Signed off with ./net/batman-adv energy, dated October 2026, and still filed under struct batadv_priv_bla(9) β€” bye bestie, mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from