[PATCH 5/21] KGDB: Pass skb via NET_POLL rx routine

From: Jason Wessel
Date: Mon Oct 15 2007 - 14:36:37 EST


Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
netpoll_pass_skb_to_rx_hook.patch

From: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
CC: mpm@xxxxxxxxxxx
Subject: [PATCH] Pass skb via NET_POLL rx routine

This patch is a chane to the NET POLL api so that the MAC address or
IP frame information can be parsed by the driver that wishes to use
it. Speficially for kgdboe, it is used to automatically collect the
MAC address of the GDB host.

Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>

---
include/linux/netpoll.h | 2 +-
net/core/netpoll.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6.21.1/include/linux/netpoll.h
===================================================================
--- linux-2.6.21.1.orig/include/linux/netpoll.h
+++ linux-2.6.21.1/include/linux/netpoll.h
@@ -16,7 +16,7 @@ struct netpoll {
struct net_device *dev;
char dev_name[IFNAMSIZ];
const char *name;
- void (*rx_hook)(struct netpoll *, int, char *, int);
+ void (*rx_hook)(struct netpoll *, int, char *, int, struct sk_buff *);

u32 local_ip, remote_ip;
u16 local_port, remote_port;
Index: linux-2.6.21.1/net/core/netpoll.c
===================================================================
--- linux-2.6.21.1.orig/net/core/netpoll.c
+++ linux-2.6.21.1/net/core/netpoll.c
@@ -498,7 +498,8 @@ int __netpoll_rx(struct sk_buff *skb)

np->rx_hook(np, ntohs(uh->source),
(char *)(uh+1),
- ulen - sizeof(struct udphdr));
+ ulen - sizeof(struct udphdr),
+ skb);

kfree_skb(skb);
return 1;