linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vivien Chappelier <vivien.chappelier-L+G57L1VLRbR7s880joybQ@public.gmane.org>
To: Daniel Lezcano <dlezcano-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	Cedric Le Goater <clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Subrata Modak
	<subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org
Subject: Re: [patch 1/2][RFC] add socketat syscall
Date: Wed, 12 Nov 2008 11:33:54 +0100	[thread overview]
Message-ID: <491AB112.1030806@thomson.net> (raw)
In-Reply-To: <49143594.8030109-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>

Hi,

   The socketat() option is fine but only solves half of the problem. I 
also need to be able to change the default namespace of a process to 
join an existing network namespace.

   My use case is the following (embedded router): I have two separate 
networks, one with internet access running standard applications and 
routing LAN traffic, one with access to the operator network only and 
running dedicated applications such as software upgrade or telephony 
software. These two networks have to be totally separate and I need the 
ability to run applications and open sockets in any of these networks or 
even both. With the current proposal, I could have init or some 
additional daemon create the two namespaces and ask it to fork and exec 
the applications I want to run so that it can give the open socket to 
its child. However this solution is not very practical nor elegant 
compared to the chvrf approach.

   The fs solution proposed by Eric to name, create, and remove network 
namespaces is fine. IMHO using the filesystem to create sockets would be 
a bad option as the filename would need to be parsed for every protocol 
etc.. So combining the filesystem idea with the socketat() syscall is a 
good way of solving both issues. In this case, each namespace would be 
represented with a single file and we could also give the fd obtained by 
opening this file as the socketat() argument. I also prefer extending 
socket() as was suggested previously rather than adding a new syscall, 
but this is up to the syscall API maintainers to decide.

regards,
Vivien.

  parent reply	other threads:[~2008-11-12 10:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20081031215602.655672481@fr.ibm.com>
     [not found] ` <20081031215900.810348746@fr.ibm.com>
     [not found]   ` <20081031215900.810348746-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-11-06 13:22     ` [patch 1/2][RFC] add socketat syscall Michael Kerrisk
     [not found]       ` <517f3f820811060522i7b3518aen47907a34b38adee9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-11-06 13:27         ` Daniel Lezcano
2008-11-06 15:46         ` Michael Kerrisk
     [not found]           ` <cfd18e0f0811060746l77fbe6fel83402ba543fccb38-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-11-06 16:18             ` Daniel Lezcano
     [not found]               ` <491318DC.4000300-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-11-07  9:45                 ` Subrata Modak
2008-11-07 12:19                 ` Cedric Le Goater
     [not found]                   ` <49143263.1040604-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-11-07 12:33                     ` Daniel Lezcano
     [not found]                       ` <49143594.8030109-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-11-07 16:09                         ` Eric W. Biederman
2008-11-12 10:33                         ` Vivien Chappelier [this message]
     [not found]                           ` <491AB112.1030806-L+G57L1VLRbR7s880joybQ@public.gmane.org>
2008-11-12 15:24                             ` Eric W. Biederman
     [not found]                               ` <m1vdutotky.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-11-12 15:59                                 ` Vivien Chappelier

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=491AB112.1030806@thomson.net \
    --to=vivien.chappelier-l+g57l1vlrbr7s880joybq@public.gmane.org \
    --cc=clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=dlezcano-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).