diff options
author | Guangguan Wang <guangguan.wang@linux.alibaba.com> | 2023-08-17 21:20:30 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-08-19 12:46:52 +0100 |
commit | 7f0620b9940b3b4c5d83a815d46b97ac0b88a595 (patch) | |
tree | b70e4d4425270bbeff30169717cfc966e3828adf /net/smc/af_smc.c | |
parent | 6ac1e6563f5915cd38b6bc6a8b26964b2252f751 (diff) |
net/smc: support max connections per lgr negotiation
Support max connections per lgr negotiation for SMCR v2.1,
which is one of smc v2.1 features. Server makes decision for
the final value of max conns based on the client preferred
max conns and self-preferred max conns. Here use the minimum
value of client preferred max conns and server preferred max
conns.
Client Server
Proposal(max conns(client preferred))
------------------------------------>
Accept(max conns(accepted value))
accepted value=min(client preferred, server preferred)
<-----------------------------------
Confirm(max conns(accepted value))
----------------------------------->
Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>
Reviewed-by: Jan Karcher <jaka@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/af_smc.c')
-rw-r--r-- | net/smc/af_smc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index 337303b2a64e..9a72eb8d3038 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c @@ -1242,6 +1242,7 @@ static int smc_connect_rdma(struct smc_sock *smc, memcpy(ini->peer_systemid, aclc->r0.lcl.id_for_peer, SMC_SYSTEMID_LEN); memcpy(ini->peer_gid, aclc->r0.lcl.gid, SMC_GID_SIZE); memcpy(ini->peer_mac, aclc->r0.lcl.mac, ETH_ALEN); + ini->max_conns = SMC_CONN_PER_LGR_MAX; reason_code = smc_connect_rdma_v2_prepare(smc, aclc, ini); if (reason_code) |