X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fbonding%2Fbond_alb.c;h=b211486a0ca390ff745a7f62004e1249b6a59c51;hb=e5a4ad0dda8f79a984ba6391af65274b482b6703;hp=3f58c3d0b7106ae02452ff77f1e41c28ae2ded67;hpb=adf6d34e460387ee3e8f1e1875d52bff51212c7d;p=linux-2.6 diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 3f58c3d0b7..b211486a0c 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c @@ -345,7 +345,7 @@ static int rlb_arp_recv(struct sk_buff *skb, struct net_device *bond_dev, struct struct arp_pkt *arp = (struct arp_pkt *)skb->data; int res = NET_RX_DROP; - if (bond_dev->nd_net != &init_net) + if (dev_net(bond_dev) != &init_net) goto out; if (!(bond_dev->flags & IFF_MASTER)) @@ -419,8 +419,10 @@ static void rlb_teach_disabled_mac_on_primary(struct bonding *bond, u8 addr[]) } if (!bond->alb_info.primary_is_promisc) { - bond->alb_info.primary_is_promisc = 1; - dev_set_promiscuity(bond->curr_active_slave->dev, 1); + if (!dev_set_promiscuity(bond->curr_active_slave->dev, 1)) + bond->alb_info.primary_is_promisc = 1; + else + bond->alb_info.primary_is_promisc = 0; } bond->alb_info.rlb_promisc_timeout_counter = 0;