batadv_rero...icast_packet(9)
π batadv_rero...icast_packet(9) β the Kernel API Manual page, bestie edition
okay so this page's header literally got cut off mid-word (the drama of it all β it's batadv_rero...icast_packet(9), we all know what it means), and yes it lives in the Kernel API Manual, section 9, which is the "kernel internals, not for your average userland gremlin" section. consider yourself briefed π«Ά
β¨ NAME β¨
batadv_reroute_unicast_packet β update the unicast header for re-routing. that's it. that's the whole job. and it ate, lowkey.
πΈ SYNOPSIS πΈ
bool batadv_reroute_unicast_packet (struct batadv_priv *bat_priv ,
struct sk_buff *skb , struct batadv_unicast_packet *unicast_packet , u8
*dst_addr , unsigned short vid );
five args, one bool back, no cap. π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. this is the main character struct, it knows everything about your mesh interface.skbβ the unicast packet to process. bestie's little packet baby, needs handling.unicast_packetβ the unicast header to be updated. it's getting a glow-up, fr fr.dst_addrβ the payload destination. this is the address we're out here searching for.vidβ VLAN identifier. yes we care about VLANs, we're thorough like that. π
π¦ DESCRIPTION π¦
so what actually happens: it searches the translation table for dst_addr π and updates the unicast header with the new corresponding information β that's the originator address where the destination client currently is plus its known TTVN. the way it just goes and finds where your destination client is currently hanging out? iconic. literally giving "I know a guy" energy. β¨
π RETURN π
trueβ the packet header has been updated. we did it, we slayed. πfalseβ otherwise. no update bestie, sorry. π
π₯ SEE ALSO π₯
all the siblings, in a kernel file called ./net/batman-adv/routing.c β go say hi:
_batadv_update_route(9)batadv_update_route(9)batadv_window_protected(9)batadv_check_management_packet(9)batadv_skb_decrement_ttl(9)batadv_recv_my_icmp_packet(9)batadv_recv_icmp_ttl_exceeded(9)batadv_recv_icmp_packet(9)batadv_check_unicast_packet(9)batadv_last_bonding_get(9)batadv_last_bonding_replace(9)batadv_find_router(9)batadv_route_unicast_packet(9)batadv_check_unicast_ttvn(9)batadv_recv_unhandled_unicast_packet(9)batadv_recv_unicast_packet(9)batadv_recv_unicast_tvlv(9)batadv_recv_frag_packet(9)batadv_recv_bcast_packet(9)batadv_recv_mcast_packet(9)
that's twenty, count 'em. twenty. icon behavior honestly. π§
π a lil heads-up from your girl: this is kernel-internal API territory, so it's for people writing/reading the code, not a "run this in your terminal" moment. iykyk.
and that's the whole vibe check β shipped from ./net/batman-adv, dated October 2026, page name batadv_rero...icast_packet(9). love that for us. 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