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

Kevin Traynor ktraynor at redhat.com
Mon Feb 21 16:33:44 CET 2022


Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/26/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/a9ff22fc593d0d27d1286dae7c260e71976a8774

Thanks.

Kevin

---
>From a9ff22fc593d0d27d1286dae7c260e71976a8774 Mon Sep 17 00:00:00 2001
From: Junfeng Guo <junfeng.guo at intel.com>
Date: Wed, 22 Dec 2021 16:11:38 +0800
Subject: [PATCH] net/ice: fix pattern check for flow director parser

[ upstream commit a631c98a96a20358d5cad00c605ebd71f8feeed8 ]

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: 1b71ed2cdd5d ("net/ice: refactor flow pattern parser")

Signed-off-by: Junfeng Guo <junfeng.guo at intel.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 drivers/net/ice/ice_fdir_filter.c | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c
index 13a2ac42df..287032a6a7 100644
--- a/drivers/net/ice/ice_fdir_filter.c
+++ b/drivers/net/ice/ice_fdir_filter.c
@@ -2038,4 +2038,12 @@ ice_fdir_parse_pattern(__rte_unused struct ice_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.dst_addr == UINT32_MAX)
 				*input_set |= ICE_INSET_IPV4_DST;
@@ -2179,4 +2187,12 @@ ice_fdir_parse_pattern(__rte_unused struct ice_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 |= ICE_INSET_TCP_SRC_PORT;
@@ -2218,4 +2234,12 @@ ice_fdir_parse_pattern(__rte_unused struct ice_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 |= ICE_INSET_UDP_SRC_PORT;
@@ -2255,4 +2279,12 @@ ice_fdir_parse_pattern(__rte_unused struct ice_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 |= ICE_INSET_SCTP_SRC_PORT;
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-21 15:22:45.419297522 +0000
+++ 0035-net-ice-fix-pattern-check-for-flow-director-parser.patch	2022-02-21 15:22:44.078704096 +0000
@@ -1 +1 @@
-From a631c98a96a20358d5cad00c605ebd71f8feeed8 Mon Sep 17 00:00:00 2001
+From a9ff22fc593d0d27d1286dae7c260e71976a8774 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a631c98a96a20358d5cad00c605ebd71f8feeed8 ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list