smc_sysctl.h 936 B

12345678910111213141516171819202122232425262728293031323334353637
  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. #ifndef _SMC_SYSCTL_H
  13. #define _SMC_SYSCTL_H
  14. #ifdef CONFIG_SYSCTL
  15. int __net_init smc_sysctl_net_init(struct net *net);
  16. void __net_exit smc_sysctl_net_exit(struct net *net);
  17. #else
  18. static inline int smc_sysctl_net_init(struct net *net)
  19. {
  20. net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE;
  21. net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER;
  22. net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER;
  23. net->smc.sysctl_smcr_max_send_wr = SMCR_MAX_SEND_WR_DEF;
  24. net->smc.sysctl_smcr_max_recv_wr = SMCR_MAX_RECV_WR_DEF;
  25. return 0;
  26. }
  27. static inline void smc_sysctl_net_exit(struct net *net) { }
  28. #endif /* CONFIG_SYSCTL */
  29. #endif /* _SMC_SYSCTL_H */