diff options
author | Jiri Pirko <jiri@resnulli.us> | 2012-12-31 22:30:16 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-04 01:37:36 -0500 |
commit | fbdeca2d7753aa1ab929aeb77ccc46489eed02b9 (patch) | |
tree | 156a4b2bada01c59549988352d203191288803e4 | |
parent | e41b2d7fe7803e85e1202d0eb172717d7bf1bbaf (diff) |
net: add address assign type "SET"
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>
-rw-r--r-- | include/linux/netdevice.h | 2 | ||||
-rw-r--r-- | net/core/dev.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 6835b5837f93..c5031a45e185 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -64,6 +64,8 @@ struct wireless_dev; | |||
64 | #define NET_ADDR_PERM 0 /* address is permanent (default) */ | 64 | #define NET_ADDR_PERM 0 /* address is permanent (default) */ |
65 | #define NET_ADDR_RANDOM 1 /* address is generated randomly */ | 65 | #define NET_ADDR_RANDOM 1 /* address is generated randomly */ |
66 | #define NET_ADDR_STOLEN 2 /* address is stolen from other device */ | 66 | #define NET_ADDR_STOLEN 2 /* address is stolen from other device */ |
67 | #define NET_ADDR_SET 3 /* address is set using | ||
68 | * dev_set_mac_address() */ | ||
67 | 69 | ||
68 | /* Backlog congestion levels */ | 70 | /* Backlog congestion levels */ |
69 | #define NET_RX_SUCCESS 0 /* keep 'em coming, baby */ | 71 | #define NET_RX_SUCCESS 0 /* keep 'em coming, baby */ |
diff --git a/net/core/dev.c b/net/core/dev.c index c85e32b30f04..bddb2f2ccaa9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -5022,6 +5022,7 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa) | |||
5022 | err = ops->ndo_set_mac_address(dev, sa); | 5022 | err = ops->ndo_set_mac_address(dev, sa); |
5023 | if (err) | 5023 | if (err) |
5024 | return err; | 5024 | return err; |
5025 | dev->addr_assign_type = NET_ADDR_SET; | ||
5025 | call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); | 5026 | call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); |
5026 | add_device_randomness(dev->dev_addr, dev->addr_len); | 5027 | add_device_randomness(dev->dev_addr, dev->addr_len); |
5027 | return 0; | 5028 | return 0; |