batadv_send_...a_tt_generic(9)
π
batadv_send_skb_via_tt_generic β kernel API manual, bestie edition π¦
okay so you're in the Kernel API Manual and the page is literally called batadv_send_...a_tt_generic(9) β yes the title got truncated, no that's not a you problem, it's just how it's printed. anyway. sit down, hydrate, let's talk about sending an skb via TT lookup π
β¨ NAME β¨
batadv_send_skb_via_tt_generic β send an skb via TT lookup. that's it. that's the whole vibe. π
πΈ SYNOPSIS πΈ
int batadv_send_skb_via_tt_generic (struct batadv_priv *bat_priv ,
struct sk_buff *skb , int packet_type , int packet_subtype , u8
*dst_hint , unsigned short vid );
like, six args. she's high maintenance but she delivers. β¨
π«Ά ARGUMENTS π«Ά
bat_privβ the bat priv with all the mesh interface information. it's giving "walking folder of everything you need to know" energy. πskbβ payload to send. the actual little package. the main character of the packet world fr fr. π¦packet_typeβ the batman unicast packet type to use. you pick which flavor. πpacket_subtypeβ the unicast 4addr packet subtype (only relevant for unicast 4addr packets). so likeβ¦ if you're not doing 4addr, this is lowkey just vibing there, unused. πdst_hintβ can be used to override the destination contained in the skb. a little "actually, send it here" moment. πvidβ the vid to be used to search the translation table. this is your search key bestie, don't lose it. π
π DESCRIPTION π
okay so here's the whole plot π
It looks up the recipient node for the destination address in the ethernet header β via the translation table, obviously, that's literally in the name β and then it wraps the given skb into a batman-adv unicast or unicast-4addr header, depending on whether BATADV_UNICAST or BATADV_UNICAST_4ADDR was supplied as packet_type. then it sends this frame to the according destination node. slay. that's the whole thing. it ate and left no crumbs. π₯
β RETURN β
NET_XMIT_DROP in case of error, or NET_XMIT_SUCCESS otherwise. two outcomes, no in-between, no "it's complicated" π
π§ SEE ALSO π§
Kernel file ./net/batman-adv/send.c β and the whole extended friend group:
batadv_send_skb_packet(9)batadv_send_broadcast_skb(9)batadv_send_unicast_skb(9)batadv_send_skb_to_orig(9)batadv_send_skb_push_fill_unicast(9)batadv_send_skb_prepare_unicast(9)batadv_send_skb_prepare_unicast_4addr(9)batadv_send_skb_unicast(9)batadv_send_skb_via_gw(9)batadv_forw_packet_free(9)batadv_forw_packet_alloc(9)batadv_forw_packet_was_stolen(9)batadv_forw_packet_steal(9)batadv_forw_packet_list_steal(9)batadv_forw_packet_list_free(9)batadv_forw_packet_queue(9)batadv_forw_packet_bcast_queue(9)batadv_forw_packet_ogmv1_queue(9)batadv_forw_bcast_packet_to_list(9)batadv_forw_bcast_packet_if(9)batadv_send_no_broadcast(9)__batadv_forw_bcast_packet(9)batadv_forw_bcast_packet(9)batadv_send_bcast_packet(9)batadv_forw_packet_bcasts_left(9)batadv_forw_packet_bcasts_dec(9)batadv_forw_packet_is_rebroadcast(9)batadv_send_outstanding_bcast_packet(9)batadv_purge_outstanding_packets(9)
ngl bestie, that's a lot of cross-references. but that's the neighborhood, and every single one of them is listed above. no cap, none skipped. π«Ά
sign-off time π β this page lives at ./net/batman-adv, it's dated October 2026, and it answers to the name batadv_send_...a_tt_generic(9) (yes, still truncated, still iconic). 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