diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2013-09-25 06:02:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-30 15:08:12 -0400 |
commit | a528c219df2e865e178c538c7178961dfed5a13c (patch) | |
tree | bea412291c7c60b6651cc16752556aa07f94f4e3 /net/core | |
parent | e05849512662e789232dafed71ba65729f101e70 (diff) |
dev: update __dev_notify_flags() to send rtnl msg
This patch only prepares the next one, there is no functional change.
Now, __dev_notify_flags() can also be used to notify flags changes via
rtnetlink.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 11 | ||||
-rw-r--r-- | net/core/rtnetlink.c | 3 |
2 files changed, 7 insertions, 7 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 25ab6fe80da2..594a6b0ab3da 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -5235,10 +5235,14 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags) | |||
5235 | return ret; | 5235 | return ret; |
5236 | } | 5236 | } |
5237 | 5237 | ||
5238 | void __dev_notify_flags(struct net_device *dev, unsigned int old_flags) | 5238 | void __dev_notify_flags(struct net_device *dev, unsigned int old_flags, |
5239 | unsigned int gchanges) | ||
5239 | { | 5240 | { |
5240 | unsigned int changes = dev->flags ^ old_flags; | 5241 | unsigned int changes = dev->flags ^ old_flags; |
5241 | 5242 | ||
5243 | if (gchanges) | ||
5244 | rtmsg_ifinfo(RTM_NEWLINK, dev, gchanges); | ||
5245 | |||
5242 | if (changes & IFF_UP) { | 5246 | if (changes & IFF_UP) { |
5243 | if (dev->flags & IFF_UP) | 5247 | if (dev->flags & IFF_UP) |
5244 | call_netdevice_notifiers(NETDEV_UP, dev); | 5248 | call_netdevice_notifiers(NETDEV_UP, dev); |
@@ -5274,10 +5278,7 @@ int dev_change_flags(struct net_device *dev, unsigned int flags) | |||
5274 | return ret; | 5278 | return ret; |
5275 | 5279 | ||
5276 | changes = old_flags ^ dev->flags; | 5280 | changes = old_flags ^ dev->flags; |
5277 | if (changes) | 5281 | __dev_notify_flags(dev, old_flags, changes); |
5278 | rtmsg_ifinfo(RTM_NEWLINK, dev, changes); | ||
5279 | |||
5280 | __dev_notify_flags(dev, old_flags); | ||
5281 | return ret; | 5282 | return ret; |
5282 | } | 5283 | } |
5283 | EXPORT_SYMBOL(dev_change_flags); | 5284 | EXPORT_SYMBOL(dev_change_flags); |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 2a0e21de3060..4aedf03da052 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -1647,9 +1647,8 @@ int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm) | |||
1647 | } | 1647 | } |
1648 | 1648 | ||
1649 | dev->rtnl_link_state = RTNL_LINK_INITIALIZED; | 1649 | dev->rtnl_link_state = RTNL_LINK_INITIALIZED; |
1650 | rtmsg_ifinfo(RTM_NEWLINK, dev, ~0U); | ||
1651 | 1650 | ||
1652 | __dev_notify_flags(dev, old_flags); | 1651 | __dev_notify_flags(dev, old_flags, ~0U); |
1653 | return 0; | 1652 | return 0; |
1654 | } | 1653 | } |
1655 | EXPORT_SYMBOL(rtnl_configure_link); | 1654 | EXPORT_SYMBOL(rtnl_configure_link); |