batadv_forw_packet_queue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ NAME πŸ¦‹

okay so bestie, welcome to the batadv_forw_packet_queue(9) page from the Kernel API Manual β€” the whole vibe is: batadv_forw_packet_queue β€” try to queue a forwarding packet. That's it. That's the function. Let's get into it πŸ’…


✨ SYNOPSIS ✨

void batadv_forw_packet_queue (struct batadv_forw_packet *forw_packet ,
spinlock_t *lock , struct hlist_head *head , unsigned long send_time );

no cap, that's the whole signature. four params. all business, all slay πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • forw_packet β€” the forwarding packet to queue. this is the main character of the whole function 🫢
  • lock β€” a key to the store (e.g. forw_{bat,bcast}_list_lock). literally the bouncer checking if you're on the list πŸ”
  • head β€” the shelve to queue it on (e.g. forw_{bat,bcast}_list). yes that's "shelve" with an e, we don't fix typos in this house, we honor them ✨
  • send_time β€” timestamp (jiffies) when the packet is to be sent. clock it, bestie ⏰

🌸 DESCRIPTION 🌸

so what does this function actually do? it tries to (re)queue a forwarding packet. think of it as putting the packet back on the shelf for its little send moment.

requeuing is prevented if the according interface is shutting down (e.g. if batadv_forw_packet_list_steal was called for this packet earlier). so if the vibe check fails, the packet stays un-queued. it's giving "we're closed" 😭

⚠️ actual warning, not a joke: calling batadv_forw_packet_queue after a call to batadv_forw_packet_steal is forbidden! like literally do not do it. periodt.

also, the caller needs to ensure that forw_packet->delayed_work was initialized. so before you hand it over, make sure that delayed work is set up. no skipping steps, no shortcuts πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯

bestie there are so many friends in this squad, grab a snack πŸ“


and that's the whole page, bestie πŸ’– this came to you from Kernel API Manual, lives in ./net/batman-adv, and is stamped October 2026. go queue your packets responsibly, iykyk πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from