aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/net_namespace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/net_namespace.h')
-rw-r--r--include/net/net_namespace.h32
1 files changed, 18 insertions, 14 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 9d22f08896c6..da68c9a90ac5 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -22,6 +22,7 @@
22#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 22#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
23#include <net/netns/conntrack.h> 23#include <net/netns/conntrack.h>
24#endif 24#endif
25#include <net/netns/nftables.h>
25#include <net/netns/xfrm.h> 26#include <net/netns/xfrm.h>
26 27
27struct user_namespace; 28struct user_namespace;
@@ -101,6 +102,9 @@ struct net {
101#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 102#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
102 struct netns_ct ct; 103 struct netns_ct ct;
103#endif 104#endif
105#if defined(CONFIG_NF_TABLES) || defined(CONFIG_NF_TABLES_MODULE)
106 struct netns_nftables nft;
107#endif
104#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) 108#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
105 struct netns_nf_frag nf_frag; 109 struct netns_nf_frag nf_frag;
106#endif 110#endif
@@ -137,8 +141,8 @@ struct net {
137extern struct net init_net; 141extern struct net init_net;
138 142
139#ifdef CONFIG_NET_NS 143#ifdef CONFIG_NET_NS
140extern struct net *copy_net_ns(unsigned long flags, 144struct net *copy_net_ns(unsigned long flags, struct user_namespace *user_ns,
141 struct user_namespace *user_ns, struct net *old_net); 145 struct net *old_net);
142 146
143#else /* CONFIG_NET_NS */ 147#else /* CONFIG_NET_NS */
144#include <linux/sched.h> 148#include <linux/sched.h>
@@ -155,11 +159,11 @@ static inline struct net *copy_net_ns(unsigned long flags,
155 159
156extern struct list_head net_namespace_list; 160extern struct list_head net_namespace_list;
157 161
158extern struct net *get_net_ns_by_pid(pid_t pid); 162struct net *get_net_ns_by_pid(pid_t pid);
159extern struct net *get_net_ns_by_fd(int pid); 163struct net *get_net_ns_by_fd(int pid);
160 164
161#ifdef CONFIG_NET_NS 165#ifdef CONFIG_NET_NS
162extern void __put_net(struct net *net); 166void __put_net(struct net *net);
163 167
164static inline struct net *get_net(struct net *net) 168static inline struct net *get_net(struct net *net)
165{ 169{
@@ -191,7 +195,7 @@ int net_eq(const struct net *net1, const struct net *net2)
191 return net1 == net2; 195 return net1 == net2;
192} 196}
193 197
194extern void net_drop_ns(void *); 198void net_drop_ns(void *);
195 199
196#else 200#else
197 201
@@ -308,19 +312,19 @@ struct pernet_operations {
308 * device which caused kernel oops, and panics during network 312 * device which caused kernel oops, and panics during network
309 * namespace cleanup. So please don't get this wrong. 313 * namespace cleanup. So please don't get this wrong.
310 */ 314 */
311extern int register_pernet_subsys(struct pernet_operations *); 315int register_pernet_subsys(struct pernet_operations *);
312extern void unregister_pernet_subsys(struct pernet_operations *); 316void unregister_pernet_subsys(struct pernet_operations *);
313extern int register_pernet_device(struct pernet_operations *); 317int register_pernet_device(struct pernet_operations *);
314extern void unregister_pernet_device(struct pernet_operations *); 318void unregister_pernet_device(struct pernet_operations *);
315 319
316struct ctl_table; 320struct ctl_table;
317struct ctl_table_header; 321struct ctl_table_header;
318 322
319#ifdef CONFIG_SYSCTL 323#ifdef CONFIG_SYSCTL
320extern int net_sysctl_init(void); 324int net_sysctl_init(void);
321extern struct ctl_table_header *register_net_sysctl(struct net *net, 325struct ctl_table_header *register_net_sysctl(struct net *net, const char *path,
322 const char *path, struct ctl_table *table); 326 struct ctl_table *table);
323extern void unregister_net_sysctl_table(struct ctl_table_header *header); 327void unregister_net_sysctl_table(struct ctl_table_header *header);
324#else 328#else
325static inline int net_sysctl_init(void) { return 0; } 329static inline int net_sysctl_init(void) { return 0; }
326static inline struct ctl_table_header *register_net_sysctl(struct net *net, 330static inline struct ctl_table_header *register_net_sysctl(struct net *net,