rdma_for_each_port(9)
π rdma_for_each_port(9) β Kernel API Manual π
π NAME π
okay so bestie, rdma_for_each_port is literally the iterate-over-all valid port numbers-of-the-IB-device moment. that's the whole vibe check, no cap. π«
β¨ SYNOPSIS β¨
the call looks exactly like this, character for character:
rdma_for_each_port (device , iter );
π ARGUMENTS π
deviceβ thestruct ib_device *to iterate over. this is the IB device you're doing your little port tour on π«Άiterβ theunsigned intto store the port number. it's giving βhere's where the port number goesβ and honestly? iconic. β¨
π¦ SEE ALSO π¦
first up, the kernel file ./include/rdma/ib_verbs.h β and then the whole reference squad, in order, no skips, fr fr:
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_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_sa(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)
okay that's the whole page, bestie β source/version ./include/rdma, date October 2026, manual rdma_for_each_port(9). it ate and left no crumbs. byeee! ππ
π¦ 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