[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090714.093433.216171575.davem@davemloft.net>
Date: Tue, 14 Jul 2009 09:34:33 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: aj@...n.ch
Cc: voyo@...ip.pl, netdev@...r.kernel.org, kuznet@....inr.ac.ru,
kaber@...sh.net
Subject: Re: [PATCH] gre: fix ToS/DiffServ inherit bug
From: Andreas Jaggi <aj@...n.ch>
Date: Tue, 14 Jul 2009 17:36:48 +0200
> 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@...n.ch>
...
> tos = tiph->tos;
> - if (tos&1) {
> + if (tos == 1) {
> + tos = 0;
> if (skb->protocol == htons(ETH_P_IP))
> tos = old_iph->tos;
> - tos &= ~1;
> }
Note that this only works out because one wouldn't specify ECN
bits in the TOS to use for the tunnel.
But it demonstrates the outright danger of trying to use
"undefined" flag bits in protocol header fields to pass
private control flags into the driver from user interfaces.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists