On 3/16/18 9:38 AM, David Miller wrote:
> From: David Ahern <dsah...@gmail.com>
> 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.
> 

And it looks like patch 1 needs to be in 'net'; did not realize the ipv6
ONLINK support is already in 4.16. I will send the patch adding tests
separately for net-next.

Reply via email to