The branch main has been updated by tuexen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9312ba239e05b035c965e5790f70fe71a4ed2e8c

commit 9312ba239e05b035c965e5790f70fe71a4ed2e8c
Author:     Michael Tuexen <[email protected]>
AuthorDate: 2022-05-14 06:05:03 +0000
Commit:     Michael Tuexen <[email protected]>
CommitDate: 2022-05-14 06:05:03 +0000

    sctp: improve path verification
    
    When sending path confirmation heartbeats, do not take HB.interval
    into account when the path is still reachable.
    
    Thanks to Alexander Funke for finding the issue and suggesting a fix.
    
    MFC after:      3 days
---
 sys/netinet/sctputil.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c
index 7ac6ce6177d0..1f0b52a205fa 100644
--- a/sys/netinet/sctputil.c
+++ b/sys/netinet/sctputil.c
@@ -2300,7 +2300,8 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, 
struct sctp_tcb *stcb,
                } else {
                        to_ticks = UINT32_MAX;
                }
-               if (((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) &&
+               if (!((net->dest_state & SCTP_ADDR_UNCONFIRMED) &&
+                   (net->dest_state & SCTP_ADDR_REACHABLE)) &&
                    ((net->dest_state & SCTP_ADDR_PF) == 0)) {
                        if (net->heart_beat_delay < (UINT32_MAX - to_ticks)) {
                                to_ticks += net->heart_beat_delay;

Reply via email to