ice: Only allow tagged bcast/mcast traffic for VF in port VLAN
authorBrett Creeley <brett.creeley@intel.com>
Wed, 22 Jan 2020 15:21:28 +0000 (07:21 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 16 Feb 2020 00:37:21 +0000 (16:37 -0800)
commit72634bc228cb0a66f2b11c2f7addac5018fd27a1
tree3dba716e9397dc4f469b7f6dd4f04de43f4ec696
parent61c9ce86a6f5c3c2eb1dad89da0c758f586ffc3f
ice: Only allow tagged bcast/mcast traffic for VF in port VLAN

Currently the VF can see other's broadcast and multicast traffic because
it always has a VLAN filter for VLAN 0. Fix this by removing/adding the
VF's VLAN 0 filter when a port VLAN is added/removed respectively.

This required a few changes.

1. Move where we add VLAN 0 by default for the VF into
ice_alloc_vsi_res() because this is when we determine if a port VLAN is
present for load and reset.

2. Moved where we kill the old port VLAN filter in
ice_set_vf_port_vlan() to the very end of the function because it allows
us to save the old port VLAN configuration upon any failure case.

3. During adding/removing of a port VLAN via ice_set_vf_port_vlan() we
also need to remove/add the VLAN 0 filter rule respectively.

4. Improve log messages.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c