batadv_dat_...ng_arp_reply(9)
π NAME
batadv_dat_snoop_outgoing_arp_reply β okay so it snoops the ARP reply and then fills the DHT. That's the whole vibe. β¨
π«Ά SYNOPSIS
void batadv_dat_snoop_outgoing_arp_reply (struct batadv_priv *bat_priv ,
struct sk_buff *skb );
πΈ ARGUMENTS
bat_privβ the bat priv, bestie. It's carrying all the mesh interface information, like the group chat admin of structs.skbβ the packet you want checked. Yes, that packet.
π DESCRIPTION
β οΈ Warning, and I need you to actually read this one: this function may reallocate the skb data buffer via batadv_dat_get_vid/...
So like β any pointer into the skb data (for example, one you got from skb->data or eth_hdr) before this call? Consider it invalid afterwards. Literally invalid. You have to reacquire it. No keeping stale pointers, that's not the move. π
π SEE ALSO
Kernel file ./net/batman-adv/distributed-arp-table.c β and the whole friend group:
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_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_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)
Okay that's the whole page, go reacquire your pointers and slay π
β¨ Source/version: ./net/batman-adv β dated October 2026 β and this iconic entry is batadv_dat_...ng_arp_reply(9). Periodt. ππ¦
π¦ 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