rdma_cap_ib_sa(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« rdma_cap_ib_sa β€” Kernel API Manual, section 9 πŸ’«

okay so bestie, welcome to rdma_cap_ib_sa(9), a lil' helper from the Kernel API Manual that does exactly one (1) thing and does it slay. no cap, it's a vibe check for your RDMA port. πŸ¦‹


✨ NAME ✨

rdma_cap_ib_sa β€” the function that checks whether the port of a device has that InfiniBand Subnet Administration capability. yes, the whole entire capability. she's a yes/no girlie and she's iconic for it. πŸ’…


🌸 SYNOPSIS 🌸

bool rdma_cap_ib_sa (const struct ib_device *device , u32 port_num );

like, you give her a device and a port_num, and she hands you back a bool. that's it. that's the whole relationship. 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • device β€” the device you want to check, bestie. the one under the microscope. πŸ”
  • port_num β€” the port number you want to check. the specific port. no guessing, she needs the receipt.

πŸ’– DESCRIPTION πŸ’–

so an InfiniBand Subnet Administration (SA) service is a pre-defined General Service Agent (GSA) that the Subnet Manager (SM) provides. read that again. it's giving "official, built-in, already on the menu." πŸ‘‘

and on InfiniBand fabrics, devices should resolve routes to other hosts by contacting the SA to query the proper route. literally that's the move β€” you wanna get somewhere? you ask the SA where the route at. iykyk. πŸ—ΊοΈβœ¨


πŸ”₯ RETURN πŸ”₯

she returns true if the port should act as a client to the fabric Subnet Administration interface. main character client energy.

⚠️ okay important, do NOT get it twisted: a true here does not imply that the SA service is running locally. nope. absolutely not. don't come for her with that assumption. πŸ’€

🌈 SEE ALSO 🌈

the whole group chat is here, and yes we're tagging everybody. starting with the Kernel file ./include/rdma/ib_verbs.h β€” then: struct rdma_stat_desc(9), struct rdma_hw_stats(9), ib_rate_to_mult(9), ib_rate_to_mbps(9), ib_port_attr_to_speed_info(9), enum ib_mr_type(9), struct ib_mr_status(9), mult_to_ib_rate(9), struct ib_udata(9), struct rdma_netdev(9), struct ib_device_ops(9), ib_get_client_data(9), ib_modify_qp_is_ok(9), rdma_cap_ib_switch(9), rdma_start_port(9), rdma_for_each_port(9), rdma_end_port(9), rdma_cap_ib_mad(9), rdma_cap_opa_mad(9), rdma_cap_ib_smi(9), rdma_cap_ib_cm(9), rdma_cap_iw_cm(9), rdma_cap_ib_mcast(9), rdma_cap_af_ib(9), rdma_cap_eth_ah(9), rdma_cap_opa_ah(9), rdma_max_mad_size(9), rdma_cap_roce_gid_table(9), rdma_core_cap_opa_port(9), rdma_mtu_enum_to_int(9), rdma_mtu_from_attr(9), ib_alloc_pd(9), ib_dealloc_pd(9), rdma_create_ah(9), rdma_create_user_ah(9), ib_get_gids_from_rdma_hdr(9), ib_get_rdma_header_version(9), ib_init_ah_attr_from_wc(9), ib_create_ah_from_wc(9), rdma_modify_ah(9), rdma_query_ah(9), rdma_destroy_ah_user(9), rdma_destroy_ah(9), ib_modify_srq(9), ib_query_srq(9), ib_destroy_srq_user(9), ib_destroy_srq(9), ib_post_srq_recv(9), ib_create_qp(9), ib_modify_qp_with_udata(9), ib_modify_qp(9), ib_query_qp(9), ib_destroy_qp(9), ib_open_qp(9), ib_close_qp(9), ib_post_send(9), ib_post_recv(9), ib_alloc_cq_any(9), rdma_set_cq_moderation(9), ib_destroy_cq_user(9), ib_destroy_cq(9), ib_poll_cq(9), ib_req_notify_cq(9), ib_virt_dma_to_ptr(9), ib_virt_dma_to_page(9), ib_dma_mapping_error(9), ib_dma_map_single(9), ib_dma_unmap_single(9), ib_dma_map_page(9), ib_dma_unmap_page(9), ib_dma_map_bvec(9), ib_dma_unmap_bvec(9), ib_dma_map_sgtable_attrs(9), ib_dma_map_sg(9), ib_dma_unmap_sg(9), ib_dma_max_seg_size(9), ib_dma_sync_single_for_cpu(9), ib_dma_sync_single_for_device(9), ib_dereg_mr_user(9), ib_dereg_mr(9), ib_update_fast_reg_key(9), ib_inc_rkey(9), ib_attach_mcast(9), ib_detach_mcast(9), ib_check_mr_status(9), ib_device_try_get(9), rdma_ah_find_type(9), ib_lid_cpu16(9), ib_lid_be16(9), rdma_roce_rescan_device(9), rdma_device_to_ibdev(9), ibdev_to_node(9), rdma_device_to_drv_device(9), rdma_flow_label_to_udp_sport(9), rdma_calc_flow_label(9), rdma_get_udp_sport(9).

like yes, that's everybody. the whole friend group. mwah. 😘


and that's the page, bestie!! this one lives in ./include/rdma, stamped October 2026, and she answers to the name rdma_cap_ib_sa(9). go forth and vibe check those ports. πŸ’œπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from