batadv_send_skb_unicast(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_send_skb_unicast(9)

okay so bestie, welcome to the Kernel API Manual β€” yes, the actual kernel API manual, and yes we're gonna get through this together. this one's called batadv_send_skb_unicast, and the whole ~vibe~ is: you've got a packet, you wrap it up all cute in a batman-adv header, and you yeet it at exactly one originator. no broadcasting, no drama, just one (1) destination. iykyk ✨


🌸 NAME 🌸

batadv_send_skb_unicast β€” encapsulate and send an skb via unicast πŸŽ€

like, that's it. that's the whole job. wrap it, then send it. to one person. slay.


✨ SYNOPSIS ✨

int batadv_send_skb_unicast (struct batadv_priv *bat_priv , struct
sk_buff *skb , int packet_type , int packet_subtype , struct
batadv_orig_node *orig_node , unsigned short vid );

six arguments, one int coming back at you. no cap, that's the whole signature πŸ’–


πŸ¦‹ ARGUMENTS πŸ¦‹

  • bat_priv β€” the bat priv πŸ’« this is the one holding all the mesh interface information, so like, everything you need to know about the mesh lives in here.
  • skb β€” the payload to send 🎁 your precious little packet, before it gets dressed up.
  • packet_type β€” the batman unicast packet type to use πŸ‘‘ this is the one that picks your whole outfit for the evening.
  • packet_subtype β€” the unicast 4addr packet subtype 🌈 and bestie, listen: this is only relevant for unicast 4addr packets. if you're not doing 4addr, it's just sitting there vibing.
  • orig_node β€” the originator to send the packet to 🫢 your one and only destination. main character energy, honestly.
  • vid β€” the vid to be used to search the translation table πŸ” that's the VLAN id, and it's what you go looking through the translation table with.

πŸ’œ DESCRIPTION πŸ’œ

okay here's the tea, fr fr:

this function wraps the given skb into a batman-adv unicast header or a unicast-4addr header β€” which one you get depends entirely on whether BATADV_UNICAST or BATADV_UNICAST_4ADDR was supplied as the packet_type. then it sends this frame to the given orig_node. πŸ’Œ

literally "dress the packet appropriately, then mail it to the one originator you were told about." iconic behaviour, no notes.


⭐ RETURN ⭐

  • NET_XMIT_DROP β€” when something went wrong 😭 (error case)
  • NET_XMIT_SUCCESS β€” when it all worked out πŸ’– (otherwise)

so like, check it. don't just assume success. vibe check your return value, bestie.


πŸ”₯ SEE ALSO πŸ”₯

a whole friend group of related functions, and ngl, this list is long. but every single one of them matters, so here we go β€” kernel file ./net/batman-adv/send.c and friends:

go read them. all of them. okay maybe not all at once πŸ’€


and that's the page, bestie! 🧚✨ this lil manual moment came to you from ./net/batman-adv, dated October 2026, and it's filed under batadv_send_skb_unicast(9) β€” mwah, go send some unicast packets responsibly πŸ’…πŸ’–

πŸ“¦ where this page comes from