net/bnxt: fix RSS action parser

Message ID 20211026051432.83989-1-ajit.khaparde@broadcom.com (mailing list archive)
State Accepted, archived
Delegated to: Ajit Khaparde
Headers
Series net/bnxt: fix RSS action parser |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
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/iol-mellanox-Performance fail Performance Testing issues
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS

Commit Message

Ajit Khaparde Oct. 26, 2021, 5:14 a.m. UTC
  Minor fixes are needed in the RTE_FLOW RSS action parser.
1. Update the comment in the parser to indicate rss level 1 implies
RSS on outer header.
2. RSS action will not be supported if level is > 1.
3. RSS action will not be supported if user or application specifies
MARK or COUNT action.
4. If RSS types is not specified i.e., is 0, the best effort RSS should
use IPV4 and IPV6 headers. Currently we are considering only IPV4.

Fixes: fe0bab7eb34e ("net/bnxt: enhance support for RSS action")

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

Comments

Ajit Khaparde Oct. 27, 2021, 1:51 a.m. UTC | #1
On Mon, Oct 25, 2021 at 10:14 PM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> Minor fixes are needed in the RTE_FLOW RSS action parser.
> 1. Update the comment in the parser to indicate rss level 1 implies
> RSS on outer header.
> 2. RSS action will not be supported if level is > 1.
> 3. RSS action will not be supported if user or application specifies
> MARK or COUNT action.
> 4. If RSS types is not specified i.e., is 0, the best effort RSS should
> use IPV4 and IPV6 headers. Currently we are considering only IPV4.
>
> Fixes: fe0bab7eb34e ("net/bnxt: enhance support for RSS action")
>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Acked-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm.

> ---
>  drivers/net/bnxt/bnxt_flow.c | 13 ++++---------
>  1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
> index ced697a739..9526a8fc5a 100644
> --- a/drivers/net/bnxt/bnxt_flow.c
> +++ b/drivers/net/bnxt/bnxt_flow.c
> @@ -1084,10 +1084,6 @@ bnxt_validate_rss_action(const struct rte_flow_action actions[])
>                         break;
>                 case RTE_FLOW_ACTION_TYPE_RSS:
>                         break;
> -               case RTE_FLOW_ACTION_TYPE_MARK:
> -                       break;
> -               case RTE_FLOW_ACTION_TYPE_COUNT:
> -                       break;
>                 default:
>                         return -ENOTSUP;
>                 }
> @@ -1151,11 +1147,10 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp,
>         }
>
>         /* Currently RSS hash on inner and outer headers are supported.
> -        * 0 => Default setting
> -        * 1 => Inner
> -        * 2 => Outer
> +        * 0 => Default (innermost RSS) setting
> +        * 1 => Outermost
>          */
> -       if (rss->level > 2) {
> +       if (rss->level > 1) {
>                 rte_flow_error_set(error,
>                                    ENOTSUP,
>                                    RTE_FLOW_ERROR_TYPE_ACTION,
> @@ -1177,7 +1172,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp,
>         }
>
>         /* If RSS types is 0, use a best effort configuration */
> -       types = rss->types ? rss->types : RTE_ETH_RSS_IPV4;
> +       types = rss->types ? rss->types : ETH_RSS_IPV4 | ETH_RSS_IPV6;
>
>         hash_type = bnxt_rte_to_hwrm_hash_types(types);
>
> --
> 2.30.1 (Apple Git-130)
>
  
Ferruh Yigit Oct. 29, 2021, 5:22 p.m. UTC | #2
On 10/26/2021 6:14 AM, Ajit Khaparde wrote:
> Minor fixes are needed in the RTE_FLOW RSS action parser.
> 1. Update the comment in the parser to indicate rss level 1 implies
> RSS on outer header.
> 2. RSS action will not be supported if level is > 1.
> 3. RSS action will not be supported if user or application specifies
> MARK or COUNT action.
> 4. If RSS types is not specified i.e., is 0, the best effort RSS should
> use IPV4 and IPV6 headers. Currently we are considering only IPV4.
> 
> Fixes: fe0bab7eb34e ("net/bnxt: enhance support for RSS action")
> 
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Acked-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>

<...>

> @@ -1177,7 +1172,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp,
>   	}
>   
>   	/* If RSS types is 0, use a best effort configuration */
> -	types = rss->types ? rss->types : RTE_ETH_RSS_IPV4;
> +	types = rss->types ? rss->types : ETH_RSS_IPV4 | ETH_RSS_IPV6;

We should keep the RTE_ prefix, updating in the next-net.
  
Ajit Khaparde Oct. 29, 2021, 5:35 p.m. UTC | #3
On Fri, Oct 29, 2021 at 10:22 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> On 10/26/2021 6:14 AM, Ajit Khaparde wrote:
> > Minor fixes are needed in the RTE_FLOW RSS action parser.
> > 1. Update the comment in the parser to indicate rss level 1 implies
> > RSS on outer header.
> > 2. RSS action will not be supported if level is > 1.
> > 3. RSS action will not be supported if user or application specifies
> > MARK or COUNT action.
> > 4. If RSS types is not specified i.e., is 0, the best effort RSS should
> > use IPV4 and IPV6 headers. Currently we are considering only IPV4.
> >
> > Fixes: fe0bab7eb34e ("net/bnxt: enhance support for RSS action")
> >
> > Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> > Acked-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> > Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
>
> <...>
>
> > @@ -1177,7 +1172,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp,
> >       }
> >
> >       /* If RSS types is 0, use a best effort configuration */
> > -     types = rss->types ? rss->types : RTE_ETH_RSS_IPV4;
> > +     types = rss->types ? rss->types : ETH_RSS_IPV4 | ETH_RSS_IPV6;
>
> We should keep the RTE_ prefix, updating in the next-net.
ACK. Thanks

>
  

Patch

diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index ced697a739..9526a8fc5a 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -1084,10 +1084,6 @@  bnxt_validate_rss_action(const struct rte_flow_action actions[])
 			break;
 		case RTE_FLOW_ACTION_TYPE_RSS:
 			break;
-		case RTE_FLOW_ACTION_TYPE_MARK:
-			break;
-		case RTE_FLOW_ACTION_TYPE_COUNT:
-			break;
 		default:
 			return -ENOTSUP;
 		}
@@ -1151,11 +1147,10 @@  bnxt_vnic_rss_cfg_update(struct bnxt *bp,
 	}
 
 	/* Currently RSS hash on inner and outer headers are supported.
-	 * 0 => Default setting
-	 * 1 => Inner
-	 * 2 => Outer
+	 * 0 => Default (innermost RSS) setting
+	 * 1 => Outermost
 	 */
-	if (rss->level > 2) {
+	if (rss->level > 1) {
 		rte_flow_error_set(error,
 				   ENOTSUP,
 				   RTE_FLOW_ERROR_TYPE_ACTION,
@@ -1177,7 +1172,7 @@  bnxt_vnic_rss_cfg_update(struct bnxt *bp,
 	}
 
 	/* If RSS types is 0, use a best effort configuration */
-	types = rss->types ? rss->types : RTE_ETH_RSS_IPV4;
+	types = rss->types ? rss->types : ETH_RSS_IPV4 | ETH_RSS_IPV6;
 
 	hash_type = bnxt_rte_to_hwrm_hash_types(types);