[dpdk-stable] patch 'ip_frag: fix IPv6 fragment size calculation' has been queued to LTS release 18.11.3

Kevin Traynor ktraynor at redhat.com
Fri Aug 23 11:42:57 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.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 08/28/19. 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-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7ba4bc38778196ab636539672e370dc6044b11f6

Thanks.

Kevin Traynor

---
>From 7ba4bc38778196ab636539672e370dc6044b11f6 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev at intel.com>
Date: Thu, 6 Jun 2019 12:33:28 +0100
Subject: [PATCH] ip_frag: fix IPv6 fragment size calculation

[ upstream commit 4b06b0771f321bd4301075eaff64452261a45a4d ]

Take into account IPv6 fragment extension header when
calculating data size for each fragment.

Fixes: 7a838c8798a9 ("ip_frag: fix IPv6 when MTU sizes not aligned to 8 bytes")
Fixes: 0aa31d7a5929 ("ip_frag: add IPv6 fragmentation support")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
---
 lib/librte_ip_frag/rte_ipv6_fragmentation.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/librte_ip_frag/rte_ipv6_fragmentation.c b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
index b9437eb11..e5759a783 100644
--- a/lib/librte_ip_frag/rte_ipv6_fragmentation.c
+++ b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
@@ -84,6 +84,8 @@ rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in,
 	 * the last fragment) are a multiple of 8 bytes per RFC2460.
 	 */
-	frag_size = RTE_ALIGN_FLOOR(mtu_size - sizeof(struct ipv6_hdr),
-				    RTE_IPV6_EHDR_FO_ALIGN);
+
+	frag_size = mtu_size - sizeof(struct ipv6_hdr) -
+		sizeof(struct ipv6_extension_fragment);
+	frag_size = RTE_ALIGN_FLOOR(frag_size, RTE_IPV6_EHDR_FO_ALIGN);
 
 	/* Check that pkts_out is big enough to hold all fragments */
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-08-22 19:38:20.943656152 +0100
+++ 0007-ip_frag-fix-IPv6-fragment-size-calculation.patch	2019-08-22 19:38:20.398027809 +0100
@@ -1 +1 @@
-From 4b06b0771f321bd4301075eaff64452261a45a4d Mon Sep 17 00:00:00 2001
+From 7ba4bc38778196ab636539672e370dc6044b11f6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4b06b0771f321bd4301075eaff64452261a45a4d ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -19 +20 @@
-index bfe44d435..43449970e 100644
+index b9437eb11..e5759a783 100644
@@ -25 +26 @@
--	frag_size = RTE_ALIGN_FLOOR(mtu_size - sizeof(struct rte_ipv6_hdr),
+-	frag_size = RTE_ALIGN_FLOOR(mtu_size - sizeof(struct ipv6_hdr),
@@ -28 +29 @@
-+	frag_size = mtu_size - sizeof(struct rte_ipv6_hdr) -
++	frag_size = mtu_size - sizeof(struct ipv6_hdr) -


More information about the stable mailing list