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 <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-08-22 16:24:23 -04:00
parent 7cfa432255
commit 3aea4e507b

View File

@ -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;
}