]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd: backpressure - fix to properly remove dest for bgp under deletion
authorRajasekar Raja <rajasekarr@nvidia.com>
Wed, 10 Jul 2024 23:46:29 +0000 (16:46 -0700)
committerRajasekar Raja <rajasekarr@nvidia.com>
Mon, 15 Jul 2024 21:09:44 +0000 (14:09 -0700)
commit4395fcd8e120958a91d3a11f918e9071b1cb5619
tree9ff7527924fca564f735e8e9e42426388f7f3b24
parent7d08b297219ee58ece6c6548557075fe6f46a0f6
bgpd: backpressure - fix to properly remove dest for bgp under deletion

In case of imported routes (L3vni/vrf leaks), when a bgp instance is
being deleted, the peer->bgp comparision with the incoming bgp to remove
the dest from the pending fifo is wrong. This can lead to the fifo
having stale entries resulting in crash.

Two changes are done here.
 - Instead of pop/push items in list if the struct bgp doesnt match,
   simply iterate the list and remove the expected ones.

 - Corrected the way bgp is fetched from dest rather than relying on
   path_info->peer so that it works for all kinds of routes.

Ticket :#3980988

Signed-off-by: Chirag Shah <chirag @nvidia.com>
Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
bgpd/bgp_evpn.c
bgpd/bgpd.c