xref: /linux/include/net/netns/smc.h (revision 6ae67f115986734bc24dfed5cee1daafb5351623)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __NETNS_SMC_H__
3 #define __NETNS_SMC_H__
4 #include <linux/mutex.h>
5 #include <linux/percpu.h>
6 
7 struct smc_stats_rsn;
8 struct smc_stats;
9 struct netns_smc {
10 	/* per cpu counters for SMC */
11 	struct smc_stats __percpu	*smc_stats;
12 	/* protect fback_rsn */
13 	struct mutex			mutex_fback_rsn;
14 	struct smc_stats_rsn		*fback_rsn;
15 
16 	bool				limit_smc_hs;	/* constraint on handshake */
17 #ifdef CONFIG_SYSCTL
18 	struct ctl_table_header		*smc_hdr;
19 #endif
20 #if IS_ENABLED(CONFIG_SMC_HS_CTRL_BPF)
21 	struct smc_hs_ctrl __rcu	*hs_ctrl;
22 #endif /* CONFIG_SMC_HS_CTRL_BPF */
23 	unsigned int			sysctl_autocorking_size;
24 	unsigned int			sysctl_smcr_buf_type;
25 	int				sysctl_smcr_testlink_time;
26 	int				sysctl_wmem;
27 	int				sysctl_rmem;
28 	int				sysctl_max_links_per_lgr;
29 	int				sysctl_max_conns_per_lgr;
30 	unsigned int			sysctl_smcr_max_send_wr;
31 	unsigned int			sysctl_smcr_max_recv_wr;
32 };
33 #endif
34