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 04DC642CF7; Mon, 19 Jun 2023 12:28:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8221640E0F; Mon, 19 Jun 2023 12:28:20 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id C955740DF8 for ; Mon, 19 Jun 2023 12:28:18 +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 08DE750; Mon, 19 Jun 2023 13:28:16 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 08DE750 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1687170498; bh=0HmUQ/4f1bp6ROZV8n6m7gi6ZZN3mVidD5F9TFHKiBI=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=tZfoZxEARIfrdcoQeUWcjBSUkrMbS9PBQ0eye8twkuFoD+NxJiYb2NK8AZzzqZnTN LQvF3q3snclgR70LHeap+PP5v4V3wXKN2CSyiC2KbqC+rbBNQVgNnKmdXMcvgQJlJP MUEKgVH8MEKDCHgoPKjuz3aD3PaG69LmJTilopJc= Message-ID: <533f1b4a-2b8a-3b45-2015-f241d8c66efd@oktetlabs.ru> Date: Mon, 19 Jun 2023 13:28:16 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v5 2/3] common/sfc_efx/base: add support to enable VLAN stripping 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> <20230613151238.59112-1-artemii.morozov@arknetworks.am> <20230613151238.59112-3-artemii.morozov@arknetworks.am> From: Andrew Rybchenko In-Reply-To: <20230613151238.59112-3-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/13/23 18:12, Artemii Morozov wrote: > To enable VLAN stripping, two conditions must be met: > the corresponding flag must be set and the appropriate > RX prefix should be requested. RX -> Rx > VLAN stripping is supported for ef100 datapath only. "ef100 datapath" does not make sense in libefx. "VLAN stripping is supported on EF100 only." However, such string could be confusing in the future. So, I'd drop "only" LGTM, but the problem of the patch is that it does not ensure and does not highlight in any way that efx_port_vlan_strip_set() must be called before any filter insertion to have things consistent. Am I missing something? efx_port_vlan_strip_set() should check that no filters are installed (directly or indirectly via default RxQ set). > diff --git a/drivers/common/sfc_efx/base/efx_port.c b/drivers/common/sfc_efx/base/efx_port.c > index a5f982e335..7804eb76bc 100644 > --- a/drivers/common/sfc_efx/base/efx_port.c > +++ b/drivers/common/sfc_efx/base/efx_port.c > @@ -204,6 +204,24 @@ efx_loopback_type_name( > > #endif /* EFSYS_OPT_LOOPBACK */ > > + __checkReturn efx_rc_t > +efx_port_vlan_strip_set( > + __in efx_nic_t *enp, > + __in boolean_t enabled) > +{ > + efx_port_t *epp = &(enp->en_port); > + efx_nic_cfg_t *encp = &(enp->en_nic_cfg); > + > + EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); > + > + if (enabled && !encp->enc_rx_vlan_stripping_supported) > + return ENOTSUP; Return value must be in parenthesis in libefx (common/sfc_efx/base). > + > + epp->ep_vlan_strip = enabled; > + > + return 0; Return value must be in parenthesis in libefx (common/sfc_efx/base). > +} > + > void > efx_port_fini( > __in efx_nic_t *enp)