|
@@ -2392,22 +2392,20 @@ int ndo_dflt_fdb_del(struct ndmsg *ndm,
|
|
struct net_device *dev,
|
|
struct net_device *dev,
|
|
const unsigned char *addr)
|
|
const unsigned char *addr)
|
|
{
|
|
{
|
|
- int err = -EOPNOTSUPP;
|
|
|
|
|
|
+ int err = -EINVAL;
|
|
|
|
|
|
/* If aging addresses are supported device will need to
|
|
/* If aging addresses are supported device will need to
|
|
* implement its own handler for this.
|
|
* implement its own handler for this.
|
|
*/
|
|
*/
|
|
if (!(ndm->ndm_state & NUD_PERMANENT)) {
|
|
if (!(ndm->ndm_state & NUD_PERMANENT)) {
|
|
pr_info("%s: FDB only supports static addresses\n", dev->name);
|
|
pr_info("%s: FDB only supports static addresses\n", dev->name);
|
|
- return -EINVAL;
|
|
|
|
|
|
+ return err;
|
|
}
|
|
}
|
|
|
|
|
|
if (is_unicast_ether_addr(addr) || is_link_local_ether_addr(addr))
|
|
if (is_unicast_ether_addr(addr) || is_link_local_ether_addr(addr))
|
|
err = dev_uc_del(dev, addr);
|
|
err = dev_uc_del(dev, addr);
|
|
else if (is_multicast_ether_addr(addr))
|
|
else if (is_multicast_ether_addr(addr))
|
|
err = dev_mc_del(dev, addr);
|
|
err = dev_mc_del(dev, addr);
|
|
- else
|
|
|
|
- err = -EINVAL;
|
|
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|