NetworkManager/src
Thomas Haller 4c2410bc92 platform: extend NMIPConfigSource to preserve the rtm_protocol field
For addresses (NMPlatformIPAddress) the @addr_source field is ignored
on a platform level. That is, all addresses inside the platform cache
have this value set to NM_IP_CONFIG_SOURCE_KERNEL. Maybe, for that reason,
the source should not be a part of the NMPlatformIPAddress structure, but
it is convenient for users to piggy back the source inside the platform
address structure.

For routes, the source is stored in NMPlatformIPRoute's @rt_source
field. When adding a route to kernel, we set the @rtm_protocol of the
route depending on the source. However, we want to map different source
values to the same protocol value.

On the other hand, when kernel sends us a route that gets put inside
the cache, we must preserve the protocol value and must not map
different protocol values to the same source.
The reason is, that a user can add two routes that only differ by
@rtm_protocol. In that sense, the @rtm_protocol fields is part of the
unique ID of a kernel route, and thus different values must map to
different sources.

Fix this, by extending the range of NMIPConfigSource to contain
a range of protocol fields.
2016-04-28 12:53:21 +02:00
..
devices core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
dhcp-manager core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
dns-manager dns: add new rc-manager=unmanaged 2016-04-26 13:58:28 +02:00
dnsmasq-manager platform: change @plen field of NMPlatformIPxAddress to type guint8 2016-04-11 11:26:36 +02:00
platform platform: extend NMIPConfigSource to preserve the rtm_protocol field 2016-04-28 12:53:21 +02:00
ppp-manager core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
rdisc build: disable deprecation checks for internal compilation 2016-04-05 22:22:58 +02:00
settings ifcfg-rh: emit a warning when DEFROUTE=no and GATEWAY is set 2016-04-27 17:15:49 +02:00
supplicant-manager build: disable deprecation checks for internal compilation 2016-04-05 22:22:58 +02:00
systemd merge: merge branch 'systemd' into master 2016-04-19 13:08:13 +02:00
tests platform: extend NMIPConfigSource to preserve the rtm_protocol field 2016-04-28 12:53:21 +02:00
vpn-manager core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
main-utils.c main: create parent directories of NMSTATEDIR with permissions 755 2016-03-21 13:31:40 +01:00
main-utils.h main: create parent directories of NMSTATEDIR with permissions 755 2016-03-21 13:31:40 +01:00
main.c core: rename nm_config_run_state* to nm_config_state* 2016-04-07 18:52:12 +02:00
Makefile.am core: add nm_utils_machine_id_read() and parse() util 2016-04-26 12:48:27 +02:00
NetworkManager.ver build: hide internal symbols in NetworkManager binary 2016-03-08 17:45:50 +01:00
NetworkManagerUtils.c utils: inject platform into nm_utils_complete_generic() 2016-03-15 12:56:58 +01:00
NetworkManagerUtils.h utils: inject platform into nm_utils_complete_generic() 2016-03-15 12:56:58 +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 active-connection: update D-Bus properties of active-connection when settings-connection changes 2016-04-14 12:25:41 +02:00
nm-active-connection.h active-connection: add parent active connection tracking 2016-03-26 11:31:18 +01:00
nm-audit-manager.c audit: log changed properties when updating a connection 2016-04-20 17:31:01 +02:00
nm-audit-manager.h audit: log changed properties when updating a connection 2016-04-20 17:31:01 +02:00
nm-auth-manager.c auth: downgrade g_assert() to nm_assert() 2016-04-05 10:39:20 +02: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 auth: allow failures to read process start_time from /proc/$PID/stat with hidepid 2016-04-22 14:41:13 +02: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 shared: move nm_utils_ascii_str_to_bool() to shared/nm-shared-utils.h 2016-04-19 13:47:41 +02:00
nm-config.h core: rename nm_config_run_state* to nm_config_state* 2016-04-07 18:52:12 +02:00
nm-connection-provider.c settings: drop signal slots from NMSettings 2016-04-14 12:17:35 +02:00
nm-connection-provider.h settings: drop signal slots from NMSettings 2016-04-14 12:17:35 +02: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: add nm_utils_ipx_address_clear_host_address() util 2016-04-28 12:53:21 +02:00
nm-core-utils.h core: add nm_utils_ipx_address_clear_host_address() util 2016-04-28 12:53:21 +02: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 core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-default-route-manager.h default-route-manager: make NMDefaultRouteManager namespace aware 2016-03-15 12:56:58 +01: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 exported-object: reorder includes 2016-04-01 08:58:19 +02:00
nm-exported-object.h exported-object: refactor list of interfaces from GSList to an array 2016-04-01 08:58:18 +02:00
nm-firewall-manager.c core: use defines for signal names in NMDnsManager and NMFirewallManager 2016-04-04 16:48:10 +02:00
nm-firewall-manager.h core: use defines for signal names in NMDnsManager and NMFirewallManager 2016-04-04 16:48:10 +02:00
nm-iface-helper.c core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-ip4-config.c core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-ip4-config.h platform: change @plen field of NMPlatformIPxRoute to type guint8 2016-04-11 11:26:36 +02:00
nm-ip6-config.c core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-ip6-config.h platform: change @plen field of NMPlatformIPxRoute to type guint8 2016-04-11 11:26:36 +02:00
nm-logging.c logging: add new logging domain "SYSTEMD" for internal systemd logging 2016-03-17 15:00:48 +01:00
nm-logging.h logging: add new logging domain "SYSTEMD" for internal systemd logging 2016-03-17 15:00:48 +01:00
nm-manager.c manager: use _LOGx() macros in nm-manager 2016-04-27 18:29:51 +02:00
nm-manager.h config: let NMConfig handle "NetworkManager.state" file (bgo#764474) 2016-04-07 10:15:01 +02: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 settings: merge "connection-updated" and "connection-updated-by-user" signals 2016-04-14 12:25:41 +02:00
nm-policy.h policy: embed pointer to private data into NMPolicy 2016-04-04 15:47:22 +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 core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-route-manager.h route-manager: make NMRouteManager namespace aware 2016-03-15 12:56:58 +01:00
nm-session-monitor.c session-monitor/trivial: rename local functions for unique prefix 2016-03-11 11:12:00 +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 sleep-monitor: disconnect signal handlers from D-Bus proxy on destroy 2016-04-25 13:50:54 +02: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: extend NMIPConfigSource to preserve the rtm_protocol field 2016-04-28 12:53:21 +02:00
org.freedesktop.NetworkManager.conf dns: use DBus to make dnsmasq nameserver changes 2016-04-21 15:32:07 +02:00