xref: /openbmc/linux/net/x25/sysctl_net_x25.c (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds /* -*- linux-c -*-
31da177e4SLinus Torvalds  * sysctl_net_x25.c: sysctl interface to net X.25 subsystem.
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Begun April 1, 1996, Mike Shaver.
61da177e4SLinus Torvalds  * Added /proc/sys/net/x25 directory entry (empty =) ). [MS]
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds #include <linux/sysctl.h>
101da177e4SLinus Torvalds #include <linux/skbuff.h>
111da177e4SLinus Torvalds #include <linux/socket.h>
121da177e4SLinus Torvalds #include <linux/netdevice.h>
131da177e4SLinus Torvalds #include <linux/init.h>
141da177e4SLinus Torvalds #include <net/x25.h>
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds static int min_timer[] = {   1 * HZ };
171da177e4SLinus Torvalds static int max_timer[] = { 300 * HZ };
181da177e4SLinus Torvalds 
191da177e4SLinus Torvalds static struct ctl_table_header *x25_table_header;
201da177e4SLinus Torvalds 
211da177e4SLinus Torvalds static struct ctl_table x25_table[] = {
221da177e4SLinus Torvalds 	{
231da177e4SLinus Torvalds 		.procname =	"restart_request_timeout",
241da177e4SLinus Torvalds 		.data =		&sysctl_x25_restart_request_timeout,
251da177e4SLinus Torvalds 		.maxlen =	sizeof(int),
261da177e4SLinus Torvalds 		.mode =		0644,
276d9f239aSAlexey Dobriyan 		.proc_handler =	proc_dointvec_minmax,
281da177e4SLinus Torvalds 		.extra1 =	&min_timer,
291da177e4SLinus Torvalds 		.extra2 =	&max_timer,
301da177e4SLinus Torvalds 	},
311da177e4SLinus Torvalds 	{
321da177e4SLinus Torvalds 		.procname =	"call_request_timeout",
331da177e4SLinus Torvalds 		.data =		&sysctl_x25_call_request_timeout,
341da177e4SLinus Torvalds 		.maxlen =	sizeof(int),
351da177e4SLinus Torvalds 		.mode =		0644,
366d9f239aSAlexey Dobriyan 		.proc_handler =	proc_dointvec_minmax,
371da177e4SLinus Torvalds 		.extra1 =	&min_timer,
381da177e4SLinus Torvalds 		.extra2 =	&max_timer,
391da177e4SLinus Torvalds 	},
401da177e4SLinus Torvalds 	{
411da177e4SLinus Torvalds 		.procname =	"reset_request_timeout",
421da177e4SLinus Torvalds 		.data =		&sysctl_x25_reset_request_timeout,
431da177e4SLinus Torvalds 		.maxlen =	sizeof(int),
441da177e4SLinus Torvalds 		.mode =		0644,
456d9f239aSAlexey Dobriyan 		.proc_handler =	proc_dointvec_minmax,
461da177e4SLinus Torvalds 		.extra1 =	&min_timer,
471da177e4SLinus Torvalds 		.extra2 =	&max_timer,
481da177e4SLinus Torvalds 	},
491da177e4SLinus Torvalds 	{
501da177e4SLinus Torvalds 		.procname =	"clear_request_timeout",
511da177e4SLinus Torvalds 		.data =		&sysctl_x25_clear_request_timeout,
521da177e4SLinus Torvalds 		.maxlen =	sizeof(int),
531da177e4SLinus Torvalds 		.mode =		0644,
546d9f239aSAlexey Dobriyan 		.proc_handler =	proc_dointvec_minmax,
551da177e4SLinus Torvalds 		.extra1 =	&min_timer,
561da177e4SLinus Torvalds 		.extra2 =	&max_timer,
571da177e4SLinus Torvalds 	},
581da177e4SLinus Torvalds 	{
591da177e4SLinus Torvalds 		.procname =	"acknowledgement_hold_back_timeout",
601da177e4SLinus Torvalds 		.data =		&sysctl_x25_ack_holdback_timeout,
611da177e4SLinus Torvalds 		.maxlen =	sizeof(int),
621da177e4SLinus Torvalds 		.mode =		0644,
636d9f239aSAlexey Dobriyan 		.proc_handler =	proc_dointvec_minmax,
641da177e4SLinus Torvalds 		.extra1 =	&min_timer,
651da177e4SLinus Torvalds 		.extra2 =	&max_timer,
661da177e4SLinus Torvalds 	},
6739e21c0dSAndrew Hendry 	{
6839e21c0dSAndrew Hendry 		.procname =	"x25_forward",
6939e21c0dSAndrew Hendry 		.data = 	&sysctl_x25_forward,
7039e21c0dSAndrew Hendry 		.maxlen = 	sizeof(int),
7139e21c0dSAndrew Hendry 		.mode = 	0644,
726d9f239aSAlexey Dobriyan 		.proc_handler = proc_dointvec,
7339e21c0dSAndrew Hendry 	},
74e999cb43SKees Cook 	{ },
751da177e4SLinus Torvalds };
761da177e4SLinus Torvalds 
x25_register_sysctl(void)7764df6d52Slinzhang int __init x25_register_sysctl(void)
781da177e4SLinus Torvalds {
79ec8f23ceSEric W. Biederman 	x25_table_header = register_net_sysctl(&init_net, "net/x25", x25_table);
8064df6d52Slinzhang 	if (!x25_table_header)
8164df6d52Slinzhang 		return -ENOMEM;
8264df6d52Slinzhang 	return 0;
831da177e4SLinus Torvalds }
841da177e4SLinus Torvalds 
x25_unregister_sysctl(void)851da177e4SLinus Torvalds void x25_unregister_sysctl(void)
861da177e4SLinus Torvalds {
875dd3df10SEric W. Biederman 	unregister_net_sysctl_table(x25_table_header);
881da177e4SLinus Torvalds }
89