From 6b3afa3457a86196383c284047335e1683af4e3a Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Fri, 20 Oct 2023 11:59:59 +0300 Subject: [PATCH] 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 (cherry picked from commit 2d8e85958526493f59e7cb9bf6dac829ed3d687f) --- bgpd/bgp_conditional_adv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/bgpd/bgp_conditional_adv.c b/bgpd/bgp_conditional_adv.c index 4ad00ed121..24d822a745 100644 --- a/bgpd/bgp_conditional_adv.c +++ b/bgpd/bgp_conditional_adv.c @@ -103,6 +103,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); -- 2.39.5