irdma_qhash_ctrl(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… irdma_qhash_ctrl(9) β€” like, the qhash on/off switch for your listen list πŸŽ€

okay so bestie, welcome to irdma_qhash_ctrl(9) from the Kernel API Manual. yes it's a section 9 page, yes it's about InfiniBand/RDMA connection-manager internals, and yes we're gonna get through it together. grab a strawberry drink πŸ“, this one's actually pretty chill β€” it's a tiny function with a big job. ✨


🌸 NAME 🌸

irdma_qhash_ctrl β€” literally just enable/disable qhash for a list. that's the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void irdma_qhash_ctrl (struct irdma_device *iwdev , struct
       irdma_cm_listener *parent_listen_node , struct irdma_cm_info *nfo , u32
       *ipaddr , bool ipv4 , bool ifup );

returns void, so no return value to obsess over. she just does the thing and leaves. πŸ‘‘


🌈 ARGUMENTS 🌈

six args, all of them carrying their own little main-character energy:

  • iwdev β€” the device pointer. yep, the whole device. she's the context, she's the vibe. πŸ–₯️
  • parent_listen_node β€” the parent listen node. the mom of the situation, if you will. 🌸
  • nfo β€” the cm info node. the connection-manager info bestie. πŸ’–
  • ipaddr β€” pointer to an IPv4 or IPv6 address. both? both. iconic. dual-stack queen. πŸ¦‹
  • ipv4 β€” a flag that says "this is IPv4" when it's true. that's it, that's the flag. ⭐
  • ifup β€” a flag that says "the interface is up" when it's true. also that's it. 🫢

✨ DESCRIPTION ✨

here's the tea, and it's actually pretty simple:

this function enables or disables the qhash for the node sitting in the child listen list that matches ipaddr. that's the whole quest. find the matching IP β†’ flip the qhash. 🎯

and if no matching IP was found? no big deal, she doesn't ghost you β€” she'll allocate and add a new child listen node to parent_listen_node. boom. new node. slay. πŸ”₯

⚠️ one very important detail bestie, do NOT skip this: the listen_list_lock is assumed to be held when called. like, the function does not go get the lock for you. you show up with that lock already in hand. no cap. if you're calling this without holding it, that's a you problem and it is giving undefined-vibes energy. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

so this is the part where the manpage just absolutely dumps the entire friend group on you. every single one of these is real and every single one stays. no skipping, no cutting, i promised. 🫑

Kernel file: ./drivers/infiniband/hw/irdma/cm.c

the first batch β€” the squad:

more besties:

the options-and-mpa girlies:

timers and packets, oh my:

basically her whole group chat:

address checker besties:

seq + packet handling, we stay hydrated:

core setup and teardown:

the public-facing API cuties:

and the last one standing, all on her own:

see? everybody's here. nobody got left on read. πŸ«ΆπŸ’–


🧚 a lil sign-off 🧚

and that's the page!! this whole thing lives in ./drivers/infiniband/hw/irdma, dated October 2026, and it's filed under the manual name irdma_qhash_ctrl(9). go hold that lock, match that IP, and slay the qhash. periodt. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from