batadv_dat_init(9)
π batadv_dat_init(9) π
okay so bestie, welcome to the batadv_dat_init page from the Kernel API Manual β yes that Kernel API Manual, the one with all the lore. this one's short and sweet but it's literally the origin story for the DAT internals, so pay attention π
β¨ NAME β¨
batadv_dat_init β initialise the DAT internals. that's it. that's the whole vibe check. it sets the DAT stuff up so the rest of the mesh can actually do its thing π¦
πΈ SYNOPSIS πΈ
int batadv_dat_init (struct batadv_priv *bat_priv );
one function, one argument, one int coming back at you. iconic honestly π
π§ ARGUMENTS π§
bat_privβ the bat priv with all the mesh interface information. yeah, all of it. this is the main character struct keeping track of everything about your mesh interface, so hand it over and let DAT do its thing π«Ά
β RETURN β
0β success, we slayed, everything's initialised π- a negative error code β otherwise π something went sideways, and the negative number is the receipts
π SEE ALSO π
okay this list is long but it's all fam, no skipping ngl. the kernel file lives at ./net/batman-adv/distributed-arp-table.c, and the whole extended universe is:
enum batadv_bootpop(9)enum batadv_boothtype(9)enum batadv_dhcpoptioncode(9)enum batadv_dhcptype(9)struct batadv_dhcp_packet(9)struct batadv_dhcp_header(9)struct batadv_dhcp_option_header(9)batadv_dat_start_timer(9)batadv_dat_entry_release(9)batadv_dat_entry_put(9)batadv_dat_to_purge(9)__batadv_dat_purge(9)batadv_dat_purge(9)batadv_compare_dat(9)batadv_arp_hw_src(9)batadv_arp_ip_src(9)batadv_arp_hw_dst(9)batadv_arp_ip_dst(9)batadv_hash_dat(9)batadv_dat_entry_hash_find(9)batadv_dat_entry_add(9)batadv_dbg_arp(9)batadv_is_orig_node_eligible(9)batadv_choose_next_candidate(9)batadv_dat_select_candidates(9)batadv_dat_forward_data(9)batadv_dat_tvlv_container_update(9)batadv_dat_status_update(9)batadv_dat_tvlv_ogm_handler_v1(9)batadv_dat_hash_free(9)batadv_dat_free(9)batadv_dat_cache_dump_entry(9)batadv_dat_cache_dump_bucket(9)batadv_dat_cache_dump(9)batadv_arp_get_type(9)batadv_dat_get_vid(9)batadv_dat_arp_create_reply(9)batadv_dat_snoop_outgoing_arp_request(9)batadv_dat_snoop_incoming_arp_request(9)batadv_dat_snoop_outgoing_arp_reply(9)batadv_dat_snoop_incoming_arp_reply(9)batadv_dat_check_dhcp_ipudp(9)batadv_dat_check_dhcp(9)batadv_dat_get_dhcp_message_type(9)batadv_dat_dhcp_get_yiaddr(9)batadv_dat_get_dhcp_chaddr(9)batadv_dat_put_dhcp(9)batadv_dat_check_dhcp_ack(9)batadv_dat_snoop_outgoing_dhcp_ack(9)batadv_dat_snoop_incoming_dhcp_ack(9)batadv_dat_drop_broadcast_packet(9)
like I said. the whole extended universe π
lowkey reminder bestie: this page is from ./net/batman-adv, dated October 2026 β so when you cite it, cite it right π
and that's the page!! go initialise those DAT internals, you're gonna eat πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms