batadv_dat_entry_add(9)
π batadv_dat_entry_add(9) β a Kernel API Manual moment
okay so bestie, welcome to the Kernel API Manual β¨ this one's called batadv_dat_entry_add and it's genuinely iconic. let's get into it π
πΈ NAME πΈ
batadv_dat_entry_add β the function that adds a new dat entry, or updates it if one already exists π
literally that's her whole job. add it, or update it. no cap.
β¨ SYNOPSIS β¨
void batadv_dat_entry_add (struct batadv_priv *bat_priv , __be32 ip , u8
*mac_addr , unsigned short vid );
she takes four things and returns void β so like, she doesn't hand you anything back, she just does the thing. main character energy fr fr π
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information. it's giving "the whole entire vibe of the mesh in one struct" π everything you need to know about the mesh interface lives in here.ipβ ipv4 to add/edit. it's a__be32, so mind your endianness bestie πmac_addrβ mac address to assign to the given ipv4. this is the whole point of the mapping, so like, get it right π«Άvidβ VLAN identifier.unsigned short, keeping the VLANs cute and separated π
π₯ SEE ALSO π₯
okay this is the part where she name-drops literally everyone she knows. it's a lot. but we do not skip a single one, because every single reference matters π
kernel file: ./net/batman-adv/distributed-arp-table.c
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_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_init(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. everyone. and she means every single one ππ
so yeah, that's the whole page π go add your dat entries, bestie. slay.
sourced straight from ./net/batman-adv, dated October 2026 β mwah, xoxo π
π¦ 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