Merge pull request #8178 from donaldsharp/bgp_fib_install

bgpd: Wait for Install should not always set the flag
This commit is contained in:
Donatas Abraitis 2021-03-02 08:56:35 +02:00 committed by GitHub
commit 3ca7090fdc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3597,19 +3597,6 @@ int bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id,
if (has_valid_label)
assert(label != NULL);
/* The flag BGP_NODE_FIB_INSTALL_PENDING is for the following
* condition :
* Suppress fib is enabled
* BGP_OPT_NO_FIB is not enabled
* Route type is BGP_ROUTE_NORMAL (peer learnt routes)
* Route is being installed first time (BGP_NODE_FIB_INSTALLED not set)
*/
if (BGP_SUPPRESS_FIB_ENABLED(bgp) &&
(sub_type == BGP_ROUTE_NORMAL) &&
(!bgp_option_check(BGP_OPT_NO_FIB)) &&
(!CHECK_FLAG(dest->flags, BGP_NODE_FIB_INSTALLED)))
SET_FLAG(dest->flags, BGP_NODE_FIB_INSTALL_PENDING);
/* When peer's soft reconfiguration enabled. Record input packet in
Adj-RIBs-In. */
if (!soft_reconfig
@ -3791,6 +3778,19 @@ int bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id,
evpn == NULL ? NULL : &evpn->gw_ip);
}
/* The flag BGP_NODE_FIB_INSTALL_PENDING is for the following
* condition :
* Suppress fib is enabled
* BGP_OPT_NO_FIB is not enabled
* Route type is BGP_ROUTE_NORMAL (peer learnt routes)
* Route is being installed first time (BGP_NODE_FIB_INSTALLED not set)
*/
if (bgp_fibupd_safi(safi) && BGP_SUPPRESS_FIB_ENABLED(bgp)
&& (sub_type == BGP_ROUTE_NORMAL)
&& (!bgp_option_check(BGP_OPT_NO_FIB))
&& (!CHECK_FLAG(dest->flags, BGP_NODE_FIB_INSTALLED)))
SET_FLAG(dest->flags, BGP_NODE_FIB_INSTALL_PENDING);
attr_new = bgp_attr_intern(&new_attr);
/* If maximum prefix count is configured and current prefix