| /linux/net/9p/ |
| H A D | trans_rdma.c | 3 * RDMA transport layer based on the trans_fd.c implementation. 32 #include <rdma/ib_verbs.h> 33 #include <rdma/rdma_cm.h> 42 * struct p9_trans_rdma - RDMA transport instance 45 * @cm_id: The RDMA CM ID 111 struct p9_trans_rdma *rdma = clnt->trans; in p9_rdma_show_options() local 113 if (rdma->port != P9_RDMA_PORT) in p9_rdma_show_options() 114 seq_printf(m, ",port=%u", rdma->port); in p9_rdma_show_options() 115 if (rdma->sq_depth != P9_RDMA_SQ_DEPTH) in p9_rdma_show_options() 116 seq_printf(m, ",sq=%u", rdma->sq_depth); in p9_rdma_show_options() [all …]
|
| /linux/Documentation/admin-guide/cgroup-v1/ |
| H A D | rdma.rst | 2 RDMA Controller 8 1-1. What is RDMA controller? 9 1-2. Why RDMA controller needed? 10 1-3. How is RDMA controller implemented? 16 1-1. What is RDMA controller? 19 RDMA controller allows user to limit RDMA/IB specific resources that a given 20 set of processes can use. These processes are grouped using RDMA controller. 22 RDMA controller defines two resources which can be limited for processes of a 25 1-2. Why RDMA controller needed? 28 Currently user space applications can easily take away all the rdma verb [all …]
|
| /linux/net/sunrpc/xprtrdma/ |
| H A D | svc_rdma_rw.c | 5 * Use the core R/W API to move RPC-over-RDMA Read and Write chunks. 10 #include <rdma/rw.h> 22 /* Each R/W context contains state for one chain of RDMA Read or 30 * Each WR chain handles only one R_key. Each RPC-over-RDMA segment 49 static void svc_rdma_put_rw_ctxt(struct svcxprt_rdma *rdma, 60 svc_rdma_get_rw_ctxt(struct svcxprt_rdma *rdma, unsigned int nr_bvec) in svc_rdma_get_rw_ctxt() argument 62 struct ib_device *dev = rdma->sc_cm_id->device; in svc_rdma_get_rw_ctxt() 67 spin_lock(&rdma->sc_rw_ctxt_lock); in svc_rdma_get_rw_ctxt() 68 node = llist_del_first(&rdma->sc_rw_ctxts); in svc_rdma_get_rw_ctxt() 69 spin_unlock(&rdma in svc_rdma_get_rw_ctxt() 114 svc_rdma_put_rw_ctxt(struct svcxprt_rdma * rdma,struct svc_rdma_rw_ctxt * ctxt) svc_rdma_put_rw_ctxt() argument 125 svc_rdma_destroy_rw_ctxts(struct svcxprt_rdma * rdma) svc_rdma_destroy_rw_ctxts() argument 148 svc_rdma_rw_ctx_init(struct svcxprt_rdma * rdma,struct svc_rdma_rw_ctxt * ctxt,u64 offset,u32 handle,unsigned int length,enum dma_data_direction direction) svc_rdma_rw_ctx_init() argument 175 svc_rdma_cc_init(struct svcxprt_rdma * rdma,struct svc_rdma_chunk_ctxt * cc) svc_rdma_cc_init() argument 193 svc_rdma_cc_release(struct svcxprt_rdma * rdma,struct svc_rdma_chunk_ctxt * cc,enum dma_data_direction dir) svc_rdma_cc_release() argument 222 svc_rdma_write_info_alloc(struct svcxprt_rdma * rdma,const struct svc_rdma_chunk * chunk) svc_rdma_write_info_alloc() argument 259 svc_rdma_reply_chunk_release(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * ctxt) svc_rdma_reply_chunk_release() argument 281 struct svcxprt_rdma *rdma = cq->cq_context; svc_rdma_reply_done() local 306 struct svcxprt_rdma *rdma = cq->cq_context; svc_rdma_write_done() local 340 struct svcxprt_rdma *rdma = cq->cq_context; svc_rdma_wc_read_done() local 383 svc_rdma_post_chunk_ctxt(struct svcxprt_rdma * rdma,struct svc_rdma_chunk_ctxt * cc) svc_rdma_post_chunk_ctxt() argument 491 struct svcxprt_rdma *rdma = info->wi_rdma; svc_rdma_build_writes() local 620 svc_rdma_send_write_chunk(struct svcxprt_rdma * rdma,const struct svc_rdma_chunk * chunk,const struct xdr_buf * xdr) svc_rdma_send_write_chunk() argument 662 svc_rdma_send_write_list(struct svcxprt_rdma * rdma,const struct svc_rdma_recv_ctxt * rctxt,const struct xdr_buf * xdr) svc_rdma_send_write_list() argument 694 svc_rdma_prepare_reply_chunk(struct svcxprt_rdma * rdma,const struct svc_rdma_pcl * write_pcl,const struct svc_rdma_pcl * reply_pcl,struct svc_rdma_send_ctxt * sctxt,const struct xdr_buf * xdr) svc_rdma_prepare_reply_chunk() argument 751 struct svcxprt_rdma *rdma = svc_rdma_rqst_rdma(rqstp); svc_rdma_build_read_segment() local 1135 svc_rdma_process_read_list(struct svcxprt_rdma * rdma,struct svc_rqst * rqstp,struct svc_rdma_recv_ctxt * head) svc_rdma_process_read_list() argument [all...] |
| H A D | svc_rdma_sendto.c | 51 * XDR-encoded RPC Reply message. sendto must construct the RPC-over-RDMA 105 #include <rdma/ib_verbs.h> 106 #include <rdma/rdma_cm.h> 117 svc_rdma_send_ctxt_alloc(struct svcxprt_rdma *rdma) in svc_rdma_send_ctxt_alloc() argument 119 struct ib_device *device = rdma->sc_cm_id->device; in svc_rdma_send_ctxt_alloc() 127 ctxt = kzalloc_node(struct_size(ctxt, sc_sges, rdma->sc_max_send_sges), in svc_rdma_send_ctxt_alloc() 131 pages = svc_serv_maxpages(rdma->sc_xprt.xpt_server); in svc_rdma_send_ctxt_alloc() 137 buffer = kmalloc_node(rdma->sc_max_req_size, GFP_KERNEL, node); in svc_rdma_send_ctxt_alloc() 140 addr = ib_dma_map_single(device, buffer, rdma->sc_max_req_size, in svc_rdma_send_ctxt_alloc() 145 svc_rdma_send_cid_init(rdma, in svc_rdma_send_ctxt_alloc() 167 svc_rdma_send_ctxts_destroy(struct svcxprt_rdma * rdma) svc_rdma_send_ctxts_destroy() argument 190 svc_rdma_send_ctxt_get(struct svcxprt_rdma * rdma) svc_rdma_send_ctxt_get() argument 224 svc_rdma_send_ctxt_release(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * ctxt) svc_rdma_send_ctxt_release() argument 266 svc_rdma_send_ctxt_put(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * ctxt) svc_rdma_send_ctxt_put() argument 279 svc_rdma_wake_send_waiters(struct svcxprt_rdma * rdma,int avail) svc_rdma_wake_send_waiters() argument 297 struct svcxprt_rdma *rdma = cq->cq_context; svc_rdma_wc_send() local 338 svc_rdma_post_send(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * ctxt) svc_rdma_post_send() argument 566 struct svcxprt_rdma *rdma = args->md_rdma; svc_rdma_page_dma_map() local 703 svc_rdma_pull_up_needed(const struct svcxprt_rdma * rdma,const struct svc_rdma_send_ctxt * sctxt,const struct svc_rdma_pcl * write_pcl,const struct xdr_buf * xdr) svc_rdma_pull_up_needed() argument 784 svc_rdma_pull_up_reply_msg(const struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * sctxt,const struct svc_rdma_pcl * write_pcl,const struct xdr_buf * xdr) svc_rdma_pull_up_reply_msg() argument 818 svc_rdma_map_reply_msg(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * sctxt,const struct svc_rdma_pcl * write_pcl,const struct svc_rdma_pcl * reply_pcl,const struct xdr_buf * xdr) svc_rdma_map_reply_msg() argument 880 svc_rdma_send_reply_msg(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * sctxt,const struct svc_rdma_recv_ctxt * rctxt,struct svc_rqst * rqstp) svc_rdma_send_reply_msg() argument 923 svc_rdma_send_error_msg(struct svcxprt_rdma * rdma,struct svc_rdma_send_ctxt * sctxt,struct svc_rdma_recv_ctxt * rctxt,int status) svc_rdma_send_error_msg() argument 992 struct svcxprt_rdma *rdma = svc_rdma_sendto() local [all...] |
| H A D | svc_rdma_transport.c | 52 #include <rdma/ib_verbs.h> 53 #include <rdma/rdma_cm.h> 54 #include <rdma/rw.h> 94 .xcl_name = "rdma", 195 * paragraph 2). For now, we assume that all supported RDMA in svc_rdma_create_xprt() 331 struct svcxprt_rdma *rdma = cma_id->context; in svc_rdma_cma_handler() 332 struct svc_xprt *xprt = &rdma->sc_xprt; in svc_rdma_cma_handler() 336 clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags); in svc_rdma_cma_handler() 352 * Create a listening RDMA service endpoint. 389 struct svcxprt_rdma *rdma in svc_rdma_xprt_done() 330 struct svcxprt_rdma *rdma = cma_id->context; svc_rdma_cma_handler() local 388 struct svcxprt_rdma *rdma = container_of(rn, struct svcxprt_rdma, svc_rdma_xprt_done() local 588 struct svcxprt_rdma *rdma = svc_rdma_detach() local 600 struct svcxprt_rdma *rdma = svc_rdma_free() local 640 struct svcxprt_rdma *rdma = svc_rdma_has_wspace() local [all...] |
| H A D | svc_rdma_backchannel.c | 5 * Support for reverse-direction RPCs on RPC/RDMA (server-side). 65 * the RPC/RDMA request. 75 static int svc_rdma_bc_sendto(struct svcxprt_rdma *rdma, in svc_rdma_bc_sendto() argument 83 ret = svc_rdma_map_reply_msg(rdma, sctxt, &empty_pcl, &empty_pcl, in svc_rdma_bc_sendto() 93 return svc_rdma_post_send(rdma, sctxt); in svc_rdma_bc_sendto() 136 rpcrdma_bc_send_request(struct svcxprt_rdma *rdma, struct rpc_rqst *rqst) in rpcrdma_bc_send_request() argument 144 ctxt = svc_rdma_send_ctxt_get(rdma); in rpcrdma_bc_send_request() 160 rc = svc_rdma_bc_sendto(rdma, rqst, ctxt); in rpcrdma_bc_send_request() 166 svc_rdma_send_ctxt_put(rdma, ctxt); in rpcrdma_bc_send_request() 183 struct svcxprt_rdma *rdma = in xprt_rdma_bc_send_request() local [all …]
|
| /linux/Documentation/admin-guide/nfs/ |
| H A D | nfs-rdma.rst | 2 Setting up NFS/RDMA 14 This document describes how to install and setup the Linux NFS/RDMA client 17 The NFS/RDMA client was first included in Linux 2.6.24. The NFS/RDMA server 23 RDMA adapters. 29 nfs-rdma-devel@lists.sourceforge.net mailing list. 35 use with NFS/RDMA. 37 - Install an RDMA device 46 The first kernel release to contain both the NFS/RDMA client and server was 55 An NFS/RDMA mount point can be obtained by using the mount.nfs command in 57 version with support for NFS/RDMA mounts, but for various reasons we [all …]
|
| /linux/drivers/gpu/drm/meson/ |
| H A D | meson_rdma.c | 19 * by the VSYNC irq and does not handle the RDMA irq. 26 if (!priv->rdma.addr) { in meson_rdma_init() 28 priv->rdma.addr = in meson_rdma_init() 30 &priv->rdma.addr_dma, in meson_rdma_init() 32 if (!priv->rdma.addr) in meson_rdma_init() 36 priv->rdma.offset = 0; in meson_rdma_init() 50 if (!priv->rdma.addr && !priv->rdma.addr_dma) in meson_rdma_free() 56 priv->rdma.addr, priv->rdma.addr_dma); in meson_rdma_free() 58 priv->rdma.addr = NULL; in meson_rdma_free() 59 priv->rdma.addr_dma = (dma_addr_t)0; in meson_rdma_free() [all …]
|
| /linux/include/linux/sunrpc/ |
| H A D | rpc_rdma.h | 66 * Smallest RPC/RDMA header: rm_xid through rm_type, then rm_nochunks 81 RDMA_ERROR = 4 /* An RPC RDMA encoding error */ 94 * Private extension to RPC-over-RDMA Version One. 95 * Message passed during RDMA-CM connection set-up. 128 * xdr_encode_rdma_segment - Encode contents of an RDMA segment 130 * @handle: The RDMA handle to encode 131 * @length: The RDMA length to encode 132 * @offset: The RDMA offset to encode 135 * Pointer to the XDR position that follows the encoded RDMA segment 149 * @handle: The RDMA handle to encode [all …]
|
| /linux/Documentation/filesystems/smb/ |
| H A D | smbdirect.rst | 4 SMB Direct - SMB3 over RDMA 8 use RDMA. 13 scheme for SMB3 that uses RDMA (Remote Direct Memory Access) to provide 21 - Install an RDMA device. As long as the RDMA device driver is supported 32 - Configure the RDMA stack 34 Make sure that your kernel configuration has RDMA support enabled. Under 43 For soft RDMA, enable either the soft iWARP (`RDMA _SIW`) or soft RoCE 45 `rdma link add` command to load the module and create an 46 RDMA interface. 52 sudo rdma link add siw0 type siw netdev eth0 [all …]
|
| /linux/Documentation/devicetree/bindings/media/ |
| H A D | mediatek,mdp3-rdma.yaml | 4 $id: http://devicetree.org/schemas/media/mediatek,mdp3-rdma.yaml# 14 MediaTek Read Direct Memory Access(RDMA) component used to do read DMA. 25 - mediatek,mt8183-mdp3-rdma 26 - mediatek,mt8188-mdp3-rdma 27 - mediatek,mt8195-mdp3-rdma 28 - mediatek,mt8195-vdo1-rdma 30 - const: mediatek,mt8188-vdo1-rdma 31 - const: mediatek,mt8195-vdo1-rdma 68 - description: RDMA clock 77 - description: used for 1st data pipe from RDMA [all …]
|
| /linux/include/rdma/ |
| H A D | rdma_cm.h | 12 #include <rdma/ib_addr.h> 13 #include <rdma/ib_sa.h> 14 #include <uapi/rdma/rdma_user_cm.h> 18 * RDMA identifier and release all resources allocated with the device. 142 * rdma_create_id - Create an RDMA identifier. 148 * @ps: RDMA port space. 162 * rdma_destroy_id - Destroys an RDMA identifier. 164 * @id: RDMA identifier. 172 * rdma_restrict_node_type - Restrict an RDMA identifier to specific 173 * RDMA device node type. [all …]
|
| /linux/Documentation/ABI/stable/ |
| H A D | sysfs-driver-ib_srp | 4 Contact: linux-rdma@vger.kernel.org 47 communicated from initiator to target via an additional RDMA 59 MSI-X completion vector of the first RDMA channel. Some 77 Contact: linux-rdma@vger.kernel.org 83 Contact: linux-rdma@vger.kernel.org 89 Contact: linux-rdma@vger.kernel.org 97 Contact: linux-rdma@vger.kernel.org 98 Description: Number of RDMA channels used for communication with the SRP 104 Contact: linux-rdma@vger.kernel.org 111 Contact: linux-rdma@vger.kernel.org [all …]
|
| /linux/fs/smb/smbdirect/ |
| H A D | listen.c | 28 if (WARN_ON_ONCE(!sc->rdma.cm_id)) in smbdirect_socket_listen() 31 if (sc->rdma.cm_id->device) in smbdirect_socket_listen() 34 &sc->rdma.cm_id->route.addr.src_addr, in smbdirect_socket_listen() 36 sc->rdma.cm_id->device->name); in smbdirect_socket_listen() 40 &sc->rdma.cm_id->route.addr.src_addr); in smbdirect_socket_listen() 45 sc->rdma.expected_event = RDMA_CM_EVENT_CONNECT_REQUEST; in smbdirect_socket_listen() 46 rdma_lock_handler(sc->rdma.cm_id); in smbdirect_socket_listen() 47 sc->rdma.cm_id->event_handler = smbdirect_listen_rdma_event_handler; in smbdirect_socket_listen() 48 rdma_unlock_handler(sc->rdma.cm_id); in smbdirect_socket_listen() 50 ret = rdma_listen(sc->rdma.cm_id, backlog); in smbdirect_socket_listen() [all …]
|
| H A D | connect.c | 38 if (WARN_ON_ONCE(!sc->rdma.cm_id)) in smbdirect_connect() 41 src_addr.ss = sc->rdma.cm_id->route.addr.src_addr; in smbdirect_connect() 67 rdma_lock_handler(sc->rdma.cm_id); in smbdirect_connect_setup_connection() 68 sc->rdma.cm_id->event_handler = smbdirect_connect_rdma_event_handler; in smbdirect_connect_setup_connection() 69 rdma_unlock_handler(sc->rdma.cm_id); in smbdirect_connect_setup_connection() 95 sc->rdma.expected_event = RDMA_CM_EVENT_ADDR_RESOLVED; in smbdirect_connect_resolve_addr() 96 ret = rdma_resolve_addr(sc->rdma.cm_id, src_addr, dst_addr, in smbdirect_connect_resolve_addr() 116 sc->rdma.expected_event = RDMA_CM_EVENT_ROUTE_RESOLVED; in smbdirect_connect_resolve_route() 117 ret = rdma_resolve_route(sc->rdma.cm_id, sp->resolve_route_timeout_msec); in smbdirect_connect_resolve_route() 135 sc->ib.dev = sc->rdma.cm_id->device; in smbdirect_connect_rdma_connect() [all …]
|
| H A D | socket.c | 13 * device This implementation requires FRWR on RDMA read/write return in smbdirect_frwr_is_supported() 45 rdma_event_msg(sc->rdma.expected_event), in smbdirect_socket_rdma_event_handler() 50 sc->rdma.cm_id = NULL; in smbdirect_socket_rdma_event_handler() 79 sc->rdma.cm_id = id; in smbdirect_socket_init_new() 116 sc->rdma.cm_id = id; in smbdirect_socket_init_accepting() 117 sc->rdma.cm_id->context = sc; in smbdirect_socket_init_accepting() 118 sc->rdma.cm_id->event_handler = smbdirect_socket_rdma_event_handler; in smbdirect_socket_init_accepting() 120 sc->ib.dev = sc->rdma.cm_id->device; in smbdirect_socket_init_accepting() 178 rdma_restrict_node_type(sc->rdma.cm_id, RDMA_NODE_IB_CA); in smbdirect_socket_set_initial_parameters() 180 rdma_restrict_node_type(sc->rdma.cm_id, RDMA_NODE_RNIC); in smbdirect_socket_set_initial_parameters() [all …]
|
| /linux/drivers/infiniband/ |
| H A D | Kconfig | 25 need libibumad from rdma-core 26 <https://github.com/linux-rdma/rdma-core>. 38 rdma-core <https://github.com/linux-rdma/rdma-core>. 61 bool "RDMA/CM" 65 Support for RDMA communication manager (CM). 66 This allows for a generic connection abstraction over RDMA. 73 ConfigFS support for RDMA communication manager (CM).
|
| /linux/drivers/infiniband/ulp/rtrs/ |
| H A D | README | 2 RDMA Transport (RTRS) 5 RTRS (RDMA Transport) is a reliable high speed transport library 7 between client and server machines using RDMA (InfiniBand, RoCE, iWarp) 19 RTRS is used by the RNBD (RDMA Network Block Device) modules. 29 server side for a given client for rdma transfer. A session 49 discussed in LPC RDMA MC 2019. When always_invalidate=Y, on the server side we 50 invalidate each rdma buffer before we hand it over to RNBD server and 89 which contains the addresses and keys of the RDMA buffers allocated for that 95 6. Server and client exchange periodically heartbeat messages (empty rdma 99 7. On any RDMA related error or in the case of a heartbeat timeout, the [all …]
|
| H A D | rtrs-pri.h | 3 * RDMA Transport Layer 14 #include <rdma/rdma_cm.h> 15 #include <rdma/ib_verbs.h> 16 #include <rdma/ib.h> 139 * @RTRS_MSG_WRITE: Client writes data per RDMA to server 162 * struct rtrs_sg_desc - RDMA-Buffer entry description 163 * @addr: Address of RDMA destination buffer 189 * that. See https://www.spinics.net/lists/linux-rdma/msg22397.html 250 * @desc: RDMA buffers where the client can write to server 264 * @buf_id: RDMA buf_id of the new rkey [all …]
|
| H A D | Kconfig | 12 RDMA transport client module. 14 RDMA Transport (RTRS) client implements a reliable transport layer 16 the base layer for a block storage initiator over RDMA. 23 RDMA transport server module. 25 RDMA Transport (RTRS) server module processing connection and IO
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_idc.c | 34 * ice_send_event_to_aux - send event to RDMA AUX driver 64 * ice_add_rdma_qset - Add Leaf Node for RDMA Qset 93 dev_err(dev, "RDMA QSet invalid VSI\n"); in ice_add_rdma_qset() 106 dev_err(dev, "Failed VSI RDMA Qset config\n"); in ice_add_rdma_qset() 113 dev_err(dev, "Failed VSI RDMA Qset enable\n"); in ice_add_rdma_qset() 123 * ice_del_rdma_qset - Delete leaf node for RDMA Qset 143 dev_err(ice_pf_to_dev(pf), "RDMA Invalid VSI\n"); in ice_del_rdma_qset() 155 * ice_rdma_request_reset - accept request from RDMA to perform a reset 188 * ice_rdma_update_vsi_filter - update main VSI filters for RDMA 212 dev_err(ice_pf_to_dev(pf), "Failed to %sable RDMA filtering\n", in ice_rdma_update_vsi_filter() [all …]
|
| /linux/drivers/infiniband/core/ |
| H A D | cgroup.c | 9 * ib_device_register_rdmacg - register with rdma cgroup. 11 * accounting by rdma cgroup. 13 * Register with the rdma cgroup. Should be called before 14 * exposing rdma device to user space applications to avoid 24 * ib_device_unregister_rdmacg - unregister with rdma cgroup. 27 * Unregister with the rdma cgroup. Should be called after
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | verbs.h | 18 #include <rdma/ib_pack.h> 19 #include <rdma/ib_user_verbs.h> 20 #include <rdma/ib_mad.h> 21 #include <rdma/ib_hdrs.h> 22 #include <rdma/rdma_vt.h> 23 #include <rdma/rdmavt_qp.h> 24 #include <rdma/rdmavt_cq.h> 134 atomic_t n_requests; /* # of TID RDMA requests in the */ 136 atomic_t n_tid_requests; /* # of sent TID RDMA requests */ 140 /* variables for the TID RDMA SE state machine */ [all …]
|
| /linux/kernel/cgroup/ |
| H A D | rdma.c | 3 * RDMA resource limiting controller for cgroups. 6 * additional RDMA resources after a certain limit is reached. 22 * and rdma device list. 42 /* resource tracker for each resource of rdma cgroup */ 152 * uncharge_cg_locked - uncharge resource for rdma cgroup 172 * if there a bug in IB stack or rdma controller, instead of crashing in uncharge_cg_locked() 176 pr_warn("Invalid device %p or rdma cgroup %p\n", device, cg); in uncharge_cg_locked() 184 * it indicates a bug in the rdma controller. in uncharge_cg_locked() 199 * rdmacg_uncharge_hierarchy - hierarchically uncharge rdma resource count 224 * rdmacg_uncharge - hierarchically uncharge rdma resource count [all …]
|
| /linux/drivers/infiniband/ulp/srp/ |
| H A D | ib_srp.h | 44 #include <rdma/ib_verbs.h> 45 #include <rdma/ib_sa.h> 46 #include <rdma/ib_cm.h> 47 #include <rdma/rdma_cm.h> 97 * RDMA adapter in the initiator system. 99 * @dev_list: List of RDMA ports associated with this RDMA adapter (srp_host). 118 * One port of an RDMA adapter in the initiator system. 145 * @comp_vector: Completion vector used by this RDMA channel. 196 * struct srp_target_port - RDMA port in the SRP target system 197 * @comp_vector: Completion vector used by the first RDMA channel created for
|