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:
parent
154d5f7321
commit
9ec4a4cca5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=226447
@ -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);
|
||||
|
@ -89,16 +89,6 @@ SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, path_mtu_discovery, CTLFLAG_RW,
|
||||
&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,
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user