#include <linux/filter.h>
#include <linux/mm.h>
#include <linux/sysctl.h>
#include <linux/module.h>
#include <linux/socket.h>
#include <linux/netdevice.h>
#include <linux/ratelimit.h>
#include <linux/vmalloc.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/sched/isolation.h>
#include <net/ip.h>
#include <net/sock.h>
#include <net/net_ratelimit.h>
#include <net/busy_poll.h>
#include <net/pkt_sched.h>
#include <net/hotdata.h>
#include <net/proto_memory.h>
#include <net/rps.h>
#include "dev.h"
static int int_3600 = …;
static int min_sndbuf = …;
static int min_rcvbuf = …;
static int max_skb_frags = …;
static int min_mem_pcpu_rsv = …;
static int net_msg_warn;
int sysctl_fb_tunnels_only_for_init_net __read_mostly = …;
EXPORT_SYMBOL(…);
int sysctl_devconf_inherit_init_net __read_mostly;
EXPORT_SYMBOL(…);
#if IS_ENABLED(CONFIG_NET_FLOW_LIMIT) || IS_ENABLED(CONFIG_RPS)
static void dump_cpumask(void *buffer, size_t *lenp, loff_t *ppos,
struct cpumask *mask)
{ … }
#endif
#ifdef CONFIG_RPS
static struct cpumask *rps_default_mask_cow_alloc(struct net *net)
{ … }
static int rps_default_mask_sysctl(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
static int rps_sock_flow_sysctl(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#endif
#ifdef CONFIG_NET_FLOW_LIMIT
static DEFINE_MUTEX(flow_limit_update_mutex);
static int flow_limit_cpu_sysctl(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
static int flow_limit_table_len_sysctl(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#endif
#ifdef CONFIG_NET_SCHED
static int set_default_qdisc(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#endif
static int proc_do_dev_weight(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
static int proc_do_rss_key(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#ifdef CONFIG_BPF_JIT
static int proc_dointvec_minmax_bpf_enable(const struct ctl_table *table, int write,
void *buffer, size_t *lenp,
loff_t *ppos)
{ … }
# ifdef CONFIG_HAVE_EBPF_JIT
static int
proc_dointvec_minmax_bpf_restricted(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
# endif
static int
proc_dolongvec_minmax_bpf_restricted(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#endif
static struct ctl_table net_core_table[] = …;
static struct ctl_table netns_core_table[] = …;
static int __init fb_tunnels_only_for_init_net_sysctl_setup(char *str)
{ … }
__setup(…);
static __net_init int sysctl_core_net_init(struct net *net)
{ … }
static __net_exit void sysctl_core_net_exit(struct net *net)
{ … }
static __net_initdata struct pernet_operations sysctl_core_ops = …;
static __init int sysctl_core_init(void)
{ … }
fs_initcall(sysctl_core_init);