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