diff options
author | hasso <hasso> | 2005-01-24 09:29:42 +0000 |
---|---|---|
committer | hasso <hasso> | 2005-01-24 09:29:42 +0000 |
commit | f0206e5c8cf618789ee26f8f8be11b27dc706f37 (patch) | |
tree | 14eb981a58cfb7043d99fcbfc174226f455f7b36 | |
parent | c947a23143bcafb7a4860bae7fcea7de7f845141 (diff) | |
download | quagga-f0206e5c8cf618789ee26f8f8be11b27dc706f37.tar.bz2 quagga-f0206e5c8cf618789ee26f8f8be11b27dc706f37.tar.xz |
* 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); |