irdma_puda_create_ah(9)
π irdma_puda_create_ah(9) π
okay so this is a page from the Kernel API Manual, and today's main character is irdma_puda_create_ah β the little function that creates an AH for ILQ/IEQ qp's. yes, AH = address handle, and yes, it's as iconic as it sounds π
β¨ NAME β¨
irdma_puda_create_ah β create AH for ILQ/IEQ qp's π¦
πΈ SYNOPSIS πΈ
int irdma_puda_create_ah (struct irdma_sc_dev *dev , struct
irdma_ah_info *ah_info , bool wait , enum puda_rsrc_type type , void
*cb_param , struct irdma_sc_ah **ah_ret );
like, look at that signature. six whole args. she's doing the most and honestly? slay π
π ARGUMENTS π
devβ device pointer. it's giving "this is the hardware we're talking to" energy, periodt β¨ah_infoβ Address handle info. all the deets you need to actually build the AH live right here πwaitβ When true will wait for operation to complete. sotrue= bestie we are waiting for this to finish, no cap β³typeβ ILQ/IEQ. that's the resource type, pick your lane π€οΈcb_paramβ Callback param when not waiting. iykyk β if you're not waiting, this is what comes back to you π«Άah_retβ Returned pointer to address handle if created. the whole point honestly β if it got made, the pointer lands here π―
π₯ SEE ALSO π₯
bestie there are so many of these and i'm obsessed with the dedication. all of them live in the Kernel file ./drivers/infiniband/hw/irdma/utils.c:
irdma_arp_table(9)irdma_add_arp(9)wr32(9)rd32(9)rd64(9)irdma_inetaddr_event(9)irdma_inet6addr_event(9)irdma_net_event(9)irdma_netdevice_event(9)irdma_add_ipv6_addr(9)irdma_add_ipv4_addr(9)irdma_add_ip(9)irdma_alloc_and_get_cqp_request(9)irdma_get_cqp_request(9)irdma_free_cqp_request(9)irdma_put_cqp_request(9)irdma_free_pending_cqp_request(9)irdma_cleanup_deferred_cqp_ops(9)irdma_cleanup_pending_cqp_op(9)irdma_wait_event(9)irdma_cqp_crit_err(9)irdma_handle_cqp_op(9)irdma_get_qp(9)irdma_remove_cqp_head(9)irdma_cqp_sds_cmd(9)irdma_cqp_qp_suspend_resume(9)irdma_term_modify_qp(9)irdma_terminate_done(9)irdma_terminate_start_timer(9)irdma_terminate_del_timer(9)irdma_cqp_cq_create_cmd(9)irdma_cqp_qp_create_cmd(9)irdma_dealloc_push_page(9)irdma_free_qp_rsrc(9)irdma_srq_wq_destroy(9)irdma_cq_wq_destroy(9)irdma_hw_modify_qp_callback(9)irdma_hw_modify_qp(9)irdma_cqp_cq_destroy_cmd(9)irdma_cqp_qp_destroy_cmd(9)irdma_ieq_mpa_crc_ae(9)irdma_ieq_check_mpacrc(9)irdma_ieq_get_qp(9)irdma_send_ieq_ack(9)irdma_puda_ieq_get_ah_info(9)irdma_gen1_ieq_update_tcpip_info(9)irdma_ieq_update_tcpip_info(9)irdma_gen1_puda_get_tcpip_info(9)irdma_puda_get_tcpip_info(9)irdma_hw_stats_timeout(9)irdma_hw_stats_start_timer(9)irdma_hw_stats_stop_timer(9)irdma_process_stats(9)irdma_cqp_gather_stats_gen1(9)irdma_process_cqp_stats(9)irdma_cqp_gather_stats_cmd(9)irdma_cqp_stats_inst_cmd(9)irdma_cqp_ceq_cmd(9)irdma_cqp_aeq_cmd(9)irdma_cqp_ws_node_cmd(9)irdma_ah_cqp_op(9)irdma_ieq_ah_cb(9)irdma_ilq_ah_cb(9)irdma_puda_free_ah(9)irdma_gsi_ud_qp_ah_cb(9)irdma_prm_add_pble_mem(9)irdma_prm_get_pbles(9)irdma_prm_return_pbles(9)irdma_pble_free_paged_mem(9)irdma_pble_get_paged_mem(9)irdma_alloc_ws_node_id(9)irdma_free_ws_node_id(9)irdma_modify_qp_to_err(9)irdma_set_cpi_common_values(9)
likeβ¦ that's a whole friend group π but every single one of them is linked and accounted for, no gatekeeping π«Ά
lowkey a reminder that this is kernel API territory β you're calling into driver internals, so read the arguments properly before you yeet a pointer in there πβ¨
okay that's the whole page, hope it ate π this cutie came to you from ./drivers/infiniband/hw/irdma, stamped October 2026, and answers to the name irdma_puda_create_ah(9) β that's a wrap, bestie ππ¦β¨
π¦ 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