diff mbox series

net/ice: fix VLAN filter with PF

Message ID 20210219051346.12992-1-alvinx.zhang@intel.com (mailing list archive)
State Accepted
Delegated to: Qi Zhang
Headers show
Series net/ice: fix VLAN filter with PF | expand

Checks

Context Check Description
ci/github-robot success github build: passed
ci/travis-robot fail travis build: failed
ci/iol-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/checkpatch success coding style OK

Commit Message

Alvin Zhang Feb. 19, 2021, 5:13 a.m. UTC
The macro flag DEV_RX_OFFLOAD_VLAN_FILTER is used to enable/disable
Rx VLAN filter, but not Tx VLAN filter. Therefore, Tx VLAN filter
should not be enabled/disabled in function ice_vsi_config_vlan_filter
called after checking DEV_RX_OFFLOAD_VLAN_FILTER flag.

In addition, the kernel driver doesn't enable/disable the TX VLAN
filter in the similar function ice_cfg_vlan_pruning.

This patch removes the setting about the TX VLAN filter in function
ice_vsi_config_vlan_filter.

Fixes: e0dcf94a0d7f ("net/ice: support VLAN ops")
Cc: stable@dpdk.org

Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

Comments

Huang, ZhiminX Feb. 19, 2021, 9:06 a.m. UTC | #1
Tested-by: Huang, ZhiminX <zhiminx.huang@intel.com>

Regards,
HuangZhiMin


> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Alvin Zhang
> Sent: Friday, February 19, 2021 1:14 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>;
> stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/ice: fix VLAN filter with PF
> 
> The macro flag DEV_RX_OFFLOAD_VLAN_FILTER is used to enable/disable
> Rx VLAN filter, but not Tx VLAN filter. Therefore, Tx VLAN filter should not
> be enabled/disabled in function ice_vsi_config_vlan_filter called after
> checking DEV_RX_OFFLOAD_VLAN_FILTER flag.
> 
> In addition, the kernel driver doesn't enable/disable the TX VLAN filter in
> the similar function ice_cfg_vlan_pruning.
> 
> This patch removes the setting about the TX VLAN filter in function
> ice_vsi_config_vlan_filter.
> 
> Fixes: e0dcf94a0d7f ("net/ice: support VLAN ops")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
> ---
>  drivers/net/ice/ice_ethdev.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> index dfd99ac..8999d44 100644
> --- a/drivers/net/ice/ice_ethdev.c
> +++ b/drivers/net/ice/ice_ethdev.c
> @@ -4011,20 +4011,16 @@ static int ice_macaddr_set(struct
> rte_eth_dev *dev,  {
>  	struct ice_hw *hw = ICE_VSI_TO_HW(vsi);
>  	struct ice_vsi_ctx ctxt;
> -	uint8_t sec_flags, sw_flags2;
> +	uint8_t sw_flags2;
>  	int ret = 0;
> 
> -	sec_flags = ICE_AQ_VSI_SEC_TX_VLAN_PRUNE_ENA <<
> -		    ICE_AQ_VSI_SEC_TX_PRUNE_ENA_S;
>  	sw_flags2 = ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;
> 
> -	if (on) {
> -		vsi->info.sec_flags |= sec_flags;
> +	if (on)
>  		vsi->info.sw_flags2 |= sw_flags2;
> -	} else {
> -		vsi->info.sec_flags &= ~sec_flags;
> +	else
>  		vsi->info.sw_flags2 &= ~sw_flags2;
> -	}
> +
>  	vsi->info.sw_id = hw->port_info->sw_id;
>  	(void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info));
>  	ctxt.info.valid_sections =
> --
> 1.8.3.1
Zhang, Qi Z Feb. 22, 2021, 12:39 p.m. UTC | #2
> -----Original Message-----
> From: Huang, ZhiminX <zhiminx.huang@intel.com>
> Sent: Friday, February 19, 2021 5:06 PM
> To: Zhang, AlvinX <alvinx.zhang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; stable@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] net/ice: fix VLAN filter with PF
> 
> Tested-by: Huang, ZhiminX <zhiminx.huang@intel.com>
> 
> Regards,
> HuangZhiMin
> 
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Alvin Zhang
> > Sent: Friday, February 19, 2021 1:14 PM
> > To: Zhang, Qi Z <qi.z.zhang@intel.com>
> > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>;
> > stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] net/ice: fix VLAN filter with PF
> >
> > The macro flag DEV_RX_OFFLOAD_VLAN_FILTER is used to enable/disable Rx
> > VLAN filter, but not Tx VLAN filter. Therefore, Tx VLAN filter should
> > not be enabled/disabled in function ice_vsi_config_vlan_filter called
> > after checking DEV_RX_OFFLOAD_VLAN_FILTER flag.
> >
> > In addition, the kernel driver doesn't enable/disable the TX VLAN
> > filter in the similar function ice_cfg_vlan_pruning.
> >
> > This patch removes the setting about the TX VLAN filter in function
> > ice_vsi_config_vlan_filter.
> >
> > Fixes: e0dcf94a0d7f ("net/ice: support VLAN ops")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
diff mbox series

Patch

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index dfd99ac..8999d44 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -4011,20 +4011,16 @@  static int ice_macaddr_set(struct rte_eth_dev *dev,
 {
 	struct ice_hw *hw = ICE_VSI_TO_HW(vsi);
 	struct ice_vsi_ctx ctxt;
-	uint8_t sec_flags, sw_flags2;
+	uint8_t sw_flags2;
 	int ret = 0;
 
-	sec_flags = ICE_AQ_VSI_SEC_TX_VLAN_PRUNE_ENA <<
-		    ICE_AQ_VSI_SEC_TX_PRUNE_ENA_S;
 	sw_flags2 = ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;
 
-	if (on) {
-		vsi->info.sec_flags |= sec_flags;
+	if (on)
 		vsi->info.sw_flags2 |= sw_flags2;
-	} else {
-		vsi->info.sec_flags &= ~sec_flags;
+	else
 		vsi->info.sw_flags2 &= ~sw_flags2;
-	}
+
 	vsi->info.sw_id = hw->port_info->sw_id;
 	(void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info));
 	ctxt.info.valid_sections =