Skip to content

Commit

Permalink
[NET]: Replace CONFIG_NET_DEBUG with sysctl.
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Apr 26, 2007
1 parent ae40eb1 commit a2a316f
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 14 deletions.
9 changes: 9 additions & 0 deletions Documentation/filesystems/proc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
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
------------------

Expand Down
1 change: 1 addition & 0 deletions include/linux/sysctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ enum
NET_CORE_BUDGET=19,
NET_CORE_AEVENT_ETIME=20,
NET_CORE_AEVENT_RSEQTH=21,
NET_CORE_WARNINGS=22,
};

/* /proc/sys/net/ethernet */
Expand Down
12 changes: 5 additions & 7 deletions include/net/sock.h
Original file line number Diff line number Diff line change
Expand Up @@ -1334,14 +1334,12 @@ extern int sock_get_timestampns(struct sock *, struct timespec __user *);
/*
* 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 NETDEBUG(fmt, args...) printk(fmt,##args)
#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
#define LIMIT_NETDEBUG(fmt, args...) \
do { if (net_msg_warn && net_ratelimit()) printk(fmt,##args); } while(0)

/*
* Macros for sleeping on a socket. Use them like this:
Expand Down
7 changes: 0 additions & 7 deletions net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,6 @@ if NET

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/unix/Kconfig"
source "net/xfrm/Kconfig"
Expand Down
8 changes: 8 additions & 0 deletions net/core/sysctl_net_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,14 @@ ctl_table core_table[] = {
.mode = 0644,
.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 }
};

Expand Down
2 changes: 2 additions & 0 deletions net/core/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

int net_msg_cost = 5*HZ;
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.
Expand Down

0 comments on commit a2a316f

Please sign in to comment.