diff options
Diffstat (limited to 'include/net/net_namespace.h')
-rw-r--r-- | include/net/net_namespace.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index fd87963a0ea..4faf6612eca 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <net/netns/packet.h> | 15 | #include <net/netns/packet.h> |
16 | #include <net/netns/ipv4.h> | 16 | #include <net/netns/ipv4.h> |
17 | #include <net/netns/ipv6.h> | 17 | #include <net/netns/ipv6.h> |
18 | #include <net/netns/sctp.h> | ||
18 | #include <net/netns/dccp.h> | 19 | #include <net/netns/dccp.h> |
19 | #include <net/netns/x_tables.h> | 20 | #include <net/netns/x_tables.h> |
20 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) | 21 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) |
@@ -66,6 +67,7 @@ struct net { | |||
66 | struct hlist_head *dev_name_head; | 67 | struct hlist_head *dev_name_head; |
67 | struct hlist_head *dev_index_head; | 68 | struct hlist_head *dev_index_head; |
68 | unsigned int dev_base_seq; /* protected by rtnl_mutex */ | 69 | unsigned int dev_base_seq; /* protected by rtnl_mutex */ |
70 | int ifindex; | ||
69 | 71 | ||
70 | /* core fib_rules */ | 72 | /* core fib_rules */ |
71 | struct list_head rules_ops; | 73 | struct list_head rules_ops; |
@@ -80,6 +82,9 @@ struct net { | |||
80 | #if IS_ENABLED(CONFIG_IPV6) | 82 | #if IS_ENABLED(CONFIG_IPV6) |
81 | struct netns_ipv6 ipv6; | 83 | struct netns_ipv6 ipv6; |
82 | #endif | 84 | #endif |
85 | #if defined(CONFIG_IP_SCTP) || defined(CONFIG_IP_SCTP_MODULE) | ||
86 | struct netns_sctp sctp; | ||
87 | #endif | ||
83 | #if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE) | 88 | #if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE) |
84 | struct netns_dccp dccp; | 89 | struct netns_dccp dccp; |
85 | #endif | 90 | #endif |
@@ -88,6 +93,9 @@ struct net { | |||
88 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) | 93 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) |
89 | struct netns_ct ct; | 94 | struct netns_ct ct; |
90 | #endif | 95 | #endif |
96 | #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) | ||
97 | struct netns_nf_frag nf_frag; | ||
98 | #endif | ||
91 | struct sock *nfnl; | 99 | struct sock *nfnl; |
92 | struct sock *nfnl_stash; | 100 | struct sock *nfnl_stash; |
93 | #endif | 101 | #endif |
@@ -105,6 +113,13 @@ struct net { | |||
105 | atomic_t rt_genid; | 113 | atomic_t rt_genid; |
106 | }; | 114 | }; |
107 | 115 | ||
116 | /* | ||
117 | * ifindex generation is per-net namespace, and loopback is | ||
118 | * always the 1st device in ns (see net_dev_init), thus any | ||
119 | * loopback device should get ifindex 1 | ||
120 | */ | ||
121 | |||
122 | #define LOOPBACK_IFINDEX 1 | ||
108 | 123 | ||
109 | #include <linux/seq_file_net.h> | 124 | #include <linux/seq_file_net.h> |
110 | 125 | ||