ipv4: Set nexthop flags in a more consistent way
authorIdo Schimmel <idosch@nvidia.com>
Tue, 10 Nov 2020 10:25:53 +0000 (12:25 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 Nov 2020 01:45:55 +0000 (17:45 -0800)
Be more consistent about the way in which the nexthop flags are set and
set them in one go.

Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20201110102553.1924232-1-idosch@idosch.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/fib_semantics.c

index f70b9a0c49579f5f87fe4c5b0d837023831200ff..7612ff6111a7b30c572fc19b7cc5e4e63164aebc 100644 (file)
@@ -1641,11 +1641,8 @@ int fib_nexthop_info(struct sk_buff *skb, const struct fib_nh_common *nhc,
                break;
        }
 
-       *flags |= (nhc->nhc_flags & RTNH_F_ONLINK);
-       if (nhc->nhc_flags & RTNH_F_OFFLOAD)
-               *flags |= RTNH_F_OFFLOAD;
-       if (nhc->nhc_flags & RTNH_F_TRAP)
-               *flags |= RTNH_F_TRAP;
+       *flags |= (nhc->nhc_flags &
+                  (RTNH_F_ONLINK | RTNH_F_OFFLOAD | RTNH_F_TRAP));
 
        if (!skip_oif && nhc->nhc_dev &&
            nla_put_u32(skb, RTA_OIF, nhc->nhc_dev->ifindex))