From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2530BA00C4; Thu, 5 May 2022 10:45:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D1FB940C35; Thu, 5 May 2022 10:45:33 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id D0F7B40042 for ; Thu, 5 May 2022 10:45:31 +0200 (CEST) Received: from [192.168.38.17] (aros.oktetlabs.ru [192.168.38.17]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 422EC82; Thu, 5 May 2022 11:45:31 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 422EC82 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1651740331; bh=nZElVAazUCPSRDy0aXtXZzPTkf2GVcy0GxJGuAQyyHE=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=xBec9JNqVRJWwrBcPE3o0GSMHW4vNe5mpZT38E5kBG6C0SDfScHJ7RTLXd8vlue2v Ca+ZcQBAtjxECusT7K6poW712pDr30ZgyVK/zCBEOs1fHZdSQiGIVwL8w7aoTMWQs4 m8GKn+MGFjvRhlbiG/6ndAapQGsGe6JTg1tgww8w= Content-Type: multipart/alternative; boundary="------------T037NCsVvgdx3tb0wi03asYr" Message-ID: Date: Thu, 5 May 2022 11:45:30 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH 7/8] vmxnet3: Set packet for fragmented packet Content-Language: en-US To: Pankaj Gupta , Jochen Behrens , Yong Wang Cc: "dev@dpdk.org" References: <20220503042257.15626-1-pagupta@vmware.com> <20220503042257.15626-8-pagupta@vmware.com> <9cec61d7-15f0-0272-7ba4-f87b5634d276@oktetlabs.ru> From: Andrew Rybchenko Organization: OKTET Labs In-Reply-To: X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is a multi-part message in MIME format. --------------T037NCsVvgdx3tb0wi03asYr Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Pankaj, On 5/4/22 23:40, Pankaj Gupta wrote: > > Hi Andrew, > > Packet type was not set for fragmented packets so we are trying to set > it in all possible scenarios. > > I believe TCP packets can be fragmented. > Theoretically it is possible, yes. OK, my main goal was to check that we are really talking about L3 fragmentation, not scattering on Rx and I've got the answer. Thanks, Andrew. > > Thanks, > > Pankaj > > *From: *Andrew Rybchenko > *Date: *Wednesday, May 4, 2022 at 8:08 AM > *To: *Pankaj Gupta , Jochen Behrens > , Yong Wang > *Cc: *dev@dpdk.org > *Subject: *Re: [PATCH 7/8] vmxnet3: Set packet for fragmented packet > > ⚠External Email > > On 5/3/22 07:22, Pankaj Gupta wrote: > > The packet type is set even if it is a fragmented packet > > I'm wondering if is really IPv4/IPv6 fragmented packets or just > scattered on Rx across many Rx buffers. > I'm asking since fragmented sounds weird with TCP, since TCP > spec forbids fragmentation. > > > > > Tested, using testpmd, for different hardware versions on > > ESXi 7.0 Update 2. > > > > Signed-off-by: Pankaj Gupta > > --- > >   drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++ > >   1 file changed, 17 insertions(+) > > > > diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c > b/drivers/net/vmxnet3/vmxnet3_rxtx.c > > index a6665fbf70..5e177400c0 100644 > > --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c > > +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c > > @@ -759,6 +759,23 @@ vmxnet3_rx_offload(struct vmxnet3_hw *hw, const > Vmxnet3_RxCompDesc *rcd, > >               /* Check packet type, checksum errors, etc. */ > >               if (rcd->cnc) { > >                       ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN; > > + > > +                     if (rcd->v4) { > > +                             packet_type |= > RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; > > +                             if (rcd->tcp) > > +                                     packet_type |= RTE_PTYPE_L4_TCP; > > +                             else if (rcd->udp) > > +                                     packet_type |= RTE_PTYPE_L4_UDP; > > +                     } else if (rcd->v6) { > > +                             packet_type |= > RTE_PTYPE_L3_IPV6_EXT_UNKNOWN; > > +                             if (rcd->tcp) > > +                                     packet_type |= RTE_PTYPE_L4_TCP; > > +                             else if (rcd->udp) > > +                                     packet_type |= RTE_PTYPE_L4_UDP; > > +                     } else { > > +                             packet_type |= RTE_PTYPE_UNKNOWN; > > +                     } > > + > >               } else { > >                       if (rcd->v4) { > >                               packet_type |= > RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; > > > ________________________________ > > ⚠External Email: This email originated from outside of the > organization. Do not click links or open attachments unless you > recognize the sender. > --------------T037NCsVvgdx3tb0wi03asYr Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hi Pankaj,


On 5/4/22 23:40, Pankaj Gupta wrote:

Hi Andrew,

Packet type was not set for fragmented packets so we are trying to set it in all possible scenarios.

 

I believe TCP packets can be fragmented.


Theoretically it is possible, yes. OK, my main goal was to check that
we are really talking about L3 fragmentation, not scattering on Rx
and I've got the answer.

Thanks,
Andrew.
 

Thanks,

Pankaj

 

From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Date: Wednesday, May 4, 2022 at 8:08 AM
To: Pankaj Gupta <pagupta@vmware.com>, Jochen Behrens <jbehrens@vmware.com>, Yong Wang <yongwang@vmware.com>
Cc: dev@dpdk.org <dev@dpdk.org>
Subject: Re: [PATCH 7/8] vmxnet3: Set packet for fragmented packet

External Email

On 5/3/22 07:22, Pankaj Gupta wrote:
> The packet type is set even if it is a fragmented packet

I'm wondering if is really IPv4/IPv6 fragmented packets or just
scattered on Rx across many Rx buffers.
I'm asking since fragmented sounds weird with TCP, since TCP
spec forbids fragmentation.

>
> Tested, using testpmd, for different hardware versions on
> ESXi 7.0 Update 2.
>
> Signed-off-by: Pankaj Gupta <pagupta@vmware.com>
> ---
>   drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
>
> diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> index a6665fbf70..5e177400c0 100644
> --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> @@ -759,6 +759,23 @@ vmxnet3_rx_offload(struct vmxnet3_hw *hw, const Vmxnet3_RxCompDesc *rcd,
>               /* Check packet type, checksum errors, etc. */
>               if (rcd->cnc) {
>                       ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN;
> +
> +                     if (rcd->v4) {
> +                             packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
> +                             if (rcd->tcp)
> +                                     packet_type |= RTE_PTYPE_L4_TCP;
> +                             else if (rcd->udp)
> +                                     packet_type |= RTE_PTYPE_L4_UDP;
> +                     } else if (rcd->v6) {
> +                             packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
> +                             if (rcd->tcp)
> +                                     packet_type |= RTE_PTYPE_L4_TCP;
> +                             else if (rcd->udp)
> +                                     packet_type |= RTE_PTYPE_L4_UDP;
> +                     } else {
> +                             packet_type |= RTE_PTYPE_UNKNOWN;
> +                     }
> +
>               } else {
>                       if (rcd->v4) {
>                               packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;


________________________________

External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.


--------------T037NCsVvgdx3tb0wi03asYr--