From fdf1cefb92ffbc71657f3ed24cb8905262610c82 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 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);