NetworkManager/0026-apply-route-penality-only-with-defroute-rh1459604.patch
Lubomir Rintel ebf02b63fe Add upstream patches that went into RHEL
- 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)
2017-06-09 17:27:09 +02:00

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