From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4FB66A04B5
	for <public@inbox.dpdk.org>; Thu, 29 Oct 2020 12:10:20 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 21D10C9F0;
	Thu, 29 Oct 2020 12:10:19 +0100 (CET)
Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com
 [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 557AAC9F0
 for <stable@dpdk.org>; Thu, 29 Oct 2020 12:10:16 +0100 (CET)
Received: by mail-wr1-f66.google.com with SMTP id s9so2276734wro.8
 for <stable@dpdk.org>; Thu, 29 Oct 2020 04:10:16 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to
 :references:content-transfer-encoding:user-agent:mime-version;
 bh=ajqgCkO4cnwYY+tr6nF5XjYRQwjQKHwD3PfJ+IJVdr8=;
 b=dvP4CVcipots99UDu1dEYZVrjumXPeXH4Xtii5vDdz512a9M1OAR5s7Rbea1fnmghG
 jYm3iX7bdmgDgaffIg9yxb+R9ltxZwvHs2MF8m7qRAKdsaXp/Px0DaPpfc3TzpuEgQlz
 zKEWauOiAyls5dDd5mQ4kP7hjkoEi8vWYtClV9a2hcXKOntjeSZ14cAdRKE+zOheceiA
 ThNo3CYlwte+mDGl2A+waLqArSK3j9O4OUoaeeYPucSGixHrmETYRrSrH51EpdcpypY/
 zTxWx3PdykJn79AEzdxRkNRX7ulzAO0ZHKkYfwfl7OjHof5PTfpvQw99EPTUKXfLm6h+
 hIDg==
X-Gm-Message-State: AOAM5315IzwI8gUNYHy/W3OjT4HQYjCkaVzblJSJkLJJLfzB09tlaVBk
 bEm8TAV5zeSWBVggrvhJZQAiZcZNa9j08do48RI=
X-Google-Smtp-Source: ABdhPJxuY489HBwUR88PttTF3fn7mxyc3Pvzr2Y3RMXbZg2cXFM/I5vjC0P8GEQ6iCoFpWfxyqAFQw==
X-Received: by 2002:adf:d4c5:: with SMTP id w5mr5210455wrk.226.1603969814937; 
 Thu, 29 Oct 2020 04:10:14 -0700 (PDT)
Received: from localhost ([88.98.246.218])
 by smtp.gmail.com with ESMTPSA id h4sm4425551wrp.52.2020.10.29.04.10.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Oct 2020 04:10:13 -0700 (PDT)
Message-ID: <76c922d09091b43e4a2fe36be9ac1e2e4b664f96.camel@debian.org>
From: Luca Boccassi <bluca@debian.org>
To: Yi Yang
 =?UTF-8?Q?=28=E6=9D=A8=E7=87=9A=29-=E4=BA=91=E6=9C=8D=E5=8A=A1=E9=9B=86?=
 =?UTF-8?Q?=E5=9B=A2?= <yangyi01@inspur.com>
Cc: "jiayu.hu@intel.com" <jiayu.hu@intel.com>, "stable@dpdk.org"
 <stable@dpdk.org>
Date: Thu, 29 Oct 2020 11:10:13 +0000
In-Reply-To: <9cb44a156b104230994d36e08b2285a3@inspur.com>
References: <80d133df2f898e981b70b13c36ac63c3@sslemail.net>
 <20201028104606.3504127-46-luca.boccassi@gmail.com>
 <9cb44a156b104230994d36e08b2285a3@inspur.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.30.5-1.1 
MIME-Version: 1.0
Subject: Re: [dpdk-stable]
 =?utf-8?b?562U5aSNOiBwYXRjaCAnZ3NvOiBmaXggcGF5bG9h?=
 =?utf-8?q?d_unit_size_for_UDP=27_has_been_queued_to_stable_release_19=2E1?=
 =?utf-8?b?MS42?=
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

Hi,

Sorry, but it seems to me adding entire new features in the shared
libraries is a bit over the grey line that separates what we deem an
acceptable change for a stable release.

On Thu, 2020-10-29 at 04:45 +0000, Yi Yang (=E6=9D=A8=E7=87=9A)-=E4=BA=91=
=E6=9C=8D=E5=8A=A1=E9=9B=86=E5=9B=A2 wrote:
> Thanks for picking up it, nice to have it in stable release. By the way, =
would you like to cherry-pick GRO patches for stable release? OVS is using =
19.11 stable branch, we had better have GRO support there because I'm enabl=
ing VXLAN TSO support in OVS DPDK, GRO and GSO are necessary for it.
>=20
> commit e2d81106367321cf49d6b4e5d087e1a7c2e808ba
> Author: Yi Yang <yangyi01@inspur.com>
> Date:   Thu Sep 24 16:57:39 2020 +0800
>=20
>     gro: support VXLAN UDP/IPv4
>=20
>     VXLAN UDP/IPv4 GRO can help improve VM-to-VM UDP
>     performance when UFO or GSO is enabled in VM, GRO
>     must be supported if UFO or GSO is enabled,
>     otherwise, performance can't get big improvement
>     if only GSO is there.
>=20
>     With this enabled in DPDK, OVS DPDK can leverage it
>     to improve VM-to-VM UDP performance, it will reassemble
>     VXLAN UDP/IPv4 fragments immediate after they are
>     received from a physical NIC. It is very helpful in
>     OVS DPDK VXLAN use case.
>=20
>     Signed-off-by: Yi Yang <yangyi01@inspur.com>
>     Acked-by: Jiayu Hu <jiayu.hu@intel.com>
>=20
>=20
> commit 1ca5e67408528b9870bb40f400c5f934aa91dcce
> Author: Yi Yang <yangyi01@inspur.com>
> Date:   Thu Sep 24 16:57:38 2020 +0800
>=20
>     gro: support UDP/IPv4
>=20
>     UDP/IPv4 GRO can help improve VM-to-VM UDP performance
>     when UFO or GSO is enabled in VM, GRO must be supported
>     if UFO or GSO is enabled, otherwise, performance can't
>     get big improvement if only GSO is there.
>=20
>     With this enabled in DPDK, OVS DPDK can leverage it
>     to improve VM-to-VM UDP performance, it will reassemble
>     UDP fragments immediate after they are received from
>     a physical NIC. It is very helpful in OVS DPDK VLAN use
>     case.
>=20
>     Signed-off-by: Yi Yang <yangyi01@inspur.com>
>     Acked-by: Jiayu Hu <jiayu.hu@intel.com>
>=20
> -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6-----
> =E5=8F=91=E4=BB=B6=E4=BA=BA: luca.boccassi@gmail.com [mailto:luca.boccass=
i@gmail.com]=20
> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B410=E6=9C=8828=E6=97=A5=
 18:43
> =E6=94=B6=E4=BB=B6=E4=BA=BA: Yi Yang (=E6=9D=A8=E7=87=9A)-=E4=BA=91=E6=9C=
=8D=E5=8A=A1=E9=9B=86=E5=9B=A2 <yangyi01@inspur.com>
> =E6=8A=84=E9=80=81: Jiayu Hu <jiayu.hu@intel.com>; dpdk stable <stable@dp=
dk.org>
> =E4=B8=BB=E9=A2=98: patch 'gso: fix payload unit size for UDP' has been q=
ueued to stable release 19.11.6
>=20
> Hi,
>=20
> FYI, your patch has been queued to stable release 19.11.6
>=20
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 10/30/20. So please shout=
 if anyone has objections.
>=20
> Also note that after the patch there's a diff of the upstream commit vs t=
he patch applied to the branch. This will indicate if there was any rebasin=
g needed to apply to the stable branch. If there were code changes for reba=
sing
> (ie: not only metadata diffs), please double check that the rebase was co=
rrectly done.
>=20
> Thanks.
>=20
> Luca Boccassi
>=20
> ---
> From 2b26f143b3014d23a31aa59deda659b172edcc32 Mon Sep 17 00:00:00 2001
> From: Yi Yang <yangyi01@inspur.com>
> Date: Thu, 17 Sep 2020 10:12:49 +0800
> Subject: [PATCH] gso: fix payload unit size for UDP
>=20
> [ upstream commit b9b75d9b5c9dbc71ee12f77e9abe089492708aae ]
>=20
> Fragment offset of IPv4 header is measured in units of
> 8 bytes. Fragment offset of UDP fragments will be wrong after GSO if pyld=
_unit_size isn't multiple of 8. Say pyld_unit_size is 1500, fragment offset=
 of the second UDP fragment will be 187 (i.e. 1500 / 8), which means 1496, =
and it will result in 4-byte data loss (1500 - 1496 =3D 4).
> So UDP GRO will reassemble out a wrong packet.
>=20
> Fixes: b166d4f30b66 ("gso: support UDP/IPv4 fragmentation")
>=20
> Signed-off-by: Yi Yang <yangyi01@inspur.com>
> Acked-by: Jiayu Hu <jiayu.hu@intel.com>
> ---
>  lib/librte_gso/gso_udp4.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>=20
> diff --git a/lib/librte_gso/gso_udp4.c b/lib/librte_gso/gso_udp4.c index =
21fea09273..6fa68f243a 100644
> --- a/lib/librte_gso/gso_udp4.c
> +++ b/lib/librte_gso/gso_udp4.c
> @@ -69,7 +69,10 @@ gso_udp4_segment(struct rte_mbuf *pkt,
>  		return 1;
>  	}
> =20
> -	pyld_unit_size =3D gso_size - hdr_offset;
> +	/* pyld_unit_size must be a multiple of 8 because frag_off
> +	 * uses 8 bytes as unit.
> +	 */
> +	pyld_unit_size =3D (gso_size - hdr_offset) & ~7U;
> =20
>  	/* Segment the payload */
>  	ret =3D gso_do_segment(pkt, hdr_offset, pyld_unit_size, direct_pool,
> --
> 2.20.1
>=20
> ---
>   Diff of the applied patch vs upstream commit (please double-check if no=
n-empty:
> ---
> --- -	2020-10-28 10:35:13.228089104 +0000
> +++ 0046-gso-fix-payload-unit-size-for-UDP.patch	2020-10-28 10:35:11.5088=
30082 +0000
> @@ -1,8 +1,10 @@
> -From b9b75d9b5c9dbc71ee12f77e9abe089492708aae Mon Sep 17 00:00:00 2001
> +From 2b26f143b3014d23a31aa59deda659b172edcc32 Mon Sep 17 00:00:00 2001
>  From: Yi Yang <yangyi01@inspur.com>
>  Date: Thu, 17 Sep 2020 10:12:49 +0800
>  Subject: [PATCH] gso: fix payload unit size for UDP
> =20
> +[ upstream commit b9b75d9b5c9dbc71ee12f77e9abe089492708aae ]
> +
>  Fragment offset of IPv4 header is measured in units of
>  8 bytes. Fragment offset of UDP fragments will be wrong  after GSO if py=
ld_unit_size isn't multiple of 8. Say @@ -12,7 +14,6 @@  So UDP GRO will re=
assemble out a wrong packet.
> =20
>  Fixes: b166d4f30b66 ("gso: support UDP/IPv4 fragmentation")
> -Cc: stable@dpdk.org
> =20
>  Signed-off-by: Yi Yang <yangyi01@inspur.com>
>  Acked-by: Jiayu Hu <jiayu.hu@intel.com>