2005-09-22 11:30:44 +04:00
/*
* sysctl_net_llc . c : sysctl interface to LLC net subsystem .
2007-02-09 17:25:01 +03:00
*
2005-09-22 11:30:44 +04:00
* Arnaldo Carvalho de Melo < acme @ conectiva . com . br >
*/
# include <linux/mm.h>
# include <linux/init.h>
# include <linux/sysctl.h>
2012-04-19 17:24:33 +04:00
# include <net/net_namespace.h>
2005-09-22 12:14:33 +04:00
# include <net/llc.h>
2005-09-22 11:30:44 +04:00
# ifndef CONFIG_SYSCTL
# error This file should not be compiled without CONFIG_SYSCTL defined
# endif
static struct ctl_table llc2_timeout_table [ ] = {
{
. procname = " ack " ,
. data = & sysctl_llc2_ack_timeout ,
2015-01-24 04:47:00 +03:00
. maxlen = sizeof ( sysctl_llc2_ack_timeout ) ,
2005-09-22 11:30:44 +04:00
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " busy " ,
. data = & sysctl_llc2_busy_timeout ,
2015-01-24 04:47:00 +03:00
. maxlen = sizeof ( sysctl_llc2_busy_timeout ) ,
2005-09-22 11:30:44 +04:00
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " p " ,
. data = & sysctl_llc2_p_timeout ,
2015-01-24 04:47:00 +03:00
. maxlen = sizeof ( sysctl_llc2_p_timeout ) ,
2005-09-22 11:30:44 +04:00
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " rej " ,
. data = & sysctl_llc2_rej_timeout ,
2015-01-24 04:47:00 +03:00
. maxlen = sizeof ( sysctl_llc2_rej_timeout ) ,
2005-09-22 11:30:44 +04:00
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
static struct ctl_table llc_station_table [ ] = {
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
2012-04-19 17:35:39 +04:00
static struct ctl_table_header * llc2_timeout_header ;
static struct ctl_table_header * llc_station_header ;
2005-09-22 11:30:44 +04:00
int __init llc_sysctl_init ( void )
{
2012-04-19 17:35:39 +04:00
llc2_timeout_header = register_net_sysctl ( & init_net , " net/llc/llc2/timeout " , llc2_timeout_table ) ;
llc_station_header = register_net_sysctl ( & init_net , " net/llc/station " , llc_station_table ) ;
2005-09-22 11:30:44 +04:00
2012-04-19 17:35:39 +04:00
if ( ! llc2_timeout_header | | ! llc_station_header ) {
llc_sysctl_exit ( ) ;
return - ENOMEM ;
}
return 0 ;
2005-09-22 11:30:44 +04:00
}
void llc_sysctl_exit ( void )
{
2012-04-19 17:35:39 +04:00
if ( llc2_timeout_header ) {
unregister_net_sysctl_table ( llc2_timeout_header ) ;
llc2_timeout_header = NULL ;
}
if ( llc_station_header ) {
unregister_net_sysctl_table ( llc_station_header ) ;
llc_station_header = NULL ;
2005-09-22 11:30:44 +04:00
}
}