From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AB66442D23; Thu, 22 Jun 2023 14:07:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C785406B8; Thu, 22 Jun 2023 14:07:06 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id A946E406A2 for ; Thu, 22 Jun 2023 14:07:05 +0200 (CEST) Received: from [192.168.1.40] (unknown [188.170.81.161]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id AF52150; Thu, 22 Jun 2023 15:07:04 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru AF52150 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1687435625; bh=JAbxcoED7/GI8QICRCnJ7EDff7JC9rZ53H33qvRN8nM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=gGClQu9cQ/+AM9dqtGjy2c230kCTZ2Pbax+rfdbXJ05fiwcJqEyurasEft6xg7jvw 5GTsAhZdzXM1ezbvEhyLk0C6g8XfWH9NLQGG+JKRthaYkVqXe5ofQX/i8yd39Z/4dJ sLNhGsNEXd1DypLyCE/QLW418tKH8SyDjhyV9xGs= Message-ID: Date: Thu, 22 Jun 2023 15:07:03 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v6 4/4] net/sfc: support VLAN stripping offload Content-Language: en-US To: Artemii Morozov , dev@dpdk.org Cc: Ivan Malov , Viacheslav Galaktionov , Andy Moreton References: <20230531134122.119508-1-artemii.morozov@arknetworks.am> <20230622113104.261556-1-artemii.morozov@arknetworks.am> <20230622113104.261556-5-artemii.morozov@arknetworks.am> From: Andrew Rybchenko In-Reply-To: <20230622113104.261556-5-artemii.morozov@arknetworks.am> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 6/22/23 14:31, Artemii Morozov wrote: > Extract VLAN TCI provided by the HW in the prefix and put it to mbuf. > VLAN stripping is supported for ef100 datapath only. This is device > level offload. > > Signed-off-by: Artemii Morozov > Reviewed-by: Viacheslav Galaktionov > Reviewed-by: Ivan Malov > Reviewed-by: Andy Moreton One, but important question below: > diff --git a/drivers/net/sfc/sfc_ef100_rx.c b/drivers/net/sfc/sfc_ef100_rx.c > index 37b754fa33..07381df5cf 100644 > --- a/drivers/net/sfc/sfc_ef100_rx.c > +++ b/drivers/net/sfc/sfc_ef100_rx.c [snip] > @@ -892,6 +905,15 @@ sfc_ef100_rx_qstart(struct sfc_dp_rxq *dp_rxq, unsigned int evq_read_ptr, > (rxq->flags & SFC_EF100_RXQ_INGRESS_MPORT)) > return ENOTSUP; > > + /* > + * Exclude the SFC_EF100_RXQ_VLAN_STRIPPED_TCI if offload was not requested > + * or the prefix does not contain the corresponding field. > + */ > + if (!((rxq->flags & SFC_EF100_RXQ_VLAN_STRIPPED_TCI) && Sorry, it is complicated to understand the condition. Please, avoid leading not. > + ((unsup_rx_prefix_fields & > + (1U << EFX_RX_PREFIX_FIELD_VLAN_STRIP_TCI)) == 0))) > + rxq->flags &= ~SFC_EF100_RXQ_VLAN_STRIPPED_TCI; > + I don't understand why do we need to check Rx prefix field presence here. We should not allow to enable VLAN stripping if Rx prefix field is not available. > rxq->prefix_size = pinfo->erpl_length; > rxq->rearm_data = sfc_ef100_mk_mbuf_rearm_data(rxq->dp.dpq.port_id, > rxq->prefix_size); [snip]