mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
[NET]: Replace CONFIG_NET_DEBUG with sysctl.
Covert network warning messages from a compile time to runtime choice. Removes kernel config option and replaces it with new /proc/sys/net/core/warnings. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ae40eb1ef3
commit
a2a316fd06
6 changed files with 25 additions and 14 deletions
|
@ -1421,6 +1421,15 @@ fewer messages that will be written. Message_burst controls when messages will
|
||||||
be dropped. The default settings limit warning messages to one every five
|
be dropped. The default settings limit warning messages to one every five
|
||||||
seconds.
|
seconds.
|
||||||
|
|
||||||
|
warnings
|
||||||
|
--------
|
||||||
|
|
||||||
|
This controls console messages from the networking stack that can occur because
|
||||||
|
of problems on the network like duplicate address or bad checksums. Normally,
|
||||||
|
this should be enabled, but if the problem persists the messages can be
|
||||||
|
disabled.
|
||||||
|
|
||||||
|
|
||||||
netdev_max_backlog
|
netdev_max_backlog
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
@ -290,6 +290,7 @@ enum
|
||||||
NET_CORE_BUDGET=19,
|
NET_CORE_BUDGET=19,
|
||||||
NET_CORE_AEVENT_ETIME=20,
|
NET_CORE_AEVENT_ETIME=20,
|
||||||
NET_CORE_AEVENT_RSEQTH=21,
|
NET_CORE_AEVENT_RSEQTH=21,
|
||||||
|
NET_CORE_WARNINGS=22,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* /proc/sys/net/ethernet */
|
/* /proc/sys/net/ethernet */
|
||||||
|
|
|
@ -1334,14 +1334,12 @@ extern int sock_get_timestampns(struct sock *, struct timespec __user *);
|
||||||
/*
|
/*
|
||||||
* Enable debug/info messages
|
* Enable debug/info messages
|
||||||
*/
|
*/
|
||||||
|
extern int net_msg_warn;
|
||||||
|
#define NETDEBUG(fmt, args...) \
|
||||||
|
do { if (net_msg_warn) printk(fmt,##args); } while (0)
|
||||||
|
|
||||||
#ifdef CONFIG_NETDEBUG
|
#define LIMIT_NETDEBUG(fmt, args...) \
|
||||||
#define NETDEBUG(fmt, args...) printk(fmt,##args)
|
do { if (net_msg_warn && net_ratelimit()) printk(fmt,##args); } while(0)
|
||||||
#define LIMIT_NETDEBUG(fmt, args...) do { if (net_ratelimit()) printk(fmt,##args); } while(0)
|
|
||||||
#else
|
|
||||||
#define NETDEBUG(fmt, args...) do { } while (0)
|
|
||||||
#define LIMIT_NETDEBUG(fmt, args...) do { } while(0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Macros for sleeping on a socket. Use them like this:
|
* Macros for sleeping on a socket. Use them like this:
|
||||||
|
|
|
@ -27,13 +27,6 @@ if NET
|
||||||
|
|
||||||
menu "Networking options"
|
menu "Networking options"
|
||||||
|
|
||||||
config NETDEBUG
|
|
||||||
bool "Network packet debugging"
|
|
||||||
help
|
|
||||||
You can say Y here if you want to get additional messages useful in
|
|
||||||
debugging bad packets, but can overwhelm logs under denial of service
|
|
||||||
attacks.
|
|
||||||
|
|
||||||
source "net/packet/Kconfig"
|
source "net/packet/Kconfig"
|
||||||
source "net/unix/Kconfig"
|
source "net/unix/Kconfig"
|
||||||
source "net/xfrm/Kconfig"
|
source "net/xfrm/Kconfig"
|
||||||
|
|
|
@ -136,6 +136,14 @@ ctl_table core_table[] = {
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = &proc_dointvec
|
.proc_handler = &proc_dointvec
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.ctl_name = NET_CORE_WARNINGS,
|
||||||
|
.procname = "warnings",
|
||||||
|
.data = &net_msg_warn,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0644,
|
||||||
|
.proc_handler = &proc_dointvec
|
||||||
|
},
|
||||||
{ .ctl_name = 0 }
|
{ .ctl_name = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,8 @@
|
||||||
|
|
||||||
int net_msg_cost = 5*HZ;
|
int net_msg_cost = 5*HZ;
|
||||||
int net_msg_burst = 10;
|
int net_msg_burst = 10;
|
||||||
|
int net_msg_warn = 1;
|
||||||
|
EXPORT_SYMBOL(net_msg_warn);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* All net warning printk()s should be guarded by this function.
|
* All net warning printk()s should be guarded by this function.
|
||||||
|
|
Loading…
Reference in a new issue