Re: [PATCH] ipv6: fix flow labels when the traffic class is non-0
From: Dimitris Michailidis <hidden>
Date: 2017-01-30 23:39:02
From: Dimitris Michailidis <hidden>
Date: 2017-01-30 23:39:02
On Mon, Jan 30, 2017 at 2:23 PM, Eric Dumazet [off-list ref] wrote:
On Mon, Jan 30, 2017 at 2:09 PM, Dimitris Michailidis [off-list ref] wrote:quoted
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.Do you have an idea which commit added this bug Dimitris ?
[Resending reply as text]
I believe it was wrong since cb1ce2ef387b01 ("ipv6: Implement
automatic flow label generation on transmit"), the commit that
introduced ip6_make_flowlabel(). The function was somewhat different
at the time but it was doing
if (!flowlabel && (autolabel || net->ipv6.sysctl.auto_flowlabels)) {
...
}
return flowlabel;
and all the callers were passing flowi6.flowlabel.