Unverified Commit f23eea12 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15110 net/mlx5e: Skip restore TC rules for vport rep without loaded flag

parents e53ef970 9ced9346
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -150,11 +150,11 @@ void mlx5_esw_ipsec_restore_dest_uplink(struct mlx5_core_dev *mdev)
	unsigned long i;
	int err;

	xa_for_each(&esw->offloads.vport_reps, i, rep) {
		rpriv = rep->rep_data[REP_ETH].priv;
		if (!rpriv || !rpriv->netdev)
	mlx5_esw_for_each_rep(esw, i, rep) {
		if (atomic_read(&rep->rep_data[REP_ETH].state) != REP_LOADED)
			continue;

		rpriv = rep->rep_data[REP_ETH].priv;
		rhashtable_walk_enter(&rpriv->tc_ht, &iter);
		rhashtable_walk_start(&iter);
		while ((flow = rhashtable_walk_next(&iter)) != NULL) {
+3 −0
Original line number Diff line number Diff line
@@ -713,6 +713,9 @@ void mlx5e_tc_clean_fdb_peer_flows(struct mlx5_eswitch *esw);
			  MLX5_CAP_GEN_2((esw->dev), ec_vf_vport_base) +\
			  (last) - 1)

#define mlx5_esw_for_each_rep(esw, i, rep) \
	xa_for_each(&((esw)->offloads.vport_reps), i, rep)

struct mlx5_eswitch *__must_check
mlx5_devlink_eswitch_get(struct devlink *devlink);

+0 −3
Original line number Diff line number Diff line
@@ -52,9 +52,6 @@
#include "lag/lag.h"
#include "en/tc/post_meter.h"

#define mlx5_esw_for_each_rep(esw, i, rep) \
	xa_for_each(&((esw)->offloads.vport_reps), i, rep)

/* There are two match-all miss flows, one for unicast dst mac and
 * one for multicast.
 */