aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2021-06-16 13:01:27 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-07-12 09:34:39 +0000
commit2f7ce2326f9486e90cda2f0129331e1ab3694252 (patch)
tree8d58d86d303ae3e1fd5204482473839a0b33c7a1
parent1918b253d36a82ccc171df40d9abb75923f1ece5 (diff)
downloadsrc-2f7ce2326f9486e90cda2f0129331e1ab3694252.tar.gz
src-2f7ce2326f9486e90cda2f0129331e1ab3694252.zip
mlx5en: Add missing error case when creating VXLAN flow tables.
While at it remove redundant checks for IFCAP_VXLAN_HWCSUM flag. MFC after: 1 week Reviewed by: kib Sponsored by: Mellanox Technologies // NVIDIA Networking
-rw-r--r--sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
index 6be95550c713..cdfe19d910d1 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
@@ -2252,34 +2252,28 @@ mlx5e_open_flow_table(struct mlx5e_priv *priv)
err = mlx5e_create_main_flow_table(priv, true);
if (err)
goto err_destroy_main_flow_table;
- }
- if ((priv->ifp->if_capenable & IFCAP_VXLAN_HWCSUM) != 0) {
err = mlx5e_create_inner_rss_flow_table(priv);
if (err)
goto err_destroy_main_vxlan_flow_table;
- }
- if ((priv->ifp->if_capenable & IFCAP_VXLAN_HWCSUM) != 0) {
err = mlx5e_add_vxlan_catchall_rule(priv);
if (err != 0)
goto err_destroy_inner_rss_flow_table;
- }
- if ((priv->ifp->if_capenable & IFCAP_VXLAN_HWCSUM) != 0) {
err = mlx5e_add_main_vxlan_rules(priv);
if (err != 0)
- goto err_destroy_inner_rss_flow_table;
+ goto err_destroy_vxlan_catchall_rule;
}
return (0);
+err_destroy_vxlan_catchall_rule:
+ mlx5e_del_vxlan_catchall_rule(priv);
err_destroy_inner_rss_flow_table:
- if ((priv->ifp->if_capenable & IFCAP_VXLAN_HWCSUM) != 0)
- mlx5e_destroy_inner_rss_flow_table(priv);
+ mlx5e_destroy_inner_rss_flow_table(priv);
err_destroy_main_vxlan_flow_table:
- if ((priv->ifp->if_capenable & IFCAP_VXLAN_HWCSUM) != 0)
- mlx5e_destroy_main_vxlan_flow_table(priv);
+ mlx5e_destroy_main_vxlan_flow_table(priv);
err_destroy_main_flow_table:
mlx5e_destroy_main_flow_table(priv);
err_destroy_vxlan_flow_table: