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.