-Index: linux-2.6.23.17/drivers/net/imq.c
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/drivers/net/imq.c
++++ b/drivers/net/imq.c
@@ -0,0 +1,400 @@
+/*
+ * Pseudo-driver for the intermediate queue device.
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.23.17/drivers/net/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/Kconfig
-+++ linux-2.6.23.17/drivers/net/Kconfig
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
@@ -112,6 +112,129 @@ config EQUALIZER
To compile this driver as a module, choose M here: the module
will be called eql. If unsure, say N.
config TUN
tristate "Universal TUN/TAP device driver support"
select CRC32
-Index: linux-2.6.23.17/drivers/net/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/Makefile
-+++ linux-2.6.23.17/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
@@ -131,6 +131,7 @@ obj-$(CONFIG_SLHC) += slhc.o
obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
obj-$(CONFIG_IFB) += ifb.o
obj-$(CONFIG_MACVLAN) += macvlan.o
obj-$(CONFIG_DE600) += de600.o
-Index: linux-2.6.23.17/include/linux/imq.h
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/include/linux/imq.h
++++ b/include/linux/imq.h
@@ -0,0 +1,9 @@
+#ifndef _IMQ_H
+#define _IMQ_H
+#define IMQ_F_ENQUEUE 0x80
+
+#endif /* _IMQ_H */
-Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h
++++ b/include/linux/netfilter_ipv4/ipt_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IPT_IMQ_H
+#define _IPT_IMQ_H
+};
+
+#endif /* _IPT_IMQ_H */
-Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h
++++ b/include/linux/netfilter_ipv6/ip6t_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IP6T_IMQ_H
+#define _IP6T_IMQ_H
+};
+
+#endif /* _IP6T_IMQ_H */
-Index: linux-2.6.23.17/include/linux/skbuff.h
-===================================================================
---- linux-2.6.23.17.orig/include/linux/skbuff.h
-+++ linux-2.6.23.17/include/linux/skbuff.h
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
@@ -295,6 +295,10 @@ struct sk_buff {
struct nf_conntrack *nfct;
struct sk_buff *nfct_reasm;
#ifdef CONFIG_BRIDGE_NETFILTER
dst->nf_bridge = src->nf_bridge;
nf_bridge_get(src->nf_bridge);
-Index: linux-2.6.23.17/net/core/dev.c
-===================================================================
---- linux-2.6.23.17.orig/net/core/dev.c
-+++ linux-2.6.23.17/net/core/dev.c
+--- a/net/core/dev.c
++++ b/net/core/dev.c
@@ -94,6 +94,9 @@
#include <linux/skbuff.h>
#include <net/sock.h>
dev_queue_xmit_nit(skb, dev);
if (netif_needs_gso(dev, skb)) {
-Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c
++++ b/net/ipv4/netfilter/ipt_IMQ.c
@@ -0,0 +1,69 @@
+/*
+ * This target marks packets to be enqueued to an imq device
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
-@@ -333,6 +333,17 @@ config IP_NF_MANGLE
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -327,6 +327,17 @@ config IP_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
config IP_NF_TARGET_TOS
tristate "TOS target support"
depends on IP_NF_MANGLE
-Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
-@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -56,6 +56,7 @@ obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ip
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
-Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c
++++ b/net/ipv6/netfilter/ip6t_IMQ.c
@@ -0,0 +1,69 @@
+/*
+ * This target marks packets to be enqueued to an imq device
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/net/ipv6/netfilter/Kconfig
-+++ linux-2.6.23.17/net/ipv6/netfilter/Kconfig
+--- a/net/ipv6/netfilter/Kconfig
++++ b/net/ipv6/netfilter/Kconfig
@@ -173,6 +173,15 @@ config IP6_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
config IP6_NF_TARGET_HL
tristate 'HL (hoplimit) target support'
depends on IP6_NF_MANGLE
-Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.6.23.17.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.6.23.17/net/ipv6/netfilter/Makefile
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t
obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
obj-$(CONFIG_IP6_NF_TARGET_HL) += ip6t_HL.o
obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
-Index: linux-2.6.23.17/net/sched/sch_generic.c
-===================================================================
---- linux-2.6.23.17.orig/net/sched/sch_generic.c
-+++ linux-2.6.23.17/net/sched/sch_generic.c
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
@@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n
return ret;
}