summaryrefslogtreecommitdiff
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@redhat.com>2004-02-23 15:30:03 -0500
committerJeff Garzik <jgarzik@redhat.com>2004-02-23 15:30:03 -0500
commit0a386c749d0293d92fd1b61f79c8148b3fed5cb7 (patch)
tree86e307452ff2a4040265b915a87a072d191ff31b /net/core/dev.c
parente07f4d38daa4512b297d0e8a945837f33b29489c (diff)
parent7fcc6d07fe8f897afbc4dcf87d7442195826503c (diff)
Merge
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 94c16c74dc99..03413c9e2346 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -105,6 +105,7 @@
#include <linux/kmod.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
+#include <linux/netpoll.h>
#ifdef CONFIG_NET_RADIO
#include <linux/wireless.h> /* Note : will define WIRELESS_EXT */
#include <net/iw_handler.h>
@@ -1572,6 +1573,13 @@ int netif_rx(struct sk_buff *skb)
struct softnet_data *queue;
unsigned long flags;
+#ifdef CONFIG_NETPOLL_RX
+ if (skb->dev->netpoll_rx && netpoll_rx(skb)) {
+ kfree_skb(skb);
+ return NET_RX_DROP;
+ }
+#endif
+
if (!skb->stamp.tv_sec)
do_gettimeofday(&skb->stamp);
@@ -1727,6 +1735,13 @@ int netif_receive_skb(struct sk_buff *skb)
int ret = NET_RX_DROP;
unsigned short type = skb->protocol;
+#ifdef CONFIG_NETPOLL_RX
+ if (skb->dev->netpoll_rx && skb->dev->poll && netpoll_rx(skb)) {
+ kfree_skb(skb);
+ return NET_RX_DROP;
+ }
+#endif
+
if (!skb->stamp.tv_sec)
do_gettimeofday(&skb->stamp);