ethdev: fix flow expansion matching types
authorNelio Laranjeiro <nelio.laranjeiro@6wind.com>
Wed, 11 Jul 2018 06:49:35 +0000 (08:49 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 12 Jul 2018 21:23:56 +0000 (23:23 +0200)
Node RSS types are generally covering more RSS kind than the user is
requesting, it should accept to expand even if only a single bit is
remains after masking.  Setting the correct RSS kind for the rule
remains the driver job.

Fixes: 4ed05fcd441b ("ethdev: add flow API to expand RSS flows")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
lib/librte_ethdev/rte_flow.c

index 2b13efc..e06cc21 100644 (file)
@@ -585,7 +585,7 @@ rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size,
        node = next_node ? &graph[*next_node] : NULL;
        while (node) {
                flow_items[stack_pos].type = node->type;
-               if ((node->rss_types & types) == node->rss_types) {
+               if (node->rss_types & types) {
                        /*
                         * compute the number of items to copy from the
                         * expansion and copy it.