mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-11 05:17:10 +09:00
i40e: don't add zero MAC filter
[ Upstream commit b7b713a8ea ]
When VFs are created, the MAC address defaults to all zeros, indicating
to the VF driver that it should use a random MAC address. However, the
PF driver was incorrectly adding this zero MAC to the filter table,
along with the VF's randomly generated MAC address.
Check for a good address before adding the default filter. While we're
at it, make the error message a bit more useful.
Change-ID: Ia100947d68140e0f73a19ba755cbffc3e79a8fcf
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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b085e4dd70
commit
796adc8527
@@ -549,12 +549,15 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
|
||||
i40e_vsi_add_pvid(vsi, vf->port_vlan_id);
|
||||
|
||||
spin_lock_bh(&vsi->mac_filter_list_lock);
|
||||
f = i40e_add_filter(vsi, vf->default_lan_addr.addr,
|
||||
vf->port_vlan_id ? vf->port_vlan_id : -1,
|
||||
true, false);
|
||||
if (!f)
|
||||
dev_info(&pf->pdev->dev,
|
||||
"Could not allocate VF MAC addr\n");
|
||||
if (is_valid_ether_addr(vf->default_lan_addr.addr)) {
|
||||
f = i40e_add_filter(vsi, vf->default_lan_addr.addr,
|
||||
vf->port_vlan_id ? vf->port_vlan_id : -1,
|
||||
true, false);
|
||||
if (!f)
|
||||
dev_info(&pf->pdev->dev,
|
||||
"Could not add MAC filter %pM for VF %d\n",
|
||||
vf->default_lan_addr.addr, vf->vf_id);
|
||||
}
|
||||
f = i40e_add_filter(vsi, brdcast,
|
||||
vf->port_vlan_id ? vf->port_vlan_id : -1,
|
||||
true, false);
|
||||
|
||||
Reference in New Issue
Block a user