STRUCT BATADV_TT_COMMON_ENTRY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct batadv_tt_common_entry(9) πŸ’–

okay bestie, buckle up β€” this is a page from the Kernel API Manual, and it's literally the blueprint for the shared data that both the tt local and tt global entries rock. same energy, one struct, no cap 🫢


✨ NAME ✨

struct batadv_tt_common_entry β€” the tt local & tt global common data. it's giving "shared DNA" and honestly? iconic.


🌸 SYNOPSIS 🌸

struct batadv_tt_common_entry {
    u8 addr[ETH_ALEN];
    unsigned short vid;
    struct hlist_node hash_entry;
    u16 flags;
    unsigned long added_at;
    struct kref refcount;
    struct rcu_head rcu;
 };

there she is. the whole squad, laid out πŸ’…


πŸŽ€ MEMBERS πŸŽ€

so each of these fields is a main character in the group chat. let's meet them πŸ¦‹

  • addr β€” the mac address of the non-mesh client. that's their whole identity bestie 😭
  • vid β€” the VLAN identifier. which vlan are we even talking about, ykwim
  • hash_entry β€” an hlist node, used for either batadv_priv_tt.local_hash or batadv_priv_tt.global_hash depending on the vibe. two homes, one field, lowkey iconic.
  • flags β€” the various state handling flags (peep batadv_tt_client_flags for the full lore). it's giving status updates ✨
  • added_at β€” a timestamp, and its whole job is purging stale tt common entries. not me being the cleanup crew πŸ’€
  • refcount β€” number of contexts the object is used in. keep an eye on it or things get weird πŸ‘€
  • rcu β€” a struct used for freeing in an RCU-safe manner. safety first, always 🧚

🌈 SEE ALSO 🌈

this struct does not exist in a vacuum, bestie β€” here's the entire extended universe, all from the Kernel file ./net/batman-adv/types.h:

  • 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_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_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)

like, the whole friend group fr fr πŸ”₯


ok that's the whole page bestie, every single member and every single cross-reference, no skips, no cap πŸ’œ

and that's a wrap, gorgeous β€” this one comes straight out of ./net/batman-adv, dated October 2026. go forth and struct responsibly πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from