diff options
-rw-r--r-- | ospfd/ChangeLog | 6 | ||||
-rw-r--r-- | ospfd/ospf_abr.c | 20 |
2 files changed, 16 insertions, 10 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 6c8955a3..3ec877f5 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,9 @@ +2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com> + + * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range + should be configured with the highest cost path within the range, + not lowest. + 2004-02-17 Paul Jakma <paul@dishone.st> * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c index 46fb7aaf..bacae917 100644 --- a/ospfd/ospf_abr.c +++ b/ospfd/ospf_abr.c @@ -562,7 +562,7 @@ ospf_check_abr_status (struct ospf *ospf) void ospf_abr_update_aggregate (struct ospf_area_range *range, - struct ospf_route *or) + struct ospf_route *or) { if (IS_DEBUG_OSPF_EVENT) zlog_info ("ospf_abr_update_aggregate(): Start"); @@ -570,23 +570,23 @@ ospf_abr_update_aggregate (struct ospf_area_range *range, if (range->cost_config != -1) { if (IS_DEBUG_OSPF_EVENT) - zlog_info ("ospf_abr_update_aggregate(): use configured cost %d", - range->cost_config); + zlog_info ("ospf_abr_update_aggregate(): use configured cost %d", + range->cost_config); range->cost = range->cost_config; } else { if (range->specifics == 0) - range->cost = or->cost; /* 1st time get 1st cost */ + range->cost = or->cost; /* 1st time get 1st cost */ - if (or->cost < range->cost) - { - if (IS_DEBUG_OSPF_EVENT) - zlog_info ("ospf_abr_update_aggregate(): lowest cost, update"); + if (or->cost > range->cost) + { + if (IS_DEBUG_OSPF_EVENT) + zlog_info ("ospf_abr_update_aggregate(): lowest cost, update"); - range->cost = or->cost; - } + range->cost = or->cost; + } } range->specifics++; |