mlxsw: spectrum_router: Use nexthop's scope to set action type
authorIdo Schimmel <idosch@mellanox.com>
Wed, 8 Feb 2017 10:16:31 +0000 (11:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Feb 2017 20:25:16 +0000 (15:25 -0500)
We currently use the scope of the FIB info to distinguish between a
direct unicast route and a gatewayed one. However, the kernel is
perfectly happy to configure a route with scope UNIVERSE to a directly
connected network.

Instead, we can rely on the first nexthop's scope to check if the route
is gatewayed or not.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index 3d540d9427a00fe5b9929469ea36a132ba41ff27..cad7e9abef22ba9abeeea855df412c838fdf3819 100644 (file)
@@ -1721,7 +1721,7 @@ mlxsw_sp_router_fib4_entry_init(struct mlxsw_sp *mlxsw_sp,
                return 0;
        }
 
-       if (fi->fib_scope != RT_SCOPE_UNIVERSE) {
+       if (fi->fib_nh->nh_scope != RT_SCOPE_LINK) {
                fib_entry->type = MLXSW_SP_FIB_ENTRY_TYPE_LOCAL;
                fib_entry->rif = r->rif;
        } else {