ib_attach_mcast(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ib_attach_mcast β€” Kernel API Manual, section 9, bestie ✨

okay so picture this: you're deep in the kernel API manual (section 9, the big leagues) and you find ib_attach_mcast. that's her. that's the page. she's small, she's focused, she has exactly one job and she does it slayfully πŸŽ€


🌸 NAME 🌸

ib_attach_mcast β€” Attaches the specified QP to a multicast group.

that's it. that's the whole vibe. one QP, one multicast group, a match made in fabric heaven πŸ’–


✨ SYNOPSIS ✨

int ib_attach_mcast (struct ib_qp *qp , union ib_gid *gid , u16 lid );

look at that signature. three args, one int coming back, no drama πŸ¦‹


🫢 ARGUMENTS 🫢

  • qp β€” the QP you're attaching to the multicast group, bestie. heads up though: the QP must be type IB_QPT_UD. not optional, not a suggestion, it's giving mandatory πŸ’…
  • gid β€” the multicast group GID. yeah. that GID. πŸ‘‘
  • lid β€” the multicast group LID, and it's in host byte order. host byte order, okay?? do not come at this function with your network byte order nonsense, i'm begging πŸ™ˆ

πŸ”₯ DESCRIPTION πŸ”₯

so like β€” in order to send and receive multicast packets, subnet administration must have already created the multicast group and configured the fabric appropriately. like, the groundwork? already done. not your job. someone else's main character moment 🌈

also, and this is the part people forget: the port associated with the specified QP must also be a member of the multicast group. the way that's a whole extra requirement 😭 like yes the QP is attached but the port has to be in the group too. both. periodt.

no cap: no group + no fabric config = no multicast packets. nobody's sending anything. πŸ’€

🧚 SEE ALSO 🧚

okay this list is long long, so buckle up buttercup, i'm not skipping a single one of these because every reference deserves her moment ⭐

  • Kernel file ./include/rdma/ib_verbs.h
  • 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_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_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)

i told you it was a lot 😭 but every single one is here, not one dropped, we ate that list fr fr πŸ”₯


mwah πŸ’œ this little page lives in ./include/rdma (that's her home address) and she's dated October 2026 β€” mark your calendars bestie, she's from the future βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from