STRUCT SRP_RDMA_CH(9)
πΈ NAME πΈ
okay bestie, this is the struct srp_rdma_ch(9) page from the Kernel API Manual π and the NAME line is literally just struct srp_rdma_ch -, so there's no extra one-liner description here. no cap, that's the whole tea π«β¨
β¨ SYNOPSIS β¨
here's the struct in all its glory β copied exactly, because we do not play with code π :
struct srp_rdma_ch {
struct list_head free_tx;
spinlock_t lock;
s32 req_lim;
struct srp_target_port *target;
struct ib_cq *send_cq;
struct ib_cq *recv_cq;
struct ib_qp *qp;
struct srp_fr_pool *fr_pool;
uint32_t max_it_iu_len;
uint32_t max_ti_iu_len;
u8 max_imm_sge;
bool use_imm_data;
struct completion done;
int status;
union {
struct ib_cm {
struct sa_path_rec path;
struct ib_sa_query *path_query;
int path_query_id;
struct ib_cm_id *cm_id;
} ib_cm;
struct rdma_cm {
struct rdma_cm_id *cm_id;
} rdma_cm;
};
struct srp_iu **tx_ring;
struct srp_iu **rx_ring;
int comp_vector;
u64 tsk_mgmt_tag;
struct completion tsk_mgmt_done;
u8 tsk_mgmt_status;
bool connected;
};
π«Ά Members π«Ά
the manpage only spills the details on these four members, so let's give them their moment π:
max_it_iu_lenβ Maximum initiator-to-target information unit length. slay.max_ti_iu_lenβ Maximum target-to-initiator information unit length. also slay.{unnamed_union}β anonymous β yes, that's all it says, and we respect the mystery πcomp_vectorβ Completion vector used by this RDMA channel. iconic.
π₯ SEE ALSO π₯
if you wanna keep reading, the manpage points you at:
- Kernel file
./drivers/infiniband/ulp/srp/ib_srp.h struct srp_target_port(9)struct srp_fr_desc(9)struct srp_fr_pool(9)struct srp_map_state(9)
all those references are right there, iykyk π¦
mwah π that's the whole page, bestie. it's from ./drivers/infiniband/ulp/srp, dated October 2026, and it's all about struct srp_rdma_ch(9) β periodt π
π¦ 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