pipeline: fix rss configuration
Checks
Commit Message
From: yjangra <yogesh.jangra@intel.com>
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@intel.com>
Signed-off-by: R, Kamalakannan <kamalakannan.r@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
lib/pipeline/rte_swx_pipeline_spec.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
@@ -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];