tipc: make tipc socket support net namespace

Now tipc socket table is statically allocated as a global variable.
Through it, we can look up one socket instance with port ID, insert
a new socket instance to the table, and delete a socket from the
table. But when tipc supports net namespace, each namespace must own
its specific socket table. So the global variable of socket table
must be redefined in tipc_net structure. As a concequence, a new
socket table will be allocated when a new namespace is created, and
a socket table will be deallocated when namespace is destroyed.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Tested-by: Tero Aho <Tero.Aho@coriant.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ying Xue 2015-01-09 15:27:08 +08:00 committed by David S. Miller
parent 1da465683a
commit e05b31f4bf
6 changed files with 43 additions and 33 deletions

View file

@ -117,7 +117,7 @@ int tipc_net_start(struct net *net, u32 addr)
tipc_own_addr = addr;
tipc_named_reinit();
tipc_sk_reinit();
tipc_sk_reinit(net);
res = tipc_bclink_init(net);
if (res)
return res;