43 lines
1.7 KiB
Diff
43 lines
1.7 KiB
Diff
|
From 5b1e11d056015e70431f4add8a5efd203d14775f Mon Sep 17 00:00:00 2001
|
||
|
From: Beniamino Galvani <bgalvani@redhat.com>
|
||
|
Date: Thu, 8 Jun 2017 00:26:00 +0200
|
||
|
Subject: [PATCH] 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 aa099906f93264bda3ae34fca4dfbdde5455b2bb)
|
||
|
(cherry picked from commit 6a4774b1a8fdc346e0a2d2a3d2ec43054190fdc5)
|
||
|
---
|
||
|
src/devices/nm-device.c | 9 ++++++---
|
||
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
|
||
|
index 6c93a95..e60995d 100644
|
||
|
--- a/src/devices/nm-device.c
|
||
|
+++ b/src/devices/nm-device.c
|
||
|
@@ -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");
|
||
|
}
|
||
|
}
|
||
|
--
|
||
|
2.9.3
|
||
|
|