From: Michal Kubecek <mkubecek@suse.cz>
Date: Fri, 16 Jan 2015 09:57:37 +0100
Subject: ip-netns: add ip-netns(8) man page from v3.9.0
Patch-mainline: v3.9.0
Git-commit: 2a9721f1c4efc2b0a0b814a705b393b1533e60d8 (partial)
Git-commit: aab2702d33b19326e24a61264f7fcb28d88c9b45 (partial)
Git-commit: cc574302065c0354feef0dd8753a705d721c65fa (partial)
Git-commit: 1e9014a7a684dbb3d54f5e061dbbb77cf115efe2
Git-commit: 9a7b3d91b69ea9c3c128d973c4bda2324da1a795 (partial)
Git-commit: 49572501664d08262b0b79e118126b1cf6b15fc2 (partial)
References: fate#314996

Also mention "ip netns monitor" to ip(8).
---
 man/man8/ip-netns.8 | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 man/man8/ip.8       |   2 +-
 2 files changed, 131 insertions(+), 1 deletion(-)
 create mode 100644 man/man8/ip-netns.8

diff --git a/man/man8/ip-netns.8 b/man/man8/ip-netns.8
new file mode 100644
index 0000000..87534be
--- /dev/null
+++ b/man/man8/ip-netns.8
@@ -0,0 +1,130 @@
+.TH IP\-NETNS 8 "16 Jan 2013" "iproute2" "Linux"
+.SH NAME
+ip-netns \- process network namespace management
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B netns
+.RI  " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+.BR "ip netns" " { " list " } "
+
+.ti -8
+.BR "ip netns" " { " add " | " delete " } "
+.I NETNSNAME
+
+.ti -8
+.BR "ip netns identify"
+.I PID
+
+.ti -8
+.BR "ip netns pids"
+.I NETNSNAME
+
+.ti -8
+.BR "ip netns exec "
+.I NETNSNAME command ...
+
+.ti -8
+.BR "ip netns monitor"
+
+.SH DESCRIPTION
+A network namespace is logically another copy of the network stack,
+with its own routes, firewall rules, and network devices.
+
+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
+.BR "/var/run/netns/" NAME
+refers to the specified network namespace.  Holding that file
+descriptor open keeps the network namespace alive.  The file
+descriptor can be used with the
+.B setns(2)
+system call to change the network namespace associated with a task.
+
+For applications that are aware of network namespaces, the convention
+is to look for global network configuration files first in
+.BR "/etc/netns/" NAME "/"
+then in
+.BR "/etc/".
+For example, if you want a different version of
+.BR /etc/resolv.conf
+for a network namespace used to isolate your vpn you would name it
+.BR /etc/netns/myvpn/resolv.conf.
+
+.B ip netns exec
+automates handling of this configuration, file convention for network
+namespace unaware applications, by creating a mount namespace and
+bind mounting all of the per network namespace configure files into
+their traditional location in /etc.
+
+.SS ip netns list - show all of the named network namespaces
+
+This command displays all of the network namespaces in /var/run/netns
+
+.SS ip netns add NAME - create a new named network namespace
+
+If NAME is available in /var/run/netns/ this command creates a new
+network namespace and assigns NAME.
+
+.SS ip netns delete NAME - delete the name of a network namespace
+
+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.
+
+.SS ip netns identify PID - Report network namespaces names for process
+
+This command walks through /var/run/netns and finds all the network
+namespace names for network namespace of the specified process.
+
+.SS ip netns pids NAME - Report processes in the named network namespace
+
+This command walks through proc and finds all of the process who have
+the named network namespace as their primary network namespace.
+
+.SS ip netns exec NAME cmd ... - Run cmd in the named network namespace
+
+This command allows applications that are network namespace unaware
+to be run in something other than the default network namespace with
+all of the configuration for the specified network namespace appearing
+in the customary global locations.  A network namespace and bind mounts
+are used to move files from their network namespace specific location
+to their default locations without affecting other processes.
+
+.SS ip netns monitor - Report as network namespace names are added and deleted
+
+This command watches network namespace name addition and deletion events
+and prints a line for each event it sees.
+
+.SH EXAMPLES
+.PP
+ip netns list
+.RS
+Shows the list of current named network namespaces
+.RE
+.PP
+ip netns add vpn
+.RS
+Creates a network namespace and names it vpn
+.RE
+.PP
+ip netns exec vpn ip link set lo up
+.RS
+Bring up the loopback interface in the vpn network namespace.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Eric W. Biederman
diff --git a/man/man8/ip.8 b/man/man8/ip.8
index 36431b6..a273b8e 100644
--- a/man/man8/ip.8
+++ b/man/man8/ip.8
@@ -167,7 +167,7 @@ tentative " | " deprecated " | " dadfailed " | " temporary " ]"
 .BR "ip addrlabel" " { " list " | " flush " }"
 
 .ti -8
-.BR "ip netns" " { " list " } "
+.BR "ip netns" " { " list " | " monitor " } "
 
 .ti -8
 .BR "ip netns" " { " add " | " delete " } "
-- 
1.8.4.5

