aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2007-09-27 01:10:56 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:49 -0400
commit2774c7aba6c97a2535be3309a2209770953780b3 (patch)
tree9327c795707f6d723c6395c31e1c060e70b5e0db /include
parent0cc217e16cb8ca8ef2544363571fce94259900e0 (diff)
[NET]: Make the loopback device per network namespace.
This patch makes loopback_dev per network namespace. Adding code to create a different loopback device for each network namespace and adding the code to free a loopback device when a network namespace exits. This patch modifies all users the loopback_dev so they access it as init_net.loopback_dev, keeping all of the code compiling and working. A later pass will be needed to update the users to use something other than the initial network namespace. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--include/net/net_namespace.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 2088097663b5..71cf409ad17e 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -742,7 +742,6 @@ struct packet_type {
742#include <linux/interrupt.h> 742#include <linux/interrupt.h>
743#include <linux/notifier.h> 743#include <linux/notifier.h>
744 744
745extern struct net_device *loopback_dev; /* The loopback */
746extern rwlock_t dev_base_lock; /* Device list lock */ 745extern rwlock_t dev_base_lock; /* Device list lock */
747 746
748 747
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 3ea4194613ed..13b0e3b547f0 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -9,6 +9,7 @@
9#include <linux/list.h> 9#include <linux/list.h>
10 10
11struct proc_dir_entry; 11struct proc_dir_entry;
12struct net_device;
12struct net { 13struct net {
13 atomic_t count; /* To decided when the network 14 atomic_t count; /* To decided when the network
14 * namespace should be freed. 15 * namespace should be freed.
@@ -23,6 +24,8 @@ struct net {
23 struct proc_dir_entry *proc_net_stat; 24 struct proc_dir_entry *proc_net_stat;
24 struct proc_dir_entry *proc_net_root; 25 struct proc_dir_entry *proc_net_root;
25 26
27 struct net_device *loopback_dev; /* The loopback */
28
26 struct list_head dev_base_head; 29 struct list_head dev_base_head;
27 struct hlist_head *dev_name_head; 30 struct hlist_head *dev_name_head;
28 struct hlist_head *dev_index_head; 31 struct hlist_head *dev_index_head;