rdma_set_ack_timeout(9)
π rdma_set_ack_timeout(9) π
ok so you're literally reading a Kernel API Manual page, bestie, and it's about rdma_set_ack_timeout β a whole little function that sets the ack timeout of a QP that's associated with a connection identifier. yes that's a lot of acronyms, we'll get there π«Ά
β¨ NAME β¨
rdma_set_ack_timeout β Set the ack timeout of QP associated with a connection identifier.
πΈ SYNOPSIS πΈ
int rdma_set_ack_timeout (struct rdma_cm_id *id , u8 timeout );
like, that's the whole vibe. two args, one int coming back at you. periodt. β¨
π ARGUMENTS π
idβ the communication identifier to associated with service type. (their words, not mine π β it's therdma_cm_idyou're tying this to.)timeoutβ the ack timeout you're setting on a QP, and it's expressed as4.096 * 2^(timeout)usec. yes, that's the actual formula, no cap, write it on your hand π
π¦ DESCRIPTION π¦
okay so timing matters SO much here, like main character energy for real:
This function should be called before rdma_connect on the active side, and on the passive side before rdma_accept. β°
It is applicable to primary path only β don't get cute with it elsewhere π
The timeout will affect the local side of the QP. it is not negotiated with the remote side, and zero disables the timer. so yeah, 0 = timer off, iconic little detail π
And β this is the juicy part β in case it is set before rdma_resolve_route, the value will also be used to determine PacketLifeTime for RoCE. two birds, one syscall, we love efficiency π¦β¨
β RETURN β
0 for success. that's it. that's the whole return section, slay π
π SEE ALSO π
Kernel file ./drivers/infiniband/core/cma.c β and a whole friend group of functions you should also go read:
rdma_is_consumer_reject(9)rdma_iw_cm_id(9)cma_acquire_dev_by_src_ip(9)cma_ib_acquire_dev(9)rdma_set_min_rnr_timer(9)rdma_connect_locked(9)rdma_connect(9)rdma_connect_ece(9)rdma_accept(9)
ngl bestie, if you're touching RoCE paths, double-check the ordering rules above before you ship. the "beforerdma_connect/ beforerdma_accept" thing is not a suggestion, it's giving load-bearing π«Ά
aaaaand that's the page!! πΈ signed off from ./drivers/infiniband/core, dated October 2026 β go set some timeouts, you absolute icon ππ
π¦ 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