Support adding value of mark to priority field, so that classifying packets to HTBs...
authorAndy Bavier <acb@cs.princeton.edu>
Fri, 25 Jul 2008 19:05:39 +0000 (19:05 +0000)
committerAndy Bavier <acb@cs.princeton.edu>
Fri, 25 Jul 2008 19:05:39 +0000 (19:05 +0000)
linux-2.6-527-iptables-classify-add-mark.patch [new file with mode: 0644]

diff --git a/linux-2.6-527-iptables-classify-add-mark.patch b/linux-2.6-527-iptables-classify-add-mark.patch
new file mode 100644 (file)
index 0000000..e484f0e
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Nurp linux-2.6.22-526/include/linux/netfilter/xt_CLASSIFY.h linux-2.6.22-527/include/linux/netfilter/xt_CLASSIFY.h
+--- linux-2.6.22-526/include/linux/netfilter/xt_CLASSIFY.h     2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22-527/include/linux/netfilter/xt_CLASSIFY.h     2008-07-25 14:46:22.000000000 -0400
+@@ -3,6 +3,7 @@
+ struct xt_classify_target_info {
+       u_int32_t priority;
++      u_int8_t add_mark;
+ };
+ #endif /*_XT_CLASSIFY_H */
+diff -Nurp linux-2.6.22-526/net/netfilter/xt_CLASSIFY.c linux-2.6.22-527/net/netfilter/xt_CLASSIFY.c
+--- linux-2.6.22-526/net/netfilter/xt_CLASSIFY.c       2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22-527/net/netfilter/xt_CLASSIFY.c       2008-07-25 14:50:50.000000000 -0400
+@@ -36,6 +36,9 @@ target(struct sk_buff **pskb,
+       const struct xt_classify_target_info *clinfo = targinfo;
+       (*pskb)->priority = clinfo->priority;
++      if (clinfo->add_mark)
++              (*pskb)->priority += (*pskb)->mark;
++
+       return XT_CONTINUE;
+ }