Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22303f79 authored by Tariq Toukan's avatar Tariq Toukan Committed by Saeed Mahameed
Browse files

net/mlx5e: Use function to map aRFS into traffic type



For a better code reuse and readability, use the existing
function arfs_get_tt() to map arfs_type into mlx5e_traffic_types,
instead of duplicating the switch-case logic.

Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent 552db7bc
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv,
	struct mlx5_flow_destination dest;
	MLX5_DECLARE_FLOW_ACT(flow_act);
	struct mlx5_flow_spec *spec;
	enum mlx5e_traffic_types tt;
	int err = 0;

	spec = kvzalloc(sizeof(*spec), GFP_KERNEL);
@@ -187,24 +188,16 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv,
	}

	dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR;
	switch (type) {
	case ARFS_IPV4_TCP:
		dest.tir_num = tir[MLX5E_TT_IPV4_TCP].tirn;
		break;
	case ARFS_IPV4_UDP:
		dest.tir_num = tir[MLX5E_TT_IPV4_UDP].tirn;
		break;
	case ARFS_IPV6_TCP:
		dest.tir_num = tir[MLX5E_TT_IPV6_TCP].tirn;
		break;
	case ARFS_IPV6_UDP:
		dest.tir_num = tir[MLX5E_TT_IPV6_UDP].tirn;
		break;
	default:
	tt = arfs_get_tt(type);
	if (tt == -EINVAL) {
		netdev_err(priv->netdev, "%s: bad arfs_type: %d\n",
			   __func__, type);
		err = -EINVAL;
		goto out;
	}

	dest.tir_num = tir[tt].tirn;

	arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, spec,
						   &flow_act,
						   &dest, 1);