mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-05 00:40:32 +01:00
device: apply route metric penality only when the default route exists
It's useless (and in some cases also harmful) to commit the
configuration to update the default route metric when the device has
no default route. Also, don't commit configuration for externally
activated devices.
https://bugzilla.redhat.com/show_bug.cgi?id=1459604
(cherry picked from commit aa099906f9)
This commit is contained in:
parent
da94f8a939
commit
6a4774b1a8
1 changed files with 6 additions and 3 deletions
|
|
@ -1827,10 +1827,13 @@ update_connectivity_state (NMDevice *self, NMConnectivityState state)
|
|||
priv->connectivity_state = state;
|
||||
_notify (self, PROP_CONNECTIVITY);
|
||||
|
||||
if (nm_device_get_state (self) == NM_DEVICE_STATE_ACTIVATED) {
|
||||
if (!ip4_config_merge_and_apply (self, NULL, TRUE))
|
||||
if ( priv->state == NM_DEVICE_STATE_ACTIVATED
|
||||
&& !nm_device_sys_iface_state_is_external (self)) {
|
||||
if ( priv->default_route.v4_has
|
||||
&& !ip4_config_merge_and_apply (self, NULL, TRUE))
|
||||
_LOGW (LOGD_IP4, "Failed to update IPv4 default route metric");
|
||||
if (!ip6_config_merge_and_apply (self, TRUE))
|
||||
if ( priv->default_route.v6_has
|
||||
&& !ip6_config_merge_and_apply (self, TRUE))
|
||||
_LOGW (LOGD_IP6, "Failed to update IPv6 default route metric");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue