STRUCT SRP_RDMA_CH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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