batadv_forw_packet_alloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay bestie, welcome to the Kernel API Manual entry for batadv_forw_packet_alloc(9) ✨ this is a 9-section manual page and we are reading all of it, no skimming, no cap 🫢


🌸 NAME 🌸

batadv_forw_packet_alloc β€” allocate a forwarding packet πŸŽ€


✨ SYNOPSIS ✨

struct batadv_forw_packet * batadv_forw_packet_alloc (struct
batadv_hard_iface *if_incoming , struct batadv_hard_iface *if_outgoing ,
atomic_t *queue_left , struct batadv_priv *bat_priv , struct sk_buff
*skb );

like, that's the whole signature, it's giving "five arguments and a dream" πŸ˜­πŸ’–


πŸ¦‹ ARGUMENTS πŸ¦‹

  • if_incoming β€” the (optional) if_incoming that's gonna get grabbed πŸ‘€
  • if_outgoing β€” the (optional) if_outgoing that's also gonna get grabbed
  • queue_left β€” the (optional) queue counter that's gonna get decreased, bestie
  • bat_priv β€” the bat_priv for the mesh that this forw_packet belongs to 🌈
  • skb β€” the raw packet that this forwarding packet is supposed to contain ⭐

πŸ’œ DESCRIPTION πŸ’œ

So here's the vibe: this thing allocates a forwarding packet, and it tries to get a reference to the (optional) if_incoming, if_outgoing, and queue_left. That's three optionals, she's flexible πŸ’…

And here's the little detail you do NOT wanna miss: if queue_left is NULL, then bat_priv is optional too. periodt πŸŽ€


πŸ”₯ RETURN πŸ”₯

  • an allocated forwarding packet on success πŸ₯³
  • NULL otherwise πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

okay this list is LONG and she ate, every single one of these, no skipping 🧚

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

like I said. all of them. iykyk 🌟


ngl bestie, this is kernel code β€” read the source in ./net/batman-adv/send.c before you go poking at it πŸ™ˆ

and that's the whole page!! mwah πŸ’‹ source path ./net/batman-adv, dated October 2026, brought to you by the batadv_forw_packet_alloc(9) girlies πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from