![Neil Horman](/assets/img/avatar_default.png)
Patch to add the ability to detect drops in hardware interfaces via dropwatch. Adds a tracepoint to net_rx_action to signal everytime a napi instance is polled. The dropmon code then periodically checks to see if the rx_frames counter has changed, and if so, adds a drop notification to the netlink protocol, using the reserved all-0's vector to indicate the drop location was in hardware, rather than somewhere in the code. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> include/linux/net_dropmon.h | 8 ++ include/trace/napi.h | 11 +++ net/core/dev.c | 5 + net/core/drop_monitor.c | 124 ++++++++++++++++++++++++++++++++++++++++++-- net/core/net-traces.c | 4 + net/core/netpoll.c | 2 6 files changed, 149 insertions(+), 5 deletions(-) Signed-off-by: David S. Miller <davem@davemloft.net>
34 lines
755 B
C
34 lines
755 B
C
/*
|
|
* consolidates trace point definitions
|
|
*
|
|
* Copyright (C) 2009 Neil Horman <nhorman@tuxdriver.com>
|
|
*/
|
|
|
|
#include <linux/netdevice.h>
|
|
#include <linux/etherdevice.h>
|
|
#include <linux/string.h>
|
|
#include <linux/if_arp.h>
|
|
#include <linux/inetdevice.h>
|
|
#include <linux/inet.h>
|
|
#include <linux/interrupt.h>
|
|
#include <linux/netpoll.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/delay.h>
|
|
#include <linux/rcupdate.h>
|
|
#include <linux/types.h>
|
|
#include <linux/workqueue.h>
|
|
#include <linux/netlink.h>
|
|
#include <linux/net_dropmon.h>
|
|
#include <trace/skb.h>
|
|
#include <trace/napi.h>
|
|
|
|
#include <asm/unaligned.h>
|
|
#include <asm/bitops.h>
|
|
|
|
|
|
DEFINE_TRACE(kfree_skb);
|
|
EXPORT_TRACEPOINT_SYMBOL_GPL(kfree_skb);
|
|
|
|
DEFINE_TRACE(napi_poll);
|
|
EXPORT_TRACEPOINT_SYMBOL_GPL(napi_poll);
|