rdma_rw_ctx_signature_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– rdma_rw_ctx_signature_init(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one's about setting up a RW context with signature offload, and honestly? it's giving ✨niche but powerful✨. let's get into it 🫢


🌸 NAME 🌸

rdma_rw_ctx_signature_init β€” initialize a RW context with signature offload πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

int rdma_rw_ctx_signature_init (struct rdma_rw_ctx *ctx , struct ib_qp *qp , u32 port_num , struct scatterlist *sg , u32 sg_cnt , struct scatterlist *prot_sg , u32 prot_sg_cnt , struct ib_sig_attrs *sig_attrs , u64 remote_addr , u32 rkey , enum dma_data_direction dir );

bestie look at that signature. eleven arguments. she's thriving and she knows it πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

so here's the whole lineup, no cap:

  • ctx β€” the context you're initializing. she's the main character πŸ’–
  • qp β€” the queue pair you're operating on πŸŽ€
  • port_num β€” the port num that this connection is bound to ✨
  • sg β€” the scatterlist you READ/WRITE from/to πŸ”₯
  • sg_cnt β€” how many entries are in sg πŸ”’
  • prot_sg β€” the scatterlist you READ/WRITE protection information from/to πŸ›‘οΈ
  • prot_sg_cnt β€” how many entries are in prot_sg πŸ”’
  • sig_attrs β€” the signature offloading algorithms 🧚
  • remote_addr β€” the remote address to read/write, and lowkey this one is relative to rkey so don't forget that πŸ™ˆ
  • rkey β€” the remote key you're operating on πŸ”‘
  • dir β€” okay so this one's specific: it's DMA_TO_DEVICE for RDMA WRITE, and DMA_FROM_DEVICE for RDMA READ πŸ’€ don't mix them up bestie

🌈 DESCRIPTION 🌈

so like, what does she actually do? if it's successful, this returns the number of WQEs that will be needed on the workqueue πŸ”₯. and if it's not successful? she returns a negative error code 😭. that's the whole vibe. that's the tea. periodt.


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/infiniband/core/rw.c, plus the whole friend group 🫢:


and that's the whole page bestie!! 🌸 this icon lives in ./drivers/infiniband/core, dated October 2026 β€” ily, go off, read your scatterlists responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from