diff options
author | hasso <hasso> | 2005-01-24 09:29:42 +0000 |
---|---|---|
committer | hasso <hasso> | 2005-01-24 09:29:42 +0000 |
commit | 6d69429c1bff7291bac52a05234c12434f152a94 (patch) | |
tree | e37c98526a257a907e23986e6ada290bc39f09c9 | |
parent | c15cb24241277db9fb4102ddc712dc3297f16d1f (diff) |
* bgp_route.c: Fix showstopper bug. New route must be selected also
if old one is flaged as BGP_INFO_ATTR_CHANGED.
-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); |