-----Original Message----- > Date: Fri, 26 Oct 2018 14:40:42 +0100 > From: Ferruh Yigit <ferruh.yi...@intel.com> > To: Jerin Jacob <jerin.ja...@caviumnetworks.com>, "dev@dpdk.org" > <dev@dpdk.org> > CC: "tho...@monjalon.net" <tho...@monjalon.net>, > "arybche...@solarflare.com" <arybche...@solarflare.com>, > "olivier.m...@6wind.com" <olivier.m...@6wind.com>, "qi.z.zh...@intel.com" > <qi.z.zh...@intel.com>, "beilei.x...@intel.com" <beilei.x...@intel.com>, > Wenzhuo Lu <wenzhuo...@intel.com>, Konstantin Ananyev > <konstantin.anan...@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 > > " > 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.