i40e: Use port VLAN in MAC/VLAN filter configuration
authorGreg Rose <gregory.v.rose@intel.com>
Tue, 1 Apr 2014 07:11:44 +0000 (07:11 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 28 Apr 2014 11:13:37 +0000 (04:13 -0700)
The function to set the VF MAC address was not taking the port VLAN
filter into account when setting/clearing/resetting the VF's host
administered MAC address.  Be sure to use the port VLAN for VF MAC
filtering configurations.

Change-ID: I12595331981c79529738f041dcdbdb667ef8f5e6
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

index 982eef0425774e04f9fe36e83afc978f3abd78cf..82e7abf643081c692ac60087e59c0b9f0645cf5c 100644 (file)
@@ -2049,10 +2049,11 @@ int i40e_ndo_set_vf_mac(struct net_device *netdev, int vf_id, u8 *mac)
        }
 
        /* delete the temporary mac address */
-       i40e_del_filter(vsi, vf->default_lan_addr.addr, 0, true, false);
+       i40e_del_filter(vsi, vf->default_lan_addr.addr, vf->port_vlan_id,
+                       true, false);
 
        /* add the new mac address */
-       f = i40e_add_filter(vsi, mac, 0, true, false);
+       f = i40e_add_filter(vsi, mac, vf->port_vlan_id, true, false);
        if (!f) {
                dev_err(&pf->pdev->dev,
                        "Unable to add VF ucast filter\n");