diff options
-rw-r--r-- | bgpd/ChangeLog | 5 | ||||
-rw-r--r-- | bgpd/bgp_route.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index f66857c0..93dc8c3b 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -1,3 +1,8 @@ +2005-01-24 Hasso Tepper <hasso at quagga.net> + + * bgp_route.c: Fix showstopper bug. New route must be selected also + if old one is flaged as BGP_INFO_ATTR_CHANGED. + 2005-01-17 Hasso Tepper <hasso at quagga.net> * bgp_route.c: Clear peer's routing table regardless whether it's diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 16fcc89f..849cc44f 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -1097,7 +1097,8 @@ bgp_best_selection (struct bgp *bgp, struct bgp_node *rn, struct bgp_info_pair * new_select = ri; } - if ( (! old_select) || old_select != new_select) + if ( (! old_select) || old_select != new_select + || CHECK_FLAG (old_select->flags, BGP_INFO_ATTR_CHANGED)) { if (old_select) UNSET_FLAG (old_select->flags, BGP_INFO_SELECTED); |