On Mon, Jan 30, 2017 at 2:23 PM, Eric Dumazet <[email protected]> wrote:
> On Mon, Jan 30, 2017 at 2:09 PM, Dimitris Michailidis
> <[email protected]> wrote:
>> 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.