]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Stop LLGR thread when deleting a peer and/or GR flags changed
authorDonatas Abraitis <donatas@opensourcerouting.org>
Wed, 21 Sep 2022 14:13:28 +0000 (17:13 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Wed, 21 Sep 2022 14:13:28 +0000 (17:13 +0300)
Also valid when shutting down a BGP instance.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgpd.c

index 4c151b2d374398862e00ee88758dabfe40b943fd..2c0d88d643b81e9ed46ba2b7ca39df6d9d6febe8 100644 (file)
@@ -2374,8 +2374,10 @@ void peer_nsf_stop(struct peer *peer)
        UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT);
        UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_MODE);
 
-       FOREACH_AFI_SAFI_NSF (afi, safi)
+       FOREACH_AFI_SAFI_NSF (afi, safi) {
                peer->nsf[afi][safi] = 0;
+               THREAD_OFF(peer->t_llgr_stale[afi][safi]);
+       }
 
        if (peer->t_gr_restart) {
                THREAD_OFF(peer->t_gr_restart);