From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DBFC2A04B3;
	Tue, 24 Dec 2019 10:53:52 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 72CA41252;
	Tue, 24 Dec 2019 10:53:51 +0100 (CET)
Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com
 [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id D1579F72
 for <dev@dpdk.org>; Tue, 24 Dec 2019 10:53:49 +0100 (CET)
X-Virus-Scanned: Proofpoint Essentials engine
Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 442D240005A;
 Tue, 24 Dec 2019 09:53:48 +0000 (UTC)
Received: from [192.168.38.17] (10.17.10.39) by ukex01.SolarFlarecom.com
 (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 24 Dec
 2019 09:53:41 +0000
To: Somnath Kotur <somnath.kotur@broadcom.com>
CC: dev <dev@dpdk.org>, Ferruh Yigit <ferruh.yigit@intel.com>, Olivier Matz
 <olivier.matz@6wind.com>, Hemant Agrawal <hemant.agrawal@nxp.com>, "Sachin
 Saxena" <sachin.saxena@nxp.com>, Thomas Monjalon <thomas@monjalon.net>,
 "David Marchand" <david.marchand@6wind.com>
References: <20191216031647.7750-1-somnath.kotur@broadcom.com>
 <68e1721c-4051-0451-185d-39344a026a38@solarflare.com>
 <CAOBf=muFZLXDYoqDQdZP-SjC+mx2Okpju8539s+-fpHK-xcu=w@mail.gmail.com>
 <53c0b3d2-5d61-6300-178e-b9500a93a7e3@solarflare.com>
 <CAOBf=mtw_yVQxhFVeMq-i2+iVP7ftb958ee-9PcLpqFZYnCA+Q@mail.gmail.com>
From: Andrew Rybchenko <arybchenko@solarflare.com>
Autocrypt: addr=arybchenko@solarflare.com; keydata=
 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 Znk9
Message-ID: <4000b4f4-cdcd-78af-de60-2e8bde1364f7@solarflare.com>
Date: Tue, 24 Dec 2019 12:53:21 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAOBf=mtw_yVQxhFVeMq-i2+iVP7ftb958ee-9PcLpqFZYnCA+Q@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.17.10.39]
X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To
 ukex01.SolarFlarecom.com (10.17.10.4)
X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-25122.003
X-TM-AS-Result: No-15.320900-8.000000-10
X-TMASE-MatchedRID: oHOSwQSJZWgeimh1YYHcKKfOxh7hvX7169aS+7/zbj+qvcIF1TcLYEVx
 0ZOsUmgjM0Kdbf6HMAytD4//XDh+LL/KM1zCNPCMAI0UpQvEYJlKgIbix5+XxJl8NETW6pKCmJy
 MQs9rsbQv35gRdxj60Qc71k4SO9d2DvX2Sk47fs/4KPASpfWnuQD4keG7QhHmOF0RIPSotdNknb
 eHB+jJG597/fnbOFtveHfWhf74i+HDOSSuBPJrKScRqaHJVb+nAEfHuzEnembtrvVsQ0WdMwkoT
 syPk4+CgGzqIeUiWyV10PvlyKs+EXTKrg3nLjv1mq+iLtFCY9KzNCEwexIguygVbxW7FDOVupI0
 pOSX3zqaUdOYnsJ2lpwbNRsZ5YX2GqIFd3E9+i5SxYp8x/dFpxfbPFE2GHrVI0YrtQLsSUzioAG
 xQy4eNQLVkYurE2aJnIk+9R6Ei52/kNGHVZrslp4CIKY/Hg3AtOt1ofVlaoLUHQeTVDUrItRnEQ
 CUU+jzjoczmuoPCq05P7HbDGUdkq+ZYdSrpY7oGV2xT5rMqGnpdJeTxljPTX1YVHzPGTWi
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
X-TMASE-Result: 10--15.320900-8.000000
X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-25122.003
X-MDID: 1577181229-wlD7d1yWgwYf
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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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.

It sounds like change of semantics in order to resolve the
problem, but anyway it is still a small change of semantics.

BTW, it is better to make summary human readable and avoid
PKT_RX_QINQ_STRIPPED (I guess check-git-log.sh yells on it).

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
> <arybchenko@solarflare.com> wrote:
>>
>> On 12/16/19 11:47 AM, Somnath Kotur wrote:
>>> On Mon, Dec 16, 2019 at 12:01 PM Andrew Rybchenko
>>> <arybchenko@solarflare.com> 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 <somnath.kotur@broadcom.com>
>>>>> Signed-off-by: JP Lee <jongpil.lee@broadcom.com>
>>>>> ---
>>>>>  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.