Lines Matching +full:server +full:- +full:side

7 between client and server machines using RDMA (InfiniBand, RoCE, iWarp)
11 possibility to either write data from an sg list to the remote side
12 or to request ("read") data transfer from the remote side into a given
15 RTRS provides I/O fail-over and load-balancing capabilities by using
17 Documentation/ABI/testing/sysfs-class-rtrs-client).
26 --------
27 An established connection between a client and a server is called rtrs
29 server side for a given client for rdma transfer. A session
31 between client and server. Those are used for load balancing and failover.
36 chunks reserved for him on the server side. Their number, size and addresses
37 need to be exchanged between client and server during the connection
39 inform the server about the session name and identify each path and connection
42 On an established session client sends to server write or read messages.
43 Server uses immediate field to tell the client which request is being
44 acknowledged and for errno. Client uses immediate field to tell the server
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
52 buffer after it returns back from the block layer and RNBD server.
58 client being able to corrupt memory of a server it is connected to. This might
64 ------------------------
69 established. They are used by the server to find a persisting session/path or
74 client is trying to reconnect a path, while server is still destroying the old
77 2. Server accepts the connection requests one by one and attaches
80 the server (number of memory chunks which are going to be allocated for that
84 3. After all connections of a path are established client sends to server the
86 requests the address information from the server.
88 4. Server replies to the session info request message with RTRS_MSG_INFO_RSP,
93 (i.e. steps 1-4 finished for all paths requested for a session)
95 6. Server and client exchange periodically heartbeat messages (empty rdma
97 side or network outage in an absence of IO.
105 RTRS_MSG_CON_REQ ------------------->
106 <------------------- RTRS_MSG_CON_RSP
109 RTRS_MSG_INFO_REQ ------------------->
110 <------------------- RTRS_MSG_INFO_RSP
112 -------------------> [RTRS_HB_MSG_IMM]
113 [RTRS_HB_MSG_ACK] <-------------------
114 [RTRS_HB_MSG_IMM] <-------------------
115 -------------------> [RTRS_HB_MSG_ACK]
118 -------
123 on the server side and rdma writes there the user data, user header and the
125 contains size of the user header. The client tells the server which chunk has
129 2. When confirming a write request server sends an "empty" rdma message with
134 usr_data + usr_hdr + rtrs_msg_rdma_write -----------------> [RTRS_IO_REQ_IMM]
135 [RTRS_IO_RSP_IMM] <----------------- (id + errno)
140 on the server side and rdma writes there the user data, user header and the
142 contains size of the user header. The client tells the server which chunk has
144 using the IMM field, Server invalidate rkey associated to the memory chunks
145 first, when it finishes, pass the IO to RNBD server module.
147 2. When confirming a write request server sends an "empty" rdma message with
155 usr_data + usr_hdr + rtrs_msg_rdma_write -----------------> [RTRS_IO_REQ_IMM]
156 [RTRS_MSG_RKEY_RSP] <----------------- (RTRS_MSG_RKEY_RSP)
157 [RTRS_IO_RSP_IMM] <----------------- (id + errno)
163 on the server side and rdma writes there the user header and the
168 2. When confirming a read request server transfers the requested data first,
174 usr_hdr + rtrs_msg_rdma_read --------------> [RTRS_IO_REQ_IMM]
175 [RTRS_IO_RSP_IMM] <-------------- usr_data + (id + errno)
177 [RTRS_IO_RSP_IMM_W_INV] <-------------- usr_data + (INV) + (id + errno)
182 on the server side and rdma writes there the user header and the
186 Server invalidate rkey associated to the memory chunks first, when it finishes,
187 passes the IO to RNBD server module.
189 2. When confirming a read request server transfers the requested data first,
198 usr_hdr + rtrs_msg_rdma_read --------------> [RTRS_IO_REQ_IMM]
199 [RTRS_IO_RSP_IMM] <-------------- usr_data + (id + errno)
200 [RTRS_MSG_RKEY_RSP] <----------------- (RTRS_MSG_RKEY_RSP)
202 [RTRS_IO_RSP_IMM_W_INV] <-------------- usr_data + (INV) + (id + errno)