Print this page
8725 Update TCP's RTO even if incoming segment's TSecr is 0
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: ken mays <maybird1776@yahoo.com>
Reviewed by: Toomas Soome <tsoome@me.com>
@@ -4303,16 +4303,13 @@
if ((tcp->tcp_valid_bits & TCP_URG_VALID) &&
SEQ_GT(seg_ack, tcp->tcp_urg))
tcp->tcp_valid_bits &= ~TCP_URG_VALID;
/* Can we update the RTT estimates? */
- if (tcp->tcp_snd_ts_ok) {
- /* Ignore zero timestamp echo-reply. */
- if (tcpopt.tcp_opt_ts_ecr != 0) {
+ if (tcp->tcp_snd_ts_ok && tcpopt.tcp_opt_ts_ecr != 0) {
tcp_set_rto(tcp, (int32_t)LBOLT_FASTPATH -
(int32_t)tcpopt.tcp_opt_ts_ecr);
- }
/* If needed, restart the timer. */
if (tcp->tcp_set_timer == 1) {
TCP_TIMER_RESTART(tcp, tcp->tcp_rto);
tcp->tcp_set_timer = 0;