diff options
Diffstat (limited to 'include/net/net_namespace.h')
| -rw-r--r-- | include/net/net_namespace.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index a1202841aadd..f307e133d14c 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
| @@ -28,6 +28,10 @@ struct ctl_table_header; | |||
| 28 | struct net_generic; | 28 | struct net_generic; |
| 29 | struct sock; | 29 | struct sock; |
| 30 | 30 | ||
| 31 | |||
| 32 | #define NETDEV_HASHBITS 8 | ||
| 33 | #define NETDEV_HASHENTRIES (1 << NETDEV_HASHBITS) | ||
| 34 | |||
| 31 | struct net { | 35 | struct net { |
| 32 | atomic_t count; /* To decided when the network | 36 | atomic_t count; /* To decided when the network |
| 33 | * namespace should be freed. | 37 | * namespace should be freed. |
| @@ -38,7 +42,8 @@ struct net { | |||
| 38 | */ | 42 | */ |
| 39 | #endif | 43 | #endif |
| 40 | struct list_head list; /* list of network namespaces */ | 44 | struct list_head list; /* list of network namespaces */ |
| 41 | struct work_struct work; /* work struct for freeing */ | 45 | struct list_head cleanup_list; /* namespaces on death row */ |
| 46 | struct list_head exit_list; /* Use only net_mutex */ | ||
| 42 | 47 | ||
| 43 | struct proc_dir_entry *proc_net; | 48 | struct proc_dir_entry *proc_net; |
| 44 | struct proc_dir_entry *proc_net_stat; | 49 | struct proc_dir_entry *proc_net_stat; |
| @@ -80,7 +85,7 @@ struct net { | |||
| 80 | #ifdef CONFIG_XFRM | 85 | #ifdef CONFIG_XFRM |
| 81 | struct netns_xfrm xfrm; | 86 | struct netns_xfrm xfrm; |
| 82 | #endif | 87 | #endif |
| 83 | #ifdef CONFIG_WIRELESS_EXT | 88 | #ifdef CONFIG_WEXT_CORE |
| 84 | struct sk_buff_head wext_nlevents; | 89 | struct sk_buff_head wext_nlevents; |
| 85 | #endif | 90 | #endif |
| 86 | struct net_generic *gen; | 91 | struct net_generic *gen; |
| @@ -232,6 +237,9 @@ struct pernet_operations { | |||
| 232 | struct list_head list; | 237 | struct list_head list; |
| 233 | int (*init)(struct net *net); | 238 | int (*init)(struct net *net); |
| 234 | void (*exit)(struct net *net); | 239 | void (*exit)(struct net *net); |
| 240 | void (*exit_batch)(struct list_head *net_exit_list); | ||
| 241 | int *id; | ||
| 242 | size_t size; | ||
| 235 | }; | 243 | }; |
| 236 | 244 | ||
| 237 | /* | 245 | /* |
| @@ -255,12 +263,8 @@ struct pernet_operations { | |||
| 255 | */ | 263 | */ |
| 256 | extern int register_pernet_subsys(struct pernet_operations *); | 264 | extern int register_pernet_subsys(struct pernet_operations *); |
| 257 | extern void unregister_pernet_subsys(struct pernet_operations *); | 265 | extern void unregister_pernet_subsys(struct pernet_operations *); |
| 258 | extern int register_pernet_gen_subsys(int *id, struct pernet_operations *); | ||
| 259 | extern void unregister_pernet_gen_subsys(int id, struct pernet_operations *); | ||
| 260 | extern int register_pernet_device(struct pernet_operations *); | 266 | extern int register_pernet_device(struct pernet_operations *); |
| 261 | extern void unregister_pernet_device(struct pernet_operations *); | 267 | extern void unregister_pernet_device(struct pernet_operations *); |
| 262 | extern int register_pernet_gen_device(int *id, struct pernet_operations *); | ||
| 263 | extern void unregister_pernet_gen_device(int id, struct pernet_operations *); | ||
| 264 | 268 | ||
| 265 | struct ctl_path; | 269 | struct ctl_path; |
| 266 | struct ctl_table; | 270 | struct ctl_table; |
