NetworkManager/src
Thomas Haller c7b3862503 platform: add network namespace support to platform
Add a new NMPNetns class. This allows creation, deletion and
switching of network namespaces. The API only offers push/pop
operations to switch the namespace. This way the API enforces
the user to always restore the previous namespace.

A NMPlatform instance not only uses the netlink socket, but also
sysfs, udev, ethtool, mii. Still, a NMPlatform instance lives
entirely inside one namespace and is not spanning multiple namespaces.
To properly support network namespaces, the platform instance must
switch the namespace as necessary, transparent to the caller.
Udev is only supported in the main namespace.

For now, network namespaces are not actually used and are disabled
via the NM_PLATFORM_NETNS_SUPPORT argument.

https://bugzilla.gnome.org/show_bug.cgi?id=762408
2016-03-07 12:28:13 +01:00
..
devices platform: add and use nm_utils_ifname_cpy() helper 2016-03-07 11:36:57 +01:00
dhcp-manager dhcp: client: use logging helpers 2016-03-04 11:59:37 +01:00
dns-manager all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
dnsmasq-manager dnsmasq-manager: use logging helpers 2016-03-04 11:55:41 +01:00
platform platform: add network namespace support to platform 2016-03-07 12:28:13 +01:00
ppp-manager ppp-manager: use logging helpers 2016-03-04 11:55:41 +01:00
rdisc all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
settings test: add missing test file to distribution 2016-03-04 20:41:23 +01:00
supplicant-manager supplicant: use logging helpers 2016-03-04 11:53:05 +01:00
systemd systemd: don't include "nm-sd-adapt.h" in systemd header files 2016-02-29 14:08:00 +01:00
tests route-manager/tests: add assertion for adding route 2016-03-04 08:59:36 +01:00
vpn-manager all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
main-utils.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
main-utils.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
main.c all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
Makefile.am platform: add network namespace support to platform 2016-03-07 12:28:13 +01:00
NetworkManagerUtils.c core: split "nm-core-utils.h" out of "NetworkManagerUtils.h" 2016-03-01 12:42:42 +01:00
NetworkManagerUtils.h core: split "nm-core-utils.h" out of "NetworkManagerUtils.h" 2016-03-01 12:42:42 +01:00
nm-activation-request.c all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
nm-activation-request.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-active-connection.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-active-connection.h core: add version-id to NMActiveConnection 2016-02-16 11:24:49 +01:00
nm-audit-manager.c audit: use logging helpers 2016-03-04 11:55:41 +01:00
nm-audit-manager.h device: refactor reapply_connection() 2016-01-10 23:14:29 +01:00
nm-auth-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-auth-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-auth-subject.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-auth-subject.h all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-auth-utils.c all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
nm-auth-utils.h manager: export DNS global configuration D-Bus property 2015-10-01 09:05:08 +02:00
nm-bus-manager.c bus-manager: avoid leaking responses for sync bus calls 2016-03-04 19:08:25 +01:00
nm-bus-manager.h all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-config-data.c libnm,core: fix syntax of 'transfer' annotation 2016-02-24 17:23:01 +01:00
nm-config-data.h main: add argument --print-config to NetworkManager 2015-11-22 13:40:32 +01:00
nm-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-config.h config: implement nm_config_change_flags_to_string() via NM_UTILS_FLAGS2STR_DEFINE() 2016-01-19 11:14:51 +01:00
nm-connection-provider.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-connection-provider.h core: fix interface type names 2015-09-10 13:43:47 -04:00
nm-connectivity.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-connectivity.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-core-utils.c core: move simple utils function from "nm-platform-utils.h" 2016-03-07 11:49:52 +01:00
nm-core-utils.h core: move simple utils function from "nm-platform-utils.h" 2016-03-07 11:49:52 +01:00
nm-dcb.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dcb.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-default-route-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-default-route-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-dhcp4-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp4-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dhcp6-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp6-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dispatcher.c dispatcher: use logging helpers 2016-03-04 11:48:04 +01:00
nm-dispatcher.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-exported-object.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-exported-object.h exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-firewall-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-firewall-manager.h firewall: always take a reference to NMFirewallManager during asynchronous operations 2015-09-25 10:34:03 +02:00
nm-iface-helper.c iface-helper: fix RA processing with more than one router 2016-03-03 16:00:56 +01:00
nm-ip4-config.c core: move simple utils function from "nm-platform-utils.h" 2016-03-07 11:49:52 +01:00
nm-ip4-config.h device: expose NMIP4Config:addresses in stable/defined sort order 2016-02-18 21:53:03 +01:00
nm-ip6-config.c platform/trivial: rename NMPlatformIP6Address's "flags" field to "n_ifa_flags" 2016-02-29 16:27:08 +01:00
nm-ip6-config.h device: move have_ip6_address() to nm_ip6_config_get_address_first_nontentative() 2016-02-02 11:43:57 +01:00
nm-logging.c logging: print timestamp only with msec precision 2016-03-01 15:22:59 +01:00
nm-logging.h device: improve logging messages 2016-03-04 11:48:04 +01:00
nm-manager.c all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
nm-manager.h manager: export nm_manager_get_connection_iface() 2016-02-17 18:43:44 +01:00
nm-multi-index.c libnm,core: fix syntax of 'transfer' annotation 2016-02-24 17:23:01 +01:00
nm-multi-index.h core: optimize NMMultiIndex by special caseing ids with one value only 2015-12-17 18:42:54 +01:00
nm-policy.c policy: move code from set_system_hostname() to _set_hostname() 2016-03-04 14:27:09 +01:00
nm-policy.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-rfkill-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-rfkill-manager.h core: skip generating gtype for rfkill enums 2015-08-19 13:49:33 +02:00
nm-route-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-route-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-session-monitor.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-session-monitor.h session-monitor: explicitly use singleton instance 2015-08-13 10:06:42 +02:00
nm-sleep-monitor-systemd.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-sleep-monitor-upower.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-sleep-monitor.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-types.h platform: add network namespace support to platform 2016-03-07 12:28:13 +01:00
org.freedesktop.NetworkManager.conf libnm: avoid loosing signals 2015-12-01 14:51:13 +01:00