| 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 | |