From: kernelnewbies-bounces@kernelnewbies.org [mailto:kernelnewbies-bounces@kernelnewbies.org] On Behalf Of Bruno Ferreira
Sent: Wednesday, April 22, 2015 11:39 AM
To: kernelnewbies@kernelnewbies.org
Subject: Basic question about namespaces

 

Hi,

I'm  new in kernel programming..

 

I'm reading the chapter about namespaces in  the "Linux Kernel Networking" (Rami Rosen), but I could not find a way to create a network namespace. I understand that I should use methods like create_nsproxy(), copy_net_ns() and create_new_namespaces(), but I don't know how to set their parameters.

For example, the method copy_net_ns(unsigned long flags, struct user_namespace *user_ns, struct net *old_net), defined in net_namespace.h.

I know that for flags, a may use CLONE_NEWNET, but what about the other parameters, user_ns and old_net?

 

There is a good documentation (with examples) about this? Unfortunately the book wasn't detailed enough.

 

I appreciate any help.


--

Bruno A. C. Ferreira

If I was you I’d take a look at the code that implements the clone() system call and see what it does when the CLONE_NEWNET bit is set in the flags.

Jeff Haran