+diff -Nurb linux-2.6.22-524/include/linux/netdevice.h linux-2.6.22-525/include/linux/netdevice.h
+--- linux-2.6.22-524/include/linux/netdevice.h 2008-07-27 22:06:14.000000000 -0400
++++ linux-2.6.22-525/include/linux/netdevice.h 2008-07-27 22:17:30.000000000 -0400
+@@ -562,6 +562,7 @@
+ struct packet_type {
+ __be16 type; /* This is really htons(ether_type). */
+ struct net_device *dev; /* NULL is wildcarded here */
++ unsigned char sknid_elevator;
+ int (*func) (struct sk_buff *,
+ struct net_device *,
+ struct packet_type *,
diff -Nurb linux-2.6.22-524/net/core/dev.c linux-2.6.22-525/net/core/dev.c
---- linux-2.6.22-524/net/core/dev.c 2008-07-21 16:44:33.000000000 -0400
-+++ linux-2.6.22-525/net/core/dev.c 2008-07-27 22:02:10.000000000 -0400
+--- linux-2.6.22-524/net/core/dev.c 2008-07-27 22:06:20.000000000 -0400
++++ linux-2.6.22-525/net/core/dev.c 2008-07-27 22:06:27.000000000 -0400
@@ -97,6 +97,8 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
EXPORT_SYMBOL(br_handle_frame_hook);
diff -Nurb linux-2.6.22-524/net/packet/af_packet.c linux-2.6.22-525/net/packet/af_packet.c
--- linux-2.6.22-524/net/packet/af_packet.c 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22-525/net/packet/af_packet.c 2008-07-27 22:02:22.000000000 -0400
++++ linux-2.6.22-525/net/packet/af_packet.c 2008-07-27 22:06:27.000000000 -0400
@@ -78,6 +78,7 @@
#include <linux/poll.h>
#include <linux/module.h>