From: David Ahern <[email protected]>
Date: Fri, 16 Mar 2018 08:45:10 -0700
> On 3/16/18 8:40 AM, David Miller wrote:
>> Hmmm, this actually "accumulates" the flag rather than sets it.
>>
>> Have you thought about what should happen if the cfg has RTNH_F_ONLINK
>> set?
>
> yes, that's why the test script adds cases with the ONLINK flag set for
> both nexthops, then one with it on the first nexthop only, and one with
> the flag only on the second nexthop.
>
> If you look at the full loop 'cfg' is the variable with the user data,
> and r_cfg is the 'local loop version' so r_cfg.fc_flags gets reset for
> each nexthop:
>
> while (rtnh_ok(rtnh, remaining)) {
> memcpy(&r_cfg, cfg, sizeof(*cfg));
> ...
> r_cfg.fc_flags |= (rtnh->rtnh_flags & RTNH_F_ONLINK);
> rt = ip6_route_info_create(&r_cfg, extack);
Right.
>> I think you should either change this logic to a true 'set', or adjust
>> your commit message to address this aspect of the new behavior.
>
> I can update the commit message.
Please do, thanks David.