mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 21:35:07 +00:00
net/smc: fix matching of existing link groups
With the multi-subnet support of SMC-Dv2 the match for existing link groups should not include the vlanid of the network device. Set ini->smcd_version accordingly before the call to smc_conn_create() and use this value in smc_conn_create() to skip the vlanid check. Fixes: 5c21c4ccafe8 ("net/smc: determine accepted ISM devices") Signed-off-by: Karsten Graul <kgraul@linux.ibm.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
2d8f6481c1
commit
0530bd6e6a
@ -979,7 +979,8 @@ static int __smc_connect(struct smc_sock *smc)
|
||||
|
||||
/* check if smc modes and versions of CLC proposal and accept match */
|
||||
rc = smc_connect_check_aclc(ini, aclc);
|
||||
version = aclc->hdr.version == SMC_V1 ? SMC_V1 : version;
|
||||
version = aclc->hdr.version == SMC_V1 ? SMC_V1 : SMC_V2;
|
||||
ini->smcd_version = version;
|
||||
if (rc)
|
||||
goto vlan_cleanup;
|
||||
|
||||
|
@ -1309,7 +1309,8 @@ int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini)
|
||||
ini->ism_peer_gid[ini->ism_selected]) :
|
||||
smcr_lgr_match(lgr, ini->ib_lcl, role, ini->ib_clcqpn)) &&
|
||||
!lgr->sync_err &&
|
||||
lgr->vlan_id == ini->vlan_id &&
|
||||
(ini->smcd_version == SMC_V2 ||
|
||||
lgr->vlan_id == ini->vlan_id) &&
|
||||
(role == SMC_CLNT || ini->is_smcd ||
|
||||
lgr->conns_num < SMC_RMBS_PER_LGR_MAX)) {
|
||||
/* link group found */
|
||||
|
Loading…
x
Reference in New Issue
Block a user