STRUCT BATADV_DAT_ENTRY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct batadv_dat_entry(9) β€” the kernel API manual, bestie edition ✨

okay so this is the manual page for struct batadv_dat_entry in the batman-adv kernel API manual, and honestly? it's a whole little icon. let me put you on πŸ’…

🌸 NAME 🌸

struct batadv_dat_entry β€” it's literally a single entry of the batman-adv ARP backend. no cap. it's used to store the ARP entries you need for the global DAT cache 🫢

⭐ SYNOPSIS ⭐

here's the whole struct, copied exactly, don't come for me:

struct batadv_dat_entry {
    __be32 ip;
    atomic64_t mac_addr;
    unsigned short vid;
    unsigned long last_update;
    struct hlist_node hash_entry;
    struct kref refcount;
    struct rcu_head rcu;
 };

πŸ’– Members πŸ’–

look at every single field, they all ate:

  • ip β€” the IPv4 that corresponds to this DAT/ARP entry πŸ‘‘
  • mac_addr β€” the MAC address that's associated with the stored IPv4 πŸŽ€
  • vid β€” the vlan ID that's associated with this entry
  • last_update β€” time in jiffies for when this entry got refreshed last time ⏰
  • hash_entry β€” the hlist node for batadv_priv_dat.hash
  • refcount β€” number of contexts the object is used in
  • rcu β€” struct used for freeing in an RCU-safe manner (safety first, always πŸ”₯)

🌈 SEE ALSO 🌈

kernel file ./net/batman-adv/types.h, plus this absolutely iconic lineup of related pages β€” iykyk:

  • 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_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_hw_addr(9)
  • struct batadv_dat_candidate(9)
  • struct batadv_tvlv_container(9)
  • struct batadv_tvlv_handler(9)
  • enum batadv_tvlv_handler_flags(9)

and that's the whole page, bestie, you're so welcome πŸ’œ this one came from ./net/batman-adv, dated October 2026 β€” slay, go read some kernel source, ily, bye 🧚✨

πŸ“¦ where this page comes from