From: David Ahern <dsah...@gmail.com> Date: Tue, 13 Mar 2018 08:40:09 -0700
> For multipath routes the ONLINK flag is specified per nexthop in rtnh_flags > (as opposed to rtm_flags for unicast routes). Update ip6_route_multipath_add > to set fc_flags based on rtnh_flags. > > Fixes: fc1e64e1092f ("net/ipv6: Add support for onlink flag") > Signed-off-by: David Ahern <dsah...@gmail.com> > --- > net/ipv6/route.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index f0ae58424c45..b223dffa8521 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -4166,6 +4166,7 @@ static int ip6_route_multipath_add(struct fib6_config > *cfg, > r_cfg.fc_encap_type = nla_get_u16(nla); > } > > + r_cfg.fc_flags |= (rtnh->rtnh_flags & RTNH_F_ONLINK); > rt = ip6_route_info_create(&r_cfg, extack); > if (IS_ERR(rt)) { > err = PTR_ERR(rt); 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? 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. Thank you.