summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2017-12-07 18:13:54 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2018-02-27 11:11:24 +0100
commit05895ad0be6c8fadcd895c3b1aa137b89791fbde (patch)
treee95a38dc4a41677efeed4a952c698e89a0cc27b3 /include
parentlib: provide an API to switch from one netns to an other (diff)
downloadfrr-05895ad0be6c8fadcd895c3b1aa137b89791fbde.tar.xz
frr-05895ad0be6c8fadcd895c3b1aa137b89791fbde.zip
zebra: upon NS creation, collect the NSID via netlink
A NS identifier is collected by netlink. This identifier is a 32 bit identifier that is either generated by the kernel (if not set) or manually set by a set netlink command. The commit here is getting the NSID from the newly created NS. If the linux option to create or get a new NSID from the kernel does not exist, then the NSID is locally genrated. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/net_namespace.h23
-rw-r--r--include/subdir.am1
2 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/net_namespace.h b/include/linux/net_namespace.h
new file mode 100644
index 000000000..9a92b7e14
--- /dev/null
+++ b/include/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 _LINUX_NET_NAMESPACE_H_
+#define _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 /* _LINUX_NET_NAMESPACE_H_ */
diff --git a/include/subdir.am b/include/subdir.am
index 98bd14800..7a12b2ffa 100644
--- a/include/subdir.am
+++ b/include/subdir.am
@@ -6,4 +6,5 @@ noinst_HEADERS += \
include/linux/neighbour.h \
include/linux/rtnetlink.h \
include/linux/socket.h \
+ include/linux/net_namespace.h \
# end