mlxsw: spectrum_router: Remove FIB info from FIB entry struct
authorIdo Schimmel <idosch@mellanox.com>
Wed, 8 Feb 2017 10:16:34 +0000 (11:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Feb 2017 20:25:17 +0000 (15:25 -0500)
After the previous changes, the FIB info is embedded in every nexthop
group struct, which in turn is embedded in every FIB entry struct.

We can therefore safely remove the FIB info from the entry struct. This
has the added advantage of making the router-related structs more
generic and suitable for use with IPv6 offloads.

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 8a72a1b9e24a7983c879cd17a54c45164a42c84e..74839f7f368af755f38b8fd5932af16fc2b5c459 100644 (file)
@@ -128,7 +128,6 @@ struct mlxsw_sp_fib_entry {
        enum mlxsw_sp_fib_entry_type type;
        unsigned int ref_count;
        struct mlxsw_sp_vr *vr;
-       struct fib_info *fi;
        struct list_head nexthop_group_node;
        struct mlxsw_sp_nexthop_group *nh_group;
 };
@@ -1755,7 +1754,7 @@ mlxsw_sp_router_fib4_entry_fini(struct mlxsw_sp *mlxsw_sp,
                                struct mlxsw_sp_fib_entry *fib_entry)
 {
        if (fib_entry->type != MLXSW_SP_FIB_ENTRY_TYPE_TRAP)
-               fib_info_offload_dec(fib_entry->fi);
+               fib_info_offload_dec(fib_entry->nh_group->key.fi);
 }
 
 static struct mlxsw_sp_fib_entry *
@@ -1788,7 +1787,6 @@ mlxsw_sp_fib_entry_get(struct mlxsw_sp *mlxsw_sp,
                goto err_fib_entry_create;
        }
        fib_entry->vr = vr;
-       fib_entry->fi = fi;
        fib_entry->ref_count = 1;
 
        err = mlxsw_sp_router_fib4_entry_init(mlxsw_sp, fen_info, fib_entry);