diff options
author | Philippe Guibert <philippe.guibert@6wind.com> | 2017-12-07 18:13:54 +0100 |
---|---|---|
committer | Philippe Guibert <philippe.guibert@6wind.com> | 2018-02-27 11:11:24 +0100 |
commit | 05895ad0be6c8fadcd895c3b1aa137b89791fbde (patch) | |
tree | e95a38dc4a41677efeed4a952c698e89a0cc27b3 /include | |
parent | lib: provide an API to switch from one netns to an other (diff) | |
download | frr-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.h | 23 | ||||
-rw-r--r-- | include/subdir.am | 1 |
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 |