batadv_forw_...cket_to_list(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 batadv_forw_bcast_packet_to_list (9) β€” kernel API manual, but make it make sense πŸ’…

okay bestie, so this whole thing lives in section 9 of the kernel API manual and the page title is literally batadv_forw_...cket_to_list(9) (yes the middle got chopped, it's giving "abbreviated for the algorithm" 😭). It's a batman-adv function, it queues up broadcast packets, and honestly? it's lowkey iconic. Let's get into it 🫢


✨ NAME ✨

batadv_forw_bcast_packet_to_list β€” queue broadcast packet for transmissions 🌈


πŸŽ€ SYNOPSIS πŸŽ€

int batadv_forw_bcast_packet_to_list (struct batadv_priv *bat_priv ,
       struct sk_buff *skb , unsigned long delay , bool own_packet , struct
       batadv_hard_iface *if_in , struct batadv_hard_iface *if_out );

like, six args, one int out. she's a whole situation and we love her for it πŸ’–


πŸ¦‹ ARGUMENTS πŸ¦‹

  • bat_priv β€” the bat priv with all the mesh interface information. it's the main character, she holds everything πŸ‘‘
  • skb β€” broadcast packet to add. the little guy going into the queue πŸ“
  • delay β€” number of jiffies to wait before sending. yes, jiffies, not seconds, don't come for me, that's just how the kernel counts time ⏳
  • own_packet β€” true if it is a self-generated broadcast packet. like, did we make this or did it come from somewhere else πŸͺž
  • if_in β€” the interface where the packet was received on πŸ“₯
  • if_out β€” the outgoing interface to queue on πŸ“€

πŸ’œ DESCRIPTION πŸ’œ

Adds a broadcast packet to the queue and sets up timers. that's the whole gig, no cap ✨

Broadcast packets are sent multiple times to increase probability for being received. like sending the same text four times so they definitely see it πŸ™ˆ β€” it's redundancy as a love language.

⚠️ okay listen, this part matters: this call clones the given skb, hence the caller needs to take into account that the data segment of the original skb might not be modifiable anymore. so don't go editing the og skb afterwards expecting it to work, because it's a clone situation and the original's data segment is not guaranteed to be yours to touch anymore. not me warning you twice πŸ’€

πŸ”₯ RETURN πŸ”₯

  • NETDEV_TX_OK on success πŸŽ‰
  • NETDEV_TX_BUSY on errors 😭

that's it. two outcomes. vibe check passed or vibe check failed.


🧚 SEE ALSO 🧚

Kernel file ./net/batman-adv/send.c β€” go read the source, iykyk πŸ“–

like yes that's a lot of friends but they're all in the group chat, it's fine 🫢


mwah πŸ’‹ that's the page! this cutie came from the kernel file ./net/batman-adv, dated October 2026, and the page itself answers to batadv_forw_...cket_to_list(9) β€” go forth and queue those broadcasts, bestie πŸŒΈβœ¨πŸŽ€

πŸ“¦ where this page comes from