diff options
author | Andreas Jaggi <aj@open.ch> | 2009-07-14 09:35:59 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-14 09:35:59 -0700 |
commit | ee686ca919193d7c1f87f907e732df5e2f942523 (patch) | |
tree | 2a1f528de455ffc952ab9bc795dd38a863604aaa | |
parent | c8159b2db1b49f6bda4429008c85108e2da60712 (diff) |
gre: fix ToS/DiffServ inherit bug
Fixes two bugs:
- ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values
- ECN bit was lost during ToS/DiffServ inheritance
Signed-off-by: Andreas Jaggi <aj@open.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/ip_gre.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 44e2a3d2359..cb4a0f4bd5e 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -735,10 +735,10 @@ static int ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) } tos = tiph->tos; - if (tos&1) { + if (tos == 1) { + tos = 0; if (skb->protocol == htons(ETH_P_IP)) tos = old_iph->tos; - tos &= ~1; } { |