mirror of
https://github.com/torvalds/linux
synced 2024-10-07 11:53:31 +00:00
i40e: allow VF to remove any MAC filter
If you use ip to change the MAC address of a VF while the VF driver is loaded, closing the VF interface or unloading the VF driver will cause the VF driver to remove the MAC filter for its original (now invalid) MAC address. This would cause the PF driver to kick an error message to the log, and back to the VF driver. Since the VF driver has not really done anything naughty, let's not punish it. Don't check for MAC address overrides on the delete operation, just make sure it's a valid address. This keeps us from spamming the log with confusing errors. Change-ID: I1f051bd4014e50855457d928c9ee8b0766981b2f Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
3b867b28ce
commit
700bbf6c1f
|
@ -1525,10 +1525,14 @@ static int i40e_vc_del_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
|
|||
}
|
||||
|
||||
for (i = 0; i < al->num_elements; i++) {
|
||||
ret = i40e_check_vf_permission(vf, al->list[i].addr);
|
||||
if (ret)
|
||||
if (is_broadcast_ether_addr(al->list[i].addr) ||
|
||||
is_zero_ether_addr(al->list[i].addr)) {
|
||||
dev_err(&pf->pdev->dev, "invalid VF MAC addr %pM\n",
|
||||
al->list[i].addr);
|
||||
ret = I40E_ERR_INVALID_MAC_ADDR;
|
||||
goto error_param;
|
||||
}
|
||||
}
|
||||
vsi = pf->vsi[vsi_id];
|
||||
|
||||
/* delete addresses from the list */
|
||||
|
|
Loading…
Reference in a new issue