NetworkManager/src
Thomas Haller 974ff62996 platform: fix handling rt_scope of IPv4 route
Kernel does not allow to add an IPv4 route with rt_scope RT_SCOPE_NOWHERE
(255). It would fail with EINVAL.

While adding a route, we coerce/normalize the scope in
nm_platform_ip_route_normalize(). However, that should only be
done, if the scope is not explicitly set already. Otherwise,
leave it unchanged.

nm_platform_ip_route_normalize() is related to the compare functions.
Several compare modes do a fuzzy comparison, and they should compare
equal as if they would be normalized. Hence, we must do the same
normalization there.

One pecularity in NetworkManager is that we track scope as it's
inverse. The reason is to have a default value of zero meaning
RT_SCOPE_NOWHERE. Hence "scope_inv".
2017-08-24 10:47:23 +02:00
..
devices platform: cleanup and renaming of nm_platform_address_flush() function 2017-08-23 18:37:22 +02:00
dhcp core: prevent invalid routes in NMIP4Config/NMIP6Config 2017-07-25 06:44:13 +02:00
dns core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
dnsmasq core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
ndisc ndisc: log the device context 2017-03-24 12:42:09 +01:00
platform platform: fix handling rt_scope of IPv4 route 2017-08-24 10:47:23 +02:00
ppp core: ppp: use a different unit for each activation 2017-08-05 08:03:16 +02:00
settings platform,libnm: cleanup handling of TOS for routes 2017-08-03 18:51:57 +02:00
supplicant supplicant: don't allow scans to trigger a supplicant roaming decision 2017-08-11 12:35:01 -05:00
systemd systemd: merge branch systemd into master 2017-08-10 11:21:31 +02:00
tests config/tests: remove test artifact after test_config_connectivity_check() 2017-08-18 21:42:22 +02:00
vpn platform: cleanup and renaming of nm_platform_address_flush() function 2017-08-23 18:37:22 +02:00
main-utils.c config: add first_start paramter to NMConfig to detect restart 2017-04-20 14:19:56 +02:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c core: don't enable setrlimit(RLIMIT_CORE) when running with address sanitizer 2017-05-24 13:56:12 +02:00
NetworkManagerUtils.c all: fix typo 'entires' -> 'entries' 2017-05-05 19:14:19 +02:00
NetworkManagerUtils.h manager: simplify searching assumed connection 2017-03-16 18:27:33 +01:00
nm-act-request.c active-connection: emit a StateChanged signal on state changes 2017-03-17 10:21:19 +01:00
nm-act-request.h core: add activation-type property to active-connection 2017-03-16 18:27:33 +01:00
nm-active-connection.c device: fix taking over device after modifying external connection 2017-06-19 14:57:48 +02:00
nm-active-connection.h active-connection: emit a StateChanged signal on state changes 2017-03-17 10:21:19 +01:00
nm-audit-manager.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-audit-manager.h audit: add @args to device logging functions 2017-03-06 10:29:37 +01:00
nm-auth-manager.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-auth-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-auth-subject.c all: use "unsigned long" instead of "long unsigned" 2017-03-14 11:23:46 +01:00
nm-auth-subject.h auth: embed private data NMAuthSubjectPrivate in NMAuthSubject struct 2016-05-12 10:24:36 +02:00
nm-auth-utils.c auth-utils: fix possibly uninitialized variables 2017-04-07 11:52:16 -05:00
nm-auth-utils.h all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-01 19:06:35 +02:00
nm-bus-manager.c core: introduce default logging macros 2016-10-14 15:57:43 +02:00
nm-bus-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint-manager.c build: don't add subdirectories to include search path but require qualified include 2016-11-21 14:26:37 +01:00
nm-checkpoint-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint.c checkpoint: disconnect device before reactivation during rollback 2017-07-05 11:01:56 +02:00
nm-checkpoint.h checkpoint: introduce new flags to better restore previous state 2016-10-24 09:57:18 +02:00
nm-config-data.c config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-config-data.h config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-config.c config: write connectivity=true to internal state file 2017-08-21 12:18:13 +02:00
nm-config.h config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-connectivity.c config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-connectivity.h device: add default route penalty only if concheck is enabled 2017-05-04 11:07:40 +02:00
nm-core-utils.c core: add nm_utils_ip6_address_same_prefix_cmp() helper 2017-07-31 15:13:31 +02:00
nm-core-utils.h platform: add compare functions for routes with different compare semantics 2017-08-03 18:32:59 +02:00
nm-dcb.c build: don't add subdirectories to include search path but require qualified include 2016-11-21 14:26:37 +01:00
nm-dcb.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-default-route-manager.c platform: cleanup nmp_lookup_init_route_visible() lookup helper 2017-08-12 16:04:28 +02:00
nm-default-route-manager.h device: keep NMNetns instance per device 2017-04-18 15:49:14 +02:00
nm-dhcp4-config.c exported-object: use NM_EXPORT_PATH_NUMBERED() macro 2017-01-03 15:40:17 +01:00
nm-dhcp4-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dhcp6-config.c exported-object: use NM_EXPORT_PATH_NUMBERED() macro 2017-01-03 15:40:17 +01:00
nm-dhcp6-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dispatcher.c core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-dispatcher.h core/dispatcher: pass act-request to device dispatcher calls 2017-03-16 18:27:33 +01:00
nm-exported-object.c all: use "unsigned long" instead of "long unsigned" 2017-03-14 11:23:46 +01:00
nm-exported-object.h exported-object: add "path" GObject property to have notify signal 2017-01-25 13:12:08 +01:00
nm-firewall-manager.c firewall: use CList to track pending_calls 2017-05-11 18:26:10 +02:00
nm-firewall-manager.h firewall: merge "started" signal and "available" property 2017-04-21 09:09:01 +02:00
nm-hostname-manager.c core,cli: replace wrong pattern for clearing GError 2017-06-27 09:42:28 +02:00
nm-hostname-manager.h hostname: cache hostname-manager's hostname property 2017-05-12 17:29:33 +02:00
nm-iface-helper.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-ip4-config.c core: consistently use _nm_ip_config_add_obj() when adding route/address to ip-config 2017-08-23 18:37:22 +02:00
nm-ip4-config.h core: consistently use _nm_ip_config_add_obj() when adding route/address to ip-config 2017-08-23 18:37:22 +02:00
nm-ip6-config.c core: consistently use _nm_ip_config_add_obj() when adding route/address to ip-config 2017-08-23 18:37:22 +02:00
nm-ip6-config.h core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-logging.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-logging.h logging: add LOG3 macros 2017-06-08 21:50:23 +02:00
nm-manager.c manager: add connectivity-check-{available,enabled} properties. 2017-08-17 22:31:47 +02:00
nm-manager.h manager: add connectivity-check-{available,enabled} properties. 2017-08-17 22:31:47 +02:00
nm-netns.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-netns.h core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-pacrunner-manager.c core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-pacrunner-manager.h proxy: introduce call-id for clearing pacmanager configuration 2017-04-23 18:12:09 +02:00
nm-policy.c core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-policy.h policy: add support to configurable hostname mode 2017-03-24 15:18:09 +01:00
nm-proxy-config.c proxy: reorder parts in nm-proxy-config.c and nm-pacrunner-manager.c 2016-10-04 11:58:32 +02:00
nm-proxy-config.h proxy: remove unnecessary APIs 2016-10-04 11:44:44 +02:00
nm-rfkill-manager.c udev: drop libgudev in favor of libudev 2017-03-22 12:41:06 +01:00
nm-rfkill-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-route-manager.c platform: cleanup nmp_lookup_init_route_visible() lookup helper 2017-08-12 16:04:28 +02:00
nm-route-manager.h device: keep NMNetns instance per device 2017-04-18 15:49:14 +02:00
nm-session-monitor.c session: make systemd-logind and elogind conflicting build options 2017-02-24 13:06:13 +01:00
nm-session-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-sleep-monitor.c session: make systemd-logind and elogind conflicting build options 2017-02-24 13:06:13 +01:00
nm-sleep-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-test-utils-core.h platform: add compare functions for routes with different compare semantics 2017-08-03 18:32:59 +02:00
nm-types.h device: add NMDevicePPP 2017-08-05 08:03:15 +02:00
org.freedesktop.NetworkManager.conf dbus: allow firewalld to communicate with NetworkManager 2017-04-21 13:38:21 +02:00