xref: /linux/net/smc/smc_hs_bpf.h (revision 24f171c7e145f43b9f187578e89b0982ce87e54c)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  Shared Memory Communications over RDMA (SMC-R) and RoCE
4  *
5  *  Generic hook for SMC handshake flow.
6  *
7  *  Copyright IBM Corp. 2016
8  *  Copyright (c) 2025, Alibaba Inc.
9  *
10  *  Author: D. Wythe <alibuda@linux.alibaba.com>
11  */
12 
13 #ifndef __SMC_HS_CTRL
14 #define __SMC_HS_CTRL
15 
16 #include <net/smc.h>
17 
18 /* Find hs_ctrl by the target name, which required to be a c-string.
19  * Return NULL if no such ctrl was found,otherwise, return a valid ctrl.
20  *
21  * Note: Caller MUST ensure it's was invoked under rcu_read_lock.
22  */
23 struct smc_hs_ctrl *smc_hs_ctrl_find_by_name(const char *name);
24 
25 #if IS_ENABLED(CONFIG_SMC_HS_CTRL_BPF)
26 int bpf_smc_hs_ctrl_init(void);
27 #else
28 static inline int bpf_smc_hs_ctrl_init(void) { return 0; }
29 #endif /* CONFIG_SMC_HS_CTRL_BPF */
30 
31 #endif /* __SMC_HS_CTRL */
32