git: 9312ba239e05 - main - sctp: improve path verification
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 15 May 2022 09:47:04 UTC
The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9312ba239e05b035c965e5790f70fe71a4ed2e8c commit 9312ba239e05b035c965e5790f70fe71a4ed2e8c Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2022-05-14 06:05:03 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> 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;