patch 'net/iavf: fix pattern check for flow director parser' has been queued to stable release 21.11.3

Kevin Traynor ktraynor at redhat.com
Tue Oct 25 17:06:40 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.11.3

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/246026e0b89911ad715a723faef429e4c3e3f9f1

Thanks.

Kevin

---
>From 246026e0b89911ad715a723faef429e4c3e3f9f1 Mon Sep 17 00:00:00 2001
From: Steve Yang <stevex.yang at intel.com>
Date: Wed, 10 Aug 2022 06:47:51 +0000
Subject: [PATCH] net/iavf: fix pattern check for flow director parser

[ upstream commit e5c7498fae094e97a8e8831979a7112fa260bf92 ]

FDIR rules with masks are not supported in current code. Thus add
pattern check for IPv4/UDP/TCP/SCTP addr/port to terminate the FDIR
programming stage.

Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")

Signed-off-by: Steve Yang <stevex.yang at intel.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 drivers/net/iavf/iavf_fdir.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
index 6b847894d8..c30853dd94 100644
--- a/drivers/net/iavf/iavf_fdir.c
+++ b/drivers/net/iavf/iavf_fdir.c
@@ -818,4 +818,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 			}
 
+			/* Mask for IPv4 src/dst addrs not supported */
+			if (ipv4_mask->hdr.src_addr &&
+				ipv4_mask->hdr.src_addr != UINT32_MAX)
+				return -rte_errno;
+			if (ipv4_mask->hdr.dst_addr &&
+				ipv4_mask->hdr.dst_addr != UINT32_MAX)
+				return -rte_errno;
+
 			if (ipv4_mask->hdr.type_of_service ==
 			    UINT8_MAX) {
@@ -1008,4 +1016,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 				}
 
+				/* Mask for UDP src/dst ports not supported */
+				if (udp_mask->hdr.src_port &&
+					udp_mask->hdr.src_port != UINT16_MAX)
+					return -rte_errno;
+				if (udp_mask->hdr.dst_port &&
+					udp_mask->hdr.dst_port != UINT16_MAX)
+					return -rte_errno;
+
 				if (udp_mask->hdr.src_port == UINT16_MAX) {
 					input_set |= IAVF_INSET_UDP_SRC_PORT;
@@ -1057,4 +1073,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 				}
 
+				/* Mask for TCP src/dst ports not supported */
+				if (tcp_mask->hdr.src_port &&
+					tcp_mask->hdr.src_port != UINT16_MAX)
+					return -rte_errno;
+				if (tcp_mask->hdr.dst_port &&
+					tcp_mask->hdr.dst_port != UINT16_MAX)
+					return -rte_errno;
+
 				if (tcp_mask->hdr.src_port == UINT16_MAX) {
 					input_set |= IAVF_INSET_TCP_SRC_PORT;
@@ -1100,4 +1124,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
 				}
 
+				/* Mask for SCTP src/dst ports not supported */
+				if (sctp_mask->hdr.src_port &&
+					sctp_mask->hdr.src_port != UINT16_MAX)
+					return -rte_errno;
+				if (sctp_mask->hdr.dst_port &&
+					sctp_mask->hdr.dst_port != UINT16_MAX)
+					return -rte_errno;
+
 				if (sctp_mask->hdr.src_port == UINT16_MAX) {
 					input_set |= IAVF_INSET_SCTP_SRC_PORT;
-- 
2.37.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-10-25 14:18:59.555486280 +0100
+++ 0045-net-iavf-fix-pattern-check-for-flow-director-parser.patch	2022-10-25 14:18:58.409798084 +0100
@@ -1 +1 @@
-From e5c7498fae094e97a8e8831979a7112fa260bf92 Mon Sep 17 00:00:00 2001
+From 246026e0b89911ad715a723faef429e4c3e3f9f1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e5c7498fae094e97a8e8831979a7112fa260bf92 ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index 2e6b3a9097..a397047fdb 100644
+index 6b847894d8..c30853dd94 100644
@@ -23 +24 @@
-@@ -933,4 +933,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
+@@ -818,4 +818,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
@@ -36 +37 @@
-@@ -1123,4 +1131,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
+@@ -1008,4 +1016,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
@@ -49 +50 @@
-@@ -1172,4 +1188,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
+@@ -1057,4 +1073,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
@@ -62 +63 @@
-@@ -1215,4 +1239,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
+@@ -1100,4 +1124,12 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,



More information about the stable mailing list