]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/packet/af_packet.c
net: convert unicast addr list
[net-next-2.6.git] / net / packet / af_packet.c
index 766e6b41f7cad432b9eb2a4ec499cedf1dc76a2a..6da9f38ef5c1101a8c968642aebed0dcaa856b58 100644 (file)
@@ -1570,9 +1570,9 @@ static int packet_dev_mc(struct net_device *dev, struct packet_mclist *i,
        switch (i->type) {
        case PACKET_MR_MULTICAST:
                if (what > 0)
-                       dev_mc_add(dev, i->addr, i->alen, 0);
+                       return dev_mc_add(dev, i->addr, i->alen, 0);
                else
-                       dev_mc_delete(dev, i->addr, i->alen, 0);
+                       return dev_mc_delete(dev, i->addr, i->alen, 0);
                break;
        case PACKET_MR_PROMISC:
                return dev_set_promiscuity(dev, what);
@@ -1580,6 +1580,12 @@ static int packet_dev_mc(struct net_device *dev, struct packet_mclist *i,
        case PACKET_MR_ALLMULTI:
                return dev_set_allmulti(dev, what);
                break;
+       case PACKET_MR_UNICAST:
+               if (what > 0)
+                       return dev_unicast_add(dev, i->addr);
+               else
+                       return dev_unicast_delete(dev, i->addr);
+               break;
        default:;
        }
        return 0;