aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_var.h
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2020-04-14 16:35:05 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2020-04-14 16:35:05 +0000
commitb89af8e16db66225520b80a277fe02ede951ab70 (patch)
treedcbf7df43cee31e6c39810c6dd3888f2d6497399 /sys/netinet/tcp_var.h
parent9ed8321078444aea2a90a361f91e54065d5daf21 (diff)
downloadsrc-b89af8e16db66225520b80a277fe02ede951ab70.tar.gz
src-b89af8e16db66225520b80a277fe02ede951ab70.zip
Improve the TCP blackhole detection. The principle is to reduce the
MSS in two steps and try each candidate two times. However, if two candidates are the same (which is the case in TCP/IPv6), this candidate was tested four times. This patch ensures that each candidate actually reduced the MSS and is only tested 2 times. This reduces the time window of missclassifying a temporary outage as an MTU issue. Reviewed by: jtl MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24308
Notes
Notes: svn path=/head/; revision=359926
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r--sys/netinet/tcp_var.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index 82b6a9dc4e4b..10b1b6586dfd 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -169,6 +169,8 @@ struct tcpcb {
u_int t_starttime; /* time connection was established */
u_int t_pmtud_saved_maxseg; /* pre-blackhole MSS */
+ int t_blackhole_enter; /* when to enter blackhole detection */
+ int t_blackhole_exit; /* when to exit blackhole detection */
u_int t_rttmin; /* minimum rtt allowed */
u_int t_rttbest; /* best rtt we've seen */