From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: DEV_RX_OFFLOAD_VLAN_EXTEND offload Date: Mon, 05 Nov 2018 07:55:43 +0100 Message-ID: <1702163.LgJrvV8fDE@xps> References: <20181026105559.GA6843@jerin> <20181101103346.GA17024@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Jerin Jacob , "Yigit, Ferruh" , "dev@dpdk.org" , "arybchenko@solarflare.com" , "olivier.matz@6wind.com" , "Zhang, Qi Z" , "Xing, Beilei" , "Lu, Wenzhuo" , "Ananyev, Konstantin" To: "Zhao1, Wei" Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 53C1C4C92 for ; Mon, 5 Nov 2018 07:55:49 +0100 (CET) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 05/11/2018 05:22, Zhao1, Wei: > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com] > > From: "Zhao1, Wei" > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob > > > > From: Ferruh Yigit > > > > > 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! Generally speaking, all APIs which are also covered by rte_flow must be deprecated. We must migrate all PMDs to the new APIs.