From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 43BF1A04F1; Mon, 6 Jan 2020 09:37:10 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0FAC71D5F5; Mon, 6 Jan 2020 09:37:10 +0100 (CET) Received: from mail-ua1-f67.google.com (mail-ua1-f67.google.com [209.85.222.67]) by dpdk.org (Postfix) with ESMTP id 9D6FB1D5F2 for ; Mon, 6 Jan 2020 09:37:08 +0100 (CET) Received: by mail-ua1-f67.google.com with SMTP id z24so11426159uam.7 for ; Mon, 06 Jan 2020 00:37:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+qhi6oeEFy+2ZH2HFTubol8x4oqF15ka9v4ufa6wmv8=; b=YpJW0VuQO//R7RCQWNbgk4eESm+JtKLOPgGF+UfeVQ5QMj2pn6OGefkDINuG1OQvDH 48EzTgnw0rQS0wL0dkaSIShS9k8NeBGH3z1Zs5nCIIGYRZ1kAyKl50HXPbR0QqL2OaqY zKsjobxOnU0yMi5fRwWjLGr5rrmX/zyTeMm44= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+qhi6oeEFy+2ZH2HFTubol8x4oqF15ka9v4ufa6wmv8=; b=GGzyI3TTJCPs8wTIijXkaLNlnLP/J4Chb+B3HctqFopigm4TAzCfA3Eey6CkdP3K5x fZDlE3PjBII1zwU0CEn98vbAOKSg6WVdJq6ZyUhV3ABIDhPhCiv+biyP8/rgUdcdc8Ox SqZ0hfDSgVytPwTkEQClgbDYeT26xcog/u3UwSqTO9sjrk/YZyAcWEMbkUkPqitGsYDp zGAQkHlNPgPt6IGaC5VpiCuxsHDpbhdH1+U47ogqG+iW85x1PLspIG4L4EyYx9Q4t5hl YHBdSelYKSOEt75J8Biv2Pqg0GKIl9uMn49pZYMLRN20qTKQI9xc9hbrnnlEfJjpoxHf dx7g== X-Gm-Message-State: APjAAAXYwEoqGsxqth30dIu8nzpyuq/kpj+H/jDp8yjitTs7ki+f/jsC bfr+zqmyDuL33NWhGJh6VCDVi38mxBjd5rCf+ytmqQ== X-Google-Smtp-Source: APXvYqy/kuyUdtyke5t6mNktoKdB/nmp+qeU5hHAsS5sIWOAeaIYFICkdK3pTnirFX+QGrIvNMHojO8LVCtt8/EQwEQ= X-Received: by 2002:ab0:6017:: with SMTP id j23mr59577661ual.3.1578299827785; Mon, 06 Jan 2020 00:37:07 -0800 (PST) MIME-Version: 1.0 References: <20191216031647.7750-1-somnath.kotur@broadcom.com> <68e1721c-4051-0451-185d-39344a026a38@solarflare.com> <53c0b3d2-5d61-6300-178e-b9500a93a7e3@solarflare.com> <4000b4f4-cdcd-78af-de60-2e8bde1364f7@solarflare.com> <18e23d24-58b3-383b-3891-964a6d18a602@solarflare.com> In-Reply-To: <18e23d24-58b3-383b-3891-964a6d18a602@solarflare.com> From: Somnath Kotur Date: Mon, 6 Jan 2020 14:06:56 +0530 Message-ID: To: Andrew Rybchenko Cc: JP Lee , dev , Ferruh Yigit , Olivier Matz , Hemant Agrawal , Sachin Saxena , Thomas Monjalon , David Marchand Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [RFC PATCH] mbuf: fix to update documentation of PKT_RX_QINQ_STRIPPED X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jan 2, 2020 at 6:35 PM Andrew Rybchenko wrote: > > Somnath, > > On 12/31/19 5:15 AM, Somnath Kotur wrote: > > Andrew, > > > > On Tue, Dec 24, 2019 at 3:23 PM Andrew Rybchenko > > wrote: > >> On 12/24/19 6:16 AM, Somnath Kotur wrote: > >>> Given that we haven't heard any objection from anyone in a while on > >>> this ...can we get this in please? > >> I'm sorry, but have you seen below? > >> It means that PKT_RX_QINQ_STRIPPED, PKT_RX_QINQ, PKT_RX_VLAN > >> and PKT_RX_VLAN_STRIPPED must be clarified. > >> > > OK, not sure I understood what is the next action here? Will you or someone > > from the main tree maintainers be sending out a patch with this clarification? > > Please, send non-RCF version of the patch which fixes > PKT_RX_QINQ_STRIPPED and PKT_RX_QINQ description. > PKT_RX_QINQ must not claim that both VLAN headers > have been stripped in the case of PKT_RX_QINQ_STRIPPED. > OK, think i've done the non-RFC patch based on my understanding here > I think that VLAN should be used instead of "vlan" in description > as well as TCI instead of "tci". Also vlans -> VLANs. > Done > >> It sounds like change of semantics in order to resolve the > >> problem, but anyway it is still a small change of semantics. > > May be dropped. > > >> BTW, it is better to make summary human readable and avoid > >> PKT_RX_QINQ_STRIPPED (I guess check-git-log.sh yells on it). > > Please, don't forget about it as well. Done > >> Also RFC patch cannot be applied, non-RFC version is required. > >> > >> CC main tree maintainers. > >> > >>> Thanks > >>> > >>> On Mon, Dec 16, 2019 at 2:43 PM Andrew Rybchenko > >>> wrote: > >>>> On 12/16/19 11:47 AM, Somnath Kotur wrote: > >>>>> On Mon, Dec 16, 2019 at 12:01 PM Andrew Rybchenko > >>>>> wrote: > >>>>>> On 12/16/19 6:16 AM, Somnath Kotur wrote: > >>>>>>> Certain hardware may be able to strip and/or save only the outermost > >>>>>>> VLAN instead of both the VLANs in the mbuf in a QinQ scenario. > >>>>>>> To handle such cases, we could re-interpret setting of just PKT_RX_QINQ_STRIPPED > >>>>>>> to indicate that only the outermost VLAN has been stripped by the hardware and > >>>>>>> saved in mbuf->vlan_tci_outer. > >>>>>>> Only When both PKT_RX_QINQ_STRIPPED and PKT_RX_VLAN_STRIPPED are set, the 2 vlans > >>>>>>> have been stripped by the hardware and their tci are saved in mbuf->vlan_tci (inner) > >>>>>>> and mbuf->vlan_tci_outer (outer). > >>>>>>> > >>>>>>> Signed-off-by: Somnath Kotur > >>>>>>> Signed-off-by: JP Lee > >>>>>>> --- > >>>>>>> lib/librte_mbuf/rte_mbuf_core.h | 15 +++++++++++---- > >>>>>>> 1 file changed, 11 insertions(+), 4 deletions(-) > >>>>>>> > >>>>>>> diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h > >>>>>>> index 9a8557d..db1070b 100644 > >>>>>>> --- a/lib/librte_mbuf/rte_mbuf_core.h > >>>>>>> +++ b/lib/librte_mbuf/rte_mbuf_core.h > >>>>>>> @@ -124,12 +124,19 @@ > >>>>>>> #define PKT_RX_FDIR_FLX (1ULL << 14) > >>>>>>> > >>>>>>> /** > >>>>>>> - * The 2 vlans have been stripped by the hardware and their tci are > >>>>>>> - * saved in mbuf->vlan_tci (inner) and mbuf->vlan_tci_outer (outer). > >>>>>>> + * The outer vlan has been stripped by the hardware and their tci are > >>>>>>> + * saved in mbuf->vlan_tci_outer (outer). > >>>>>>> * This can only happen if vlan stripping is enabled in the RX > >>>>>>> * configuration of the PMD. > >>>>>>> - * When PKT_RX_QINQ_STRIPPED is set, the flags (PKT_RX_VLAN | > >>>>>>> - * PKT_RX_VLAN_STRIPPED | PKT_RX_QINQ) must also be set. > >>>>>>> + * When PKT_RX_QINQ_STRIPPED is set, the flags (PKT_RX_VLAN | PKT_RX_QINQ) > >>>>>>> + * must also be set. > >>>>>>> + * When both PKT_RX_QINQ_STRIPPED and PKT_RX_VLAN_STRIPPED are set, the 2 vlans > >>>>>>> + * have been stripped by the hardware and their tci are saved in > >>>>>>> + * mbuf->vlan_tci (inner) and mbuf->vlan_tci_outer (outer). > >>>>>>> + * This can only happen if vlan stripping is enabled in the RX configuration > >>>>>>> + * of the PMD. > >>>>>>> + * When PKT_RX_QINQ_STRIPPED and PKT_RX_VLAN_STRIPPED are set, > >>>>>>> + * (PKT_RX_VLAN | PKT_RX_QINQ) must also be set. > >>>>>>> */ > >>>>>>> #define PKT_RX_QINQ_STRIPPED (1ULL << 15) > >>>>>>> > >>>>>> I always thought that PKT_RX_VLAN_STRIPPED means *one* VLAN > >>>>>> stripped regardless if it is outer (if the packet is double > >>>>>> tagged) or inner (if only one VLAN tag was present). > >>>>>> > >>>>>> That's why PKT_RX_QINQ_STRIPPED description says that *two* > >>>>>> VLANs have been stripped. > >>>>>> > >>>>>> What is the problem with such approach? > >>>>> The problem is that RX_VLAN_STRIPPED implies that the stripped VLAN > >>>>> (outer or inner) is saved in mbuf->vlan_tci, correct? > >>>> Yes. > >>>> > >>>>> There is no way to convey that it is in QinQ mode and yet only outer > >>>>> VLAN has been stripped and saved in mbuf->vlan_tci_outer ? > >>>> Ah, it looks like I understand now that the problem is in > >>>> PKT_RX_QINQ description which claims that TCI is saved in > >>>> mbuf->vlan_tci_outer and PKT_RX_QINQ_STRIPPED means that > >>>> both VLAN tags are stripped regardless (PKT_RX_VLAN_STRIPPED). > >>>> Moreover PKT_RX_QINQ_STRIPPED requires PKT_RX_VLAN_STRIPPED. > >>>> > >>>> It means that PKT_RX_QINQ_STRIPPED, PKT_RX_QINQ, PKT_RX_VLAN > >>>> and PKT_RX_VLAN_STRIPPED must be clarified. > >>>> > >>>> I'm not sure, but it looks like it could affect net/dpaa2, > >>>> so I'm including driver maintainers in CC. >