batadv_dat_s...ing_dhcp_ack(9)
π batadv_dat_snoop_outgoing_dhcp_ack(9)
okay bestie, so this is a page out of the Kernel API Manual β yes, that one β and it's about a little function called batadv_dat_snoop_outgoing_dhcp_ack. she's nosy, she's iconic, and honestly? she's doing the most for your mesh network. let's get into it π«Ά
β¨ NAME β¨
batadv_dat_snoop_outgoing_dhcp_ack β snoop a DHCPACK and fill DAT with it ππ
β¨ SYNOPSIS β¨
void batadv_dat_snoop_outgoing_dhcp_ack (struct batadv_priv *bat_priv ,
struct sk_buff *skb , __be16 proto , unsigned short vid );
like, that's the whole signature, no notes π
β¨ ARGUMENTS β¨
bat_privβ the bat priv with all the mesh interface information. she's carrying everything, the whole mesh interface info, main character energy fr π₯skbβ the packet to snoop. yes, this is the one she's about to read over your shoulder π«£protoβ ethernet protocol hint (behind a potential vlan). a hint, bestie, so don't come for her if it's wearing a VLAN disguise πΈvidβ VLAN identifier π
β¨ DESCRIPTION β¨
so first things first: this function checks whether the skb you handed her is actually a valid DHCPACK. vibe check on the packet, basically β
if it is valid, then she takes its source MAC and IP, plus its DHCP Client Hardware Address field and its DHCP Your IP Address field, and adds all of that into the local DAT cache and propagates it into the DHT. slay. no cap, that's the whole job and she ate π β¨
β οΈ important, don't skip this: the caller needs to make sure the skb mac and network headers are set correctly. that's on you, not her. she's not doing your homework π
β¨ SEE ALSO β¨
we love a linked-list of friends, and this one is long. she has a whole group chat, iykyk π
kernel file ./net/batman-adv/distributed-arp-table.c and then:
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_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_incoming_dhcp_ack(9)batadv_dat_drop_broadcast_packet(9)
like i said. a lot of friends. respect it π
and that's the page, bestie!! π¦ this one came from ./net/batman-adv and it's dated October 2026 β so yeah, she's a little time traveler, we stan πβ¨ bye mwah π
π¦ 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