srpt_handle_cmd(9)
β¨ srpt_handle_cmd β¨
okay so bestie, welcome to srpt_handle_cmd(9) β this is a page from the Kernel API Manual, and it's literally about processing a SRP_CMD information unit. that's the whole vibe. one function, does one thing, iconic behaviour honestly π
πΈ SYNOPSIS πΈ
void srpt_handle_cmd (struct srpt_rdma_ch *ch , struct srpt_recv_ioctx
*recv_ioctx , struct srpt_send_ioctx *send_ioctx );
it returns void, so likeβ¦ nothing comes back out. it just does stuff. no cap π
π¦ ARGUMENTS π¦
three little besties walk into a function:
chβ the SRPT RDMA channel. this is the main character of the whole operation, lowkey everything routes through here πrecv_ioctxβ the receive I/O context. the thing that showed up on the way in π«Άsend_ioctxβ the send I/O context. the thing that's gonna head back out β¨
all three are pointers to structs, and yes you need all three, don't @ me.
π₯ SEE ALSO π₯
first up, the source itself β go read it, iykyk:
Kernel file ./drivers/infiniband/ulp/srpt/ib_srpt.c
and now the full squad, in the exact order they appear, because i am NOT skipping anybody:
srpt_event_handler(9)srpt_srq_event(9)srpt_qp_event(9)srpt_set_ioc(9)srpt_get_class_port_info(9)srpt_get_iou(9)srpt_get_ioc(9)srpt_get_svc_entries(9)srpt_mgmt_method_get(9)srpt_mad_send_handler(9)srpt_mad_recv_handler(9)srpt_refresh_port(9)srpt_unregister_mad_agent(9)srpt_alloc_ioctx(9)srpt_free_ioctx(9)srpt_alloc_ioctx_ring(9)srpt_free_ioctx_ring(9)srpt_set_cmd_state(9)srpt_test_and_set_cmd_state(9)srpt_post_recv(9)srpt_zerolength_write(9)srpt_get_desc_tbl(9)srpt_init_ch_qp(9)srpt_ch_qp_rtr(9)srpt_ch_qp_rts(9)srpt_ch_qp_err(9)srpt_get_send_ioctx(9)srpt_abort_cmd(9)srpt_rdma_read_done(9)srpt_build_cmd_rsp(9)srpt_build_tskmgmt_rsp(9)srpt_handle_tsk_mgmt(9)srpt_handle_new_iu(9)srpt_send_done(9)srpt_create_ch_ib(9)srpt_close_ch(9)srpt_cm_req_recv(9)srpt_cm_rtu_recv(9)srpt_cm_handler(9)srpt_queue_response(9)srpt_release_sport(9)srpt_lookup_port(9)srpt_add_one(9)srpt_remove_one(9)srpt_close_session(9)srpt_parse_i_port_id(9)srpt_make_tpg(9)srpt_drop_tpg(9)srpt_make_tport(9)srpt_drop_tport(9)srpt_init_module(9)
like genuinely go look at those, they're all in ./drivers/infiniband/ulp/srpt/ib_srpt.c and they're all doing their little jobs. ate. π
that's the whole page bestie, no filler, no fluff, just void srpt_handle_cmd(...) and 50 friends π
signing off with the receipts: this gem lives under ./drivers/infiniband/ulp/srpt, stamped October 2026, and it will forever be known as srpt_handle_cmd(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