batadv_dat_get_vid(9)
π batadv_dat_get_vid(9) β like, the Kernel API Manual era β¨
okay bestie, welcome to the Kernel API Manual π this one's all about batadv_dat_get_vid and honestly? she's a little diva with a realloc warning, so pay attention π
β¨ NAME β¨
batadv_dat_get_vid β extract the VLAN identifier from skb if any π¦ (yes, if any, she's conditional like that)
πΈ SYNOPSIS πΈ
unsigned short batadv_dat_get_vid (struct sk_buff *skb , int *hdr_size
);
π ARGUMENTS π
skbβ the buffer containing the packet to extract the VID from, iykyk π«Άhdr_sizeβ the size of the batman-adv header encapsulating the packet, literally the header size bestie π«
π DESCRIPTION π
okay so the caller must ensure that at least hdr_size + ETH_HLEN bytes are accessible after skb->data. that's on you, not on her π
β οΈ Warning, and I mean it: this function callsbatadv_get_vidand may therefore reallocate the skb data buffer π any pointer into the skb data (e.g. obtained fromskb->dataoreth_hdr) before this call must be considered invalid afterwards and has to be reacquired. no cap, do not keep those stale pointers around, they will betray you π
π RETURN π
if the packet embedded in the skb is vlan tagged, this function returns the VID with the BATADV_VLAN_HAS_TAG flag π otherwise BATADV_NO_FLAGS is returned. slay, simple as that β¨
π SEE ALSO π
the kernel file is ./net/batman-adv/distributed-arp-table.c β go look, she ate π₯
and then the whole extended friend group, all of them, no skipped invites π:
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_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)
π«Ά and that's the whole page babes!! brought to you by the folks over at ./net/batman-adv, dated October 2026, and this absolute icon of a manpage is batadv_dat_get_vid(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