From 0c1af3e49ffacbfdb292d6b83e1d8e354c69d2a1 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Mon, 4 Feb 2019 13:44:52 -0200 Subject: [PATCH] bfdd: apply new timers on on-going connections Apply new timers when only one side is negotiating new settings: when sending the final bit we must apply the remote settings, otherwise we'll keep the previous transmission rate. Signed-off-by: Rafael Zalamena --- bfdd/bfd_packet.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bfdd/bfd_packet.c b/bfdd/bfd_packet.c index 992ad09d32..6397feb800 100644 --- a/bfdd/bfd_packet.c +++ b/bfdd/bfd_packet.c @@ -656,8 +656,13 @@ int bfd_recv_cb(struct thread *t) * * RFC 5880, Section 6.5. */ - if (BFD_GETPBIT(cp->flags)) + if (BFD_GETPBIT(cp->flags)) { + /* We are finalizing a poll negotiation. */ + bs_final_handler(bfd); + + /* Send the control packet with the final bit immediately. */ ptm_bfd_snd(bfd, 1); + } return 0; } -- 2.39.5