xref: /linux/net/smc/smc_sysctl.h (revision e6a901a00822659181c93c86d8bbc2a17779fddc)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  Shared Memory Communications over RDMA (SMC-R) and RoCE
4  *
5  *  smc_sysctl.c: sysctl interface to SMC subsystem.
6  *
7  *  Copyright (c) 2022, Alibaba Inc.
8  *
9  *  Author: Tony Lu <tonylu@linux.alibaba.com>
10  *
11  */
12 
13 #ifndef _SMC_SYSCTL_H
14 #define _SMC_SYSCTL_H
15 
16 #ifdef CONFIG_SYSCTL
17 
18 int __net_init smc_sysctl_net_init(struct net *net);
19 void __net_exit smc_sysctl_net_exit(struct net *net);
20 
21 #else
22 
23 static inline int smc_sysctl_net_init(struct net *net)
24 {
25 	net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE;
26 	net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER;
27 	net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER;
28 	return 0;
29 }
30 
31 static inline void smc_sysctl_net_exit(struct net *net) { }
32 
33 #endif /* CONFIG_SYSCTL */
34 
35 #endif /* _SMC_SYSCTL_H */
36