diff --git a/[refs] b/[refs] index 9b0a900bc9a0..ca3749508432 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 008d845cf65c3153bbcfa2f1cb3369a99e12de02 +refs/heads/master: 4e66ae2ea371cf431283e2cb95480eb860432856 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 2f94df257e5a..0aea3fee7f6d 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -6418,6 +6418,9 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char dev_uc_flush(dev); dev_mc_flush(dev); + /* Send a netdev-removed uevent to the old namespace */ + kobject_uevent(&dev->dev.kobj, KOBJ_REMOVE); + /* Actually switch the network namespace */ dev_net_set(dev, net); @@ -6429,6 +6432,9 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char dev->iflink = dev->ifindex; } + /* Send a netdev-add uevent to the new namespace */ + kobject_uevent(&dev->dev.kobj, KOBJ_ADD); + /* Fixup kobjects */ err = device_rename(&dev->dev, dev->name); WARN_ON(err);