diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2025-03-25 09:01:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-25 09:01:53 -0400 |
| commit | e55d6f149cf22426f6d13cc8783e6113f01c11e5 (patch) | |
| tree | d1b95d99808be3382ab3322e2c914008ffe1bb43 | |
| parent | 431021c2c9fcced99e548657972422ba7e6fc76b (diff) | |
| parent | 21e4c6d7c91f12cd53c75ec4a3a08e3d54a09a71 (diff) | |
Merge pull request #18491 from opensourcerouting/fix/backport_9a26a56c5188fd1c95e244932bc17f97b9051935_10.0
bgpd: Fix holdtime not working properly when busy
| -rw-r--r-- | bgpd/bgp_fsm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index ccb6475ed5..c0646821a8 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -521,9 +521,11 @@ static void bgp_holdtime_timer(struct event *thread) */ inq_count = atomic_load_explicit(&connection->ibuf->count, memory_order_relaxed); - if (inq_count) + if (inq_count) { BGP_TIMER_ON(connection->t_holdtime, bgp_holdtime_timer, peer->v_holdtime); + return; + } EVENT_VAL(thread) = Hold_Timer_expired; bgp_event(thread); /* bgp_event unlocks peer */ |
