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.khapa...@broadcom.com>
Acked-by: Kalesh AP <kalesh-anakkur.pura...@broadcom.com>
Acked-by: Somnath Kotur <somnath.ko...@broadcom.com>
---
 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)

Reply via email to