aboutsummaryrefslogtreecommitdiff
path: root/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
diff options
context:
space:
mode:
authorMaksim Yevmenkin <emax@FreeBSD.org>2008-08-01 00:36:43 +0000
committerMaksim Yevmenkin <emax@FreeBSD.org>2008-08-01 00:36:43 +0000
commit4fa708ef2094cb01ca8010406696018bdda84d74 (patch)
tree1e021dcf615ed5e80a25261f2436a4304e2ebe27 /sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
parent5a19634aa003abf9b691688ad7f6af22fcae685b (diff)
Implement ratelimiting for debug messages. For now, allow at most
one message per second. In the future might add a sysctl knob for each socket family to fine tune this. MFC after: 1 week
Notes
Notes: svn path=/head/; revision=181093
Diffstat (limited to 'sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c')
-rw-r--r--sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
index 41008750ba32..6b3002240387 100644
--- a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
+++ b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
@@ -118,6 +118,8 @@ static struct mtx ng_btsocket_hci_raw_sockets_mtx;
static u_int32_t ng_btsocket_hci_raw_token;
static struct mtx ng_btsocket_hci_raw_token_mtx;
static struct ng_btsocket_hci_raw_sec_filter *ng_btsocket_hci_raw_sec_filter;
+static struct timeval ng_btsocket_hci_raw_lasttime;
+static int ng_btsocket_hci_raw_curpps;
/* Sysctl tree */
SYSCTL_DECL(_net_bluetooth_hci_sockets);
@@ -141,19 +143,23 @@ SYSCTL_INT(_net_bluetooth_hci_sockets_raw, OID_AUTO, queue_drops, CTLFLAG_RD,
/* Debug */
#define NG_BTSOCKET_HCI_RAW_INFO \
- if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_INFO_LEVEL) \
+ if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_INFO_LEVEL && \
+ ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_HCI_RAW_WARN \
- if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_WARN_LEVEL) \
+ if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_WARN_LEVEL && \
+ ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_HCI_RAW_ERR \
- if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_ERR_LEVEL) \
+ if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_ERR_LEVEL && \
+ ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_HCI_RAW_ALERT \
- if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_ALERT_LEVEL) \
+ if (ng_btsocket_hci_raw_debug_level >= NG_BTSOCKET_ALERT_LEVEL && \
+ ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
/****************************************************************************