[dpdk-stable] patch 'net/i40e: fix flow RSS queue index check' has been queued to stable release 18.02.2

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Apr 30 16:40:52 CEST 2018


Hi,

FYI, your patch has been queued to stable release 18.02.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/02/18. So please
shout if anyone has objections.

Thanks.

Luca Boccassi

---
>From f476b111fb18a3b6ed38bc805604b3bc2c544c26 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1 at intel.com>
Date: Wed, 4 Apr 2018 16:06:03 +0800
Subject: [PATCH] net/i40e: fix flow RSS queue index check

[ upstream commit 9486d60b94b58932c6da1163df2118549fa57224 ]

There need a queue index check for RSS queue region
in order to aviod error from configuration.

Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")

Signed-off-by: Wei Zhao <wei.zhao1 at intel.com>
Tested-by: Yuan Peng <yuan.peng at intel.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 drivers/net/i40e/i40e_flow.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 75bfa4af5..312c7eed0 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4215,6 +4215,32 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
 		}
 	}
 
+	if (conf_info->queue_region_number) {
+		for (i = 0; i < rss->num; i++) {
+			for (j = 0; j < rss_info->num; j++) {
+				if (rss->queue[i] == rss_info->queue[j])
+					break;
+			}
+			if (j == rss_info->num) {
+				rte_flow_error_set(error, EINVAL,
+					RTE_FLOW_ERROR_TYPE_ACTION,
+					act,
+					"no valid queues");
+				return -rte_errno;
+			}
+		}
+
+		for (i = 0; i < rss->num - 1; i++) {
+			if (rss->queue[i + 1] != rss->queue[i] + 1) {
+				rte_flow_error_set(error, EINVAL,
+					RTE_FLOW_ERROR_TYPE_ACTION,
+					act,
+					"no valid queues");
+				return -rte_errno;
+			}
+		}
+	}
+
 	for (n = 0; n < conf_info->queue_region_number; n++) {
 		if (conf_info->region[n].user_priority_num ||
 				conf_info->region[n].flowtype_num) {
-- 
2.14.2



More information about the stable mailing list