[dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Thu Nov 29 14:20:22 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.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 12/08/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 53d09f8b3df311c88e4f692074bcdbc97573d55f Mon Sep 17 00:00:00 2001
From: Raslan Darawsheh <rasland at mellanox.com>
Date: Sun, 11 Nov 2018 15:31:37 +0000
Subject: [PATCH] app/testpmd: fix L4 length for UDP checksum

[ upstream commit 2b5651c026d8d1a687a8f7a210b1b8f13f906911 ]

testpmd only sets the L4 len in case of TCP packets.
some PMD's like tap rely on mbuf meta data to calculate csum

This will set the L4 len for UDP packets same as TCP

Fixes: 160c3dc9458c ("app/testpmd: introduce IP parsing functions in csum fwd engine")

Signed-off-by: Raslan Darawsheh <rasland at mellanox.com>
Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 app/test-pmd/csumonly.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 494829266..4821157f7 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -112,5 +112,7 @@ parse_ipv4(struct ipv4_hdr *ipv4_hdr, struct testpmd_offload_info *info)
 		tcp_hdr = (struct tcp_hdr *)((char *)ipv4_hdr + info->l3_len);
 		info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-	} else
+	} else if (info->l4_proto == IPPROTO_UDP)
+		info->l4_len = sizeof(struct udp_hdr);
+	else
 		info->l4_len = 0;
 }
@@ -129,5 +131,7 @@ parse_ipv6(struct ipv6_hdr *ipv6_hdr, struct testpmd_offload_info *info)
 		tcp_hdr = (struct tcp_hdr *)((char *)ipv6_hdr + info->l3_len);
 		info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-	} else
+	} else if (info->l4_proto == IPPROTO_UDP)
+		info->l4_len = sizeof(struct udp_hdr);
+	else
 		info->l4_len = 0;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.585847360 +0000
+++ 0021-app-testpmd-fix-L4-length-for-UDP-checksum.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From 2b5651c026d8d1a687a8f7a210b1b8f13f906911 Mon Sep 17 00:00:00 2001
+From 53d09f8b3df311c88e4f692074bcdbc97573d55f Mon Sep 17 00:00:00 2001
 From: Raslan Darawsheh <rasland at mellanox.com>
 Date: Sun, 11 Nov 2018 15:31:37 +0000
 Subject: [PATCH] app/testpmd: fix L4 length for UDP checksum
 
+[ upstream commit 2b5651c026d8d1a687a8f7a210b1b8f13f906911 ]
+
 testpmd only sets the L4 len in case of TCP packets.
 some PMD's like tap rely on mbuf meta data to calculate csum
 
 This will set the L4 len for UDP packets same as TCP
 
 Fixes: 160c3dc9458c ("app/testpmd: introduce IP parsing functions in csum fwd engine")
-CC: stable at dpdk.org
 
 Signed-off-by: Raslan Darawsheh <rasland at mellanox.com>
 Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
@@ -19,7 +20,7 @@
  1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
-index dce4b9be7..ffeee2051 100644
+index 494829266..4821157f7 100644
 --- a/app/test-pmd/csumonly.c
 +++ b/app/test-pmd/csumonly.c
 @@ -112,5 +112,7 @@ parse_ipv4(struct ipv4_hdr *ipv4_hdr, struct testpmd_offload_info *info)


More information about the stable mailing list