Lines Matching +full:smc +full:- +full:id
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Shared Memory Communications over RDMA (SMC-R) and RoCE
17 #include <linux/smc.h>
19 #include "smc.h"
27 #define SMC_TYPE_R 0 /* SMC-R only */
28 #define SMC_TYPE_D 1 /* SMC-D only */
29 #define SMC_TYPE_N 2 /* neither SMC-R nor SMC-D */
30 #define SMC_TYPE_B 3 /* SMC-R and SMC-D */
37 #define SMC_CLC_DECL_PEERNOSMC 0x03010000 /* peer did not indicate SMC */
39 #define SMC_CLC_DECL_NOSMCDEV 0x03030000 /* no SMC device found (R or D) */
40 #define SMC_CLC_DECL_NOSMCDDEV 0x03030001 /* no SMC-D device found */
41 #define SMC_CLC_DECL_NOSMCRDEV 0x03030002 /* no SMC-R device found */
44 #define SMC_CLC_DECL_NOV2DEXT 0x03030005 /* peer sent no clc SMC-Dv2 ext. */
46 #define SMC_CLC_DECL_NOSMCD2DEV 0x03030007 /* no SMC-Dv2 device found */
48 #define SMC_CLC_DECL_MODEUNSUPP 0x03040000 /* smc modes do not match (R or D)*/
52 #define SMC_CLC_DECL_GETVLANERR 0x03080000 /* err to get vlan id of ip device*/
53 #define SMC_CLC_DECL_ISMVLANERR 0x03090000 /* err to reg vlan id on ism dev */
54 #define SMC_CLC_DECL_NOACTLINK 0x030a0000 /* no active smc-r link in lgr */
55 #define SMC_CLC_DECL_NOSRVLINK 0x030b0000 /* SMC-R link from srv not found */
56 #define SMC_CLC_DECL_VERSMISMAT 0x030c0000 /* SMC version mismatch */
57 #define SMC_CLC_DECL_MAX_DMB 0x030d0000 /* SMC-D DMB limit exceeded */
58 #define SMC_CLC_DECL_NOROUTE 0x030e0000 /* SMC-Rv2 conn. no route to peer */
59 #define SMC_CLC_DECL_NOINDIRECT 0x030f0000 /* SMC-Rv2 conn. indirect mismatch*/
89 u8 id_for_peer[SMC_SYSTEMID_LEN]; /* unique system id */
122 __be16 smcd_v2_ext_offset; /* SMC-Dv2 Extension Offset */
147 struct smc_clc_msg_smcd { /* SMC-D GID information */
149 __be16 v2_ext_offset; /* SMC Version 2 Extension Offset */
185 __be32 rmbe_alert_token; /* unique connection id */
244 struct smcr_clc_msg_accept_confirm r0; /* SMC-R */
245 struct { /* SMC-D */
255 struct { /* SMC-R */
260 struct { /* SMC-D */
307 ((u8 *)pclc + sizeof(*pclc) + ntohs(pclc->iparea_offset)); in smc_clc_proposal_get_prefix()
331 /* get SMC-D info from proposal message */
335 if (smcd_indicated(prop->hdr.typev1) && in smc_get_clc_msg_smcd()
336 ntohs(prop->iparea_offset) != sizeof(struct smc_clc_msg_smcd)) in smc_get_clc_msg_smcd()
347 if (!prop_smcd || !ntohs(prop_smcd->v2_ext_offset)) in smc_get_clc_v2_ext()
353 sizeof(prop_smcd->v2_ext_offset) + in smc_get_clc_v2_ext()
354 ntohs(prop_smcd->v2_ext_offset)); in smc_get_clc_v2_ext()
362 if (!ntohs(prop_v2ext->hdr.smcd_v2_ext_offset)) in smc_get_clc_smcd_v2_ext()
369 sizeof(prop_v2ext->hdr.smcd_v2_ext_offset) + in smc_get_clc_smcd_v2_ext()
370 ntohs(prop_v2ext->hdr.smcd_v2_ext_offset)); in smc_get_clc_smcd_v2_ext()
378 int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
380 int smc_clc_send_decline(struct smc_sock *smc, u32 peer_diag_info, u8 version);
381 int smc_clc_send_proposal(struct smc_sock *smc, struct smc_init_info *ini);
382 int smc_clc_send_confirm(struct smc_sock *smc, bool clnt_first_contact,
384 int smc_clc_send_accept(struct smc_sock *smc, bool srv_first_contact,