frwr_send(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Œ frwr_send(9) β€” like, the Kernel API Manual girlies finally get a send function πŸ’…

okay so bestie, welcome to frwr_send, straight out of the Kernel API Manual (section 9, kernel-space only, we don't do userspace here ✨). This is the one that posts your Send WRs with the RPC Call message tucked inside. Let's get into it πŸŽ€


✨ SYNOPSIS ✨

int frwr_send (struct rpcrdma_xprt *r_xprt , struct rpcrdma_req *req );

like, that's the whole vibe check right there 🫢


🌸 ARGUMENTS 🌸

  • r_xprt β€” the controlling transport instance, aka the main character of this whole operation πŸ‘‘
  • req β€” a prepared RPC Call. already cooked, ready to go πŸ“

πŸ’– DESCRIPTION πŸ’–

So here's the tea β˜• β€” for FRWR, you chain any FastReg WRs to the Send WR. That means only a single ib_post_send call is needed to register memory and then post the Send WR. one call, two jobs, ate and left no crumbs πŸ’€βœ¨

It returns the return code from ib_post_send. that's it, that's the return value, no cap πŸ€·β€β™€οΈ

⚠️ ok important bestie, do NOT skip this: the caller must hold the transport send lock to ensure that the pointers to the transport's rdma_cm_id and QP are stable. like, fr fr, hold the lock. this is not a drill πŸ™ˆπŸ”’

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./net/sunrpc/xprtrdma/frwr_ops.c and its whole friend group, they're all iconic in their own way πŸ’œ:


and that's the page!! 🌈 source/version is ./net/sunrpc/xprtrdma and it's dated October 2026, so like, future vibes only ⭐ mwah, go post those WRs responsibly πŸ’‹πŸŽ€

πŸ“¦ where this page comes from