Hi,  Jerin Jacob

> -----Original Message-----
> From: Jerin Jacob [mailto:[email protected]]
> Sent: Thursday, November 1, 2018 6:34 PM
> To: Zhao1, Wei <[email protected]>
> Cc: Yigit, Ferruh <[email protected]>; [email protected];
> [email protected]; [email protected];
> [email protected]; Zhang, Qi Z <[email protected]>; Xing, Beilei
> <[email protected]>; Lu, Wenzhuo <[email protected]>; Ananyev,
> Konstantin <[email protected]>
> Subject: Re: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> 
> -----Original Message-----
> > Date: Thu, 1 Nov 2018 09:50:12 +0000
> > From: "Zhao1, Wei" <[email protected]>
> > To: Jerin Jacob <[email protected]>, "Yigit, Ferruh"
> >  <[email protected]>
> > CC: "[email protected]" <[email protected]>, "[email protected]"
> >  <[email protected]>, "[email protected]"
> >  <[email protected]>, "[email protected]"
> >  <[email protected]>, "Zhang, Qi Z" <[email protected]>,
> > "Xing,  Beilei" <[email protected]>, "Lu, Wenzhuo"
> > <[email protected]>,  "Ananyev, Konstantin"
> > <[email protected]>
> > Subject: RE: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> >
> >
> > > -----Original Message-----
> > > From: dev [mailto:[email protected]] On Behalf Of Jerin Jacob
> > > Sent: Friday, October 26, 2018 10:35 PM
> > > To: Yigit, Ferruh <[email protected]>
> > > Cc: [email protected]; [email protected]; [email protected];
> > > [email protected]; Zhang, Qi Z <[email protected]>; Xing,
> > > Beilei <[email protected]>; Lu, Wenzhuo <[email protected]>;
> > > Ananyev, Konstantin <[email protected]>
> > > Subject: Re: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload
> > >
> > > -----Original Message-----
> > > > Date: Fri, 26 Oct 2018 14:40:42 +0100
> > > > From: Ferruh Yigit <[email protected]>
> > > > To: Jerin Jacob <[email protected]>, "[email protected]"
> > > >  <[email protected]>
> > > > CC: "[email protected]" <[email protected]>,
> > > > "[email protected]" <[email protected]>,
> > > > "[email protected]" <[email protected]>,
> > > "[email protected]"
> > > >  <[email protected]>, "[email protected]"
> > > > <[email protected]>,  Wenzhuo Lu <[email protected]>,
> > > > Konstantin Ananyev  <[email protected]>
> > > > 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.
> 

Yes,  DEV_RX_OFFLOAD_VLAN_EXTEND can enable the qinq filter, but I do not find 
the way to config QinQ vlan_ids,
May be we need some means to send inner and outer vlan id to PMD, may be it is 
already exist but we do not find it.
I will check that and report in this mail if I get the result.

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

Good idea!

> 
> >
> > >
> > >
> > > >
> > > > "
> > > > 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 via email to