Lines Matching +full:smc +full:- +full:id

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Shared Memory Communications over RDMA (SMC-R) and RoCE
5 * Definitions for SMC Connections, Link Groups and Links
16 #include <linux/smc.h>
20 #include <net/smc.h>
22 #include "smc.h"
29 * also is the default value for SMC-R v1 and v2.0
32 * SMC-R v2.1 and later negotiation, vendors or
34 * 16-255 as needed.
95 struct smc_ib_device *smcibdev; /* ib-device */
96 u8 ibport; /* port - values 1 | 2 */
149 u8 gid[SMC_GID_SIZE];/* gid matching used vlan id*/
150 u8 sgid_index; /* gid index for vlan id */
159 u8 link_uid[SMC_LGR_ID_SIZE]; /* unique lnk id */
177 /* For now we just allow one parallel link per link group. The SMC protocol
184 * default value for smc-r v1.0 and v2.0
187 * SMC-R v2.1 and later negotiation, vendors or
189 * 1-2 as needed.
200 struct { /* SMC-R */
223 struct { /* SMC-D */
256 enum smcr_buf_type { /* types of SMC-R sndbufs and RMBs */
282 unsigned short vlan_id; /* vlan id of link group */
291 u8 id[SMC_LGR_ID_SIZE]; /* unique lgr id */ member
300 bool is_smcd; /* SMC-R or SMC-D */
307 struct { /* SMC-R */
311 /* smc link */
328 /* pnet id of this lgr */
365 struct { /* SMC-D */
404 /* max # of proposed non-native ISM devices,
405 * which can't exceed the max # of CHID-GID
406 * entries in CLC proposal SMC-Dv2 extension.
421 /* SMC-R */
432 /* SMC-D */
454 node = lgr->conns_all.rb_node; in smc_lgr_find_conn()
459 if (cur->alert_token_local > token) { in smc_lgr_find_conn()
460 node = node->rb_left; in smc_lgr_find_conn()
462 if (cur->alert_token_local < token) { in smc_lgr_find_conn()
463 node = node->rb_right; in smc_lgr_find_conn()
476 return conn->lgr && conn->alert_token_local; in smc_conn_lgr_valid()
488 if (lnk->state == SMC_LNK_UNUSED || lnk->state == SMC_LNK_INACTIVE) in smc_link_usable()
505 lnk->qp_attr.cur_qp_state == IB_QPS_RTS; in smc_link_sendable()
510 return lnk->state == SMC_LNK_ACTIVE; in smc_link_active()
515 return lnk->wr_rx_sge_cnt > 1; in smc_link_shared_v2_rxbuf()
542 smc_dev->pci_vendor = pci_dev->vendor; in smc_set_pci_values()
543 smc_dev->pci_device = pci_dev->device; in smc_set_pci_values()
544 snprintf(smc_dev->pci_id, sizeof(smc_dev->pci_id), "%s", in smc_set_pci_values()
551 smc_dev->pci_fid = zdev->fid; in smc_set_pci_values()
552 smc_dev->pci_pchid = zdev->pchid; in smc_set_pci_values()
570 int smc_buf_create(struct smc_sock *smc, bool is_smcd);
571 int smcd_buf_attach(struct smc_sock *smc);
586 int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini);
614 return link->lgr; in smc_get_lgr()