summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eigrpd/eigrp_topology.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/eigrpd/eigrp_topology.c b/eigrpd/eigrp_topology.c
index d1c09d661..9f62e5e89 100644
--- a/eigrpd/eigrp_topology.c
+++ b/eigrpd/eigrp_topology.c
@@ -414,9 +414,13 @@ enum metric_change eigrp_topology_update_distance(struct eigrp_fsm_action_messag
case EIGRP_EXT:
{
ext_data = msg->data.ipv4_ext_data;
- if (eigrp_metrics_is_same(ext_data->metric,
- entry->reported_metric))
- return change;
+
+ if (prefix->nt == EIGRP_TOPOLOGY_TYPE_REMOTE_EXTERNAL) {
+ if (eigrp_metrics_is_same(ext_data->metric,
+ entry->reported_metric))
+ return change;
+ } else
+ change = METRIC_INCREASE;
break;
}