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> Tested-by: Zhimin Huang <zhiminx.huang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
cbc78be94c
commit
da996000e8
@ -4011,20 +4011,16 @@ ice_vsi_config_vlan_filter(struct ice_vsi *vsi, bool on)
|
||||
{
|
||||
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 =
|
||||
|
Loading…
x
Reference in New Issue
Block a user