STRUCT BATADV_PRIV_TVLV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct batadv_priv_tvlv(9) β€” Kernel API Manual πŸ’–

okay bestie, welcome to the Kernel API Manual page for struct batadv_priv_tvlv β€” yes, the per mesh interface tvlv data one. it's giving kernel internals, but we're gonna slay this together 🫢


πŸŽ€ NAME πŸŽ€

struct batadv_priv_tvlv β€” per mesh interface tvlv data. that's the whole vibe: tvlv data that lives per mesh interface, fr fr. ✨

✨ SYNOPSIS ✨

here's the struct in all its glory β€” copy it exactly, no touchy:

       struct batadv_priv_tvlv {
           struct hlist_head container_list;
           struct hlist_head handler_list;
           spinlock_t container_list_lock;
           spinlock_t handler_list_lock;
        };

πŸ’– Members πŸ’–

okay so every field is a main character here:

  • container_list β€” list of registered tvlv containers to be sent with each OGM. lowkey this is the roster of tvlv containers that goes out with every single OGM, periodt. πŸ’…
  • handler_list β€” list of the various tvlv content handlers. the whole squad of tvlv content handlers lives here. 🧚
  • container_list_lock β€” protects tvlv container list access. spinlock moment: it guards access to the tvlv container list. πŸ”’
  • handler_list_lock β€” protects handler list access. and this spinlock guards access to the handler list, no cap. πŸ”

🌈 SEE ALSO 🌈

bestie, the Kernel file ./net/batman-adv/types.h is the mothership, and here is the entire friend group you're gonna see around:

  • 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_bla(9)
  • struct batadv_priv_gw(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)

mwah πŸ’‹ β€” signed, ./net/batman-adv, October 2026, struct batadv_priv_tvlv(9).

πŸ“¦ where this page comes from