aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2013-09-25 06:02:44 -0400
committerDavid S. Miller <davem@davemloft.net>2013-09-30 15:08:12 -0400
commita528c219df2e865e178c538c7178961dfed5a13c (patch)
treebea412291c7c60b6651cc16752556aa07f94f4e3 /net/core
parente05849512662e789232dafed71ba65729f101e70 (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.c11
-rw-r--r--net/core/rtnetlink.c3
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
5238void __dev_notify_flags(struct net_device *dev, unsigned int old_flags) 5238void __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}
5283EXPORT_SYMBOL(dev_change_flags); 5284EXPORT_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}
1655EXPORT_SYMBOL(rtnl_configure_link); 1654EXPORT_SYMBOL(rtnl_configure_link);