OpenVZ Forum

Home » Mailing lists » Devel » [PATCH] netns: Delete virtual interfaces during namespace cleanup
[PATCH] netns: Delete virtual interfaces during namespace cleanup [message #31884] Fri, 11 July 2008 20:07
ebiederm is currently offline  ebiederm
Messages: 1354
Registered: February 2006
Senior Member
When physical devices are inside of network namespace and that network
namespace terminates we have to keep them and moving them to the
initial network namespace is the best we can do.

For virtual devices left in a network namespace that is exiting
we have no need to preserve them and we now have the infrastructure
that allows us to delete them.  So delete virtual devices when we
exit a network namespace.  Keeping the necessary user space clean up
after a network namespace exits much more tractable.

Signed-off-by: Eric W. Biederman <>
 net/core/dev.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index ea480a4..670abad 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4492,6 +4492,12 @@ static void __net_exit default_device_exit(struct net *net)
 		if (dev->features & NETIF_F_NETNS_LOCAL)
+		/* Delete virtual devices */
+		if (dev->rtnl_link_ops && dev->rtnl_link_ops->dellink) {
+			dev->rtnl_link_ops->dellink(dev);
+			continue;
+		}
 		/* Push remaing network devices to init_net */
 		snprintf(fb_name, IFNAMSIZ, "dev%d", dev->ifindex);
 		err = dev_change_net_namespace(dev, &init_net, fb_name);

Containers mailing list
Read Message
Previous Topic: [RFC][PATCH 2/5] mqueue namespace: add unshare support
Next Topic: [patch 0/4] Container Freezer: Reuse Suspend Freezer
Goto Forum:

Current Time: Tue Oct 03 10:12:05 GMT 2023

Total time taken to generate the page: 0.02332 seconds