From 3aea4e507bc6c129e1bdcfbaaefca6a829ee1825 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 22 Aug 2017 16:24:23 -0400 Subject: [PATCH] eigrpd: Improve external route distance comparison If the new nexthop is external while the previous best was Internal or Connected, it should always loose. Signed-off-by: Donald Sharp --- eigrpd/eigrp_topology.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/eigrpd/eigrp_topology.c b/eigrpd/eigrp_topology.c index d1c09d6612..9f62e5e899 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; } -- 2.39.5