STRUCT SRPT_IOCTX(9)
π struct srpt_ioctx(9) β shared SRPT I/O context information
okay so bestie, welcome to the Kernel API Manual β¨ this one's short and sweet, and it's literally just a little struct that holds the shared I/O context info for SRPT. think of it as the group-chat profile card for one I/O context β no cap, that's the whole vibe.
β¨ SYNOPSIS β¨
here's the shape of it, exactly as it lives, no edits no notes:
struct srpt_ioctx {
struct ib_cqe cqe;
void *buf;
dma_addr_t dma;
uint32_t offset;
uint32_t index;
};
π Members π
bestie these are the fields and what each one is holding down. every single one matters, don't skip π
cqeβ the Completion queue element. yeah. that one. it lives here now πbufβ Pointer to the buffer. it's giving "the actual place where the bytes are" π¦dmaβ DMA address of the buffer. so the hardware knows where to look too, iconic behavior fr fr β¨offsetβ Offset of the first byte inbufanddmathat is actually used. lowkey important: the start of the storage isn't always the start of the actual data, iykyk πindexβ Index of the I/O context in itsioctx_ringarray. its little seat number in the ring, main character energy π
π SEE ALSO π
go read these next, they're all in the same friend group:
- Kernel file
./drivers/infiniband/ulp/srpt/ib_srpt.h enum srpt_command_state(9)struct srpt_recv_ioctx(9)struct srpt_send_ioctx(9)enum rdma_ch_state(9)struct srpt_rdma_ch(9)struct srpt_nexus(9)struct srpt_port_attrib(9)struct srpt_tpg(9)struct srpt_port_id(9)struct srpt_port(9)struct srpt_device(9)
real talk: this whole page is just ./drivers/infiniband/ulp/srpt doing its thing, and it's dated October 2026. that's the source, that's the version, that's the date β periodt π
and that's the page, bestie! struct srpt_ioctx(9) β five fields, zero drama, all facts preserved π«ΆπΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms