diff options
| author | Mitch Williams <mitch.a.williams@intel.com> | 2015-11-19 11:34:16 -0800 |
|---|---|---|
| committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-12-12 21:08:09 -0800 |
| commit | b36e9ab59b7e3a5b14bf88dc0536e6579db7b54d (patch) | |
| tree | f7ceec202abae218e009c0ea227cdcd21e2fbdf8 /drivers/net/ethernet/intel/i40e/i40e.h | |
| parent | 75f5cea9ddef6a8f8cedb86c0ac8c696b258824d (diff) | |
| download | linux-b36e9ab59b7e3a5b14bf88dc0536e6579db7b54d.tar.gz linux-b36e9ab59b7e3a5b14bf88dc0536e6579db7b54d.tar.bz2 linux-b36e9ab59b7e3a5b14bf88dc0536e6579db7b54d.zip | |
i40e: properly delete VF MAC filters
The virtual channel interface was using incorrect semantics to remove
MAC addresses, which would leave incorrect filters active when using
VLANs. To correct this, add a new function that unconditionally removes
MAC addresses from all VLANs, and call this function when the VF
requests a MAC filter removal.
Change-ID: I69826908ae4f6c847f5bf9b32f11faa760189c74
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e.h')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h index bd6d9c002acc..b7bc014ae00b 100644 --- a/drivers/net/ethernet/intel/i40e/i40e.h +++ b/drivers/net/ethernet/intel/i40e/i40e.h @@ -776,6 +776,8 @@ int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid); int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid); struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi, u8 *macaddr, bool is_vf, bool is_netdev); +int i40e_del_mac_all_vlan(struct i40e_vsi *vsi, u8 *macaddr, + bool is_vf, bool is_netdev); bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi); struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, u8 *macaddr, bool is_vf, bool is_netdev); |
