libie_ctlq_send(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– libie_ctlq_send β€” bestie, it's giving "send a message to Control Plane or Peer" πŸ’…

okay so real quick, before we even get into it: this whole page lives in libie_ctlq_send(9), aka the Kernel API Manual. that's the vibe. that's the header. now let's GO πŸ¦‹


✨ NAME ✨

libie_ctlq_send β€” send a message to Control Plane or Peer. literally what it says on the tin, no cap πŸŽ€


🌸 SYNOPSIS 🌸

void libie_ctlq_send (struct libie_ctlq_info *ctlq , u32 num_q_msg );

like, that's the whole signature. she's compact. she's iconic. copy it exactly, bestie, spaces and all πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • ctlq β€” the specific control queue that's being used for sending a message. like, which queue, bestie, be specific πŸ™ˆ
  • num_q_msg β€” the number of messages that are present to send on ctlq. it's positive, and no greater than the number of available descriptors. so don't get greedy, okay? ⭐

πŸ”₯ DESCRIPTION πŸ”₯

so before you even call this, the caller must fill in num_q_msg Tx messages starting at ntu beforehand. that's a you job, not a her job, iykyk 😭

the caller must hold ctlq->lock. and the intended pattern β€” write this down β€” is to first check the number of descriptors available, then fill in the messages, and perform send within a single critical section. one critical section. all of it. together. that's the whole bit 🫢

not me stressing the lock thing β€” it's genuinely load-bearing, don't skip it πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file lives at ./drivers/net/ethernet/intel/libie/controlq.c β€” go read it, it ate ✨

and here's the whole friend group, every single one, no skipping:


and that's the page!! πŸ§šπŸ’œ

cute little sign-off moment: this one's from the source at ./drivers/net/ethernet/intel/l... and it's dated October 2026 β€” so like, future girlie energy fr fr ⭐🌸 go forth and hold that lock, bestie 🫢✨

πŸ“¦ where this page comes from