NetworkManager/src
Beniamino Galvani f96d0c6f4f manager: don't update ifindex of existing devices
When NM has to rebuild the platform cache, it first generates ADD and
then REMOVE events for the links.  So, if an interface is removed and
readded, platform will emit the ADDED event with a new ifindex while
the device with old ifindex still exists.

In such case the manager currently updates the device's ifindex but
this causes problems as the DNS manager tracks configurations by their
ifindex and so the configurations for the old device will become
stale.

Fix this by removing the device and adding it again when we detect a
change of ifindex on a device that already had valid one.

https://bugzilla.redhat.com/show_bug.cgi?id=1542366
(cherry picked from commit 281974b932)
(cherry picked from commit 17a89f7061)
2019-02-20 11:26:15 +01:00
..
devices device: clear queued IP config sources when the device is unrealized 2019-02-20 11:25:14 +01:00
dhcp dhcp: fix leak in dhclient's dhclient_start() 2018-09-10 14:39:12 +02:00
dns dns: dnsmasq: avoid crash when no reverse domains exist 2018-10-19 18:39:35 +02:00
dnsmasq dnsmasq/shared: fix setting DNS nameserver and search for shared dnsmasq 2018-11-29 14:37:06 +01:00
ndisc ndisc: mark a keep-alive variable unused 2018-11-22 09:44:58 +01:00
platform platform/tests: increase wait timeout in test_cleanup_internal() 2018-11-30 11:19:15 +01:00
ppp ppp-manager: fix build with GCC 8 2018-06-01 10:58:46 +02:00
settings ifcfg-rh: fix parse of tc qdiscs and filters 2018-11-22 09:44:58 +01:00
supplicant wifi: support hidden ssid in AP mode 2018-09-27 14:21:14 +02:00
systemd systemd: fix crash by unrefing event sources before re-adding them 2018-11-15 14:58:40 +01:00
tests libnm: add nm_connectivity_state_cmp() helper 2018-12-11 11:16:41 +01:00
vpn core: implement setting MDNS setting for systemd 2018-10-19 18:39:33 +02:00
main-utils.c all: use nm_close() instead of close() 2017-11-14 15:17:02 +01:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c config: remove nm_config_data_get_value_cached() 2017-10-31 19:14:07 +01:00
NetworkManagerUtils.c Revert "core: merge branch 'bg/restart-assume-rh1551958'" 2018-04-06 14:45:19 +02:00
NetworkManagerUtils.h Revert "core: merge branch 'bg/restart-assume-rh1551958'" 2018-04-06 14:45:19 +02:00
nm-act-request.c core: specify an activation reason for active connections 2018-04-09 15:24:11 +02:00
nm-act-request.h core: specify an activation reason for active connections 2018-04-09 15:24:11 +02:00
nm-active-connection.c core: specify an activation reason for active connections 2018-04-09 15:24:11 +02:00
nm-active-connection.h core: specify an activation reason for active connections 2018-04-09 15:24:11 +02: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 core,clients: use our own string hashing function nm_str_hash() 2017-10-18 13:05:00 +02: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 bus-manager: don't leak connections 2017-10-12 09:16:38 +02:00
nm-bus-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint-manager.c checkpoint: don't include unrealized devices 2017-11-09 10:33:26 +01:00
nm-checkpoint-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint.c core: specify an activation reason for active connections 2018-04-09 15:24:11 +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 core: cache "autoconnect-retries-default" in NMConfigData 2017-11-27 16:00:52 +01:00
nm-config-data.h core: cache "autoconnect-retries-default" in NMConfigData 2017-11-27 16:00:52 +01:00
nm-config.c core: persist aspired default route-metric in device's state file 2017-12-20 14:26:30 +01:00
nm-config.h core: persist aspired default route-metric in device's state file 2017-12-20 14:26:30 +01:00
nm-connectivity.c connectivity: fix evaluating @what argument of CURLMOPT_SOCKETFUNCTION 2018-03-19 14:49:22 +01:00
nm-connectivity.h libnm: add nm_connectivity_state_cmp() helper 2018-12-11 11:16:41 +01:00
nm-core-utils.c dns: introduce routing domains 2018-10-19 18:39:33 +02:00
nm-core-utils.h dns: introduce routing domains 2018-10-19 18:39:33 +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-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: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +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 core,clients: use our own string hashing function nm_str_hash() 2017-10-18 13:05:00 +02: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 c-list: re-import latest version of c-list.h from upstream 2017-11-28 12:04:15 +01: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 dhcp: add support for dhcpcanon client 2017-10-30 10:43:10 +01:00
nm-ip4-config.c core: reject invalid domains from ip configurations 2018-10-19 18:39:34 +02:00
nm-ip4-config.h dns: use dns-priority to provide a preprocessed domain list to plugins 2018-10-19 18:39:34 +02:00
nm-ip6-config.c core: reject invalid domains from ip configurations 2018-10-19 18:39:34 +02:00
nm-ip6-config.h core: use router preference for IPv6 routes 2017-10-12 10:38:19 +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 core: workaround coverity/compiler warning about tautological compare in nm_log_ptr() 2017-10-30 14:41:41 +01:00
nm-manager.c manager: don't update ifindex of existing devices 2019-02-20 11:26:15 +01:00
nm-manager.h core: specify an activation reason for active connections 2018-04-09 15:24:11 +02:00
nm-netns.c core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-netns.h core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-pacrunner-manager.c c-list: re-import latest version of c-list.h from upstream 2017-11-28 12:04:15 +01:00
nm-pacrunner-manager.h proxy: introduce call-id for clearing pacmanager configuration 2017-04-23 18:12:09 +02:00
nm-policy.c policy: merge IPv4 and IPv6 versions of device_ip_config_changed() 2018-10-19 18:39:33 +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-session-monitor.c session-monitor: fix a -Wcast-function-type warning 2018-04-12 14:08:05 +02:00
nm-session-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-sleep-monitor.c all: use nm_close() instead of close() 2017-11-14 15:17:02 +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 libnm: rename MDns flag UNKNOWN to DEFAULT 2018-10-19 18:39:32 +02:00
org.freedesktop.NetworkManager.conf dbus: allow firewalld to communicate with NetworkManager 2017-04-21 13:38:21 +02:00