netns: configurable number of initial network namespaces
PATCH 6/6 netns: configurable number of initial network namespaces
This allows the creation of more than one network namespace at boot time.
--- net/Kconfig | 7 +++++++ net/core/net_namespace.c | 19 ++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletions(-)
net/Kconfig +7 -0
@@ -32,6 +32,13 @@ config NET_NS Allow user space to create what appear to be multiple instances of the network stack. +config NET_NS_NR + int "Initial number of network namespaces" + default 1 + depends on NET_NS + help + Number of network stacks to create at start-up. + source "net/packet/Kconfig" source "net/unix/Kconfig" source "net/xfrm/Kconfig"
net/core/net_namespace.c +18 -1
@@ -297,8 +297,25 @@ static int __init net_ns_init(void)rtnl_unlock ();mutex_unlock (&net_mutex); + +#if defined(CONFIG_NET_NS ) &&CONFIG_NET_NS_NR >1 +/* Create additional initial namespaces */ + { +struct net *net; +int i; + +for (i =1 ; i <CONFIG_NET_NS_NR ; i++) { + net =copy_net_ns (CLONE_NEWNET , &init_net); +if (IS_ERR (net)) { + err =PTR_ERR (net); +break ; + } + } + } +#endif +if (err) -panic ("Could not setup the initial network namespace" ); +panic ("Could not setup the initial network namespace(s)" );return 0 ; }
Signature · 1 line
1.5.4.4