batadv_dat_entry_hash_find(9)
π batadv_dat_entry_hash_find β a Kernel API Manual moment
okay so bestie, welcome to the batadv_dat_entry_hash_find page π this one lives in the Kernel API Manual, and it's literally the "where's my dat_entry" function. no cap.
β¨ NAME β¨
batadv_dat_entry_hash_find β look for a given dat_entry in the local hash table π¦
like, that's it. that's the whole job. you hand it a key, it goes digging in the local hash table, and it either comes back with your entry or with NULL and a vibe check failure π
πΈ SYNOPSIS πΈ
struct batadv_dat_entry * batadv_dat_entry_hash_find (struct batadv_priv
*bat_priv , __be32 ip , unsigned short vid );
she's a three-argument girlie and she returns a struct batadv_dat_entry *. periodt. π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information π«Ά this is the big bag of mesh-interface lore, all the context she needs to even start lookingipβ search key π this is the thing you're hunting for, an__be32, so yeah, big-endian, don't come at her with host byte ordervidβ VLAN identifier π·οΈ the VLAN you're poking around in
β RETURN β
the dat_entry if found, NULL otherwise. that's the whole deal π
like β found it? you get the struct batadv_dat_entry *. not found? NULL. no dramatic monologue, no extra error code, just the facts, fr fr.
ngl bestie, always check for NULL before you dereference, that's just basic main character energy π
π¦ SEE ALSO π¦
she does NOT roll alone, and the list is iconic and also extremely long, so buckle up π§
Kernel file ./net/batman-adv/distributed-arp-table.c, plus:
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_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_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)
that's the whole crew. go read them. iykyk π₯
okay that's the page!! π this one came from the kernel file ./net/batman-adv, and the version vibes say October 2026 β so yeah, mark your calendar bestie, this manual page is time-travelling from the future β¨π also yes, the page is literally called batadv_dat_entry_hash_find(9), lowercase-and-proud, no notes ππ«Ά
π¦ 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