net/bnxt: fix to set flow error in case of failure

Message ID 20211028022944.26402-1-kalesh-anakkur.purayil@broadcom.com (mailing list archive)
State Accepted, archived
Delegated to: Ajit Khaparde
Headers
Series net/bnxt: fix to set flow error in case of failure |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional fail Functional Testing issues

Commit Message

Kalesh A P Oct. 28, 2021, 2:29 a.m. UTC
  From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

With commit 239695f754cb ("net/bnxt: enhance RSS action support"),
when bnxt_hwrm_vnic_rss_cfg() call fails, driver was not setting
flow error using "rte_flow_error_set".

Fixes: 239695f754cb ("net/bnxt: enhance RSS action support")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_flow.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
  

Comments

Ajit Khaparde Oct. 28, 2021, 4:24 a.m. UTC | #1
On Wed, Oct 27, 2021 at 7:09 PM Kalesh A P
<kalesh-anakkur.purayil@broadcom.com> wrote:
>
> From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
>
> With commit 239695f754cb ("net/bnxt: enhance RSS action support"),
> when bnxt_hwrm_vnic_rss_cfg() call fails, driver was not setting
> flow error using "rte_flow_error_set".
>
> Fixes: 239695f754cb ("net/bnxt: enhance RSS action support")
>
> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm. Thanks

> ---
>  drivers/net/bnxt/bnxt_flow.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
> index 9526a8f..b3c68b1 100644
> --- a/drivers/net/bnxt/bnxt_flow.c
> +++ b/drivers/net/bnxt/bnxt_flow.c
> @@ -1226,6 +1226,15 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp,
>
>  skip_rss_table:
>         rc = bnxt_hwrm_vnic_rss_cfg(bp, vnic);
> +       if (rc != 0) {
> +               rte_flow_error_set(error,
> +                                  -rc,
> +                                  RTE_FLOW_ERROR_TYPE_ACTION,
> +                                  act,
> +                                  "VNIC RSS configure failed");
> +               rc = -rte_errno;
> +               goto ret;
> +       }
>  ret:
>         return rc;
>  }
> @@ -1515,7 +1524,7 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev,
>                         /* RSS config update requested */
>                         rc = bnxt_vnic_rss_cfg_update(bp, vnic, act, error);
>                         if (rc != 0)
> -                               return -rte_errno;
> +                               goto ret;
>
>                         filter->dst_id = vnic->fw_vnic_id;
>                         break;
> --
> 2.10.1
>
  

Patch

diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index 9526a8f..b3c68b1 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -1226,6 +1226,15 @@  bnxt_vnic_rss_cfg_update(struct bnxt *bp,
 
 skip_rss_table:
 	rc = bnxt_hwrm_vnic_rss_cfg(bp, vnic);
+	if (rc != 0) {
+		rte_flow_error_set(error,
+				   -rc,
+				   RTE_FLOW_ERROR_TYPE_ACTION,
+				   act,
+				   "VNIC RSS configure failed");
+		rc = -rte_errno;
+		goto ret;
+	}
 ret:
 	return rc;
 }
@@ -1515,7 +1524,7 @@  bnxt_validate_and_parse_flow(struct rte_eth_dev *dev,
 			/* RSS config update requested */
 			rc = bnxt_vnic_rss_cfg_update(bp, vnic, act, error);
 			if (rc != 0)
-				return -rte_errno;
+				goto ret;
 
 			filter->dst_id = vnic->fw_vnic_id;
 			break;