From: jow Date: Wed, 15 Jun 2011 14:11:33 +0000 (+0000) Subject: [generic] backport upstream Kernel commit 1ed2f73d90fb49bcf5704aee7e9084adb882bfc5... X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/0d5a87444523a9b7fe800f1f89b6923e454af2d0 [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 --- diff --git a/target/linux/generic/patches-2.6.30/130-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.30/130-netfilter_dscp_ipv6_mangle.patch new file mode 100644 index 000000000..7cf001acb --- /dev/null +++ b/target/linux/generic/patches-2.6.30/130-netfilter_dscp_ipv6_mangle.patch @@ -0,0 +1,26 @@ +From: Fernando Luis Vazquez Cao +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- a/net/netfilter/xt_DSCP.c ++++ b/net/netfilter/xt_DSCP.c +@@ -135,7 +135,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))) diff --git a/target/linux/generic/patches-2.6.31/130-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.31/130-netfilter_dscp_ipv6_mangle.patch new file mode 100644 index 000000000..7cf001acb --- /dev/null +++ b/target/linux/generic/patches-2.6.31/130-netfilter_dscp_ipv6_mangle.patch @@ -0,0 +1,26 @@ +From: Fernando Luis Vazquez Cao +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- a/net/netfilter/xt_DSCP.c ++++ b/net/netfilter/xt_DSCP.c +@@ -135,7 +135,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))) diff --git a/target/linux/generic/patches-2.6.32/130-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.32/130-netfilter_dscp_ipv6_mangle.patch new file mode 100644 index 000000000..670fd220a --- /dev/null +++ b/target/linux/generic/patches-2.6.32/130-netfilter_dscp_ipv6_mangle.patch @@ -0,0 +1,26 @@ +From: Fernando Luis Vazquez Cao +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- 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))) diff --git a/target/linux/generic/patches-2.6.36/130-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.36/130-netfilter_dscp_ipv6_mangle.patch new file mode 100644 index 000000000..670fd220a --- /dev/null +++ b/target/linux/generic/patches-2.6.36/130-netfilter_dscp_ipv6_mangle.patch @@ -0,0 +1,26 @@ +From: Fernando Luis Vazquez Cao +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- 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))) diff --git a/target/linux/generic/patches-2.6.37/606-netfilter_dscp_ipv6_mangle.patch b/target/linux/generic/patches-2.6.37/606-netfilter_dscp_ipv6_mangle.patch new file mode 100644 index 000000000..670fd220a --- /dev/null +++ b/target/linux/generic/patches-2.6.37/606-netfilter_dscp_ipv6_mangle.patch @@ -0,0 +1,26 @@ +From: Fernando Luis Vazquez Cao +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- 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))) 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 000000000..670fd220a --- /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 +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 +Signed-off-by: Pablo Neira Ayuso +--- + +--- 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)))