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;