All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vadim Kochan <vadim4j@gmail.com>
To: netdev@vger.kernel.org
Cc: Vadim Kochan <vadim4j@gmail.com>
Subject: [PATCH iproute2] man ip-netns: Notice about loose device when do 'del'
Date: Sun, 15 Mar 2015 12:57:24 +0200	[thread overview]
Message-ID: <1426417044-6754-1-git-send-email-vadim4j@gmail.com> (raw)

From: Vadim Kochan <vadim4j@gmail.com>

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
---
 man/man8/ip-netns.8 | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/man/man8/ip-netns.8 b/man/man8/ip-netns.8
index 28a9544..062564d 100644
--- a/man/man8/ip-netns.8
+++ b/man/man8/ip-netns.8
@@ -46,6 +46,9 @@ ip-netns \- process network namespace management
 A network namespace is logically another copy of the network stack,
 with its own routes, firewall rules, and network devices.
 
+By default process inherites network namespace from its parent. Initially all
+the processes shares the same default network namespace from the init process.
+
 By convention a named network namespace is an object at
 .BR "/var/run/netns/" NAME
 that can be opened.  The file descriptor resulting from opening
@@ -88,14 +91,30 @@ network namespace and assigns NAME.
 .sp
 If NAME is present in /var/run/netns it is umounted and the mount
 point is removed.  If this is the last user of the network namespace the
-network namespace will be freed, otherwise the network namespace
-persists until it has no more users.  ip netns delete may fail if
-the mount point is in use in another mount namespace.
+network namespace will be freed and all physical devices will be moved to the
+default one, otherwise the network namespace persists until it has no more
+users. ip netns delete may fail if the mount point is in use in another mount
+namespace.
 
 If
 .B -all
 option was specified then all the network namespace names will be removed.
 
+It is possible to "loose" the physical device when it was moved to netns and
+then this netns was deleted with a running process:
+
+    $ ip netns add net0
+    $ ip link set dev eth0 netns net0
+    $ ip netns exec net0 SOME_PROCESS_IN_BACKGROUND
+    $ ip netns del net0
+
+and eth0 will appear in the default netns only after SOME_PROCESS_IN_BACKGROUND
+will exit or will be killed. To prevent this the processes running in net0
+should be killed before deleting the netns:
+
+    $ ip netns pids net0 | xargs | kill
+    $ ip netns del net0
+
 .TP
 .B ip netns set NAME NETNSID - assign an id to a peer network namespace
 .sp
-- 
2.3.1

             reply	other threads:[~2015-03-15 11:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-15 10:57 Vadim Kochan [this message]
2015-03-15 11:47 ` [PATCH iproute2] man ip-netns: Notice about loose device when do 'del' Christoph Schulz
2015-03-15 11:37   ` Vadim Kochan
2015-03-15 15:20 ` Sergei Shtylyov
2015-03-15 15:25   ` Vadim Kochan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1426417044-6754-1-git-send-email-vadim4j@gmail.com \
    --to=vadim4j@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.