Re: [RFC PATCH net-next v2 0/5] netns: allow to identify peer netns

2 messages, 2 authors, 2014-09-26 · open the first message on its own page

Re: [RFC PATCH net-next v2 0/5] netns: allow to identify peer netns

From: Eric W. Biederman <hidden>
Date: 2014-09-26 20:45:55

David Ahern [off-list ref] writes:
On 9/26/14, 1:34 PM, Eric W. Biederman wrote:
quoted
When I wrote the "ip netns" support I never expected that all
applications would want to run in a specific network namespace.  All
that is needed is one socket per network namespace.
Sure that is another option. But for a process to create a socket or
thread in a second namespace it has to run as root -- CAP_SYS_ADMIN is
needed for setns (or perhaps there is another way to create the socket
or thread in the namespace).
To do anything other than simply listen on a netlink socket you also
have to be root.  So this is most cases that I am aware of this is a
don't care.  Especially for routing daemons.

If it becomes a common pain in writing network namespace aware
applications that the you have to be root just to open your listening
socket then that probably would be sufficient justification for the
socketat system call that I have I prototyped and then never did
anything with because at the time it was insufficiently interesting.
Second, it still does not address the scalability problem. For example
a single daemon providing service across 2k namespaces means it needs
2k listen sockets. From there a system could have 20, 30 or 50
services running. Certainly lighter than a process per namespace, but
not even close to ideal when talking about something like VRFs.
Ah.  You are talking about a system with 2k namespaces and 20-50
services providing services in all 2k namespaces. Something completely
different than the case of quagga you mentioned earlier.

I expect quagga would need one netlink control socket and one socket
listening to netlink events, and a tcp connection or two to remote bgp
servers in each network namespace.  In that case I don't see anything
except a small constant difference in ways it can be handled.

For your new example of a crazy number of servers running on a box each
of which is had one listening socket in each network namespace maybe
they will be idle most of the time in most network namespaces and the
overhead will be significant.  Shrug those applications don't appear to
exist so I can't say what would make a good design.

If someone writes them and describes what is going on we can see if the
current set of interfaces is ideal or problematics.  If there are
signifcantly better interfaces that can be provided in a maintainable
way I imagine the patches would be easily accepted.

But again this has nothing do with the peer netns work.  So if you have
something practical to contribute please start a new thread.

Eric

Re: [RFC PATCH net-next v2 0/5] netns: allow to identify peer netns

From: David Ahern <hidden>
Date: 2014-09-26 20:56:24

On 9/26/14, 2:45 PM, Eric W. Biederman wrote:
Ah.  You are talking about a system with 2k namespaces and 20-50
services providing services in all 2k namespaces. Something completely
different than the case of quagga you mentioned earlier.
Not at all. The earlier quagga example was a starting point on the 
bigger topic -- inefficiencies of namespaces as VRFs. In all of the 
products I have worked on there is always more than 1 service running on 
the system.
But again this has nothing do with the peer netns work.  So if you have
something practical to contribute please start a new thread.
Sure, I'll start a new thread.

Thanks,
David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help