Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_input.c
Show First 20 Lines • Show All 1,686 Lines • ▼ Show 20 Lines | if (IS_FASTOPEN(tp->t_flags)) { | ||||
} else | } else | ||||
tcp_fastopen_disable_path(tp); | tcp_fastopen_disable_path(tp); | ||||
} | } | ||||
} | } | ||||
/* | /* | ||||
* If timestamps were negotiated during SYN/ACK and a | * If timestamps were negotiated during SYN/ACK and a | ||||
* segment without a timestamp is received, silently drop | * segment without a timestamp is received, silently drop | ||||
* the segment. | * the segment, unless the missing timestamps are tolerated. | ||||
* See section 3.2 of RFC 7323. | * See section 3.2 of RFC 7323. | ||||
*/ | */ | ||||
if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) { | if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) { | ||||
if (V_tcp_tolerate_missing_ts) { | |||||
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { | if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { | ||||
log(LOG_DEBUG, "%s; %s: Timestamp missing, " | log(LOG_DEBUG, "%s; %s: Timestamp missing, " | ||||
"segment processed normally\n", | |||||
s, __func__); | |||||
free(s, M_TCPLOG); | |||||
} | |||||
} else { | |||||
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { | |||||
log(LOG_DEBUG, "%s; %s: Timestamp missing, " | |||||
"segment silently dropped\n", s, __func__); | "segment silently dropped\n", s, __func__); | ||||
free(s, M_TCPLOG); | free(s, M_TCPLOG); | ||||
} | } | ||||
goto drop; | goto drop; | ||||
} | |||||
} | } | ||||
/* | /* | ||||
* If timestamps were not negotiated during SYN/ACK and a | * If timestamps were not negotiated during SYN/ACK and a | ||||
* segment with a timestamp is received, ignore the | * segment with a timestamp is received, ignore the | ||||
* timestamp and process the packet normally. | * timestamp and process the packet normally. | ||||
* See section 3.2 of RFC 7323. | * See section 3.2 of RFC 7323. | ||||
*/ | */ | ||||
if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) { | if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) { | ||||
▲ Show 20 Lines • Show All 2,322 Lines • Show Last 20 Lines |