{
struct timeval tv = {.tv_sec = 0, .tv_usec = bs->detect_TO};
+ /* Remove previous schedule if any. */
+ bfd_recvtimer_delete(bs);
+
/* Don't add event if peer is deactivated. */
if (BFD_CHECK_FLAG(bs->flags, BFD_SESS_FLAG_SHUTDOWN))
return;
log_debug("%s: sec = %ld, usec = %ld", __func__, tv.tv_sec, tv.tv_usec);
#endif /* BFD_EVENT_DEBUG */
- /* Remove previous schedule if any. */
- bfd_recvtimer_delete(bs);
-
thread_add_timer_tv(master, bfd_recvtimer_cb, bs, &tv,
&bs->recvtimer_ev);
}
{
struct timeval tv = {.tv_sec = 0, .tv_usec = bs->echo_detect_TO};
+ /* Remove previous schedule if any. */
+ bfd_echo_recvtimer_delete(bs);
+
/* Don't add event if peer is deactivated. */
if (BFD_CHECK_FLAG(bs->flags, BFD_SESS_FLAG_SHUTDOWN))
return;
log_debug("%s: sec = %ld, usec = %ld", __func__, tv.tv_sec, tv.tv_usec);
#endif /* BFD_EVENT_DEBUG */
- /* Remove previous schedule if any. */
- bfd_echo_recvtimer_delete(bs);
-
thread_add_timer_tv(master, bfd_echo_recvtimer_cb, bs, &tv,
&bs->echo_recvtimer_ev);
}
{
struct timeval tv = {.tv_sec = 0, .tv_usec = jitter};
+ /* Remove previous schedule if any. */
+ bfd_xmttimer_delete(bs);
+
/* Don't add event if peer is deactivated. */
if (BFD_CHECK_FLAG(bs->flags, BFD_SESS_FLAG_SHUTDOWN))
return;
log_debug("%s: sec = %ld, usec = %ld", __func__, tv.tv_sec, tv.tv_usec);
#endif /* BFD_EVENT_DEBUG */
- /* Remove previous schedule if any. */
- bfd_xmttimer_delete(bs);
-
thread_add_timer_tv(master, bfd_xmt_cb, bs, &tv, &bs->xmttimer_ev);
}
{
struct timeval tv = {.tv_sec = 0, .tv_usec = jitter};
+ /* Remove previous schedule if any. */
+ bfd_echo_xmttimer_delete(bs);
+
/* Don't add event if peer is deactivated. */
if (BFD_CHECK_FLAG(bs->flags, BFD_SESS_FLAG_SHUTDOWN))
return;
log_debug("%s: sec = %ld, usec = %ld", __func__, tv.tv_sec, tv.tv_usec);
#endif /* BFD_EVENT_DEBUG */
- /* Remove previous schedule if any. */
- bfd_echo_xmttimer_delete(bs);
-
thread_add_timer_tv(master, bfd_echo_xmt_cb, bs, &tv,
&bs->echo_xmttimer_ev);
}