diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2015-01-15 15:11:15 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-19 20:21:18 +0100 |
commit | 0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218 (patch) | |
tree | 2c4ba6eda5392449a2c9019aafd061324e242dbc /include/net | |
parent | bridge: remove oflags from setlink/dellink. (diff) | |
download | linux-0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218.tar.xz linux-0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218.zip |
netns: add rtnl cmd to add and get peer netns ids
With this patch, a user can define an id for a peer netns by providing a FD or a
PID. These ids are local to the netns where it is added (ie valid only into this
netns).
The main function (ie the one exported to other module), peernet2id(), allows to
get the id of a peer netns. If no id has been assigned by the user, this
function allocates one.
These ids will be used in netlink messages to point to a peer netns, for example
in case of a x-netns interface.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/net_namespace.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 2e8756b8c775..36faf4990c4b 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h @@ -60,6 +60,7 @@ struct net { struct list_head exit_list; /* Use only net_mutex */ struct user_namespace *user_ns; /* Owning user namespace */ + struct idr netns_ids; struct ns_common ns; @@ -290,6 +291,9 @@ static inline struct net *read_pnet(struct net * const *pnet) #define __net_initconst __initconst #endif +int peernet2id(struct net *net, struct net *peer); +struct net *get_net_ns_by_id(struct net *net, int id); + struct pernet_operations { struct list_head list; int (*init)(struct net *net); |