From: Rafael Zalamena Date: Mon, 4 Feb 2019 15:44:52 +0000 (-0200) Subject: bfdd: apply new timers on on-going connections X-Git-Tag: 7.1_pulled~230^2~2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=0c1af3e49ffacbfdb292d6b83e1d8e354c69d2a1;p=matthieu%2Ffrr.git 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 --- 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; }