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.

Reply via email to