STRUCT BATADV_WIFI_NET_DEVICE_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, welcome to the Kernel API Manual page for struct batadv_wifi_net_device_state(9) β€” it’s giving β€œlittle cache with main character energy” and I’m obsessed. We’re keeping every field, every reference, and every crumb of info, periodt πŸ’…

✨ NAME ✨

struct batadv_wifi_net_device_state β€” cache of wifi information of net_devices. literally that’s the whole name, no cap πŸŽ€

πŸŽ€ SYNOPSIS πŸŽ€

Here’s the struct in all its exact, copy-pasteable glory:

struct batadv_wifi_net_device_state {
    struct rhash_head l;
    struct net_device *netdev;
    netdevice_tracker dev_tracker;
    u32 wifi_flags;
    struct rcu_head rcu;
 };

πŸ¦‹ Members πŸ¦‹

okay so every field is here, doing its thing:

  • l β€” anchor in rhashtable β€” yes, the anchor, keeping it anchored πŸ’…
  • netdev β€” pointer to the net_device β€” it’s literally pointing at the net_device, slay 🫢
  • dev_tracker β€” device tracker for netdev β€” tracker behavior, we love to see it πŸŽ€
  • wifi_flags β€” flags whether this is (directly or indirectly) a wifi interface β€” direct or indirect, it’s flagging the wifi situation ✨
  • rcu β€” struct used for freeing in an RCU-safe manner β€” RCU-safe freeing, no chaos allowed 😭

🌈 SEE ALSO 🌈

Kernel file ./net/batman-adv/types.h β€” home base 🏠. And then the whole icon squad, in the exact same order:

  • 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_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_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 off from source/version ./net/batman-adv, dated October 2026, with footer energy from struct bata...device_state(9), bye bestie! 🫢

πŸ“¦ where this page comes from