mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-10-19 07:04:29 +00:00
man ip-netns: Notice about loose device when do 'del'
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
This commit is contained in:
parent
8ce21c6b93
commit
ee9b34778c
@ -46,6 +46,9 @@ ip-netns \- process network namespace management
|
|||||||
A network namespace is logically another copy of the network stack,
|
A network namespace is logically another copy of the network stack,
|
||||||
with its own routes, firewall rules, and network devices.
|
with its own routes, firewall rules, and network devices.
|
||||||
|
|
||||||
|
By default process inherits network namespace from its parent. Initially all
|
||||||
|
the processes share the same default network namespace from the init process.
|
||||||
|
|
||||||
By convention a named network namespace is an object at
|
By convention a named network namespace is an object at
|
||||||
.BR "/var/run/netns/" NAME
|
.BR "/var/run/netns/" NAME
|
||||||
that can be opened. The file descriptor resulting from opening
|
that can be opened. The file descriptor resulting from opening
|
||||||
@ -88,14 +91,30 @@ network namespace and assigns NAME.
|
|||||||
.sp
|
.sp
|
||||||
If NAME is present in /var/run/netns it is umounted and the mount
|
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
|
point is removed. If this is the last user of the network namespace the
|
||||||
network namespace will be freed, otherwise the network namespace
|
network namespace will be freed and all physical devices will be moved to the
|
||||||
persists until it has no more users. ip netns delete may fail if
|
default one, otherwise the network namespace persists until it has no more
|
||||||
the mount point is in use in another mount namespace.
|
users. ip netns delete may fail if the mount point is in use in another mount
|
||||||
|
namespace.
|
||||||
|
|
||||||
If
|
If
|
||||||
.B -all
|
.B -all
|
||||||
option was specified then all the network namespace names will be removed.
|
option was specified then all the network namespace names will be removed.
|
||||||
|
|
||||||
|
It is possible to lose 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
|
.TP
|
||||||
.B ip netns set NAME NETNSID - assign an id to a peer network namespace
|
.B ip netns set NAME NETNSID - assign an id to a peer network namespace
|
||||||
.sp
|
.sp
|
||||||
|
Loading…
Reference in New Issue
Block a user