summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-10-20 11:59:59 +0300
committerDonatas Abraitis <donatas@opensourcerouting.org>2023-10-20 12:05:45 +0300
commit2d8e85958526493f59e7cb9bf6dac829ed3d687f (patch)
treec0f384bcd65ec6fd3dbb75d09bc956720ccd011b
parent627888864d5346a2cda22141b94a9286b79eafdc (diff)
bgpd: Do not suppress conditional advertisement updates if triggered
If we have a prefix-list with one entry, and after some time we append a prefix-list with some more additional entries, conditional advertisement is triggered, and the old entries are suppressed (because they look identical as sent before). Hence, the old entries are sent as withdrawals and only new entries sent as updates. Force re-sending all BGP updates for conditional advertisement. The same is done for route-refresh, and/or soft clear operations. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-rw-r--r--bgpd/bgp_conditional_adv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/bgp_conditional_adv.c b/bgpd/bgp_conditional_adv.c
index b30052d95a..3b5f5e986b 100644
--- a/bgpd/bgp_conditional_adv.c
+++ b/bgpd/bgp_conditional_adv.c
@@ -90,6 +90,7 @@ static void bgp_conditional_adv_routes(struct peer *peer, afi_t afi,
addpath_capable = bgp_addpath_encode_tx(peer, afi, safi);
+ SET_FLAG(subgrp->sflags, SUBGRP_STATUS_FORCE_UPDATES);
for (dest = bgp_table_top(table); dest; dest = bgp_route_next(dest)) {
dest_p = bgp_dest_get_prefix(dest);
assert(dest_p);