IB/cma: Introduce rdma_set_min_rnr_timer()
Introduce the ability for kernel ULPs to adjust the minimum RNR Retry timer. The INIT -> RTR transition executed by RDMA CM will be used for this adjustment. This avoids an additional ib_modify_qp() call. rdma_set_min_rnr_timer() must be called before the call to rdma_connect() on the active side and before the call to rdma_accept() on the passive side. The default value of RNR Retry timer is zero, which translates to 655 ms. When the receiver is not ready to accept a send messages, it encodes the RNR Retry timer value in the NAK. The requestor will then wait at least the specified time value before retrying the send. The 5-bit value to be supplied to the rdma_set_min_rnr_timer() is documented in IBTA Table 45: "Encoding for RNR NAK Timer Field". Link: https://lore.kernel.org/r/1617216194-12890-2-git-send-email-haakon.bugge@oracle.com Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com> Acked-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
committed by
Jason Gunthorpe
parent
8166e00905
commit
3aeffc46af
@@ -331,6 +331,8 @@ int rdma_set_reuseaddr(struct rdma_cm_id *id, int reuse);
|
||||
int rdma_set_afonly(struct rdma_cm_id *id, int afonly);
|
||||
|
||||
int rdma_set_ack_timeout(struct rdma_cm_id *id, u8 timeout);
|
||||
|
||||
int rdma_set_min_rnr_timer(struct rdma_cm_id *id, u8 min_rnr_timer);
|
||||
/**
|
||||
* rdma_get_service_id - Return the IB service ID for a specified address.
|
||||
* @id: Communication identifier associated with the address.
|
||||
|
||||
Reference in New Issue
Block a user