[NET]: Basic network namespace infrastructure.
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 12 Sep 2007 09:50:50 +0000 (11:50 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:49:03 +0000 (16:49 -0700)
commit5f256becd868bf63b70da8f2769033d6734670e9
tree0a3550303488e7740f349e7b5f7b296dfeb276ef
parent32da477a5bfe96b6dfc8960e0d22d89ca09fd10a
[NET]: Basic network namespace infrastructure.

This is the basic infrastructure needed to support network
namespaces.  This infrastructure is:
- Registration functions to support initializing per network
  namespace data when a network namespaces is created or destroyed.

- struct net.  The network namespace data structure.
  This structure will grow as variables are made per network
  namespace but this is the minimal starting point.

- Functions to grab a reference to the network namespace.
  I provide both get/put functions that keep a network namespace
  from being freed.  And hold/release functions serve as weak references
  and will warn if their count is not zero when the data structure
  is freed.  Useful for dealing with more complicated data structures
  like the ipv4 route cache.

- A list of all of the network namespaces so we can iterate over them.

- A slab for the network namespace data structure allowing leaks
  to be spotted.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/net_namespace.h [new file with mode: 0644]
net/core/Makefile
net/core/net_namespace.c [new file with mode: 0644]