netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
	jamal <hadi@cyberus.ca>,
	Stephen Hemminger <shemminger@linux-foundation.org>,
	Ben Greear <greearb@candelatech.com>,
	Jeff Garzik <jeff@garzik.org>,
	YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>,
	Linux Containers <containers@lists.osdl.org>
Subject: Re: [RFD] L2 Network namespace infrastructure
Date: Sat, 23 Jun 2007 12:40:44 +0200	[thread overview]
Message-ID: <467CF8AC.80103@trash.net> (raw)
In-Reply-To: <m1tzszbwyb.fsf@ebiederm.dsl.xmission.com>

Eric W. Biederman wrote:
> -- The basic design
> 
> There will be a network namespace structure that holds the global
> variables for a network namespace, making those global variables
> per network namespace.
> 
> One of those per network namespace global variables will be the
> loopback device.  Which means the network namespace a packet resides
> in can be found simply by examining the network device or the socket
> the packet is traversing.
> 
> Either a pointer to this global structure will be passed into
> the functions that need to reference per network namespace variables
> or a structure that is already passed in (such as the network device)
> will be modified to contain a pointer to the network namespace
> structure.


I believe OpenVZ stores the current namespace somewhere global,
which avoids passing the namespace around. Couldn't you do this
as well?

> Depending upon the data structure it will either be modified to hold
> a per entry network namespace pointer or it there will be a separate
> copy per network namespace.  For large global data structures like
> the ipv4 routing cache hash table adding an additional pointer to the
> entries appears the more reasonable solution.


So the routing cache is shared between all namespaces?

> --- Performance
> 
> In initial measurements the only performance overhead we have been
> able to measure is getting the packet to the network namespace.
> Going through ethernet bridging or routing seems to trigger copies
> of the packet that slow things down.  When packets go directly to
> the network namespace no performance penalty has yet been measured.


It would be interesting to find out whats triggering these copies.
Do you have NAT enabled?

  parent reply	other threads:[~2007-06-23 10:40 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-22 19:39 [RFD] L2 Network namespace infrastructure Eric W. Biederman
2007-06-22 21:22 ` [PATCH] net: Basic network " Eric W. Biederman
2007-06-23 10:40 ` Patrick McHardy [this message]
2007-06-23 15:20   ` [RFD] L2 Network " Ben Greear
2007-06-23 17:26     ` Eric W. Biederman
2007-06-23 20:09       ` Ben Greear
2007-06-23 20:39         ` Eric W. Biederman
2007-06-23 20:44           ` Ben Greear
2007-06-23 17:26     ` Stephen Hemminger
2007-06-23 17:55       ` Eric W. Biederman
2007-06-23 20:03       ` Ben Greear
2007-06-27 14:41     ` [Devel] " Kirill Korotaev
2007-06-23 17:19   ` Eric W. Biederman
2007-06-23 18:00     ` Patrick McHardy
2007-06-23 19:08       ` Eric W. Biederman
2007-06-23 20:19     ` Carl-Daniel Hailfinger
2007-06-23 20:31       ` Eric W. Biederman
2007-06-23 20:57     ` David Miller
2007-06-23 21:22       ` Benny Amorsen
2007-06-24  5:39         ` David Miller
2007-06-23 21:41       ` Eric W. Biederman
2007-06-24  5:45         ` David Miller
2007-06-24 12:58           ` Eric W. Biederman
2007-06-25  2:39             ` David Miller
2007-06-26 15:32               ` Eric W. Biederman
2007-06-23 22:15       ` Jeff Garzik
2007-06-23 22:56         ` Eric W. Biederman
2007-06-24  1:28           ` Jeff Garzik
2007-06-25 15:23             ` Serge E. Hallyn
2007-06-27 15:38             ` [Devel] " Kirill Korotaev
2007-06-24  5:48           ` David Miller
2007-06-24 10:25             ` Benny Amorsen
2007-06-24 12:38             ` Eric W. Biederman
2007-06-25 15:11       ` Serge E. Hallyn
2007-06-28 14:53     ` Kirill Korotaev
2007-06-27 14:39   ` [Devel] " Kirill Korotaev
2007-06-27 14:45     ` Patrick McHardy
2007-06-27 14:56     ` Ben Greear
2007-06-28 13:12       ` Kirill Korotaev

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=467CF8AC.80103@trash.net \
    --to=kaber@trash.net \
    --cc=containers@lists.osdl.org \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=greearb@candelatech.com \
    --cc=hadi@cyberus.ca \
    --cc=jeff@garzik.org \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.org \
    --cc=yoshfuji@linux-ipv6.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).