mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
bgpd: Fix holdtime not working properly when busy
Commit:cc9f21da22
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:d0874d195d
Signed-off-by: Donald Sharp <sharpd@nvidia.com> (cherry picked from commit9a26a56c51
)
This commit is contained in:
parent
b02ecbff27
commit
dc7ab1dfc6
|
@ -528,9 +528,11 @@ static void bgp_holdtime_timer(struct event *thread)
|
|||
frr_with_mutex (&connection->io_mtx) {
|
||||
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 */
|
||||
|
|
Loading…
Reference in a new issue