srpt_refresh_port(9)
π srpt_refresh_port(9) β like, the whole Kernel API Manual vibe, bestie
okay so real talk, this one lives in the Kernel API Manual and it's called srpt_refresh_port β say that three times fast, I dare you π«Ά
β¨ NAME β¨
srpt_refresh_port β get a HCA port all set up and looking cute π
β¨ SYNOPSIS β¨
int srpt_refresh_port (struct srpt_port *sport );
that's it. one function. one argument. she's lowkey minimal and I respect it.
β¨ ARGUMENTS β¨
sportβ the SRPT HCA port, aka the main character of this whole operation π
β¨ DESCRIPTION β¨
okay so here's the tea π΅ β this function does three things, and honestly? she ate:
- enables InfiniBand management datagram processing (yes ma'am, the MADs are flowing)
- updates the cached
sm_lid,lidandgidvalues β fresh values, no stale vibes π - registers a callback function for processing MADs on the specified port π
so basically: turn the processing on, refresh the cache, hand over the callback. iconic behavior, no notes. πΈ
π NOTE π
it is safe to call this function more than once for the same port. like, genuinely. call it twice. call it three times. she does not care. no cap. π
ngl that's the best kind of API β repeat-call-safe and unbothered π
π SEE ALSO π
first up, the source file herself:
- Kernel file
./drivers/infiniband/ulp/srpt/ib_srpt.c
and now the whole friend group β literally the entire srpt squad, all in (9), all here:
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_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 of them. FIFTY. that's not a see-also, that's a whole group chat π but they're all linked and they all matter, so go read them, bestie π¦
and that's the page!! π sign-off time: this cutie comes from ./drivers/infiniband/ulp/srpt and she's dated October 2026 β mark your calendars, she's a Libra or something β iykyk π
β¨
π¦ 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