mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-06 06:21:31 +00:00
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:
parent
1da465683a
commit
e05b31f4bf
6 changed files with 43 additions and 33 deletions
|
@ -58,6 +58,7 @@
|
|||
#include <linux/rtnetlink.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <net/netns/generic.h>
|
||||
#include <linux/rhashtable.h>
|
||||
|
||||
#include "node.h"
|
||||
#include "bearer.h"
|
||||
|
@ -101,6 +102,9 @@ struct tipc_net {
|
|||
struct tipc_bcbearer *bcbearer;
|
||||
struct tipc_bclink *bclink;
|
||||
struct tipc_link *bcl;
|
||||
|
||||
/* Socket hash table */
|
||||
struct rhashtable sk_rht;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue