From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: DEV_RX_OFFLOAD_VLAN_EXTEND offload Date: Thu, 1 Nov 2018 10:34:09 +0000 Message-ID: <20181101103346.GA17024@jerin> References: <20181026105559.GA6843@jerin> <1888b918-6871-eadc-6aa1-fbf6b0cf48fe@intel.com> <20181026143508.GA2616@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "Yigit, Ferruh" , "dev@dpdk.org" , "thomas@monjalon.net" , "arybchenko@solarflare.com" , "olivier.matz@6wind.com" , "Zhang, Qi Z" , "Xing, Beilei" , "Lu, Wenzhuo" , "Ananyev, Konstantin" To: "Zhao1, Wei" Return-path: Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700066.outbound.protection.outlook.com [40.107.70.66]) by dpdk.org (Postfix) with ESMTP id 54159201 for ; Thu, 1 Nov 2018 11:34:13 +0100 (CET) In-Reply-To: Content-Language: en-US Content-ID: <9F5F61362AFC8044B7DF2BB031BA1B38@namprd07.prod.outlook.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Thu, 1 Nov 2018 09:50:12 +0000 > From: "Zhao1, Wei" > To: Jerin Jacob , "Yigit, Ferruh" > > CC: "dev@dpdk.org" , "thomas@monjalon.net" > , "arybchenko@solarflare.com" > , "olivier.matz@6wind.com" > , "Zhang, Qi Z" , "Xing, > Beilei" , "Lu, Wenzhuo" , > "Ananyev, Konstantin" > Subject: RE: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload >=20 >=20 > > -----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 > > Cc: dev@dpdk.org; thomas@monjalon.net; arybchenko@solarflare.com; > > olivier.matz@6wind.com; Zhang, Qi Z ; Xing, Beile= i > > ; Lu, Wenzhuo ; Ananyev, > > Konstantin > > Subject: Re: [dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload > > > > -----Original Message----- > > > Date: Fri, 26 Oct 2018 14:40:42 +0100 > > > From: Ferruh Yigit > > > To: Jerin Jacob , "dev@dpdk.org" > > > > > > CC: "thomas@monjalon.net" , > > > "arybchenko@solarflare.com" , > > > "olivier.matz@6wind.com" , > > "qi.z.zhang@intel.com" > > > , "beilei.xing@intel.com" > > > , Wenzhuo Lu , > > > Konstantin Ananyev > > > 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 NI= C > > > > 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 reques= t > > > > (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 ha= s: > > > > Yes. QinQ there is an already an offload called > > DEV_RX_OFFLOAD_QINQ_STRIP >=20 > Excuse me, I have some thought, is that right? > maybe DEV_RX_OFFLOAD_QINQ_STRIP and DEV_RX_OFFLOAD_VLAN_EXTEND is just tw= o thing that play a different role each. > DEV_RX_OFFLOAD_VLAN_EXTEND tell NIC to recognize QinQ PACKETS, it is a fi= lter for NIC. > DEV_RX_OFFLOAD_QINQ_STRIP tell nic to strip 2 inner and outer vlan head w= hen 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= =20 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. >=20 > > > > > > > > > > " > > > 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 anythin= g > > > set on EXVET.VET_EXT. So looks like it is to let switch to add custom= VLAN > > tags and NIC to ignore them.