batadv_forw_bcast_packet(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– batadv_forw_bcast_packet(9) πŸ’–

okay so bestie, this is a page from the Kernel API Manual and it's literally all about batadv_forw_bcast_packet β€” the function that forwards and queues a broadcast packet. yes, that one. let's get into it 🫢


✨ NAME ✨

batadv_forw_bcast_packet β€” forward and queue a broadcast packet πŸ’Œ


🌸 SYNOPSIS 🌸

int batadv_forw_bcast_packet (struct batadv_priv *bat_priv , struct
       sk_buff *skb , unsigned long delay , bool own_packet );

no cap, that's the whole signature. four args, one int coming back atcha.


πŸŽ€ ARGUMENTS πŸŽ€

  • bat_priv β€” the bat priv, bestie πŸ’… like, the one holding all the mesh interface information. it's giving main character energy, everything lives in here.
  • skb β€” the broadcast packet you're adding. the actual payload moment ✨
  • delay β€” number of jiffies to wait before sending. yes, jiffies. not seconds, not vibes. lowkey important.
  • own_packet β€” true if it's a self-generated broadcast packet πŸ™ˆ like, did you make this? be honest.

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜• β€” this thing transmits a broadcast packet either immediately, or, if a delay is given, after that delay. the way it just decides based on whether you passed a delay? iconic.

and that's not even all of it β€” it also queues additional retransmissions on wireless interfaces. so it's out here sending and setting up future sends at the same time. multi-tasking queen πŸ‘‘


⭐ RETURN ⭐

  • NETDEV_TX_OK on success β€” slay, we transmitted πŸ’–
  • NETDEV_TX_BUSY on errors β€” not slay, something's off 😭

no in-between, periodt.


πŸ’œ SEE ALSO πŸ’œ

bestie there are so many related functions, buckle up:

Kernel file ./net/batman-adv/send.c plus:

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_tt_generic(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_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)

iykyk, it's a whole friend group 🧚


okay that's the page!! this one's sourced from ./net/batman-adv and dated October 2026 β€” go off, kernel docs πŸŒˆπŸ’« bye bestie, ily, read your manpages πŸŽ€

πŸ“¦ where this page comes from