batadv_dat_check_dhcp_ipudp(9)
π NAME π
okay so welcome to the Kernel API Manual, bestie β this is the batadv_dat_check_dhcp_ipudp(9) page, and the function name is batadv_dat_check_dhcp_ipudp. Its whole thing is: check skb for IP+UDP headers valid for DHCP. That's the name vibe, no cap π
β¨ SYNOPSIS β¨
like, here's the signature, copied exactly so nobody gets weird about it:
bool batadv_dat_check_dhcp_ipudp (struct sk_buff *skb , __be32 *ip_src
);
π ARGUMENTS π
two little inputs, both iconic:
skbβ the packet to check. Yes, thatskb, the packet bestie π«Άip_srcβ a buffer to store the IPv4 source address in. It's where the source address goes if the check passes β¨
π¦ DESCRIPTION π¦
So what does it actually do? It checks whether the given skb has an IP header and a UDP header that are valid for a DHCP message from a DHCP server. That's the whole assignment. And if so, it stores the IPv4 source address in the provided buffer. Literally that's it β clean, focused, main character energy π
πΈ RETURN πΈ
Returns true if valid, false otherwise. Simple, clean, no plot twist π
π SEE ALSO π
okay bestie, the SEE ALSO list is massive and we are not skipping a single one β periodt. First up, the kernel file:
- Kernel file
./net/batman-adv/distributed-arp-table.c
Then all these pages, every last one of them:
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(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)
mwah π this page is brought to you by ./net/batman-adv, dated October 2026, and yes, the manual name is batadv_dat_check_dhcp_ipudp(9). slay π
π¦ 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