[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170131.131747.527470210930915539.davem@davemloft.net>
Date: Tue, 31 Jan 2017 13:17:47 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: dmichail@...gle.com
Cc: tom@...bertland.com, netdev@...r.kernel.org, edumazet@...gle.com
Subject: Re: [PATCH] ipv6: fix flow labels when the traffic class is non-0
From: Dimitris Michailidis <dmichail@...gle.com>
Date: Mon, 30 Jan 2017 14:09:42 -0800
> ip6_make_flowlabel() determines the flow label for IPv6 packets. It's
> supposed to be passed a flow label, which it returns as is if non-0 and
> in some other cases, otherwise it calculates a new value.
>
> The problem is callers often pass a flowi6.flowlabel, which may also
> contain traffic class bits. If the traffic class is non-0
> ip6_make_flowlabel() mistakes the non-0 it gets as a flow label and
> returns the whole thing. Thus it can return a 'flow label' longer than
> 20b and the low 20b of that is typically 0 resulting in packets with 0
> label. Moreover, different packets of a flow may be labeled differently.
> For a TCP flow with ECN non-payload and payload packets get different
> labels as exemplified by this pair of consecutive packets:
...
> Signed-off-by: Dimitris Michailidis <dmichail@...gle.com>
Applied, thanks Dimitris.
Powered by blists - more mailing lists