NetworkManager/src
Beniamino Galvani 728881f51b
manager: change autoconnect-slaves logic for already active slaves
Autoconnect-slaves currently forces an activation of all slaves, even
if there is already an active connection for them. This is bad because
at boot slaves first try to autoconnect, then the autoconnect-slaves
of the master kicks in and disconnects/reactivates them.

The only reason why the forceful reactivation was added was to fix
[1]; in that scenario, a slave connection is already active as
non-slave; then it is updated to be a slave; later, the master with
autoconnect-slaves is manually activated. NetworkManager should detect
that the slave connection must now be activated by autoconnect-slaves.

Add a specific check for such situation, instead of always
reactivating all slaves.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1845018

Fixes: 4985ca5ada ('manager: allow autoconnect-slaves to reconnect the same connection')
(cherry picked from commit 024e983c8e)
(cherry picked from commit d07d515dd7)
(cherry picked from commit 4df63b205e)
(cherry picked from commit a2e3f70e83)
2020-09-09 08:40:44 +02:00
..
devices lldp: fix lldp_neighbor_equal() to compare variants 2020-09-09 08:15:20 +02:00
dhcp dhcp-helper: retry in case of failure connecting to D-Bus unix socket 2020-04-21 09:03:31 +02:00
dns shared: move "nm-dbus-compat.h" header to "nm-std-aux/nm-dbus-compat.h" 2019-04-18 20:03:54 +02:00
dnsmasq all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
initrd initrd: fix memory leak 2020-09-09 08:15:20 +02:00
ndisc rdisc: avoid static variable in receive_ra() 2020-09-09 08:15:21 +02:00
platform platform: avoid compiler warning in _NMP_OBJECT_TYPE_IS_OBJ_WITH_IFINDEX() 2020-04-20 19:52:50 +02:00
ppp core/pppd-plugin: wait to recover port settings before notifying death 2019-06-14 13:32:57 +02:00
settings ifcfg-rh: fix accepting onlink flag also for IPv6 routes 2020-09-09 08:40:44 +02:00
supplicant supplicant: fix memory corruption with wrong argument to NM_SUPPLICANT_INTERFACE_GROUP_FORMATION_FAILURE signal 2020-01-30 11:46:23 +01:00
systemd build/meson: rename "nm_core_dep" to "libnm_core_dep" 2019-04-18 20:13:49 +02:00
tests src/tests: show exit status in test failure of test_nm_utils_kill_child() 2019-10-08 16:37:49 +02:00
vpn vpn: clear host part of IPv6 routes received from VPN plugin 2020-04-28 09:44:43 +02:00
main-utils.c all: replace strerror() calls with nm_strerror_native() 2019-02-12 08:50:28 +01:00
main-utils.h
main.c core: fix passing current enum value to nm_config_data_get_value() in _init_nm_debug() 2020-04-20 13:41:47 +02:00
meson.build build/meson: rename "nm_core_dep" to "libnm_core_dep" 2019-04-18 20:13:49 +02:00
NetworkManagerUtils.c shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 20:07:44 +02:00
NetworkManagerUtils.h core: add handling of IP routing rules to NMDevice 2019-03-27 16:23:30 +01:00
nm-act-request.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-act-request.h core: pass hints as strv to nm_act_request_get_secrets() 2019-02-05 08:34:23 +01:00
nm-active-connection.c core: avoid assertion failure in _settings_connection_flags_changed() without device 2020-03-23 13:35:45 +01:00
nm-active-connection.h core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-audit-manager.c all: replace strerror() calls with nm_strerror_native() 2019-02-12 08:50:28 +01:00
nm-audit-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-auth-manager.c auth-manager: use the correct function to deallocate a GError 2018-05-02 14:55:01 +02:00
nm-auth-manager.h auth-manager: add helper function nm_auth_call_result_eval() 2018-04-13 09:09:46 +02:00
nm-auth-subject.c dbus: cache GetConnectionUnixProcessID and GetConnectionUnixUser 2019-04-09 20:40:18 +02:00
nm-auth-subject.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-auth-utils.c shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-auth-utils.h core: add nm_auth_is_subject_in_acl_set_error() helper 2018-04-18 07:55:15 +02:00
nm-checkpoint-manager.c settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-checkpoint-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-checkpoint.c checkpoint: hold a reference to the NMManager object 2019-04-10 10:43:09 +02:00
nm-checkpoint.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-config-data.c all: cache errno in local variable before using it 2019-02-12 08:50:28 +01:00
nm-config-data.h core: add checks on connection default properties 2018-12-01 15:16:48 +01:00
nm-config.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-config.h build: check that the list of supported config options is up to date 2018-12-01 15:16:48 +01:00
nm-connectivity.c all: remove wrong CURL option initialization 2020-04-20 13:37:07 +02:00
nm-connectivity.h device: don't start connectivity check on unconfigured devices 2019-06-20 10:28:21 +02:00
nm-core-utils.c core: fix file permissions for "/var/lib/NetworkManager/secret_key" 2019-05-14 14:04:17 +02:00
nm-core-utils.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-dbus-manager.c shared: move "nm-dbus-compat.h" header to "nm-std-aux/nm-dbus-compat.h" 2019-04-18 20:03:54 +02:00
nm-dbus-manager.h dbus: cache GetConnectionUnixProcessID and GetConnectionUnixUser 2019-04-09 20:40:18 +02:00
nm-dbus-object.c core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-object.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-utils.c dbus-utils: don't return paths if they are in the process of being unexported 2019-03-22 16:14:12 +01:00
nm-dbus-utils.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dcb.c dcb: fix invalid assertion in dcb's do_helper() 2019-04-16 15:30:14 +02:00
nm-dcb.h
nm-dhcp4-config.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-dhcp4-config.h
nm-dhcp6-config.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-dhcp6-config.h
nm-dispatcher.c shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 20:07:44 +02:00
nm-dispatcher.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-firewall-manager.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-firewall-manager.h
nm-hostname-manager.c hostname-manager: use fqdn for persistent hostname on Slackware 2019-05-19 10:48:09 +02:00
nm-hostname-manager.h
nm-iface-helper.c shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-ip4-config.c core: fix adding objects to NMIPConfig with @append_force 2019-08-28 16:19:31 +02:00
nm-ip4-config.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-ip6-config.c core: fix mangling static IPv6 routes in nm_ip6_config_merge_setting() 2019-07-09 14:35:05 +02:00
nm-ip6-config.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-keep-alive.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-keep-alive.h keep-alive: drop unused nm_keep_alive_set_forced() 2018-12-09 14:47:31 +01:00
nm-logging.c shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-logging.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-manager.c manager: change autoconnect-slaves logic for already active slaves 2020-09-09 08:40:44 +02:00
nm-manager.h core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-netns.c policy-routing: take ownership of externally configured rules 2019-07-25 10:29:16 +02:00
nm-netns.h platform: add NMPRulesManager for syncing routing rules 2019-03-13 09:47:37 +01:00
nm-pacrunner-manager.c all: don't use static buffer for nm_utils_inet*_ntop() 2018-12-19 09:23:08 +01:00
nm-pacrunner-manager.h
nm-policy.c policy: block connection from autoconnect in case of failed dependency 2020-08-17 20:11:15 +02:00
nm-policy.h policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02:00
nm-proxy-config.c
nm-proxy-config.h
nm-rfkill-manager.c shared: move udev helper to separate directory "shared/nm-udev-aux" 2019-04-18 19:46:50 +02:00
nm-rfkill-manager.h
nm-session-monitor.c all: replace strerror() calls with nm_strerror_native() 2019-02-12 08:50:28 +01:00
nm-session-monitor.h
nm-sleep-monitor.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-sleep-monitor.h
nm-test-utils-core.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-types.h platform: add support for routing-rule objects and cache them in platform 2019-03-13 09:03:59 +01:00
org.freedesktop.NetworkManager.conf wifi-p2p: rename Wi-Fi P2P 2019-02-01 17:02:57 +01:00