All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: "Zhao1, Wei" <wei.zhao1@intel.com>
Cc: "Yigit, Ferruh" <ferruh.yigit@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"thomas@monjalon.net" <thomas@monjalon.net>,
	"arybchenko@solarflare.com" <arybchenko@solarflare.com>,
	"olivier.matz@6wind.com" <olivier.matz@6wind.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Subject: Re: DEV_RX_OFFLOAD_VLAN_EXTEND offload
Date: Thu, 1 Nov 2018 10:34:09 +0000	[thread overview]
Message-ID: <20181101103346.GA17024@jerin> (raw)
In-Reply-To: <A2573D2ACFCADC41BB3BE09C6DE313CA07E68478@PGSMSX103.gar.corp.intel.com>

-----Original Message-----
> Date: Thu, 1 Nov 2018 09:50:12 +0000
> From: "Zhao1, Wei" <wei.zhao1@intel.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>, "Yigit, Ferruh"
>  <ferruh.yigit@intel.com>
> CC: "dev@dpdk.org" <dev@dpdk.org>, "thomas@monjalon.net"
>  <thomas@monjalon.net>, "arybchenko@solarflare.com"
>  <arybchenko@solarflare.com>, "olivier.matz@6wind.com"
>  <olivier.matz@6wind.com>, "Zhang, Qi Z" <qi.z.zhang@intel.com>, "Xing,
>  Beilei" <beilei.xing@intel.com>, "Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
>  "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
> Subject: RE: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > Sent: Friday, October 26, 2018 10:35 PM
> > To: Yigit, Ferruh <ferruh.yigit@intel.com>
> > Cc: dev@dpdk.org; thomas@monjalon.net; arybchenko@solarflare.com;
> > olivier.matz@6wind.com; Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei
> > <beilei.xing@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Ananyev,
> > Konstantin <konstantin.ananyev@intel.com>
> > Subject: Re: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> >
> > -----Original Message-----
> > > Date: Fri, 26 Oct 2018 14:40:42 +0100
> > > From: Ferruh Yigit <ferruh.yigit@intel.com>
> > > To: Jerin Jacob <jerin.jacob@caviumnetworks.com>, "dev@dpdk.org"
> > >  <dev@dpdk.org>
> > > CC: "thomas@monjalon.net" <thomas@monjalon.net>,
> > > "arybchenko@solarflare.com" <arybchenko@solarflare.com>,
> > > "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
> > "qi.z.zhang@intel.com"
> > >  <qi.z.zhang@intel.com>, "beilei.xing@intel.com"
> > > <beilei.xing@intel.com>,  Wenzhuo Lu <wenzhuo.lu@intel.com>,
> > > Konstantin Ananyev  <konstantin.ananyev@intel.com>
> > > Subject: Re: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> > > User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0)
> > > Gecko/20100101
> > >  Thunderbird/52.9.1
> > >
> > >
> > > On 10/26/2018 11:56 AM, Jerin Jacob wrote:
> > > >
> > > > Does anyone know the expectation of
> > DEV_RX_OFFLOAD_VLAN_EXTEND
> > > > offload? Does not look like it is documented.
> > > >
> > > > Looks like it is very specific to Intel controllers, Based on 82599
> > > > HRM, it is following, not sure what is the real expectation from NIC
> > > > in normative terms.
> > > >
> > > > Extended VLAN.
> > > > -------------
> > > > When set, all incoming Rx packets are expected to have at least one
> > > > VLAN with the Ether type as defined in EXVET register. The packets
> > > > can have an inner-VLAN that should be used for all filtering
> > > > purposes. All Tx packets are expected to have at least one VLAN
> > > > added to them by the host. In the case of an additional VLAN request
> > > > (VLE), the inner-VLAN is added by the hardware after the outer-VLAN is
> > added by the host.
> > > > This bit should only be reset by a PCIe reset and should only be
> > > > changed while Tx and Rx processes are stopped.
> > > > The exception to this rule are MAC control packets such as flow
> > > > control, 802.1x, LACP, etc. that never carry a VLAN tag of any type
> > > >
> > >
> > > This looks similar to QinQ but it seems not, in ixgbe datasheet it has:
> >
> > Yes. QinQ there is an already an offload called
> > DEV_RX_OFFLOAD_QINQ_STRIP
> 
> Excuse me, I have some thought, is that right?
> maybe DEV_RX_OFFLOAD_QINQ_STRIP and DEV_RX_OFFLOAD_VLAN_EXTEND is just two thing that play a different role each.
> DEV_RX_OFFLOAD_VLAN_EXTEND tell NIC to recognize QinQ PACKETS, it is a filter for NIC.
> DEV_RX_OFFLOAD_QINQ_STRIP tell nic to strip 2 inner and outer vlan head when moving packets from nic to host memory.
> I40e NIC is the normative terms when handling qinq packets.

Yes, it makes sense if the meaning of DEV_RX_OFFLOAD_VLAN_EXTEND is QINQ
filter. But it looks like not, as .vlan_filter_set ethdev callback accepts 
only single vlan id as "uint16_t vlan_id".
If it needs to be treated as QinQ filter then QinQ vlan_ids needs to be
send to driver through some means.


Probably we may need to deprecate these vlan API in long-term and
enable it through rte_flow.

> 
> >
> >
> > >
> > > "
> > > Double VLAN and Single VLAN Support
> > > -----------------------------------
> > > <....>
> > >  This mode is used for systems where the near end switch adds the
> > > outer VLAN header containing switching information.
> > > <...>
> > > "
> > >
> > > And it in this mode hw doesn't insert or strip the outer VLAN, it
> > > expect SW does it. The ethernet type is not 0x88A8 but can be anything
> > > set on EXVET.VET_EXT. So looks like it is to let switch to add custom VLAN
> > tags and NIC to ignore them.

  reply	other threads:[~2018-11-01 10:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-26 10:56 DEV_RX_OFFLOAD_VLAN_EXTEND offload Jerin Jacob
2018-10-26 13:40 ` Ferruh Yigit
2018-10-26 14:35   ` Jerin Jacob
2018-11-01  9:50     ` Zhao1, Wei
2018-11-01 10:34       ` Jerin Jacob [this message]
2018-11-05  4:22         ` Zhao1, Wei
2018-11-05  6:55           ` Thomas Monjalon
2018-11-05  9:09         ` Zhao1, Wei

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=20181101103346.GA17024@jerin \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=olivier.matz@6wind.com \
    --cc=qi.z.zhang@intel.com \
    --cc=thomas@monjalon.net \
    --cc=wei.zhao1@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.