STRUCT BATADV_ORIG_NODE_VLAN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 STRUCT BATADV_ORIG_NODE_VLAN(9) 🌸

okay bestie, welcome to the kernel API manual for struct batadv_orig_node_vlan β€” yes it's a real page, yes it's a kernel API Manual page, and yes, we're gonna get through it together πŸ’…


✨ NAME ✨

struct batadv_orig_node_vlan β€” the per-orig_node, VLAN-specific data situation. like, every originator node gets to keep a lil VLAN-flavoured sidecar, and this struct is that sidecar πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole glow-up, verbatim, no cap:

struct batadv_orig_node_vlan {
    unsigned short vid;
    struct batadv_vlan_tt tt;
    struct hlist_node list;
    struct kref refcount;
    struct rcu_head rcu;
 };

πŸ‘‘ Members πŸ‘‘

okay so, member by member, main character by main character:

  • vid β€” the VLAN identifier. that's the whole point of the VLAN-specific data, bestie, it's giving identity 🌈
  • tt β€” the VLAN specific TT attributes. TT but make it VLAN-scoped ✨
  • list β€” the list node for batadv_orig_node.vlan_list. this is how it links up with its friends 🫢
  • refcount β€” number of contexts where this object is currently in use. literally counting who's holding on rn πŸ’€
  • rcu β€” the struct used for freeing in a RCU-safe manner. no cap, this is the cleanup crew that does it safely 🧚

πŸ’œ SEE ALSO πŸ’œ

so there's a whole friend group here, and the kernel file is ./net/batman-adv/types.h β€” go say hi to all of these icons:

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

ngl bestie, that's the whole page β€” every member, every field, every see-also. nothing skipped, we ate and left no crumbs πŸ”₯

πŸŒΈπŸ’– and that's a wrap! this lil gem lives in ./net/batman-adv and the page is dated October 2026 β€” so yeah, future vibes only βœ¨πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from