DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Hyong Youb Kim <hyonkim@cisco.com>
Cc: John Daley <johndale@cisco.com>,
	wenzhuo.lu@intel.com, jingjing.wu@intel.com,
	bernard.iremonger@intel.com, olivier.matz@6wind.com,
	dev@dpdk.org, beilei.xing@intel.com, qi.z.zhang@intel.com
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: check Rx VLAN offload flag to print VLAN TCI
Date: Tue, 2 Oct 2018 09:46:54 +0100	[thread overview]
Message-ID: <a5107c2a-0df1-c1f8-8e31-d07cae56ef8d@intel.com> (raw)
In-Reply-To: <20181002022958.GA14560@HYONKIM-7R0DR.cisco.com>

On 10/2/2018 3:29 AM, Hyong Youb Kim wrote:
> On Mon, Oct 01, 2018 at 03:01:40PM +0100, Ferruh Yigit wrote:
>> On 9/26/2018 4:06 AM, John Daley wrote:
>>> From: Hyong Youb Kim <hyonkim@cisco.com>
>>>
>>> Since the following commit, PKT_RX_VLAN indicates the presence of
>>> mbuf's vlan_tci, not PKT_RX_VLAN_STRIPPED.
>>>
>>> commit 380a7aab1ae2 ("mbuf: rename deprecated VLAN flags")
>>> Cc: olivier.matz@6wind.com
>>>
>>> Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
>>> Reviewed-by: John Daley <johndale@cisco.com>
>>> ---
>>>  app/test-pmd/rxonly.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/app/test-pmd/rxonly.c b/app/test-pmd/rxonly.c
>>> index a93d80612..e8d226624 100644
>>> --- a/app/test-pmd/rxonly.c
>>> +++ b/app/test-pmd/rxonly.c
>>> @@ -130,7 +130,7 @@ pkt_burst_receive(struct fwd_stream *fs)
>>>  		}
>>>  		if (ol_flags & PKT_RX_TIMESTAMP)
>>>  			printf(" - timestamp %"PRIu64" ", mb->timestamp);
>>> -		if (ol_flags & PKT_RX_VLAN_STRIPPED)
>>> +		if (ol_flags & PKT_RX_VLAN)
>>>  			printf(" - VLAN tci=0x%x", mb->vlan_tci);
>>>  		if (ol_flags & PKT_RX_QINQ_STRIPPED)
>>>  			printf(" - QinQ VLAN tci=0x%x, VLAN tci outer=0x%x",
>>
>> Isn't same also correct for QinQ, PKT_RX_QINQ means mb->vlan_tci &
>> mb->vlan_tci_outer are set?
>>
> 
> That is a good point.
> 
> According to rte_mbuf.h, PKT_RX_QINQ means "The RX packet is a double
> VLAN, and the outer tci has been saved in in mbuf->vlan_tci_outer."
> 
> Here is a summary.
> PKT_RX_VLAN => vlan_tci is set
> PKT_RX_QINQ => vlan_tci_outer is set

Because of the comment on "PKT_RX_QINQ_STRIPPED" I think:
PKT_RX_QINQ => vlan_tci_outer & vlan_tci is set

Although it is not clear from "PKT_RX_QINQ" comment.

> PKT_RX_VLAN_STRIPPED => must also set PKT_RX_VLAN
> PKT_RX_QINQ_STRIPPED => must also set PKT_RX_VLAN, PKT_RX_QINQ,
>                         PKT_RX_VLAN_STRIPPED
> 
> Looks like i40e is the only driver that is using
> PKT_RX_QINQ_STRIPPED. And, it does not set PKT_RX_QINQ. I am CC'ing
> i40e maintainers.
> 
> Back to rxonly..
> 
> +               if (ol_flags & (PKT_RX_QINQ | PKT_RX_VLAN))
>                         printf(" - QinQ VLAN tci=0x%x, VLAN tci outer=0x%x",
>                                         mb->vlan_tci, mb->vlan_tci_outer);
> 
> A change like this would be technically correct, but may break i40e
> test cases. Or, if the above message is really meant for 'stripped',
> then perhaps add comment or rephrase the message for now?
> 
> As for the use of PKT_RX_VLAN, some drivers like enic and ixgbe can
> set PKT_RX_VLAN independent of vlan stripping, which led me to writing
> this patch. I think Olivier fixed all drivers when he introduced
> PKT_RX_VLAN. So using PKT_RX_VLAN in rxonly shouldn't be breaking
> anyone's test cases.

+1 to PKT_RX_VLAN update.

I was thinking PKT_RX_QINQ also can be fixed quickly in testpmd with this patch,
taking into account that it may affect other piece of code, agree to get this
patch as it is and consider QINQ changes in different patch.

  reply	other threads:[~2018-10-02  8:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-26  3:06 John Daley
2018-10-01 14:01 ` Ferruh Yigit
2018-10-02  2:29   ` Hyong Youb Kim
2018-10-02  8:46     ` Ferruh Yigit [this message]
2018-10-02  8:47 ` Ferruh Yigit
2018-10-03 14:17   ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a5107c2a-0df1-c1f8-8e31-d07cae56ef8d@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=hyonkim@cisco.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=olivier.matz@6wind.com \
    --cc=qi.z.zhang@intel.com \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).