[PATCH] pipeline: fix rss configuration

yjangra yogesh.jangra at intel.com
Thu Mar 2 06:22:34 CET 2023


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.jangra at intel.com>
Signed-off-by: R, Kamalakannan <kamalakannan.r at intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu at 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



More information about the dev mailing list