net: add address assign type "SET"
authorJiri Pirko <jiri@resnulli.us>
Tue, 1 Jan 2013 03:30:16 +0000 (03:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Jan 2013 06:37:36 +0000 (22:37 -0800)
This is the way to indicate that mac address of a device has been set by
dev_set_mac_address()

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
net/core/dev.c

index 6835b58..c5031a4 100644 (file)
@@ -64,6 +64,8 @@ struct wireless_dev;
 #define NET_ADDR_PERM          0       /* address is permanent (default) */
 #define NET_ADDR_RANDOM                1       /* address is generated randomly */
 #define NET_ADDR_STOLEN                2       /* address is stolen from other device */
+#define NET_ADDR_SET           3       /* address is set using
+                                        * dev_set_mac_address() */
 
 /* Backlog congestion levels */
 #define NET_RX_SUCCESS         0       /* keep 'em coming, baby */
index c85e32b..bddb2f2 100644 (file)
@@ -5022,6 +5022,7 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa)
        err = ops->ndo_set_mac_address(dev, sa);
        if (err)
                return err;
+       dev->addr_assign_type = NET_ADDR_SET;
        call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
        add_device_randomness(dev->dev_addr, dev->addr_len);
        return 0;