ebf02b63fe
- bond: fix crash comparing mode while generating bond connection (rh #1459580) - connectivity: fix route penalty if WWAN and BT device using ip-ifindex (rh #1459932) - device: persist nm-owned in run state (rh #1376199) - device: fix assuming master device on restart (rh #1452062) - device: apply route metric penality only when the default route exists (rh #1459604) - connectivity: fix periodic connectivity check (rh #1458399) - bond: improve option matching on daemon restart (rh #1457909) - device: fix touching device after external activation (rh #1457242)
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
|
|
|