diff options
author | Florian Fainelli <florian@openwrt.org> | 2009-05-28 15:55:54 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2009-05-28 15:55:54 +0000 |
commit | cec852c0870d3df36ed9e5bc03b6ff70f4d67c75 (patch) | |
tree | 0d7958494894e9ffae1853f3ee7fe3ce0f788b61 /target/linux/generic-2.4/patches/619-netfilter_classify.patch | |
parent | b7ae5e7b7cb2cb23effc6007b5bc8527be22e054 (diff) | |
download | master-31e0f0ae-cec852c0870d3df36ed9e5bc03b6ff70f4d67c75.tar.gz master-31e0f0ae-cec852c0870d3df36ed9e5bc03b6ff70f4d67c75.tar.bz2 master-31e0f0ae-cec852c0870d3df36ed9e5bc03b6ff70f4d67c75.zip |
update to 2.4.37, tested on wrt54gs (#4766)
SVN-Revision: 16144
Diffstat (limited to 'target/linux/generic-2.4/patches/619-netfilter_classify.patch')
-rw-r--r-- | target/linux/generic-2.4/patches/619-netfilter_classify.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/target/linux/generic-2.4/patches/619-netfilter_classify.patch b/target/linux/generic-2.4/patches/619-netfilter_classify.patch deleted file mode 100644 index 7003537d2e..0000000000 --- a/target/linux/generic-2.4/patches/619-netfilter_classify.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- /dev/null -+++ b/include/linux/netfilter_ipv4/ipt_CLASSIFY.h -@@ -0,0 +1,8 @@ -+#ifndef _IPT_CLASSIFY_H -+#define _IPT_CLASSIFY_H -+ -+struct ipt_classify_target_info { -+ u_int32_t priority; -+}; -+ -+#endif /*_IPT_CLASSIFY_H */ ---- a/net/ipv4/netfilter/Config.in -+++ b/net/ipv4/netfilter/Config.in -@@ -171,6 +171,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; - dep_tristate ' DSCP target support' CONFIG_IP_NF_TARGET_DSCP $CONFIG_IP_NF_MANGLE - - dep_tristate ' MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE -+ dep_tristate ' CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE - dep_tristate ' IMQ target support' CONFIG_IP_NF_TARGET_IMQ $CONFIG_IP_NF_MANGLE - fi - if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then ---- /dev/null -+++ b/net/ipv4/netfilter/ipt_CLASSIFY.c -@@ -0,0 +1,82 @@ -+/* -+ * This is a module which is used for setting the skb->priority field -+ * of an skb for qdisc classification. -+ */ -+ -+#include <linux/module.h> -+#include <linux/skbuff.h> -+#include <linux/ip.h> -+#include <net/checksum.h> -+ -+#include <linux/netfilter_ipv4/ip_tables.h> -+#include <linux/netfilter_ipv4/ipt_CLASSIFY.h> -+ -+MODULE_AUTHOR("Patrick McHardy <kaber@trash.net>"); -+MODULE_LICENSE("GPL"); -+MODULE_DESCRIPTION("iptables qdisc classification target module"); -+ -+static unsigned int -+target(struct sk_buff **pskb, -+ unsigned int hooknum, -+ const struct net_device *in, -+ const struct net_device *out, -+ const void *targinfo, -+ void *userinfo) -+{ -+ const struct ipt_classify_target_info *clinfo = targinfo; -+ -+ if((*pskb)->priority != clinfo->priority) { -+ (*pskb)->priority = clinfo->priority; -+ (*pskb)->nfcache |= NFC_ALTERED; -+ } -+ -+ return IPT_CONTINUE; -+} -+ -+static int -+checkentry(const char *tablename, -+ const struct ipt_entry *e, -+ void *targinfo, -+ unsigned int targinfosize, -+ unsigned int hook_mask) -+{ -+ if (targinfosize != IPT_ALIGN(sizeof(struct ipt_classify_target_info))){ -+ printk(KERN_ERR "CLASSIFY: invalid size (%u != %u).\n", -+ targinfosize, -+ IPT_ALIGN(sizeof(struct ipt_classify_target_info))); -+ return 0; -+ } -+ -+ if (hook_mask & ~(1 << NF_IP_POST_ROUTING)) { -+ printk(KERN_ERR "CLASSIFY: only valid in POST_ROUTING.\n"); -+ return 0; -+ } -+ -+ if (strcmp(tablename, "mangle") != 0) { -+ printk(KERN_WARNING "CLASSIFY: can only be called from " -+ "\"mangle\" table, not \"%s\".\n", -+ tablename); -+ return 0; -+ } -+ -+ return 1; -+} -+ -+static struct ipt_target ipt_classify_reg -+= { { NULL, NULL }, "CLASSIFY", target, checkentry, NULL, THIS_MODULE }; -+ -+static int __init init(void) -+{ -+ if (ipt_register_target(&ipt_classify_reg)) -+ return -EINVAL; -+ -+ return 0; -+} -+ -+static void __exit fini(void) -+{ -+ ipt_unregister_target(&ipt_classify_reg); -+} -+ -+module_init(init); -+module_exit(fini); ---- a/net/ipv4/netfilter/Makefile -+++ b/net/ipv4/netfilter/Makefile -@@ -133,6 +133,7 @@ obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_ - - # targets - obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o -+obj-$(CONFIG_IP_NF_TARGET_CLASSIFY) += ipt_CLASSIFY.o - obj-$(CONFIG_IP_NF_TARGET_MIRROR) += ipt_MIRROR.o - obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o - obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o |