summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2014-11-18 14:10:00 +0100
committerThomas Haller <thaller@redhat.com>2014-11-19 17:37:27 +0100
commit4bd357eb101e83b9afaebd615b0c1ae75118e79f (patch)
treec5bfa35a6d652c625b800902885f7f9d8488921a
parente45fb923a6e9aeb78b8573678c4360ffd05a6699 (diff)
downloadNetworkManager-4bd357eb101e83b9afaebd615b0c1ae75118e79f.tar.gz
fixup! policy: resync routes on platform change events
-rw-r--r--src/nm-default-route-manager.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/nm-default-route-manager.c b/src/nm-default-route-manager.c
index 956207a2a5..2573a10b06 100644
--- a/src/nm-default-route-manager.c
+++ b/src/nm-default-route-manager.c
@@ -404,8 +404,14 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
g_assert (priv->resync.is_resynching == 0);
priv->resync.is_resynching++;
- if (!external_change)
- _resync_idle_cancel (self);
+ if (!external_change) {
+ if (VTABLE_IS_IP4)
+ priv->resync.has_v4_changes = FALSE;
+ else
+ priv->resync.has_v6_changes = FALSE;
+ if (!priv->resync.has_v4_changes && !priv->resync.has_v6_changes)
+ _resync_idle_cancel (self);
+ }
entries = vtable->get_entries (priv);