Author: andre
Date: Sun Oct 16 20:06:44 2011
New Revision: 226447
URL: http://svn.freebsd.org/changeset/base/226447

Log:
  Remove the ss_fltsz and ss_fltsz_local sysctl's which have
  long been superseded by the RFC3390 initial CWND sizing.
  
  Also remove the remnants of TCP_METRICS_CWND which used the
  TCP hostcache to set the initial CWND in a non-RFC compliant
  way.
  
  MFC after:    1 week

Modified:
  head/sys/netinet/tcp_input.c
  head/sys/netinet/tcp_output.c
  head/sys/netinet/tcp_var.h

Modified: head/sys/netinet/tcp_input.c
==============================================================================
--- head/sys/netinet/tcp_input.c        Sun Oct 16 19:46:52 2011        
(r226446)
+++ head/sys/netinet/tcp_input.c        Sun Oct 16 20:06:44 2011        
(r226447)
@@ -301,9 +301,6 @@ cc_conn_init(struct tcpcb *tp)
        struct hc_metrics_lite metrics;
        struct inpcb *inp = tp->t_inpcb;
        int rtt;
-#ifdef INET6
-       int isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0;
-#endif
 
        INP_WLOCK_ASSERT(tp->t_inpcb);
 
@@ -337,49 +334,16 @@ cc_conn_init(struct tcpcb *tp)
        }
 
        /*
-        * Set the slow-start flight size depending on whether this
-        * is a local network or not.
-        *
-        * Extend this so we cache the cwnd too and retrieve it here.
-        * Make cwnd even bigger than RFC3390 suggests but only if we
-        * have previous experience with the remote host. Be careful
-        * not make cwnd bigger than remote receive window or our own
-        * send socket buffer. Maybe put some additional upper bound
-        * on the retrieved cwnd. Should do incremental updates to
-        * hostcache when cwnd collapses so next connection doesn't
-        * overloads the path again.
-        *
-        * XXXAO: Initializing the CWND from the hostcache is broken
-        * and in its current form not RFC conformant.  It is disabled
-        * until fixed or removed entirely.
+        * Set the initial slow-start flight size.
         *
         * RFC3390 says only do this if SYN or SYN/ACK didn't got lost.
-        * We currently check only in syncache_socket for that.
+        * XXX: We currently check only in syncache_socket for that.
         */
-/* #define TCP_METRICS_CWND */
-#ifdef TCP_METRICS_CWND
-       if (metrics.rmx_cwnd)
-               tp->snd_cwnd = max(tp->t_maxseg, min(metrics.rmx_cwnd / 2,
-                   min(tp->snd_wnd, so->so_snd.sb_hiwat)));
-       else
-#endif
        if (V_tcp_do_rfc3390)
                tp->snd_cwnd = min(4 * tp->t_maxseg,
                    max(2 * tp->t_maxseg, 4380));
-#ifdef INET6
-       else if (isipv6 && in6_localaddr(&inp->in6p_faddr))
-               tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz_local;
-#endif
-#if defined(INET) && defined(INET6)
-       else if (!isipv6 && in_localaddr(inp->inp_faddr))
-               tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz_local;
-#endif
-#ifdef INET
-       else if (in_localaddr(inp->inp_faddr))
-               tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz_local;
-#endif
        else
-               tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz;
+               tp->snd_cwnd = tp->t_maxseg;
 
        if (CC_ALGO(tp)->conn_init != NULL)
                CC_ALGO(tp)->conn_init(tp->ccv);

Modified: head/sys/netinet/tcp_output.c
==============================================================================
--- head/sys/netinet/tcp_output.c       Sun Oct 16 19:46:52 2011        
(r226446)
+++ head/sys/netinet/tcp_output.c       Sun Oct 16 20:06:44 2011        
(r226447)
@@ -89,16 +89,6 @@ SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO,
        &VNET_NAME(path_mtu_discovery), 1,
        "Enable Path MTU Discovery");
 
-VNET_DEFINE(int, ss_fltsz) = 1;
-SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, slowstart_flightsize, CTLFLAG_RW,
-       &VNET_NAME(ss_fltsz), 1,
-       "Slow start flight size");
-
-VNET_DEFINE(int, ss_fltsz_local) = 4;
-SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, local_slowstart_flightsize,
-       CTLFLAG_RW, &VNET_NAME(ss_fltsz_local), 1,
-       "Slow start flight size for local networks");
-
 VNET_DEFINE(int, tcp_do_tso) = 1;
 #define        V_tcp_do_tso            VNET(tcp_do_tso)
 SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, tso, CTLFLAG_RW,

Modified: head/sys/netinet/tcp_var.h
==============================================================================
--- head/sys/netinet/tcp_var.h  Sun Oct 16 19:46:52 2011        (r226446)
+++ head/sys/netinet/tcp_var.h  Sun Oct 16 20:06:44 2011        (r226447)
@@ -609,8 +609,6 @@ VNET_DECLARE(int, tcp_do_rfc3390);
 VNET_DECLARE(int, tcp_sendspace);
 VNET_DECLARE(int, tcp_recvspace);
 VNET_DECLARE(int, path_mtu_discovery);
-VNET_DECLARE(int, ss_fltsz);
-VNET_DECLARE(int, ss_fltsz_local);
 VNET_DECLARE(int, tcp_do_rfc3465);
 VNET_DECLARE(int, tcp_abc_l_var);
 #define        V_tcb                   VNET(tcb)
@@ -623,8 +621,6 @@ VNET_DECLARE(int, tcp_abc_l_var);
 #define        V_tcp_sendspace         VNET(tcp_sendspace)
 #define        V_tcp_recvspace         VNET(tcp_recvspace)
 #define        V_path_mtu_discovery    VNET(path_mtu_discovery)
-#define        V_ss_fltsz              VNET(ss_fltsz)
-#define        V_ss_fltsz_local        VNET(ss_fltsz_local)
 #define        V_tcp_do_rfc3465        VNET(tcp_do_rfc3465)
 #define        V_tcp_abc_l_var         VNET(tcp_abc_l_var)
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to