[PKT_SCHED]: dsmark should ignore ECN bits
Linux Kernel Mailing List <[email protected]>
| Newsgroups | gmane.linux.kernel.commits.2-4 |
|---|---|
| Message-ID | <[email protected]> |
ChangeSet 1.1550, 2004/12/27 21:26:28-08:00, [email protected] [PKT_SCHED]: dsmark should ignore ECN bits Taking ECN bits into account doesn't make sense. The two bits were still unused at the time the code was written so this brings back the old behaviour. Signed-off-by: Thomas Graf <[email protected]> Signed-off-by: David S. Miller <[email protected]> sch_dsmark.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff -Nru a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c --- a/net/sched/sch_dsmark.c 2005-01-15 07:05:24 -08:00 +++ b/net/sched/sch_dsmark.c 2005-01-15 07:05:24 -08:00 @@ -13,6 +13,7 @@ #include <linux/rtnetlink.h> #include <net/pkt_sched.h> #include <net/dsfield.h> +#include <net/inet_ecn.h> #include <asm/byteorder.h> @@ -196,10 +197,12 @@ if (p->set_tc_index) { switch (skb->protocol) { case __constant_htons(ETH_P_IP): - skb->tc_index = ipv4_get_dsfield(skb->nh.iph); + skb->tc_index = ipv4_get_dsfield(skb->nh.iph) + & ~INET_ECN_MASK; break; case __constant_htons(ETH_P_IPV6): - skb->tc_index = ipv6_get_dsfield(skb->nh.ipv6h); + skb->tc_index = ipv6_get_dsfield(skb->nh.ipv6h) + & ~INET_ECN_MASK; break; default: skb->tc_index = 0;