Skip to content

Commit 9a26a56

Browse files
committed
bgpd: Fix holdtime not working properly when busy
Commit: cc9f21d Modified the bgp_fsm code to dissallow the extension of the hold time when the system is under extremely heavy load. This was a attempt to remove the return code but it was too aggressive and messed up this bit of code. Put the behavior back that was introduced in: d0874d1 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
1 parent d736350 commit 9a26a56

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

bgpd/bgp_fsm.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,9 +529,11 @@ static void bgp_holdtime_timer(struct event *thread)
529529
frr_with_mutex (&connection->io_mtx) {
530530
inq_count = atomic_load_explicit(&connection->ibuf->count, memory_order_relaxed);
531531
}
532-
if (inq_count)
532+
if (inq_count) {
533533
BGP_TIMER_ON(connection->t_holdtime, bgp_holdtime_timer,
534534
peer->v_holdtime);
535+
return;
536+
}
535537

536538
EVENT_VAL(thread) = Hold_Timer_expired;
537539
bgp_event(thread); /* bgp_event unlocks peer */

0 commit comments

Comments
 (0)