|
@@ -1512,6 +1512,10 @@ mlxsw_sp_nexthop_group_mac_update(struct mlxsw_sp *mlxsw_sp,
|
|
|
static int mlxsw_sp_fib_entry_update(struct mlxsw_sp *mlxsw_sp,
|
|
|
struct mlxsw_sp_fib_entry *fib_entry);
|
|
|
|
|
|
+static bool
|
|
|
+mlxsw_sp_fib_node_entry_is_first(const struct mlxsw_sp_fib_node *fib_node,
|
|
|
+ const struct mlxsw_sp_fib_entry *fib_entry);
|
|
|
+
|
|
|
static int
|
|
|
mlxsw_sp_nexthop_fib_entries_update(struct mlxsw_sp *mlxsw_sp,
|
|
|
struct mlxsw_sp_nexthop_group *nh_grp)
|
|
@@ -1520,6 +1524,9 @@ mlxsw_sp_nexthop_fib_entries_update(struct mlxsw_sp *mlxsw_sp,
|
|
|
int err;
|
|
|
|
|
|
list_for_each_entry(fib_entry, &nh_grp->fib_list, nexthop_group_node) {
|
|
|
+ if (!mlxsw_sp_fib_node_entry_is_first(fib_entry->fib_node,
|
|
|
+ fib_entry))
|
|
|
+ continue;
|
|
|
err = mlxsw_sp_fib_entry_update(mlxsw_sp, fib_entry);
|
|
|
if (err)
|
|
|
return err;
|