patch 'app/testpmd: fix GTP header parsing in checksum engine' has been queued to stable release 21.11.1

Kevin Traynor ktraynor at redhat.com
Wed Mar 16 16:15:15 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 03/21/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/7affb1a4a417f2b3a0aeba0991f72e063092f905

Thanks.

Kevin

---
>From 7affb1a4a417f2b3a0aeba0991f72e063092f905 Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson at nvidia.com>
Date: Sun, 13 Mar 2022 11:01:23 +0200
Subject: [PATCH] app/testpmd: fix GTP header parsing in checksum engine

[ upstream commit a058de216ceb6581dac213d7a37d9fb9fad05a9b ]

GTP header can be followed by an optional 32 bits extension.
GTP notifies about the extension presence through the E, S or PN
header bits.

Csum GTP header parser did not check the extension bits value.

The patch updates GTP header length if at-least one of the
extension bits is set.

Fixes: d8e5e69f3a9b ("app/testpmd: add GTP parsing and Tx checksum offload")

Signed-off-by: Gregory Etelson <getelson at nvidia.com>
Acked-by: Aman Singh <aman.deep.singh at intel.com>
---
 app/test-pmd/csumonly.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index fb559e4ac2..f0c69c5d16 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -223,5 +223,6 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,
 	gtp_hdr = (struct rte_gtp_hdr *)((char *)udp_hdr +
 		  sizeof(struct rte_udp_hdr));
-
+	if (gtp_hdr->e || gtp_hdr->s || gtp_hdr->pn)
+		gtp_len += sizeof(struct rte_gtp_hdr_ext_word);
 	/*
 	 * Check message type. If message type is 0xff, it is
@@ -229,7 +230,5 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,
 	 */
 	if (gtp_hdr->msg_type == 0xff) {
-		ip_ver = *(uint8_t *)((char *)udp_hdr +
-			 sizeof(struct rte_udp_hdr) +
-			 sizeof(struct rte_gtp_hdr));
+		ip_ver = *(uint8_t *)((char *)gtp_hdr + gtp_len);
 		ip_ver = (ip_ver) & 0xf0;
 
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-16 15:14:12.481661559 +0000
+++ 0014-app-testpmd-fix-GTP-header-parsing-in-checksum-engin.patch	2022-03-16 15:14:12.123847653 +0000
@@ -1 +1 @@
-From a058de216ceb6581dac213d7a37d9fb9fad05a9b Mon Sep 17 00:00:00 2001
+From 7affb1a4a417f2b3a0aeba0991f72e063092f905 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a058de216ceb6581dac213d7a37d9fb9fad05a9b ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -25 +26 @@
-index dbddd20a07..cdb1920763 100644
+index fb559e4ac2..f0c69c5d16 100644
@@ -28 +29 @@
-@@ -224,5 +224,6 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,
+@@ -223,5 +223,6 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,
@@ -36 +37 @@
-@@ -230,7 +231,5 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,
+@@ -229,7 +230,5 @@ parse_gtp(struct rte_udp_hdr *udp_hdr,



More information about the stable mailing list