kernel-ark/net
Eric W. Biederman ce286d3273 [NET]: Implement network device movement between namespaces
This patch introduces NETIF_F_NETNS_LOCAL a flag to indicate
a network device is local to a single network namespace and
should never be moved.  Useful for pseudo devices that we
need an instance in each network namespace (like the loopback
device) and for any device we find that cannot handle multiple
network namespaces so we may trap them in the initial network
namespace.

This patch introduces the function dev_change_net_namespace
a function used to move a network device from one network
namespace to another.  To the network device nothing
special appears to happen, to the components of the network
stack it appears as if the network device was unregistered
in the network namespace it is in, and a new device
was registered in the network namespace the device
was moved to.

This patch sets up a namespace device destructor that
upon the exit of a network namespace moves all of the
movable network devices  to the initial network namespace
so they are not lost.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 16:49:12 -07:00
..
9p 9p: fix bad error path in conversion routines 2007-08-23 10:25:05 -05:00
802 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
8021q [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
appletalk [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
atm [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
ax25 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
bluetooth [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
bridge [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
core [NET]: Implement network device movement between namespaces 2007-10-10 16:49:12 -07:00
dccp [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
decnet [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
econet [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
ethernet [NET] ethernet: optimize memcpy and memset 2007-10-10 16:48:26 -07:00
ieee80211 [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
ipv4 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
ipv6 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
ipx [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
irda [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
iucv [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
key [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
lapb [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
llc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
mac80211 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
netfilter [NET]: Support multiple network namespaces with netlink 2007-10-10 16:49:09 -07:00
netlabel [NetLabel]: add missing rcu_dereference() calls in the LSM domain mapping hash table 2007-08-07 17:53:10 -07:00
netlink [NET]: Support multiple network namespaces with netlink 2007-10-10 16:49:09 -07:00
netrom [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
packet [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
rfkill [NET] RFKILL: Fix whitespace errors. 2007-07-19 10:44:38 +09:00
rose [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
rxrpc [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
sched [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
sctp [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
sunrpc [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
tipc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
unix [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
wanrouter [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
wireless [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
x25 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
xfrm [NET]: Support multiple network namespaces with netlink 2007-10-10 16:49:09 -07:00
compat.c O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
Kconfig 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
Makefile 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
nonet.c
socket.c [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
sysctl_net.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
TUNABLE