summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-06-17 18:26:14 +0200
committerThomas Haller <thaller@redhat.com>2015-06-18 18:44:39 +0200
commit0c9154f284b29b60c6e420d598aab7370a90e4b4 (patch)
tree7e52142833880c28c8c0fedd788ae3130b038827
parent6849050ad914b046e55bcb4eaad826000fef620f (diff)
downloadNetworkManager-th/platform-fix.tar.gz
TEST: add logging statementsth/platform-fix
-rw-r--r--src/nm-default-route-manager.c30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/nm-default-route-manager.c b/src/nm-default-route-manager.c
index 4beffcf7b1..8410e2b15c 100644
--- a/src/nm-default-route-manager.c
+++ b/src/nm-default-route-manager.c
@@ -230,6 +230,9 @@ _platform_route_sync_add (const VTableIP *vtable, NMDefaultRouteManager *self, g
for (i = 0; i < entries->len; i++) {
Entry *e = g_ptr_array_index (entries, i);
+ _LOGD (vtable->vt->addr_family, ">>> SYNC-ADD: "LOG_ENTRY_FMT": %s (%u)", LOG_ENTRY_ARGS (i, e),
+ vtable->vt->route_to_string (&e->route), (guint) e->effective_metric);
+
if (e->never_default)
continue;
@@ -238,10 +241,14 @@ _platform_route_sync_add (const VTableIP *vtable, NMDefaultRouteManager *self, g
if (e->synced) {
g_assert (!entry || metric == G_MAXUINT32);
- if (!entry)
+ if (!entry) {
+ _LOGD (vtable->vt->addr_family, ">>> SYNC-ADD: set entry");
entry = e;
- } else
+ }
+ } else {
+ _LOGD (vtable->vt->addr_family, ">>> SYNC-ADD: set entry_unsynced");
entry_unsynced = e;
+ }
}
/* We don't expect to have an unsynced *and* a synced entry for the same metric.
@@ -397,6 +404,7 @@ _get_assumed_interface_metrics (const VTableIP *vtable, NMDefaultRouteManager *s
route = _vt_route_index (vtable, routes, i);
+ _LOGD (vtable->vt->addr_family, ">>> get-assumed-interface-metrics: platform-route: %i, %s", i, vtable->vt->route_to_string ((NMPlatformIPXRoute *) route));
for (j = 0; j < entries->len; j++) {
Entry *e = g_ptr_array_index (entries, j);
@@ -407,8 +415,10 @@ _get_assumed_interface_metrics (const VTableIP *vtable, NMDefaultRouteManager *s
}
}
- if (!ifindex_has_synced_entry)
+ if (!ifindex_has_synced_entry) {
+ _LOGD (vtable->vt->addr_family, ">>> get-assumed-interface-metrics: %u", (unsigned) vtable->vt->metric_normalize (route->metric));
g_hash_table_add (result, GUINT_TO_POINTER (vtable->vt->metric_normalize (route->metric)));
+ }
}
/* also add all non-synced metrics from our entries list. We might have there some metrics that
@@ -431,8 +441,10 @@ _get_assumed_interface_metrics (const VTableIP *vtable, NMDefaultRouteManager *s
}
}
- if (!ifindex_has_synced_entry)
+ if (!ifindex_has_synced_entry) {
+ _LOGD (vtable->vt->addr_family, ">>> get-assumed-interface-metrics: (internal) %u", (unsigned) vtable->vt->metric_normalize (e_i->route.rx.metric));
g_hash_table_add (result, GUINT_TO_POINTER (vtable->vt->metric_normalize (e_i->route.rx.metric)));
+ }
}
return result;
@@ -467,6 +479,8 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
g_assert (priv->resync.guard == 0);
priv->resync.guard++;
+ _LOGD (vtable->vt->addr_family, ">>> _resync_all() start");
+
if (!external_change) {
if (vtable->vt->is_ip4)
priv->resync.has_v4_changes = FALSE;
@@ -493,6 +507,9 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
g_assert (entry != old_entry);
+ _LOGD (vtable->vt->addr_family, ">>> check effective metric for entry "LOG_ENTRY_FMT": %s (%u), last_metric=%lld", LOG_ENTRY_ARGS (i, entry),
+ vtable->vt->route_to_string (&entry->route), (guint) entry->effective_metric, (long long) last_metric);
+
if (entry->never_default)
continue;
@@ -571,6 +588,8 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
}
if (entry->effective_metric != expected_metric) {
+ _LOGD (vtable->vt->addr_family, ">>> update effective metric for entry "LOG_ENTRY_FMT": %s (%u -> %u)", LOG_ENTRY_ARGS (i, entry),
+ vtable->vt->route_to_string (&entry->route), (guint) entry->effective_metric, (guint) expected_metric);
entry->effective_metric = expected_metric;
changed = TRUE;
}
@@ -584,6 +603,8 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
for (j = 0; j < changed_metrics->len; j++) {
expected_metric = g_array_index (changed_metrics, guint32, j);
+ _LOGD (vtable->vt->addr_family, ">>> CHECK metric %u (last is %lld)", (unsigned) expected_metric, (long long) last_metric);
+
if (last_metric == (gint64) expected_metric) {
/* skip duplicates. */
continue;
@@ -608,6 +629,7 @@ _resync_all (const VTableIP *vtable, NMDefaultRouteManager *self, const Entry *c
g_hash_table_unref (assumed_metrics);
priv->resync.guard--;
+ _LOGD (vtable->vt->addr_family, ">>> _resync_all() end (%d)", (int) changed);
return changed;
}