Lines Matching refs:aclc
1155 struct smc_clc_msg_accept_confirm *aclc, in smc_connect_clc() argument
1165 return smc_clc_wait_msg(smc, aclc, SMC_CLC_MAX_ACCEPT_LEN, in smc_connect_clc()
1198 struct smc_clc_msg_accept_confirm *aclc, in smc_connect_rdma_v2_prepare() argument
1202 smc_get_clc_first_contact_ext(aclc, false); in smc_connect_rdma_v2_prepare()
1206 if (!ini->first_contact_peer || aclc->hdr.version == SMC_V1) in smc_connect_rdma_v2_prepare()
1210 memcpy(ini->smcrv2.nexthop_mac, &aclc->r0.lcl.mac, ETH_ALEN); in smc_connect_rdma_v2_prepare()
1214 smc_ib_gid_to_ipv4(aclc->r0.lcl.gid), in smc_connect_rdma_v2_prepare()
1234 struct smc_clc_msg_accept_confirm *aclc, in smc_connect_rdma() argument
1242 ini->ib_clcqpn = ntoh24(aclc->r0.qpn); in smc_connect_rdma()
1243 ini->first_contact_peer = aclc->hdr.typev2 & SMC_FIRST_CONTACT_MASK; in smc_connect_rdma()
1244 memcpy(ini->peer_systemid, aclc->r0.lcl.id_for_peer, SMC_SYSTEMID_LEN); in smc_connect_rdma()
1245 memcpy(ini->peer_gid, aclc->r0.lcl.gid, SMC_GID_SIZE); in smc_connect_rdma()
1246 memcpy(ini->peer_mac, aclc->r0.lcl.mac, ETH_ALEN); in smc_connect_rdma()
1250 reason_code = smc_connect_rdma_v2_prepare(smc, aclc, ini); in smc_connect_rdma()
1261 smc_conn_save_peer_info(smc, aclc); in smc_connect_rdma()
1271 if (l->peer_qpn == ntoh24(aclc->r0.qpn) && in smc_connect_rdma()
1272 !memcmp(l->peer_gid, &aclc->r0.lcl.gid, in smc_connect_rdma()
1274 (aclc->hdr.version > SMC_V1 || in smc_connect_rdma()
1275 !memcmp(l->peer_mac, &aclc->r0.lcl.mac, in smc_connect_rdma()
1295 smc_link_save_peer_info(link, aclc, ini); in smc_connect_rdma()
1297 if (smc_rmb_rtoken_handling(&smc->conn, link, aclc)) { in smc_connect_rdma()
1324 if (aclc->hdr.version > SMC_V1) { in smc_connect_rdma()
1325 eid = aclc->r1.eid; in smc_connect_rdma()
1332 aclc->hdr.version, eid, ini); in smc_connect_rdma()
1366 smc_v2_determine_accepted_chid(struct smc_clc_msg_accept_confirm *aclc, in smc_v2_determine_accepted_chid() argument
1372 if (ini->ism_chid[i] == ntohs(aclc->d1.chid)) { in smc_v2_determine_accepted_chid()
1383 struct smc_clc_msg_accept_confirm *aclc, in smc_connect_ism() argument
1390 ini->first_contact_peer = aclc->hdr.typev2 & SMC_FIRST_CONTACT_MASK; in smc_connect_ism()
1392 if (aclc->hdr.version == SMC_V2) { in smc_connect_ism()
1395 smc_get_clc_first_contact_ext(aclc, true); in smc_connect_ism()
1403 rc = smc_v2_determine_accepted_chid(aclc, ini); in smc_connect_ism()
1409 ntohll(aclc->d1.gid_ext); in smc_connect_ism()
1412 ini->ism_peer_gid[ini->ism_selected].gid = ntohll(aclc->d0.gid); in smc_connect_ism()
1429 smc_conn_save_peer_info(smc, aclc); in smc_connect_ism()
1442 if (aclc->hdr.version > SMC_V1) in smc_connect_ism()
1443 eid = aclc->d1.eid; in smc_connect_ism()
1446 aclc->hdr.version, eid, ini); in smc_connect_ism()
1467 struct smc_clc_msg_accept_confirm *aclc) in smc_connect_check_aclc() argument
1469 if (aclc->hdr.version >= SMC_V2) { in smc_connect_check_aclc()
1470 if ((aclc->hdr.typev1 == SMC_TYPE_R && in smc_connect_check_aclc()
1472 (aclc->hdr.typev1 == SMC_TYPE_D && in smc_connect_check_aclc()
1476 if ((aclc->hdr.typev1 == SMC_TYPE_R && in smc_connect_check_aclc()
1478 (aclc->hdr.typev1 == SMC_TYPE_D && in smc_connect_check_aclc()
1490 struct smc_clc_msg_accept_confirm *aclc; in __smc_connect() local
1533 aclc = (struct smc_clc_msg_accept_confirm *)buf; in __smc_connect()
1536 rc = smc_connect_clc(smc, aclc, ini); in __smc_connect()
1547 rc = smc_connect_check_aclc(ini, aclc); in __smc_connect()
1548 version = aclc->hdr.version == SMC_V1 ? SMC_V1 : SMC_V2; in __smc_connect()
1553 if (aclc->hdr.typev1 == SMC_TYPE_R) { in __smc_connect()
1555 rc = smc_connect_rdma(smc, aclc, ini); in __smc_connect()
1556 } else if (aclc->hdr.typev1 == SMC_TYPE_D) { in __smc_connect()
1558 rc = smc_connect_ism(smc, aclc, ini); in __smc_connect()
1563 SMC_STAT_CLNT_SUCC_INC(sock_net(smc->clcsock->sk), aclc); in __smc_connect()