cxgb4/cxgb4vf: Synchronize all MAC addresses

Even if interface is in Promiscuous mode/Allmulti mode synchronize
MAC addresses.

Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Hariprasad Shenai 2016-06-14 14:39:32 +05:30 committed by David S. Miller
parent b6244201f4
commit d01f7abc91
2 changed files with 4 additions and 11 deletions

View file

@ -461,11 +461,8 @@ static int set_rxmode(struct net_device *dev, int mtu, bool sleep_ok)
struct port_info *pi = netdev_priv(dev);
struct adapter *adapter = pi->adapter;
if (!(dev->flags & IFF_PROMISC)) {
__dev_uc_sync(dev, cxgb4_mac_sync, cxgb4_mac_unsync);
if (!(dev->flags & IFF_ALLMULTI))
__dev_mc_sync(dev, cxgb4_mac_sync, cxgb4_mac_unsync);
}
__dev_uc_sync(dev, cxgb4_mac_sync, cxgb4_mac_unsync);
__dev_mc_sync(dev, cxgb4_mac_sync, cxgb4_mac_unsync);
return t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu,
(dev->flags & IFF_PROMISC) ? 1 : 0,

View file

@ -937,12 +937,8 @@ static int set_rxmode(struct net_device *dev, int mtu, bool sleep_ok)
{
struct port_info *pi = netdev_priv(dev);
if (!(dev->flags & IFF_PROMISC)) {
__dev_uc_sync(dev, cxgb4vf_mac_sync, cxgb4vf_mac_unsync);
if (!(dev->flags & IFF_ALLMULTI))
__dev_mc_sync(dev, cxgb4vf_mac_sync,
cxgb4vf_mac_unsync);
}
__dev_uc_sync(dev, cxgb4vf_mac_sync, cxgb4vf_mac_unsync);
__dev_mc_sync(dev, cxgb4vf_mac_sync, cxgb4vf_mac_unsync);
return t4vf_set_rxmode(pi->adapter, pi->viid, -1,
(dev->flags & IFF_PROMISC) != 0,
(dev->flags & IFF_ALLMULTI) != 0,