Currently, the rss object is configured after action, which leads
to rss instruction failure, when rss instruction is called from
action block. To resolve the error, rss object is configured
before action and apply block.

Fixes: 8ba342ce6f0 (pipeline: add RSS)

Signed-off-by: Yogesh Jangra <yogesh.jan...@intel.com>
Signed-off-by: R, Kamalakannan <kamalakanna...@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitre...@intel.com>
---
 lib/pipeline/rte_swx_pipeline_spec.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/pipeline/rte_swx_pipeline_spec.c 
b/lib/pipeline/rte_swx_pipeline_spec.c
index a164275526..006b24082a 100644
--- a/lib/pipeline/rte_swx_pipeline_spec.c
+++ b/lib/pipeline/rte_swx_pipeline_spec.c
@@ -3557,6 +3557,18 @@ pipeline_spec_configure(struct rte_swx_pipeline *p,
                }
        }
 
+       /* rss. */
+       for (i = 0; i < s->n_rss; i++) {
+               struct rss_spec *rss_spec = &s->rss[i];
+
+               status = rte_swx_pipeline_rss_config(p, rss_spec->name);
+               if (status) {
+                       if (err_msg)
+                               *err_msg = "rss object configuration error.";
+                       return status;
+               }
+       }
+
        /* metarray. */
        for (i = 0; i < s->n_metarrays; i++) {
                struct metarray_spec *metarray_spec = &s->metarrays[i];
@@ -3678,18 +3690,6 @@ pipeline_spec_configure(struct rte_swx_pipeline *p,
                }
        }
 
-       /* rss. */
-       for (i = 0; i < s->n_rss; i++) {
-               struct rss_spec *rss_spec = &s->rss[i];
-
-               status = rte_swx_pipeline_rss_config(p, rss_spec->name);
-               if (status) {
-                       if (err_msg)
-                               *err_msg = "rss object configuration error.";
-                       return status;
-               }
-       }
-
        /* apply. */
        for (i = 0; i < s->n_apply; i++) {
                struct apply_spec *apply_spec = &s->apply[i];
-- 
2.25.1

Reply via email to