aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-2.6.38
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-06-15 14:11:33 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-06-15 14:11:33 +0000
commit4a25af3b0dd4c1fb9f51a5787b799540a44a68c7 (patch)
treed204ac842f7d279181202c9367f32280d5773101 /target/linux/generic/patches-2.6.38
parent24551f6d2381f49d3438b483727419b7ba1d249c (diff)
downloadupstream-4a25af3b0dd4c1fb9f51a5787b799540a44a68c7.tar.gz
upstream-4a25af3b0dd4c1fb9f51a5787b799540a44a68c7.tar.bz2
upstream-4a25af3b0dd4c1fb9f51a5787b799540a44a68c7.zip
[generic] backport upstream Kernel commit 1ed2f73d90fb49bcf5704aee7e9084adb882bfc5 (netfilter: IPv6: fix DSCP mangle code)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27179 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-2.6.38')
-rw-r--r--target/linux/generic/patches-2.6.38/606-netfilter_dscp_ipv6_mangle.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.38/606-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.38/606-netfilter_dscp_ipv6_mangle.patch
new file mode 100644
index 0000000000..670fd220ac
--- /dev/null
+++ b/target/linux/generic/patches-2.6.38/606-netfilter_dscp_ipv6_mangle.patch
@@ -0,0 +1,26 @@
+From: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
+Date: Tue, 10 May 2011 08:00:21 +0000 (+0200)
+Subject: netfilter: IPv6: fix DSCP mangle code
+X-Git-Tag: v2.6.39~15^2~13^2~1
+X-Git-Url: http://git390.marist.edu/cgi-bin/gitweb.cgi?p=linux-2.6.git;a=commitdiff_plain;h=1ed2f73d90fb49bcf5704aee7e9084adb882bfc5
+
+netfilter: IPv6: fix DSCP mangle code
+
+The mask indicates the bits one wants to zero out, so it needs to be
+inverted before applying to the original TOS field.
+
+Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+
+--- a/net/netfilter/xt_DSCP.c
++++ b/net/netfilter/xt_DSCP.c
+@@ -99,7 +99,7 @@ tos_tg6(struct sk_buff *skb, const struc
+ u_int8_t orig, nv;
+
+ orig = ipv6_get_dsfield(iph);
+- nv = (orig & info->tos_mask) ^ info->tos_value;
++ nv = (orig & ~info->tos_mask) ^ info->tos_value;
+
+ if (orig != nv) {
+ if (!skb_make_writable(skb, sizeof(struct iphdr)))