* [PATCH v2] net/mlx5: fix the error in VLAN actions creation [not found] <20230630063950.432641-1-bingz@nvidia.com> @ 2023-06-30 10:51 ` Bing Zhao 2023-06-30 11:02 ` [PATCH v3] " Bing Zhao 0 siblings, 1 reply; 3+ messages in thread From: Bing Zhao @ 2023-06-30 10:51 UTC (permalink / raw) To: matan, viacheslavo, orika, suanmingm, rasland; +Cc: dev, getelson, stable When a failure occurs during the VLAN actions creating, the value of "rte_errno" is already set by the mlx5dr_action_create*. The value can be returned directly to reflect the actual reason. In the meanwhile, the "rte_flow_error" structure should also be set with explict message. Fixes: 773ca0e91ba1 ("net/mlx5: support VLAN push/pop/modify with HWS") Cc: getelson@nvidia.com Cc: stable@dpdk.org Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- v2: add CC stable --- drivers/net/mlx5/mlx5_flow_hw.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 20941b4fc7..36a7f0989c 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -7125,27 +7125,28 @@ flow_hw_create_vlan(struct rte_eth_dev *dev) MLX5DR_ACTION_FLAG_HWS_FDB }; + /* rte_errno is set in the mlx5dr_action* functions. */ for (i = MLX5DR_TABLE_TYPE_NIC_RX; i <= MLX5DR_TABLE_TYPE_NIC_TX; i++) { priv->hw_pop_vlan[i] = mlx5dr_action_create_pop_vlan(priv->dr_ctx, flags[i]); if (!priv->hw_pop_vlan[i]) - return -ENOENT; + return -rte_errno; priv->hw_push_vlan[i] = mlx5dr_action_create_push_vlan(priv->dr_ctx, flags[i]); if (!priv->hw_pop_vlan[i]) - return -ENOENT; + return -rte_errno; } if (priv->sh->config.dv_esw_en && priv->master) { priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB] = mlx5dr_action_create_pop_vlan (priv->dr_ctx, MLX5DR_ACTION_FLAG_HWS_FDB); if (!priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB]) - return -ENOENT; + return -rte_errno; priv->hw_push_vlan[MLX5DR_TABLE_TYPE_FDB] = mlx5dr_action_create_push_vlan (priv->dr_ctx, MLX5DR_ACTION_FLAG_HWS_FDB); if (!priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB]) - return -ENOENT; + return -rte_errno; } return 0; } @@ -7920,8 +7921,11 @@ flow_hw_configure(struct rte_eth_dev *dev, } } ret = flow_hw_create_vlan(dev); - if (ret) + if (ret) { + rte_flow_error_set(error, -ret, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, + NULL, "Failed to VLAN actions."); goto err; + } if (_queue_attr) mlx5_free(_queue_attr); if (port_attr->flags & RTE_FLOW_PORT_FLAG_STRICT_QUEUE) -- 2.34.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3] net/mlx5: fix the error in VLAN actions creation 2023-06-30 10:51 ` [PATCH v2] net/mlx5: fix the error in VLAN actions creation Bing Zhao @ 2023-06-30 11:02 ` Bing Zhao 2023-07-03 13:57 ` Raslan Darawsheh 0 siblings, 1 reply; 3+ messages in thread From: Bing Zhao @ 2023-06-30 11:02 UTC (permalink / raw) To: matan, viacheslavo, orika, suanmingm, rasland; +Cc: dev, getelson, stable When a failure occurs during the VLAN actions creating, the value of "rte_errno" is already set by the mlx5dr_action_create*. The value can be returned directly to reflect the actual reason. In the meanwhile, the "rte_flow_error" structure should also be set with clear message explicitly. Fixes: 773ca0e91ba1 ("net/mlx5: support VLAN push/pop/modify with HWS") Cc: getelson@nvidia.com Cc: stable@dpdk.org Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- v2: add CC stable v3: fix typo --- drivers/net/mlx5/mlx5_flow_hw.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 20941b4fc7..36a7f0989c 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -7125,27 +7125,28 @@ flow_hw_create_vlan(struct rte_eth_dev *dev) MLX5DR_ACTION_FLAG_HWS_FDB }; + /* rte_errno is set in the mlx5dr_action* functions. */ for (i = MLX5DR_TABLE_TYPE_NIC_RX; i <= MLX5DR_TABLE_TYPE_NIC_TX; i++) { priv->hw_pop_vlan[i] = mlx5dr_action_create_pop_vlan(priv->dr_ctx, flags[i]); if (!priv->hw_pop_vlan[i]) - return -ENOENT; + return -rte_errno; priv->hw_push_vlan[i] = mlx5dr_action_create_push_vlan(priv->dr_ctx, flags[i]); if (!priv->hw_pop_vlan[i]) - return -ENOENT; + return -rte_errno; } if (priv->sh->config.dv_esw_en && priv->master) { priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB] = mlx5dr_action_create_pop_vlan (priv->dr_ctx, MLX5DR_ACTION_FLAG_HWS_FDB); if (!priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB]) - return -ENOENT; + return -rte_errno; priv->hw_push_vlan[MLX5DR_TABLE_TYPE_FDB] = mlx5dr_action_create_push_vlan (priv->dr_ctx, MLX5DR_ACTION_FLAG_HWS_FDB); if (!priv->hw_pop_vlan[MLX5DR_TABLE_TYPE_FDB]) - return -ENOENT; + return -rte_errno; } return 0; } @@ -7920,8 +7921,11 @@ flow_hw_configure(struct rte_eth_dev *dev, } } ret = flow_hw_create_vlan(dev); - if (ret) + if (ret) { + rte_flow_error_set(error, -ret, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, + NULL, "Failed to VLAN actions."); goto err; + } if (_queue_attr) mlx5_free(_queue_attr); if (port_attr->flags & RTE_FLOW_PORT_FLAG_STRICT_QUEUE) -- 2.34.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH v3] net/mlx5: fix the error in VLAN actions creation 2023-06-30 11:02 ` [PATCH v3] " Bing Zhao @ 2023-07-03 13:57 ` Raslan Darawsheh 0 siblings, 0 replies; 3+ messages in thread From: Raslan Darawsheh @ 2023-07-03 13:57 UTC (permalink / raw) To: Bing Zhao, Matan Azrad, Slava Ovsiienko, Ori Kam, Suanming Mou Cc: dev, Gregory Etelson, stable Hi, > -----Original Message----- > From: Bing Zhao <bingz@nvidia.com> > Sent: Friday, June 30, 2023 2:02 PM > To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko > <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>; Suanming Mou > <suanmingm@nvidia.com>; Raslan Darawsheh <rasland@nvidia.com> > Cc: dev@dpdk.org; Gregory Etelson <getelson@nvidia.com>; > stable@dpdk.org > Subject: [PATCH v3] net/mlx5: fix the error in VLAN actions creation > > When a failure occurs during the VLAN actions creating, the value of > "rte_errno" is already set by the mlx5dr_action_create*. The value can be > returned directly to reflect the actual reason. > > In the meanwhile, the "rte_flow_error" structure should also be set with clear > message explicitly. > > Fixes: 773ca0e91ba1 ("net/mlx5: support VLAN push/pop/modify with > HWS") > Cc: getelson@nvidia.com > Cc: stable@dpdk.org > > Signed-off-by: Bing Zhao <bingz@nvidia.com> > Acked-by: Ori Kam <orika@nvidia.com> > --- > v2: add CC stable > v3: fix typo Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-07-03 13:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20230630063950.432641-1-bingz@nvidia.com> 2023-06-30 10:51 ` [PATCH v2] net/mlx5: fix the error in VLAN actions creation Bing Zhao 2023-06-30 11:02 ` [PATCH v3] " Bing Zhao 2023-07-03 13:57 ` Raslan Darawsheh
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).