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
This commit is contained in:
Andre Oppermann 2011-10-16 20:06:44 +00:00
parent 154d5f7321
commit 9ec4a4cca5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=226447
3 changed files with 3 additions and 53 deletions

View file

@ -301,9 +301,6 @@ cc_conn_init(struct tcpcb *tp)
struct hc_metrics_lite metrics; struct hc_metrics_lite metrics;
struct inpcb *inp = tp->t_inpcb; struct inpcb *inp = tp->t_inpcb;
int rtt; int rtt;
#ifdef INET6
int isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0;
#endif
INP_WLOCK_ASSERT(tp->t_inpcb); 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 * Set the initial slow-start flight size.
* 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.
* *
* RFC3390 says only do this if SYN or SYN/ACK didn't got lost. * 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) if (V_tcp_do_rfc3390)
tp->snd_cwnd = min(4 * tp->t_maxseg, tp->snd_cwnd = min(4 * tp->t_maxseg,
max(2 * tp->t_maxseg, 4380)); 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 else
tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz; tp->snd_cwnd = tp->t_maxseg;
if (CC_ALGO(tp)->conn_init != NULL) if (CC_ALGO(tp)->conn_init != NULL)
CC_ALGO(tp)->conn_init(tp->ccv); CC_ALGO(tp)->conn_init(tp->ccv);

View file

@ -89,16 +89,6 @@ SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, path_mtu_discovery, CTLFLAG_RW,
&VNET_NAME(path_mtu_discovery), 1, &VNET_NAME(path_mtu_discovery), 1,
"Enable Path MTU Discovery"); "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; VNET_DEFINE(int, tcp_do_tso) = 1;
#define V_tcp_do_tso VNET(tcp_do_tso) #define V_tcp_do_tso VNET(tcp_do_tso)
SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, tso, CTLFLAG_RW, SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, tso, CTLFLAG_RW,

View file

@ -609,8 +609,6 @@ VNET_DECLARE(int, tcp_do_rfc3390);
VNET_DECLARE(int, tcp_sendspace); VNET_DECLARE(int, tcp_sendspace);
VNET_DECLARE(int, tcp_recvspace); VNET_DECLARE(int, tcp_recvspace);
VNET_DECLARE(int, path_mtu_discovery); 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_do_rfc3465);
VNET_DECLARE(int, tcp_abc_l_var); VNET_DECLARE(int, tcp_abc_l_var);
#define V_tcb VNET(tcb) #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_sendspace VNET(tcp_sendspace)
#define V_tcp_recvspace VNET(tcp_recvspace) #define V_tcp_recvspace VNET(tcp_recvspace)
#define V_path_mtu_discovery VNET(path_mtu_discovery) #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_do_rfc3465 VNET(tcp_do_rfc3465)
#define V_tcp_abc_l_var VNET(tcp_abc_l_var) #define V_tcp_abc_l_var VNET(tcp_abc_l_var)