diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2022-10-13 17:06:19 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2022-10-13 17:25:21 +0200 |
commit | 3cc7801779ed05d13c3e2422f11ddb365bc37242 (patch) | |
tree | 33be307982e858e9aee2188341bfbe5e85a3a55b | |
parent | 4d1ecd8d6dbe6666f9005950a95a6ba8321e653c (diff) | |
download | NetworkManager-3cc7801779ed05d13c3e2422f11ddb365bc37242.tar.gz |
dns: sort the ip-data list when a new element is added
In nm_dns_manager_set_ip_config() we try to avoid calling update_dns()
unless something changes, because updating DNS is expensive and can
trigger other actions such as a new hostname resolution.
When we add a new ip_data, even if the new element is equivalent to
the old one that was removed, we need to sort the list again.
Fixes: ce0a36d20fa6 ('dns: better track l3cd changes')
https://bugzilla.redhat.com/show_bug.cgi?id=2098574
-rw-r--r-- | src/core/dns/nm-dns-manager.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/dns/nm-dns-manager.c b/src/core/dns/nm-dns-manager.c index 70a6d5c190..f39d0c0c1b 100644 --- a/src/core/dns/nm-dns-manager.c +++ b/src/core/dns/nm-dns-manager.c @@ -2039,6 +2039,7 @@ nm_dns_manager_set_ip_config(NMDnsManager *self, if (!ip_data) { ip_data = _dns_config_ip_data_new(data, addr_family, source_tag, l3cd, ip_config_type); + priv->ip_data_lst_need_sort = TRUE; if (!any_removed) { /* `any_removed` tracks whether we deleted any ip_data. If that happened, * we already compared the old and new l3cds and set `changed` accordingly. |