patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH v1] net/ice: fix invalid symmetric RSS rule created
@ 2020-07-08  9:07 Ting Xu
  0 siblings, 0 replies; only message in thread
From: Ting Xu @ 2020-07-08  9:07 UTC (permalink / raw)
  To: dev; +Cc: qiming.yang, qi.z.zhang, stable

The flow rule with symmetric toeplitz hash function and SRC_ONLY
or DST_ONLY RSS type together should not be created successfully.
Fix the RSS action parse function to stop the rule creation in
this situation.

Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
Cc: stable@dpdk.org

Signed-off-by: Ting Xu <ting.xu@intel.com>
---
 drivers/net/ice/ice_hash.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index 3433cab28c..3c84a6a73f 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -1044,6 +1044,19 @@ ice_hash_parse_action(struct ice_pattern_match_item *pattern_match_item,
 					ETH_RSS_L4_SRC_ONLY |
 					ETH_RSS_L4_DST_ONLY;
 
+			/**
+			 * Check if SRC_ONLY or DST_ONLY is set for
+			 * SYMMETRIC_TOEPLITZ hash function.
+			 */
+			if (rss->func ==
+				RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ) {
+				if (rss_type & combine_type)
+					return rte_flow_error_set(error,
+					ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION,
+					action, "Not supported RSS types for "
+					"symmetric toeplitz hash");
+			}
+
 			/* Check if rss types match pattern. */
 			if (rss_type & ~combine_type & ~m->eth_rss_hint) {
 				return rte_flow_error_set(error,
-- 
2.17.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-07-08  9:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-08  9:07 [dpdk-stable] [PATCH v1] net/ice: fix invalid symmetric RSS rule created Ting Xu

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git