summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/net_namespace.h
diff options
context:
space:
mode:
authorNicolas Dichtel2015-01-15 15:11:15 +0100
committerDavid S. Miller2015-01-19 20:21:18 +0100
commit0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218 (patch)
tree2c4ba6eda5392449a2c9019aafd061324e242dbc /include/uapi/linux/net_namespace.h
parentbridge: remove oflags from setlink/dellink. (diff)
downloadkernel-qcow2-linux-0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218.tar.gz
kernel-qcow2-linux-0c7aecd4bde4b7302cd41986d3a29e4f0b0ed218.tar.xz
kernel-qcow2-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/uapi/linux/net_namespace.h')
-rw-r--r--include/uapi/linux/net_namespace.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/uapi/linux/net_namespace.h b/include/uapi/linux/net_namespace.h
new file mode 100644
index 000000000000..778cd2c3ebf4
--- /dev/null
+++ b/include/uapi/linux/net_namespace.h
@@ -0,0 +1,23 @@
+/* Copyright (c) 2015 6WIND S.A.
+ * Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef _UAPI_LINUX_NET_NAMESPACE_H_
+#define _UAPI_LINUX_NET_NAMESPACE_H_
+
+/* Attributes of RTM_NEWNSID/RTM_GETNSID messages */
+enum {
+ NETNSA_NONE,
+#define NETNSA_NSID_NOT_ASSIGNED -1
+ NETNSA_NSID,
+ NETNSA_PID,
+ NETNSA_FD,
+ __NETNSA_MAX,
+};
+
+#define NETNSA_MAX (__NETNSA_MAX - 1)
+
+#endif /* _UAPI_LINUX_NET_NAMESPACE_H_ */