Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits) security/tomoyo: Remove now unnecessary handling of security_sysctl. security/tomoyo: Add a special case to handle accesses through the internal proc mount. sysctl: Drop & in front of every proc_handler. sysctl: Remove CTL_NONE and CTL_UNNUMBERED sysctl: kill dead ctl_handler definitions. sysctl: Remove the last of the generic binary sysctl support sysctl net: Remove unused binary sysctl code sysctl security/tomoyo: Don't look at ctl_name sysctl arm: Remove binary sysctl support sysctl x86: Remove dead binary sysctl support sysctl sh: Remove dead binary sysctl support sysctl powerpc: Remove dead binary sysctl support sysctl ia64: Remove dead binary sysctl support sysctl s390: Remove dead sysctl binary support sysctl frv: Remove dead binary sysctl support sysctl mips/lasat: Remove dead binary sysctl support sysctl drivers: Remove dead binary sysctl support sysctl crypto: Remove dead binary sysctl support sysctl security/keys: Remove dead binary sysctl support sysctl kernel: Remove binary sysctl logic ...
This commit is contained in:
@@ -1240,7 +1240,7 @@ void __init arp_init(void)
|
||||
arp_proc_init();
|
||||
#ifdef CONFIG_SYSCTL
|
||||
neigh_sysctl_register(NULL, &arp_tbl.parms, NET_IPV4,
|
||||
NET_IPV4_NEIGH, "ipv4", NULL, NULL);
|
||||
NET_IPV4_NEIGH, "ipv4", NULL);
|
||||
#endif
|
||||
register_netdevice_notifier(&arp_netdev_notifier);
|
||||
}
|
||||
|
@@ -1293,58 +1293,6 @@ static int devinet_conf_proc(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int devinet_conf_sysctl(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
struct ipv4_devconf *cnf;
|
||||
struct net *net;
|
||||
int *valp = table->data;
|
||||
int new;
|
||||
int i;
|
||||
|
||||
if (!newval || !newlen)
|
||||
return 0;
|
||||
|
||||
if (newlen != sizeof(int))
|
||||
return -EINVAL;
|
||||
|
||||
if (get_user(new, (int __user *)newval))
|
||||
return -EFAULT;
|
||||
|
||||
if (new == *valp)
|
||||
return 0;
|
||||
|
||||
if (oldval && oldlenp) {
|
||||
size_t len;
|
||||
|
||||
if (get_user(len, oldlenp))
|
||||
return -EFAULT;
|
||||
|
||||
if (len) {
|
||||
if (len > table->maxlen)
|
||||
len = table->maxlen;
|
||||
if (copy_to_user(oldval, valp, len))
|
||||
return -EFAULT;
|
||||
if (put_user(len, oldlenp))
|
||||
return -EFAULT;
|
||||
}
|
||||
}
|
||||
|
||||
*valp = new;
|
||||
|
||||
cnf = table->extra1;
|
||||
net = table->extra2;
|
||||
i = (int *)table->data - cnf->data;
|
||||
|
||||
set_bit(i, cnf->state);
|
||||
|
||||
if (cnf == net->ipv4.devconf_dflt)
|
||||
devinet_copy_dflt_conf(net, i);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int devinet_sysctl_forward(ctl_table *ctl, int write,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
@@ -1390,47 +1338,28 @@ int ipv4_doint_and_flush(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ipv4_doint_and_flush_strategy(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
int ret = devinet_conf_sysctl(table, oldval, oldlenp, newval, newlen);
|
||||
struct net *net = table->extra2;
|
||||
|
||||
if (ret == 1)
|
||||
rt_cache_flush(net, 0);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
#define DEVINET_SYSCTL_ENTRY(attr, name, mval, proc, sysctl) \
|
||||
#define DEVINET_SYSCTL_ENTRY(attr, name, mval, proc) \
|
||||
{ \
|
||||
.ctl_name = NET_IPV4_CONF_ ## attr, \
|
||||
.procname = name, \
|
||||
.data = ipv4_devconf.data + \
|
||||
NET_IPV4_CONF_ ## attr - 1, \
|
||||
.maxlen = sizeof(int), \
|
||||
.mode = mval, \
|
||||
.proc_handler = proc, \
|
||||
.strategy = sysctl, \
|
||||
.extra1 = &ipv4_devconf, \
|
||||
}
|
||||
|
||||
#define DEVINET_SYSCTL_RW_ENTRY(attr, name) \
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0644, devinet_conf_proc, \
|
||||
devinet_conf_sysctl)
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0644, devinet_conf_proc)
|
||||
|
||||
#define DEVINET_SYSCTL_RO_ENTRY(attr, name) \
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0444, devinet_conf_proc, \
|
||||
devinet_conf_sysctl)
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0444, devinet_conf_proc)
|
||||
|
||||
#define DEVINET_SYSCTL_COMPLEX_ENTRY(attr, name, proc, sysctl) \
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0644, proc, sysctl)
|
||||
#define DEVINET_SYSCTL_COMPLEX_ENTRY(attr, name, proc) \
|
||||
DEVINET_SYSCTL_ENTRY(attr, name, 0644, proc)
|
||||
|
||||
#define DEVINET_SYSCTL_FLUSHING_ENTRY(attr, name) \
|
||||
DEVINET_SYSCTL_COMPLEX_ENTRY(attr, name, ipv4_doint_and_flush, \
|
||||
ipv4_doint_and_flush_strategy)
|
||||
DEVINET_SYSCTL_COMPLEX_ENTRY(attr, name, ipv4_doint_and_flush)
|
||||
|
||||
static struct devinet_sysctl_table {
|
||||
struct ctl_table_header *sysctl_header;
|
||||
@@ -1439,8 +1368,7 @@ static struct devinet_sysctl_table {
|
||||
} devinet_sysctl = {
|
||||
.devinet_vars = {
|
||||
DEVINET_SYSCTL_COMPLEX_ENTRY(FORWARDING, "forwarding",
|
||||
devinet_sysctl_forward,
|
||||
devinet_conf_sysctl),
|
||||
devinet_sysctl_forward),
|
||||
DEVINET_SYSCTL_RO_ENTRY(MC_FORWARDING, "mc_forwarding"),
|
||||
|
||||
DEVINET_SYSCTL_RW_ENTRY(ACCEPT_REDIRECTS, "accept_redirects"),
|
||||
@@ -1471,7 +1399,7 @@ static struct devinet_sysctl_table {
|
||||
};
|
||||
|
||||
static int __devinet_sysctl_register(struct net *net, char *dev_name,
|
||||
int ctl_name, struct ipv4_devconf *p)
|
||||
struct ipv4_devconf *p)
|
||||
{
|
||||
int i;
|
||||
struct devinet_sysctl_table *t;
|
||||
@@ -1479,9 +1407,9 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,
|
||||
#define DEVINET_CTL_PATH_DEV 3
|
||||
|
||||
struct ctl_path devinet_ctl_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "conf", .ctl_name = NET_IPV4_CONF, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ .procname = "conf", },
|
||||
{ /* to be set */ },
|
||||
{ },
|
||||
};
|
||||
@@ -1506,7 +1434,6 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,
|
||||
goto free;
|
||||
|
||||
devinet_ctl_path[DEVINET_CTL_PATH_DEV].procname = t->dev_name;
|
||||
devinet_ctl_path[DEVINET_CTL_PATH_DEV].ctl_name = ctl_name;
|
||||
|
||||
t->sysctl_header = register_net_sysctl_table(net, devinet_ctl_path,
|
||||
t->devinet_vars);
|
||||
@@ -1540,9 +1467,9 @@ static void __devinet_sysctl_unregister(struct ipv4_devconf *cnf)
|
||||
static void devinet_sysctl_register(struct in_device *idev)
|
||||
{
|
||||
neigh_sysctl_register(idev->dev, idev->arp_parms, NET_IPV4,
|
||||
NET_IPV4_NEIGH, "ipv4", NULL, NULL);
|
||||
NET_IPV4_NEIGH, "ipv4", NULL);
|
||||
__devinet_sysctl_register(dev_net(idev->dev), idev->dev->name,
|
||||
idev->dev->ifindex, &idev->cnf);
|
||||
&idev->cnf);
|
||||
}
|
||||
|
||||
static void devinet_sysctl_unregister(struct in_device *idev)
|
||||
@@ -1553,14 +1480,12 @@ static void devinet_sysctl_unregister(struct in_device *idev)
|
||||
|
||||
static struct ctl_table ctl_forward_entry[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_FORWARD,
|
||||
.procname = "ip_forward",
|
||||
.data = &ipv4_devconf.data[
|
||||
NET_IPV4_CONF_FORWARDING - 1],
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = devinet_sysctl_forward,
|
||||
.strategy = devinet_conf_sysctl,
|
||||
.extra1 = &ipv4_devconf,
|
||||
.extra2 = &init_net,
|
||||
},
|
||||
@@ -1568,8 +1493,8 @@ static struct ctl_table ctl_forward_entry[] = {
|
||||
};
|
||||
|
||||
static __net_initdata struct ctl_path net_ipv4_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ },
|
||||
};
|
||||
#endif
|
||||
@@ -1608,13 +1533,11 @@ static __net_init int devinet_init_net(struct net *net)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
err = __devinet_sysctl_register(net, "all",
|
||||
NET_PROTO_CONF_ALL, all);
|
||||
err = __devinet_sysctl_register(net, "all", all);
|
||||
if (err < 0)
|
||||
goto err_reg_all;
|
||||
|
||||
err = __devinet_sysctl_register(net, "default",
|
||||
NET_PROTO_CONF_DEFAULT, dflt);
|
||||
err = __devinet_sysctl_register(net, "default", dflt);
|
||||
if (err < 0)
|
||||
goto err_reg_dflt;
|
||||
|
||||
|
@@ -603,7 +603,6 @@ static int zero;
|
||||
|
||||
static struct ctl_table ip4_frags_ns_ctl_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_IPFRAG_HIGH_THRESH,
|
||||
.procname = "ipfrag_high_thresh",
|
||||
.data = &init_net.ipv4.frags.high_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -611,7 +610,6 @@ static struct ctl_table ip4_frags_ns_ctl_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_IPFRAG_LOW_THRESH,
|
||||
.procname = "ipfrag_low_thresh",
|
||||
.data = &init_net.ipv4.frags.low_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -619,26 +617,22 @@ static struct ctl_table ip4_frags_ns_ctl_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_IPFRAG_TIME,
|
||||
.procname = "ipfrag_time",
|
||||
.data = &init_net.ipv4.frags.timeout,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table ip4_frags_ctl_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_IPFRAG_SECRET_INTERVAL,
|
||||
.procname = "ipfrag_secret_interval",
|
||||
.data = &ip4_frags.secret_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.procname = "ipfrag_max_dist",
|
||||
|
@@ -248,9 +248,9 @@ module_exit(ipv4_netfilter_fini);
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
struct ctl_path nf_net_ipv4_netfilter_sysctl_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "netfilter", .ctl_name = NET_IPV4_NETFILTER, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ .procname = "netfilter", },
|
||||
{ }
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(nf_net_ipv4_netfilter_sysctl_path);
|
||||
|
@@ -516,14 +516,13 @@ static struct ctl_table_header *ipq_sysctl_header;
|
||||
|
||||
static ctl_table ipq_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPQ_QMAX,
|
||||
.procname = NET_IPQ_QMAX_NAME,
|
||||
.data = &queue_maxlen,
|
||||
.maxlen = sizeof(queue_maxlen),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{ }
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@@ -195,7 +195,6 @@ static int log_invalid_proto_max = 255;
|
||||
|
||||
static ctl_table ip_ct_sysctl_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_NF_CONNTRACK_MAX,
|
||||
.procname = "ip_conntrack_max",
|
||||
.data = &nf_conntrack_max,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -203,7 +202,6 @@ static ctl_table ip_ct_sysctl_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NF_CONNTRACK_COUNT,
|
||||
.procname = "ip_conntrack_count",
|
||||
.data = &init_net.ct.count,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -211,7 +209,6 @@ static ctl_table ip_ct_sysctl_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NF_CONNTRACK_BUCKETS,
|
||||
.procname = "ip_conntrack_buckets",
|
||||
.data = &nf_conntrack_htable_size,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
@@ -219,7 +216,6 @@ static ctl_table ip_ct_sysctl_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NF_CONNTRACK_CHECKSUM,
|
||||
.procname = "ip_conntrack_checksum",
|
||||
.data = &init_net.ct.sysctl_checksum,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -227,19 +223,15 @@ static ctl_table ip_ct_sysctl_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NF_CONNTRACK_LOG_INVALID,
|
||||
.procname = "ip_conntrack_log_invalid",
|
||||
.data = &init_net.ct.sysctl_log_invalid,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.strategy = sysctl_intvec,
|
||||
.extra1 = &log_invalid_proto_min,
|
||||
.extra2 = &log_invalid_proto_max,
|
||||
},
|
||||
{
|
||||
.ctl_name = 0
|
||||
}
|
||||
{ }
|
||||
};
|
||||
#endif /* CONFIG_SYSCTL && CONFIG_NF_CONNTRACK_PROC_COMPAT */
|
||||
|
||||
|
@@ -270,9 +270,7 @@ static struct ctl_table icmp_sysctl_table[] = {
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = 0
|
||||
}
|
||||
{ }
|
||||
};
|
||||
#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
|
||||
static struct ctl_table icmp_compat_sysctl_table[] = {
|
||||
@@ -283,9 +281,7 @@ static struct ctl_table icmp_compat_sysctl_table[] = {
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = 0
|
||||
}
|
||||
{ }
|
||||
};
|
||||
#endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */
|
||||
#endif /* CONFIG_SYSCTL */
|
||||
|
@@ -3056,23 +3056,6 @@ static int ipv4_sysctl_rtcache_flush(ctl_table *__ctl, int write,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int ipv4_sysctl_rtcache_flush_strategy(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
size_t newlen)
|
||||
{
|
||||
int delay;
|
||||
struct net *net;
|
||||
if (newlen != sizeof(int))
|
||||
return -EINVAL;
|
||||
if (get_user(delay, (int __user *)newval))
|
||||
return -EFAULT;
|
||||
net = (struct net *)table->extra1;
|
||||
rt_cache_flush(net, delay);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rt_secret_reschedule(int old)
|
||||
{
|
||||
struct net *net;
|
||||
@@ -3117,23 +3100,8 @@ static int ipv4_sysctl_rt_secret_interval(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ipv4_sysctl_rt_secret_interval_strategy(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
size_t newlen)
|
||||
{
|
||||
int old = ip_rt_secret_interval;
|
||||
int ret = sysctl_jiffies(table, oldval, oldlenp, newval, newlen);
|
||||
|
||||
rt_secret_reschedule(old);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ctl_table ipv4_route_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_THRESH,
|
||||
.procname = "gc_thresh",
|
||||
.data = &ipv4_dst_ops.gc_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3141,7 +3109,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_MAX_SIZE,
|
||||
.procname = "max_size",
|
||||
.data = &ip_rt_max_size,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3151,43 +3118,34 @@ static ctl_table ipv4_route_table[] = {
|
||||
{
|
||||
/* Deprecated. Use gc_min_interval_ms */
|
||||
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_MIN_INTERVAL,
|
||||
.procname = "gc_min_interval",
|
||||
.data = &ip_rt_gc_min_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS,
|
||||
.procname = "gc_min_interval_ms",
|
||||
.data = &ip_rt_gc_min_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_ms_jiffies,
|
||||
.strategy = sysctl_ms_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_TIMEOUT,
|
||||
.procname = "gc_timeout",
|
||||
.data = &ip_rt_gc_timeout,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_INTERVAL,
|
||||
.procname = "gc_interval",
|
||||
.data = &ip_rt_gc_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_REDIRECT_LOAD,
|
||||
.procname = "redirect_load",
|
||||
.data = &ip_rt_redirect_load,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3195,7 +3153,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_REDIRECT_NUMBER,
|
||||
.procname = "redirect_number",
|
||||
.data = &ip_rt_redirect_number,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3203,7 +3160,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_REDIRECT_SILENCE,
|
||||
.procname = "redirect_silence",
|
||||
.data = &ip_rt_redirect_silence,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3211,7 +3167,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_ERROR_COST,
|
||||
.procname = "error_cost",
|
||||
.data = &ip_rt_error_cost,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3219,7 +3174,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_ERROR_BURST,
|
||||
.procname = "error_burst",
|
||||
.data = &ip_rt_error_burst,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3227,7 +3181,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_GC_ELASTICITY,
|
||||
.procname = "gc_elasticity",
|
||||
.data = &ip_rt_gc_elasticity,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3235,16 +3188,13 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_MTU_EXPIRES,
|
||||
.procname = "mtu_expires",
|
||||
.data = &ip_rt_mtu_expires,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_MIN_PMTU,
|
||||
.procname = "min_pmtu",
|
||||
.data = &ip_rt_min_pmtu,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3252,7 +3202,6 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_MIN_ADVMSS,
|
||||
.procname = "min_adv_mss",
|
||||
.data = &ip_rt_min_advmss,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -3260,50 +3209,46 @@ static ctl_table ipv4_route_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_SECRET_INTERVAL,
|
||||
.procname = "secret_interval",
|
||||
.data = &ip_rt_secret_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = ipv4_sysctl_rt_secret_interval,
|
||||
.strategy = ipv4_sysctl_rt_secret_interval_strategy,
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table empty[1];
|
||||
|
||||
static struct ctl_table ipv4_skeleton[] =
|
||||
{
|
||||
{ .procname = "route", .ctl_name = NET_IPV4_ROUTE,
|
||||
{ .procname = "route",
|
||||
.mode = 0555, .child = ipv4_route_table},
|
||||
{ .procname = "neigh", .ctl_name = NET_IPV4_NEIGH,
|
||||
{ .procname = "neigh",
|
||||
.mode = 0555, .child = empty},
|
||||
{ }
|
||||
};
|
||||
|
||||
static __net_initdata struct ctl_path ipv4_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ },
|
||||
};
|
||||
|
||||
static struct ctl_table ipv4_route_flush_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_ROUTE_FLUSH,
|
||||
.procname = "flush",
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0200,
|
||||
.proc_handler = ipv4_sysctl_rtcache_flush,
|
||||
.strategy = ipv4_sysctl_rtcache_flush_strategy,
|
||||
},
|
||||
{ .ctl_name = 0 },
|
||||
{ },
|
||||
};
|
||||
|
||||
static __net_initdata struct ctl_path ipv4_route_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "route", .ctl_name = NET_IPV4_ROUTE, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ .procname = "route", },
|
||||
{ },
|
||||
};
|
||||
|
||||
|
@@ -63,34 +63,6 @@ static int ipv4_local_port_range(ctl_table *table, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Validate changes from sysctl interface. */
|
||||
static int ipv4_sysctl_local_port_range(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
int ret;
|
||||
int range[2];
|
||||
ctl_table tmp = {
|
||||
.data = &range,
|
||||
.maxlen = sizeof(range),
|
||||
.mode = table->mode,
|
||||
.extra1 = &ip_local_port_range_min,
|
||||
.extra2 = &ip_local_port_range_max,
|
||||
};
|
||||
|
||||
inet_get_local_port_range(range, range + 1);
|
||||
ret = sysctl_intvec(&tmp, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 0 && newval && newlen) {
|
||||
if (range[1] < range[0])
|
||||
ret = -EINVAL;
|
||||
else
|
||||
set_local_port_range(range);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static int proc_tcp_congestion_control(ctl_table *ctl, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
@@ -109,25 +81,6 @@ static int proc_tcp_congestion_control(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int sysctl_tcp_congestion_control(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
char val[TCP_CA_NAME_MAX];
|
||||
ctl_table tbl = {
|
||||
.data = val,
|
||||
.maxlen = TCP_CA_NAME_MAX,
|
||||
};
|
||||
int ret;
|
||||
|
||||
tcp_get_default_congestion_control(val);
|
||||
ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 1 && newval && newlen)
|
||||
ret = tcp_set_default_congestion_control(val);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int proc_tcp_available_congestion_control(ctl_table *ctl,
|
||||
int write,
|
||||
void __user *buffer, size_t *lenp,
|
||||
@@ -165,32 +118,8 @@ static int proc_allowed_congestion_control(ctl_table *ctl,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int strategy_allowed_congestion_control(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
size_t newlen)
|
||||
{
|
||||
ctl_table tbl = { .maxlen = TCP_CA_BUF_MAX };
|
||||
int ret;
|
||||
|
||||
tbl.data = kmalloc(tbl.maxlen, GFP_USER);
|
||||
if (!tbl.data)
|
||||
return -ENOMEM;
|
||||
|
||||
tcp_get_available_congestion_control(tbl.data, tbl.maxlen);
|
||||
ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 1 && newval && newlen)
|
||||
ret = tcp_set_allowed_congestion_control(tbl.data);
|
||||
kfree(tbl.data);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
static struct ctl_table ipv4_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_TIMESTAMPS,
|
||||
.procname = "tcp_timestamps",
|
||||
.data = &sysctl_tcp_timestamps,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -198,7 +127,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_WINDOW_SCALING,
|
||||
.procname = "tcp_window_scaling",
|
||||
.data = &sysctl_tcp_window_scaling,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -206,7 +134,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_SACK,
|
||||
.procname = "tcp_sack",
|
||||
.data = &sysctl_tcp_sack,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -214,7 +141,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_RETRANS_COLLAPSE,
|
||||
.procname = "tcp_retrans_collapse",
|
||||
.data = &sysctl_tcp_retrans_collapse,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -222,17 +148,14 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_DEFAULT_TTL,
|
||||
.procname = "ip_default_ttl",
|
||||
.data = &sysctl_ip_default_ttl,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = ipv4_doint_and_flush,
|
||||
.strategy = ipv4_doint_and_flush_strategy,
|
||||
.extra2 = &init_net,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NO_PMTU_DISC,
|
||||
.procname = "ip_no_pmtu_disc",
|
||||
.data = &ipv4_config.no_pmtu_disc,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -240,7 +163,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_NONLOCAL_BIND,
|
||||
.procname = "ip_nonlocal_bind",
|
||||
.data = &sysctl_ip_nonlocal_bind,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -248,7 +170,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_SYN_RETRIES,
|
||||
.procname = "tcp_syn_retries",
|
||||
.data = &sysctl_tcp_syn_retries,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -256,7 +177,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_SYNACK_RETRIES,
|
||||
.procname = "tcp_synack_retries",
|
||||
.data = &sysctl_tcp_synack_retries,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -264,7 +184,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MAX_ORPHANS,
|
||||
.procname = "tcp_max_orphans",
|
||||
.data = &sysctl_tcp_max_orphans,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -272,7 +191,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MAX_TW_BUCKETS,
|
||||
.procname = "tcp_max_tw_buckets",
|
||||
.data = &tcp_death_row.sysctl_max_tw_buckets,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -280,7 +198,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_DYNADDR,
|
||||
.procname = "ip_dynaddr",
|
||||
.data = &sysctl_ip_dynaddr,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -288,16 +205,13 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_KEEPALIVE_TIME,
|
||||
.procname = "tcp_keepalive_time",
|
||||
.data = &sysctl_tcp_keepalive_time,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_KEEPALIVE_PROBES,
|
||||
.procname = "tcp_keepalive_probes",
|
||||
.data = &sysctl_tcp_keepalive_probes,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -305,26 +219,21 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_KEEPALIVE_INTVL,
|
||||
.procname = "tcp_keepalive_intvl",
|
||||
.data = &sysctl_tcp_keepalive_intvl,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_RETRIES1,
|
||||
.procname = "tcp_retries1",
|
||||
.data = &sysctl_tcp_retries1,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.strategy = sysctl_intvec,
|
||||
.extra2 = &tcp_retr1_max
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_RETRIES2,
|
||||
.procname = "tcp_retries2",
|
||||
.data = &sysctl_tcp_retries2,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -332,17 +241,14 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_FIN_TIMEOUT,
|
||||
.procname = "tcp_fin_timeout",
|
||||
.data = &sysctl_tcp_fin_timeout,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
#ifdef CONFIG_SYN_COOKIES
|
||||
{
|
||||
.ctl_name = NET_TCP_SYNCOOKIES,
|
||||
.procname = "tcp_syncookies",
|
||||
.data = &sysctl_tcp_syncookies,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -351,7 +257,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.ctl_name = NET_TCP_TW_RECYCLE,
|
||||
.procname = "tcp_tw_recycle",
|
||||
.data = &tcp_death_row.sysctl_tw_recycle,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -359,7 +264,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ABORT_ON_OVERFLOW,
|
||||
.procname = "tcp_abort_on_overflow",
|
||||
.data = &sysctl_tcp_abort_on_overflow,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -367,7 +271,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_STDURG,
|
||||
.procname = "tcp_stdurg",
|
||||
.data = &sysctl_tcp_stdurg,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -375,7 +278,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_RFC1337,
|
||||
.procname = "tcp_rfc1337",
|
||||
.data = &sysctl_tcp_rfc1337,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -383,7 +285,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MAX_SYN_BACKLOG,
|
||||
.procname = "tcp_max_syn_backlog",
|
||||
.data = &sysctl_max_syn_backlog,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -391,17 +292,14 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_LOCAL_PORT_RANGE,
|
||||
.procname = "ip_local_port_range",
|
||||
.data = &sysctl_local_ports.range,
|
||||
.maxlen = sizeof(sysctl_local_ports.range),
|
||||
.mode = 0644,
|
||||
.proc_handler = ipv4_local_port_range,
|
||||
.strategy = ipv4_sysctl_local_port_range,
|
||||
},
|
||||
#ifdef CONFIG_IP_MULTICAST
|
||||
{
|
||||
.ctl_name = NET_IPV4_IGMP_MAX_MEMBERSHIPS,
|
||||
.procname = "igmp_max_memberships",
|
||||
.data = &sysctl_igmp_max_memberships,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -411,7 +309,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
|
||||
#endif
|
||||
{
|
||||
.ctl_name = NET_IPV4_IGMP_MAX_MSF,
|
||||
.procname = "igmp_max_msf",
|
||||
.data = &sysctl_igmp_max_msf,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -419,7 +316,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_INET_PEER_THRESHOLD,
|
||||
.procname = "inet_peer_threshold",
|
||||
.data = &inet_peer_threshold,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -427,43 +323,34 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_INET_PEER_MINTTL,
|
||||
.procname = "inet_peer_minttl",
|
||||
.data = &inet_peer_minttl,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_INET_PEER_MAXTTL,
|
||||
.procname = "inet_peer_maxttl",
|
||||
.data = &inet_peer_maxttl,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_INET_PEER_GC_MINTIME,
|
||||
.procname = "inet_peer_gc_mintime",
|
||||
.data = &inet_peer_gc_mintime,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_INET_PEER_GC_MAXTIME,
|
||||
.procname = "inet_peer_gc_maxtime",
|
||||
.data = &inet_peer_gc_maxtime,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
.strategy = sysctl_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ORPHAN_RETRIES,
|
||||
.procname = "tcp_orphan_retries",
|
||||
.data = &sysctl_tcp_orphan_retries,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -471,7 +358,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_FACK,
|
||||
.procname = "tcp_fack",
|
||||
.data = &sysctl_tcp_fack,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -479,7 +365,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_REORDERING,
|
||||
.procname = "tcp_reordering",
|
||||
.data = &sysctl_tcp_reordering,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -487,7 +372,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ECN,
|
||||
.procname = "tcp_ecn",
|
||||
.data = &sysctl_tcp_ecn,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -495,7 +379,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_DSACK,
|
||||
.procname = "tcp_dsack",
|
||||
.data = &sysctl_tcp_dsack,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -503,7 +386,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MEM,
|
||||
.procname = "tcp_mem",
|
||||
.data = &sysctl_tcp_mem,
|
||||
.maxlen = sizeof(sysctl_tcp_mem),
|
||||
@@ -511,7 +393,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_WMEM,
|
||||
.procname = "tcp_wmem",
|
||||
.data = &sysctl_tcp_wmem,
|
||||
.maxlen = sizeof(sysctl_tcp_wmem),
|
||||
@@ -519,7 +400,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_RMEM,
|
||||
.procname = "tcp_rmem",
|
||||
.data = &sysctl_tcp_rmem,
|
||||
.maxlen = sizeof(sysctl_tcp_rmem),
|
||||
@@ -527,7 +407,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_APP_WIN,
|
||||
.procname = "tcp_app_win",
|
||||
.data = &sysctl_tcp_app_win,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -535,7 +414,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ADV_WIN_SCALE,
|
||||
.procname = "tcp_adv_win_scale",
|
||||
.data = &sysctl_tcp_adv_win_scale,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -543,7 +421,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_TW_REUSE,
|
||||
.procname = "tcp_tw_reuse",
|
||||
.data = &sysctl_tcp_tw_reuse,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -551,7 +428,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_FRTO,
|
||||
.procname = "tcp_frto",
|
||||
.data = &sysctl_tcp_frto,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -559,7 +435,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_FRTO_RESPONSE,
|
||||
.procname = "tcp_frto_response",
|
||||
.data = &sysctl_tcp_frto_response,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -567,7 +442,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_LOW_LATENCY,
|
||||
.procname = "tcp_low_latency",
|
||||
.data = &sysctl_tcp_low_latency,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -575,7 +449,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_NO_METRICS_SAVE,
|
||||
.procname = "tcp_no_metrics_save",
|
||||
.data = &sysctl_tcp_nometrics_save,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -583,7 +456,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MODERATE_RCVBUF,
|
||||
.procname = "tcp_moderate_rcvbuf",
|
||||
.data = &sysctl_tcp_moderate_rcvbuf,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -591,7 +463,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_TSO_WIN_DIVISOR,
|
||||
.procname = "tcp_tso_win_divisor",
|
||||
.data = &sysctl_tcp_tso_win_divisor,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -599,15 +470,12 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_CONG_CONTROL,
|
||||
.procname = "tcp_congestion_control",
|
||||
.mode = 0644,
|
||||
.maxlen = TCP_CA_NAME_MAX,
|
||||
.proc_handler = proc_tcp_congestion_control,
|
||||
.strategy = sysctl_tcp_congestion_control,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ABC,
|
||||
.procname = "tcp_abc",
|
||||
.data = &sysctl_tcp_abc,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -615,7 +483,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MTU_PROBING,
|
||||
.procname = "tcp_mtu_probing",
|
||||
.data = &sysctl_tcp_mtu_probing,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -623,7 +490,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_BASE_MSS,
|
||||
.procname = "tcp_base_mss",
|
||||
.data = &sysctl_tcp_base_mss,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -631,7 +497,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS,
|
||||
.procname = "tcp_workaround_signed_windows",
|
||||
.data = &sysctl_tcp_workaround_signed_windows,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -640,7 +505,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
},
|
||||
#ifdef CONFIG_NET_DMA
|
||||
{
|
||||
.ctl_name = NET_TCP_DMA_COPYBREAK,
|
||||
.procname = "tcp_dma_copybreak",
|
||||
.data = &sysctl_tcp_dma_copybreak,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -649,7 +513,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.ctl_name = NET_TCP_SLOW_START_AFTER_IDLE,
|
||||
.procname = "tcp_slow_start_after_idle",
|
||||
.data = &sysctl_tcp_slow_start_after_idle,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -658,7 +521,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
},
|
||||
#ifdef CONFIG_NETLABEL
|
||||
{
|
||||
.ctl_name = NET_CIPSOV4_CACHE_ENABLE,
|
||||
.procname = "cipso_cache_enable",
|
||||
.data = &cipso_v4_cache_enabled,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -666,7 +528,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_CIPSOV4_CACHE_BUCKET_SIZE,
|
||||
.procname = "cipso_cache_bucket_size",
|
||||
.data = &cipso_v4_cache_bucketsize,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -674,7 +535,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_CIPSOV4_RBM_OPTFMT,
|
||||
.procname = "cipso_rbm_optfmt",
|
||||
.data = &cipso_v4_rbm_optfmt,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -682,7 +542,6 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_CIPSOV4_RBM_STRICTVALID,
|
||||
.procname = "cipso_rbm_strictvalid",
|
||||
.data = &cipso_v4_rbm_strictvalid,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -697,15 +556,12 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_tcp_available_congestion_control,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_ALLOWED_CONG_CONTROL,
|
||||
.procname = "tcp_allowed_congestion_control",
|
||||
.maxlen = TCP_CA_BUF_MAX,
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_allowed_congestion_control,
|
||||
.strategy = strategy_allowed_congestion_control,
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_TCP_MAX_SSTHRESH,
|
||||
.procname = "tcp_max_ssthresh",
|
||||
.data = &sysctl_tcp_max_ssthresh,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -713,41 +569,34 @@ static struct ctl_table ipv4_table[] = {
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "udp_mem",
|
||||
.data = &sysctl_udp_mem,
|
||||
.maxlen = sizeof(sysctl_udp_mem),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.strategy = sysctl_intvec,
|
||||
.extra1 = &zero
|
||||
},
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "udp_rmem_min",
|
||||
.data = &sysctl_udp_rmem_min,
|
||||
.maxlen = sizeof(sysctl_udp_rmem_min),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.strategy = sysctl_intvec,
|
||||
.extra1 = &zero
|
||||
},
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "udp_wmem_min",
|
||||
.data = &sysctl_udp_wmem_min,
|
||||
.maxlen = sizeof(sysctl_udp_wmem_min),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.strategy = sysctl_intvec,
|
||||
.extra1 = &zero
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table ipv4_net_table[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_ECHO_IGNORE_ALL,
|
||||
.procname = "icmp_echo_ignore_all",
|
||||
.data = &init_net.ipv4.sysctl_icmp_echo_ignore_all,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -755,7 +604,6 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS,
|
||||
.procname = "icmp_echo_ignore_broadcasts",
|
||||
.data = &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -763,7 +611,6 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES,
|
||||
.procname = "icmp_ignore_bogus_error_responses",
|
||||
.data = &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -771,7 +618,6 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR,
|
||||
.procname = "icmp_errors_use_inbound_ifaddr",
|
||||
.data = &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -779,16 +625,13 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_RATELIMIT,
|
||||
.procname = "icmp_ratelimit",
|
||||
.data = &init_net.ipv4.sysctl_icmp_ratelimit,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_ms_jiffies,
|
||||
.strategy = sysctl_ms_jiffies
|
||||
},
|
||||
{
|
||||
.ctl_name = NET_IPV4_ICMP_RATEMASK,
|
||||
.procname = "icmp_ratemask",
|
||||
.data = &init_net.ipv4.sysctl_icmp_ratemask,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -796,7 +639,6 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
.proc_handler = proc_dointvec
|
||||
},
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "rt_cache_rebuild_count",
|
||||
.data = &init_net.ipv4.sysctl_rt_cache_rebuild_count,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -807,8 +649,8 @@ static struct ctl_table ipv4_net_table[] = {
|
||||
};
|
||||
|
||||
struct ctl_path net_ipv4_ctl_path[] = {
|
||||
{ .procname = "net", .ctl_name = CTL_NET, },
|
||||
{ .procname = "ipv4", .ctl_name = NET_IPV4, },
|
||||
{ .procname = "net", },
|
||||
{ .procname = "ipv4", },
|
||||
{ },
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(net_ipv4_ctl_path);
|
||||
|
@@ -267,7 +267,6 @@ static struct xfrm_policy_afinfo xfrm4_policy_afinfo = {
|
||||
#ifdef CONFIG_SYSCTL
|
||||
static struct ctl_table xfrm4_policy_table[] = {
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "xfrm4_gc_thresh",
|
||||
.data = &xfrm4_dst_ops.gc_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
|
Reference in New Issue
Block a user