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 the SMC module (socket related)
22 #define SMC_V1 1 /* SMC version V1 */
23 #define SMC_V2 2 /* SMC version V2 */
29 #define SMCPROTO_SMC 0 /* SMC protocol, IPv4 */
30 #define SMCPROTO_SMC6 1 /* SMC protocol, IPv6 */
70 /* smc sock initialization */
79 enum smc_state { /* possible states of an SMC socket */
155 union smc_host_cursor { /* SMC cursor - an offset in an RMBE */
198 struct smc_link *lnk; /* assigned SMC-R link */
199 u32 alert_token_local; /* unique conn. id */
221 /* prod crsr - confirmed by peer
223 union smc_host_cursor tx_curs_prep; /* tx - prepared data
226 union smc_host_cursor tx_curs_sent; /* tx - sent data
229 union smc_host_cursor tx_curs_fin; /* tx - confirmed by peer
230 * snd-wnd-begin ?
234 u16 tx_cdc_seq_fin; /* sequence # - tx completed */
237 * - inc when post wqe,
238 * - dec on polled tx cqe
275 struct tasklet_struct rx_tsklet; /* Receiver tasklet for SMC-D */
277 * 0 for SMC-R, 32 for SMC-D
279 u64 peer_token; /* SMC-D token of peer */
285 struct smc_sock { /* smc sock container */
299 struct smc_connection conn; /* smc connection */
301 struct work_struct connect_work; /* handle non-blocking connect*/
310 atomic_t queued_smc_hs; /* queued smc handshakes */
324 /* non-blocking connect in
335 static inline void smc_init_saved_callbacks(struct smc_sock *smc)
337 smc->clcsk_state_change = NULL;
338 smc->clcsk_data_ready = NULL;
339 smc->clcsk_write_space = NULL;
340 smc->clcsk_error_report = NULL;
346 ((uintptr_t)clcsk->sk_user_data & ~SK_USER_DATA_NOCOPY);
399 static inline bool using_ipsec(struct smc_sock *smc)
401 return (smc->clcsock->sk->sk_policy[0] ||
402 smc->clcsock->sk->sk_policy[1]) ? true : false;
405 static inline bool using_ipsec(struct smc_sock *smc)
419 /* smc handshake limitation interface for netlink */
426 set_bit(flag, &sk->sk_flags);