Print this page
5295 remove maxburst logic from TCP's send algorithm Reviewed by: Dan McDonald <danmcd@omniti.com>

@@ -21,10 +21,11 @@
 
 /*
  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2011 Joyent, Inc. All rights reserved.
+ * Copyright (c) 2014 by Delphix. All rights reserved.
  */
 
 /* This file contains all TCP input processing functions. */
 
 #include <sys/types.h>

@@ -2642,12 +2643,10 @@
                          */
                         if (tcp->tcp_rexmit) {
                                 tcp->tcp_rexmit = B_FALSE;
                                 tcp->tcp_rexmit_nxt = tcp->tcp_snxt;
                                 tcp->tcp_rexmit_max = tcp->tcp_snxt;
-                                tcp->tcp_snd_burst = tcp->tcp_localnet ?
-                                    TCP_CWND_INFINITE : TCP_CWND_NORMAL;
                                 tcp->tcp_ms_we_have_waited = 0;
 
                                 /*
                                  * Set tcp_cwnd back to 1 MSS, per
                                  * recommendation from

@@ -3838,12 +3837,10 @@
                  */
                 if (tcp->tcp_rexmit) {
                         tcp->tcp_rexmit = B_FALSE;
                         tcp->tcp_rexmit_nxt = tcp->tcp_snxt;
                         tcp->tcp_rexmit_max = tcp->tcp_snxt;
-                        tcp->tcp_snd_burst = tcp->tcp_localnet ?
-                            TCP_CWND_INFINITE : TCP_CWND_NORMAL;
                         tcp->tcp_ms_we_have_waited = 0;
                         tcp->tcp_cwnd = mss;
                 }
 
                 /*

@@ -4008,19 +4005,10 @@
                                 } else {
                                         tcp->tcp_rexmit_max = tcp->tcp_snxt;
                                 }
 
                                 /*
-                                 * Do not allow bursty traffic during.
-                                 * fast recovery.  Refer to Fall and Floyd's
-                                 * paper "Simulation-based Comparisons of
-                                 * Tahoe, Reno and SACK TCP" (in CCR?)
-                                 * This is a best current practise.
-                                 */
-                                tcp->tcp_snd_burst = TCP_CWND_SS;
-
-                                /*
                                  * For SACK:
                                  * Calculate tcp_pipe, which is the
                                  * estimated number of bytes in
                                  * network.
                                  *

@@ -4216,12 +4204,10 @@
                         if (tcp->tcp_cwnd > tcp->tcp_cwnd_ssthresh) {
                                 tcp->tcp_cwnd = tcp->tcp_cwnd_ssthresh;
                         }
                         tcp->tcp_rexmit_max = seg_ack;
                         tcp->tcp_cwnd_cnt = 0;
-                        tcp->tcp_snd_burst = tcp->tcp_localnet ?
-                            TCP_CWND_INFINITE : TCP_CWND_NORMAL;
 
                         /*
                          * Remove all notsack info to avoid confusion with
                          * the next fast retrasnmit/recovery phase.
                          */

@@ -4278,12 +4264,10 @@
                                         flags |= TH_XMIT_NEEDED;
                                 }
                         } else {
                                 tcp->tcp_rexmit = B_FALSE;
                                 tcp->tcp_rexmit_nxt = tcp->tcp_snxt;
-                                tcp->tcp_snd_burst = tcp->tcp_localnet ?
-                                    TCP_CWND_INFINITE : TCP_CWND_NORMAL;
                         }
                         tcp->tcp_ms_we_have_waited = 0;
                 }
         }