Thread (13 messages) 13 messages, 4 authors, 2017-06-03

Re: loosing netdevices with namespaces and unshare?

From: Harald Welte <laforge@gnumonks.org>
Date: 2017-05-31 12:32:40

Hi Cong,

On Tue, May 30, 2017 at 04:18:17PM -0700, Cong Wang wrote:
On Tue, May 30, 2017 at 3:07 PM, Harald Welte [off-list ref] wrote:
quoted
But, to the contrary, this doesn't happen.  The unshare-created netns is
gone, but the netdevice did not get moved back to the root namespace
either.  The only hack to get back to the "eth0" device is to unload the
driver and re-load it.

Net namespace simply unregisters all netdevices inside when it is
gone, no matter where they are from. 
ah, ok. I missed that part.  Is there a good piece of documentation on
netwokr namespaces that I should read?
I am pretty sure you can move it back to root-ns if you want, 
Yes, I can explicitly do that, but this of course doesn't work if e.g.
my [single] process in that namespace crashes due to some bug, OOM or
the like.
it is a little tricky because you have to give the root-ns a name
first.
It's actually not, as you can just identify the root-ns by pid 1, so
"ip link set $DEV netns 1" will move it back.  As indicated, I'm worried
about the error paths.
quoted
What am I missing here?  Is this the intended behavior?
Yes it is.
thanks for your confirmation.  Guess I have to get used to it.
quoted
Of course I know I could simply do something like "ip link set eth0
netns 1" from within the namespace before leaving.  But what if the
process is not bash and the process exits abnormally?   I'd consider
that explicit reassignment more like a hack than a proper solution...
It doesn't make sense to move it back to where it is from, for example,
what if you move a veth0 from netns1 to netns2 and netns1 is gone
before netns2?
for virtual devices, I would agree.  For physical devices, I think the
default behavior to unregister them is - from my of course very
subjective point of view - quite questionable.

Regards,
	Harald
-- 
- Harald Welte [off-list ref]           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help