irdma_attach_mcast(9)
π irdma_attach_mcast β bestie edition
Okay so real quick, the vibe check on this page: it's irdma_attach_mcast from the Kernel API Manual, section 9 β yes, irdma_attach_mcast(9), the kernel-api girly herself. π Buckle up, this one's short but the SEE ALSO list is a lot, and we do not skip a single name here. No cap.
β¨ NAME β¨
irdma_attach_mcast β attach a qp to a multicast group π«Ά
Like, you got a queue pair and you want it hanging out in a multicast group? That's literally the whole job. She's the one who does the attaching.
π¦ SYNOPSIS π¦
int irdma_attach_mcast (struct ib_qp *ibqp , union ib_gid *ibgid , u16 lid );
Three things in, one int out. That's it. That's the whole function signature, and we are obsessed with her brevity. π
πΈ ARGUMENTS πΈ
Three arguments, each one a tiny main character:
ibqpβ ptr to qp. Yep, a pointer to the qp you're attaching. That's the star of the show right there, the one getting added to the multicast group.ibgidβ pointer to global ID. The GID. The global identifier. She's the one that says which multicast group we're talking about.lidβ local ID. Just the LID, chillin' as au16. Local ID things. π«Ά
Not me having to say it plainly:ibqpis astruct ib_qp *,ibgidis aunion ib_gid *, andlidis au16. The types are right there in the synopsis, bestie, no guessing needed.
π₯ DESCRIPTION π₯
returns error status.
That is genuinely the entire description and honestly, she ate. π No lore, no backstory, no little paragraph about the hardware internals β the docs said what they said. Call it, get an error status back, move on with your life. Periodt.
π SEE ALSO π
Okay this is the part where the manpage decided to list everyone she's ever met. Source file first, because context:
- Kernel file
./drivers/infiniband/hw/irdma/verbs.c
And now the full guest list, every single one in section (9), no cuts, no skips, all iconic:
irdma_query_device(9)irdma_query_port(9)irdma_disassociate_ucontext(9)irdma_mmap(9)irdma_alloc_push_page(9)irdma_alloc_ucontext(9)irdma_dealloc_ucontext(9)irdma_alloc_pd(9)irdma_dealloc_pd(9)irdma_get_pbl(9)irdma_clean_cqes(9)_irdma_destroy_qp(9)irdma_destroy_qp(9)irdma_setup_virt_qp(9)irdma_setup_umode_qp(9)irdma_setup_kmode_qp(9)irdma_create_qp(9)irdma_query_qp(9)irdma_query_pkey(9)irdma_modify_qp_roce(9)irdma_modify_qp(9)irdma_srq_free_rsrc(9)irdma_cq_free_rsrc(9)irdma_free_cqbuf(9)irdma_process_resize_list(9)irdma_destroy_srq(9)irdma_destroy_cq(9)irdma_resize_cq(9)irdma_srq_event(9)irdma_modify_srq(9)irdma_create_srq(9)irdma_query_srq(9)irdma_create_cq(9)irdma_get_mr_access(9)irdma_free_stag(9)irdma_create_stag(9)irdma_next_pbl_addr(9)irdma_copy_user_pgaddrs(9)irdma_check_mem_contiguous(9)irdma_check_mr_contiguous(9)irdma_setup_pbles(9)irdma_handle_q_mem(9)irdma_hw_alloc_mw(9)irdma_alloc_mw(9)irdma_dealloc_mw(9)irdma_hw_alloc_stag(9)irdma_alloc_mr(9)irdma_set_page(9)irdma_map_mr_sg(9)irdma_hwreg_mr(9)irdma_reg_user_mr(9)irdma_reg_phys_mr(9)irdma_get_dma_mr(9)irdma_del_memlist(9)irdma_dereg_mr(9)irdma_post_send(9)irdma_post_srq_recv(9)irdma_post_recv(9)irdma_flush_err_to_ib_wc_status(9)irdma_process_cqe(9)irdma_poll_one(9)__irdma_poll_cq(9)irdma_poll_cq(9)irdma_req_notify_cq(9)irdma_alloc_hw_port_stats(9)irdma_get_hw_stats(9)irdma_query_gid(9)mcast_list_add(9)mcast_list_del(9)mcast_list_lookup_ip(9)irdma_mcast_cqp_op(9)irdma_mcast_mac(9)irdma_detach_mcast(9)irdma_ah_exists(9)irdma_destroy_ah(9)irdma_create_user_ah(9)irdma_create_ah(9)irdma_query_ah(9)irdma_init_roce_device(9)irdma_init_iw_device(9)irdma_init_rdma_device(9)irdma_port_ibevent(9)irdma_ib_unregister_device(9)irdma_ib_register_device(9)irdma_ib_dealloc_device(9)
Quick iykyk heads up:irdma_detach_mcast(9)is right there in the list. That's the opposite direction β she's the undo button for this whole situation. And note_irdma_destroy_qp(9)with the leading underscore is a different page fromirdma_destroy_qp(9). Do not conflate them, bestie, they are siblings not twins. π
Also the SEE ALSO includes mcast_list_add(9), mcast_list_del(9), and mcast_list_lookup_ip(9) β the multicast list girlies. Go read them. They're doing the real work. β¨
π§ sign-off π§
That's the whole page, bb! Source is ./drivers/infiniband/hw/irdma and the date on this baby is October 2026 β so she's fresh, she's documented, she's irdma_attach_mcast(9), and she's done. Go attach that qp to that multicast group. 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