srpt_get_class_port_info(9)
π srpt_get_class_port_info β like, the Kernel API Manual, section 9, bestie
okay so picture this: it's a kernel API manual page, the manual name is Kernel API Manual (section 9, iykyk), and the star of the show is srpt_get_class_port_info. she's a function. she has one job. and honestly? she ate. π
β¨ NAME β¨
srpt_get_class_port_info β copy ClassPortInfo to a management datagram
like literally that's it, that's the whole vibe. copy the ClassPortInfo into a management datagram and go π¦
πΈ SYNOPSIS πΈ
void srpt_get_class_port_info (struct ib_dm_mad *mad );
no cap, that's the whole signature. void return β she doesn't give anything back, she just does the thing. main character energy fr fr π
π ARGUMENTS π
madβ the datagram that will be sent as response toDM_ATTR_CLASS_PORT_INFO. that's the one. that's the whole parameter. it's giving "one job and she's doing it flawlessly" π
π§ DESCRIPTION π§
so what we're doing here is copying the ClassPortInfo over into a management datagram, so it can go out as the response to DM_ATTR_CLASS_PORT_INFO. simple. clean. iconic.
and if you wanna know what ClassPortInfo actually is, go read section 16.3.3.1 ClassPortInfo in the InfiniBand Architecture Specification. the manpage said see also and I'm just passing the message along, bestie π«Ά
no hidden tricks here, no weird caveats β the original genuinely just points you at the spec and dips. respect. π
π¦ SEE ALSO π¦
first up, the kernel file this whole situation lives in:
Kernel file ./drivers/infiniband/ulp/srpt/ib_srpt.c
and then literally the entire friend group, all the srpt_* besties, in order:
srpt_event_handler(9)srpt_srq_event(9)srpt_qp_event(9)srpt_set_ioc(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_cmd(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)
fifty-one links. fifty-one. I counted so you don't have to, you're welcome ππ
mwah, that's the page π this little love letter came to you from ./drivers/infiniband/ulp/srpt, dated October 2026, and it's filed under srpt_get_class_port_info(9) in the Kernel API Manual β section 9, always and forever. now go copy that ClassPortInfo, bestie, slay πβ¨π₯
π¦ 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