mlxsw: spectrum_router: Pass virtual router parameters directly instead of pointer
authorIdo Schimmel <idosch@nvidia.com>
Wed, 25 Nov 2020 19:35:02 +0000 (21:35 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 28 Nov 2020 01:17:33 +0000 (17:17 -0800)
mlxsw_sp_adj_index_mass_update_vr() only needs the virtual router's
identifier and protocol, so pass them directly. In a subsequent patch
the caller will not have access to the pointer.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index 118d48d9ff8eb5669ebfc9ee9db287f0fa7c4344..b229f28f620962cca8c1604f7b4c92047e3fe5ba 100644 (file)
@@ -3243,7 +3243,8 @@ mlxsw_sp_nexthop_lookup(struct mlxsw_sp *mlxsw_sp,
 }
 
 static int mlxsw_sp_adj_index_mass_update_vr(struct mlxsw_sp *mlxsw_sp,
-                                            const struct mlxsw_sp_fib *fib,
+                                            enum mlxsw_sp_l3proto proto,
+                                            u16 vr_id,
                                             u32 adj_index, u16 ecmp_size,
                                             u32 new_adj_index,
                                             u16 new_ecmp_size)
@@ -3251,8 +3252,8 @@ static int mlxsw_sp_adj_index_mass_update_vr(struct mlxsw_sp *mlxsw_sp,
        char raleu_pl[MLXSW_REG_RALEU_LEN];
 
        mlxsw_reg_raleu_pack(raleu_pl,
-                            (enum mlxsw_reg_ralxx_protocol) fib->proto,
-                            fib->vr->id, adj_index, ecmp_size, new_adj_index,
+                            (enum mlxsw_reg_ralxx_protocol) proto, vr_id,
+                            adj_index, ecmp_size, new_adj_index,
                             new_ecmp_size);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(raleu), raleu_pl);
 }
@@ -3271,7 +3272,8 @@ static int mlxsw_sp_adj_index_mass_update(struct mlxsw_sp *mlxsw_sp,
                if (fib == fib_entry->fib_node->fib)
                        continue;
                fib = fib_entry->fib_node->fib;
-               err = mlxsw_sp_adj_index_mass_update_vr(mlxsw_sp, fib,
+               err = mlxsw_sp_adj_index_mass_update_vr(mlxsw_sp, fib->proto,
+                                                       fib->vr->id,
                                                        old_adj_index,
                                                        old_ecmp_size,
                                                        nhgi->adj_index,