aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2013-05-25 00:12:10 -0400
committerDavid S. Miller <davem@davemloft.net>2013-05-26 02:12:19 -0400
commit42e52bf9e3ae80fd44b21ddfcd64c54e6db2ff76 (patch)
tree4d395ed55ed5e36d0b54ea49329e797c06783f9f /net/core
parent8513fbd880093f00a47e85a552f14ca2de8d84d6 (diff)
net: add netnotifier event for upper device change
Now when upper device is changed, event is not propagated via RT Netlink to userspace. Userspace might never now about the change. Fix this by adding upper-device-change notifier event. Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 7229bc30e509..50c02ded1d69 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4411,7 +4411,7 @@ static int __netdev_upper_dev_link(struct net_device *dev,
4411 else 4411 else
4412 list_add_tail_rcu(&upper->list, &dev->upper_dev_list); 4412 list_add_tail_rcu(&upper->list, &dev->upper_dev_list);
4413 dev_hold(upper_dev); 4413 dev_hold(upper_dev);
4414 4414 call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
4415 return 0; 4415 return 0;
4416} 4416}
4417 4417
@@ -4471,6 +4471,7 @@ void netdev_upper_dev_unlink(struct net_device *dev,
4471 list_del_rcu(&upper->list); 4471 list_del_rcu(&upper->list);
4472 dev_put(upper_dev); 4472 dev_put(upper_dev);
4473 kfree_rcu(upper, rcu); 4473 kfree_rcu(upper, rcu);
4474 call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
4474} 4475}
4475EXPORT_SYMBOL(netdev_upper_dev_unlink); 4476EXPORT_SYMBOL(netdev_upper_dev_unlink);
4476 4477