root/include/net/netns/smc.h
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __NETNS_SMC_H__
#define __NETNS_SMC_H__
#include <linux/mutex.h>
#include <linux/percpu.h>

struct smc_stats_rsn;
struct smc_stats;
struct netns_smc {
        /* per cpu counters for SMC */
        struct smc_stats __percpu       *smc_stats;
        /* protect fback_rsn */
        struct mutex                    mutex_fback_rsn;
        struct smc_stats_rsn            *fback_rsn;

        bool                            limit_smc_hs;   /* constraint on handshake */
#ifdef CONFIG_SYSCTL
        struct ctl_table_header         *smc_hdr;
#endif
#if IS_ENABLED(CONFIG_SMC_HS_CTRL_BPF)
        struct smc_hs_ctrl __rcu        *hs_ctrl;
#endif /* CONFIG_SMC_HS_CTRL_BPF */
        unsigned int                    sysctl_autocorking_size;
        unsigned int                    sysctl_smcr_buf_type;
        int                             sysctl_smcr_testlink_time;
        int                             sysctl_wmem;
        int                             sysctl_rmem;
        int                             sysctl_max_links_per_lgr;
        int                             sysctl_max_conns_per_lgr;
        unsigned int                    sysctl_smcr_max_send_wr;
        unsigned int                    sysctl_smcr_max_recv_wr;
};
#endif