mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
![Eric W. Biederman](/assets/img/avatar_default.png)
This makes it clearer which sysctls are relative to your current network namespace. This makes it a little less error prone by not exposing sysctls for the initial network namespace in other namespaces. This is the same way we handle all of our other network interfaces to userspace and I can't honestly remember why we didn't do this for sysctls right from the start. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
/*
|
|
* sysctl_net_atalk.c: sysctl interface to net AppleTalk subsystem.
|
|
*
|
|
* Begun April 1, 1996, Mike Shaver.
|
|
* Added /proc/sys/net/atalk directory entry (empty =) ). [MS]
|
|
* Dynamic registration, added aarp entries. (5/30/97 Chris Horn)
|
|
*/
|
|
|
|
#include <linux/sysctl.h>
|
|
#include <net/sock.h>
|
|
#include <linux/atalk.h>
|
|
|
|
static struct ctl_table atalk_table[] = {
|
|
{
|
|
.procname = "aarp-expiry-time",
|
|
.data = &sysctl_aarp_expiry_time,
|
|
.maxlen = sizeof(int),
|
|
.mode = 0644,
|
|
.proc_handler = proc_dointvec_jiffies,
|
|
},
|
|
{
|
|
.procname = "aarp-tick-time",
|
|
.data = &sysctl_aarp_tick_time,
|
|
.maxlen = sizeof(int),
|
|
.mode = 0644,
|
|
.proc_handler = proc_dointvec_jiffies,
|
|
},
|
|
{
|
|
.procname = "aarp-retransmit-limit",
|
|
.data = &sysctl_aarp_retransmit_limit,
|
|
.maxlen = sizeof(int),
|
|
.mode = 0644,
|
|
.proc_handler = proc_dointvec,
|
|
},
|
|
{
|
|
.procname = "aarp-resolve-time",
|
|
.data = &sysctl_aarp_resolve_time,
|
|
.maxlen = sizeof(int),
|
|
.mode = 0644,
|
|
.proc_handler = proc_dointvec_jiffies,
|
|
},
|
|
{ },
|
|
};
|
|
|
|
static struct ctl_path atalk_path[] = {
|
|
{ .procname = "net", },
|
|
{ .procname = "appletalk", },
|
|
{ }
|
|
};
|
|
|
|
static struct ctl_table_header *atalk_table_header;
|
|
|
|
void atalk_register_sysctl(void)
|
|
{
|
|
atalk_table_header = register_net_sysctl_table(&init_net, atalk_path, atalk_table);
|
|
}
|
|
|
|
void atalk_unregister_sysctl(void)
|
|
{
|
|
unregister_net_sysctl_table(atalk_table_header);
|
|
}
|