Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_stacks/rack.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 10,873 Lines • ▼ Show 20 Lines | #endif | ||||
*/ | */ | ||||
tcp_dooptions(&to, (u_char *)(th + 1), | tcp_dooptions(&to, (u_char *)(th + 1), | ||||
(th->th_off << 2) - sizeof(struct tcphdr), | (th->th_off << 2) - sizeof(struct tcphdr), | ||||
(thflags & TH_SYN) ? TO_SYN : 0); | (thflags & TH_SYN) ? TO_SYN : 0); | ||||
/* | /* | ||||
* 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) && | ||||
(!V_tcp_tolerate_missing_ts)) { | |||||
way_out = 5; | way_out = 5; | ||||
retval = 0; | retval = 0; | ||||
goto done_with_input; | goto done_with_input; | ||||
} | } | ||||
/* | /* | ||||
* Segment received on connection. Reset idle time and keep-alive | * Segment received on connection. Reset idle time and keep-alive | ||||
* timer. XXX: This should be done after segment validation to | * timer. XXX: This should be done after segment validation to | ||||
▲ Show 20 Lines • Show All 4,083 Lines • Show Last 20 Lines |