diff options
author | Thomas Haller <thaller@redhat.com> | 2017-12-05 10:38:59 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-12-05 10:47:38 +0100 |
commit | f38feb8ee715950b5e9a82c0c9950a17d09cc71b (patch) | |
tree | e1f5e01ffaf6aa6b7a1083f90614889b2933c027 | |
parent | 7bff56be439f829b6aef4b2cd0d4d1f14f871102 (diff) | |
download | NetworkManager-bg/device-reapply-no-restart-bgo790061.tar.gz |
fixup! device: restore original dynamic IPv6 configuration on reapplybg/device-reapply-no-restart-bgo790061
Same as before.
-rw-r--r-- | src/devices/nm-device.c | 24 | ||||
-rw-r--r-- | src/nm-ip4-config.h | 13 |
2 files changed, 21 insertions, 16 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 7f983a426d..98a7a2abdd 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -752,23 +752,15 @@ applied_config_add_address (AppliedConfig *config, const NMPlatformIPAddress *ad } static void -applied_config_add_nameserver (AppliedConfig *config, gconstpointer ns) +applied_config_add_nameserver (AppliedConfig *config, const NMIPAddr *ns) { - if (config->orig) { - if (NM_IS_IP4_CONFIG (config->orig)) - nm_ip4_config_add_nameserver ((NMIP4Config *) config->orig, GPOINTER_TO_UINT (ns)); - else - nm_ip6_config_add_nameserver ((NMIP6Config *) config->orig, ns); - - } else + if (config->orig) + nm_ip_config_add_nameserver (config->orig, ns); + else nm_assert (!config->current); - if (config->current) { - if (NM_IS_IP4_CONFIG (config->current)) - nm_ip4_config_add_nameserver ((NMIP4Config *) config->current, GPOINTER_TO_UINT (ns)); - else - nm_ip6_config_add_nameserver ((NMIP6Config *) config->current, ns); - } + if (config->current) + nm_ip_config_add_nameserver (config->current, ns); } static void @@ -7146,7 +7138,7 @@ nm_device_copy_ip6_dns_config (NMDevice *self, NMDevice *from_device) len = nm_ip6_config_get_num_nameservers (from_config); for (i = 0; i < len; i++) { applied_config_add_nameserver (&priv->ac_ip6_config, - nm_ip6_config_get_nameserver (from_config, i)); + (const NMIPAddr *) nm_ip6_config_get_nameserver (from_config, i)); } len = nm_ip6_config_get_num_searches (from_config); @@ -7658,7 +7650,7 @@ ndisc_config_changed (NMNDisc *ndisc, const NMNDiscData *rdata, guint changed_in applied_config_reset_nameservers (&priv->ac_ip6_config); for (i = 0; i < rdata->dns_servers_n; i++) - applied_config_add_nameserver (&priv->ac_ip6_config, &rdata->dns_servers[i].address); + applied_config_add_nameserver (&priv->ac_ip6_config, (const NMIPAddr *) &rdata->dns_servers[i].address); } if (changed & NM_NDISC_CONFIG_DNS_DOMAINS) { diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h index f61dc169ad..59581b87bd 100644 --- a/src/nm-ip4-config.h +++ b/src/nm-ip4-config.h @@ -222,6 +222,13 @@ const NMPlatformIP4Route *nm_ip4_config_get_direct_route_for_host (const NMIP4Co void nm_ip4_config_reset_nameservers (NMIP4Config *self); void nm_ip4_config_add_nameserver (NMIP4Config *self, guint32 nameserver); + +static inline void +_nm_ip4_config_add_nameserver (NMIP4Config *self, const guint32 *nameserver) +{ + nm_ip4_config_add_nameserver (self, *nameserver); +} + void nm_ip4_config_del_nameserver (NMIP4Config *self, guint i); guint nm_ip4_config_get_num_nameservers (const NMIP4Config *self); guint32 nm_ip4_config_get_nameserver (const NMIP4Config *self, guint i); @@ -379,6 +386,12 @@ nm_ip_config_get_dns_priority (const NMIPConfig *self) } static inline void +nm_ip_config_add_nameserver (NMIPConfig *self, const NMIPAddr *ns) +{ + _NM_IP_CONFIG_DISPATCH_VOID (self, _nm_ip4_config_add_nameserver, nm_ip6_config_add_nameserver, (gconstpointer) ns); +} + +static inline void nm_ip_config_reset_nameservers (const NMIPConfig *self) { _NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_reset_nameservers, nm_ip6_config_reset_nameservers); |