opnsense-src/sys/netinet
Michael Tuexen 1951fa791e RFC 3465 defines a limit L used in TCP slow start for limiting the number
of acked bytes as described in Section 2.2 of that document.
This patch ensures that this limit is not also applied in congestion
avoidance. Applying this limit also in congestion avoidance can result in
using less bandwidth than allowed.

Reported by:		l.tian.email@gmail.com
Reviewed by:		rrs, rscheff
MFC after:		3 days
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D26120
2020-08-25 09:42:03 +00:00
..
cc TCP Cubic: recalculate cwnd for every ACK. 2020-08-18 19:34:31 +00:00
khelp sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
libalias libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
netdump Use zfree() instead of explicit_bzero() and free(). 2020-06-25 20:17:34 +00:00
tcp_stacks RFC 3465 defines a limit L used in TCP slow start for limiting the number 2020-08-25 09:42:03 +00:00
accf_data.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
accf_dns.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
accf_http.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
dccp.h Add header definition for RFC4340, Datagram Congestion Control Protocol 2020-06-17 13:27:13 +00:00
icmp6.h Convert IP/IPv6 forwarding, ICMP processing and IP PCB laddr selection to 2020-04-14 23:06:25 +00:00
icmp_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_ether.c Complete conversions from fib<4|6>_lookup_nh_<basic|ext> to fib<4|6>_lookup(). 2020-07-02 21:04:08 +00:00
if_ether.h Retire arpresolve_addr(), which is not used anywhere, from if_ether.c. 2018-11-17 16:08:36 +00:00
igmp.c Fix an issue of net.inet.igmp.stats handler. 2020-03-07 08:41:10 +00:00
igmp.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
igmp_var.h Separate list manipulation locking from state change in multicast 2018-05-02 19:36:29 +00:00
in.c Make sure the multicast release tasks are properly drained when 2020-08-10 10:46:08 +00:00
in.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
in_cksum.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in_debug.c CK: update consumers to use CK macros across the board 2018-05-24 23:21:23 +00:00
in_fib.c Complete conversions from fib<4|6>_lookup_nh_<basic|ext> to fib<4|6>_lookup(). 2020-07-02 21:04:08 +00:00
in_fib.h Complete conversions from fib<4|6>_lookup_nh_<basic|ext> to fib<4|6>_lookup(). 2020-07-02 21:04:08 +00:00
in_gif.c Switch gif(4) path verification to fib[46]_check_urfp(). 2020-05-28 07:26:18 +00:00
in_jail.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
in_kdtrace.c Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
in_kdtrace.h Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
in_mcast.c Use a static initializer for the multicast free tasks. 2020-08-11 08:31:40 +00:00
in_pcb.c Fix NULL-pointer bug from r361228. 2020-05-19 01:05:13 +00:00
in_pcb.h Allow TCP to reuse local port with different destinations 2020-05-18 22:53:12 +00:00
in_pcbgroup.c Fix PCBGROUPS build post CK conversion of pcbinfo 2018-06-13 23:19:54 +00:00
in_prot.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
in_proto.c Simplify dom_<rtattach|rtdetach>. 2020-08-14 21:29:56 +00:00
in_rmx.c Simplify dom_<rtattach|rtdetach>. 2020-08-14 21:29:56 +00:00
in_rss.c Rename rss_soft_m2cpuid() -> rss_soft_m2cpuid_v4() in preparation for 2015-08-29 06:58:30 +00:00
in_rss.h Rename rss_soft_m2cpuid() -> rss_soft_m2cpuid_v4() in preparation for 2015-08-29 06:58:30 +00:00
in_systm.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in_var.h Simplify dom_<rtattach|rtdetach>. 2020-08-14 21:29:56 +00:00
ip.h carp: Set DSCP value CS7 2018-07-01 08:37:07 +00:00
ip6.h Remove stale definitions. The removed definitions are not used right 2020-03-01 12:34:27 +00:00
ip_carp.c Use devctl.h instead of bus.h to reduce newbus pollution. 2020-08-21 00:03:24 +00:00
ip_carp.h carp: replace caddr_t with char * 2019-12-06 16:35:48 +00:00
ip_divert.c Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
ip_divert.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ip_dummynet.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip_ecn.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_ecn.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_encap.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
ip_encap.h Add KPI that can be used by tunneling interfaces to handle IP addresses 2018-10-21 17:55:26 +00:00
ip_fastfwd.c Convert IP/IPv6 forwarding, ICMP processing and IP PCB laddr selection to 2020-04-14 23:06:25 +00:00
ip_fw.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip_gre.c Introduce NET_EPOCH_CALL() macro and use it everywhere where we free 2020-01-15 06:05:20 +00:00
ip_icmp.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
ip_icmp.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_id.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_input.c Fix a possible next-hop refcount leak when handling IPSec traffic. 2020-07-01 15:42:48 +00:00
ip_mroute.c Rather than zeroing MAXVIFS times size of pointer [r362289] (still better than 2020-06-21 22:09:30 +00:00
ip_mroute.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_options.c Complete conversions from fib<4|6>_lookup_nh_<basic|ext> to fib<4|6>_lookup(). 2020-07-02 21:04:08 +00:00
ip_options.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_output.c Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
ip_reass.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_var.h This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This 2019-09-24 18:18:11 +00:00
pim.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pim_var.h Rework IP encapsulation handling code. 2018-06-05 20:51:01 +00:00
raw_ip.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
sctp.h Make the message size limit used for SCTP_SENDALL configurable via 2020-01-04 20:33:12 +00:00
sctp_asconf.c Improve the error handling in generating ASCONF chunks. 2020-07-14 20:32:50 +00:00
sctp_asconf.h Remove last argument of sctp_addr_mgmt_ep_sa(), since it is not used. 2020-06-19 12:35:29 +00:00
sctp_auth.c Non-functional changes due to upstream cleanup. 2020-06-11 13:34:09 +00:00
sctp_auth.h Remove unused code. 2018-09-18 10:53:07 +00:00
sctp_bsd_addr.c Remove unused function. 2020-02-18 19:41:55 +00:00
sctp_bsd_addr.h Use an event handler to notify the SCTP about IP address changes 2019-10-13 18:17:08 +00:00
sctp_cc_functions.c Handle integer overflows correctly when converting msecs and secs to 2020-03-28 20:25:45 +00:00
sctp_constants.h Detect and handle an invalid reassembly constellation, which results in 2020-07-23 01:35:24 +00:00
sctp_crc32.c No need to include netinet/sctp_crc32.h twice. 2020-06-22 14:36:14 +00:00
sctp_crc32.h Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
sctp_header.h Whitespace changes due to changes in ident. 2018-07-19 20:16:33 +00:00
sctp_indata.c Detect and handle an invalid reassembly constellation, which results in 2020-07-23 01:35:24 +00:00
sctp_indata.h Ensure that an stcb is not dereferenced when it is about to be 2020-05-16 19:26:39 +00:00
sctp_input.c Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
sctp_input.h Whitespace changes due to changes in ident. 2018-07-19 20:16:33 +00:00
sctp_kdtrace.c Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
sctp_kdtrace.h Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
sctp_lock_bsd.h Improve the locking of address lists by adding some asserts and 2020-07-17 15:09:49 +00:00
sctp_module.c Provide support for building SCTP as a loadable module. 2020-07-10 14:56:05 +00:00
sctp_os.h Non-functional changes due to cleanup (upstream removing of Panda support) 2020-06-06 18:20:09 +00:00
sctp_os_bsd.h Add reference counts for inp/stcb/net when timers are running. 2020-07-19 12:34:19 +00:00
sctp_output.c Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
sctp_output.h Non-functional changes due to upstream cleanup. 2020-06-11 13:34:09 +00:00
sctp_pcb.c Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
sctp_pcb.h More cleanups due to ifdef cleanup done upstream 2020-06-12 16:31:13 +00:00
sctp_peeloff.c Non-functional changes due to upstream cleanup. 2020-06-11 13:34:09 +00:00
sctp_peeloff.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sctp_ss_functions.c Cleanups, no functional change. 2020-06-14 09:50:00 +00:00
sctp_structs.h Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
sctp_syscalls.c Cleanup, no functional change intended. 2020-07-12 18:34:09 +00:00
sctp_sysctl.c Whitespace cleanups and removal of a stale comment. 2020-06-08 20:23:20 +00:00
sctp_sysctl.h Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_timer.c Non-functional changes due to upstream cleanup. 2020-06-11 13:34:09 +00:00
sctp_timer.h More timer cleanups, no functional change. 2020-03-21 16:12:19 +00:00
sctp_uio.h Cleanup the defintion of struct sctp_getaddresses. This stucture 2020-06-21 23:12:56 +00:00
sctp_usrreq.c Fix two bugs I introduced in r362563. 2020-08-18 19:25:03 +00:00
sctp_var.h Add reference counts for inp/stcb/net when timers are running. 2020-07-19 12:34:19 +00:00
sctputil.c Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
sctputil.h Improve the handling of concurrent send() calls for SCTP sockets, 2020-08-16 11:50:37 +00:00
siftr.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcp_debug.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tcp_debug.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tcp_fastopen.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_fastopen.h Greatly reduce the number of #ifdefs supporting the TCP_RFC7413 kernel option. 2018-02-26 03:03:41 +00:00
tcp_fsm.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_hostcache.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_hostcache.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
tcp_hpts.c tcp_hpts: make RSS kernel compile again. 2020-03-03 14:15:30 +00:00
tcp_hpts.h Whitespace, remove from three files trailing white 2020-02-12 13:07:09 +00:00
tcp_input.c RFC 3465 defines a limit L used in TCP slow start for limiting the number 2020-08-25 09:42:03 +00:00
tcp_log_buf.c An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_log_buf.h An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_lro.c White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_lro.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_offload.c Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcp_offload.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcp_output.c TCP: remove special treatment for hardware (ifnet) TLS 2020-08-19 17:59:06 +00:00
tcp_pcap.c Step 4.2: start divorce of M_EXT and M_EXTPG 2020-05-03 00:37:16 +00:00
tcp_pcap.h The TCPPCAP debugging feature caches recently-used mbufs for use in 2016-07-06 16:17:13 +00:00
tcp_ratelimit.c Fix copyright year and eliminate the obsolete all rights reserved line. 2020-04-08 17:55:45 +00:00
tcp_ratelimit.h Fix copyright year and eliminate the obsolete all rights reserved line. 2020-04-08 17:55:45 +00:00
tcp_reass.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_sack.c Improve SACK support code for RFC6675 and PRR 2020-08-13 16:30:09 +00:00
tcp_seq.h r330675 introduced an extra window check in the LRO code to ensure it 2018-04-03 13:54:38 +00:00
tcp_stats.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_subr.c The recent changes to move the ref count increment 2020-07-31 10:03:32 +00:00
tcp_syncache.c Fix the following issues related to the TCP SYN-cache: 2020-08-10 20:24:48 +00:00
tcp_syncache.h Fix the following issues related to the TCP SYN-cache: 2020-08-10 20:24:48 +00:00
tcp_timer.c Improve the TCP blackhole detection. The principle is to reduce the 2020-04-14 16:35:05 +00:00
tcp_timer.h Reduce default TCP delayed ACK timeout to 40ms. 2020-04-16 15:59:23 +00:00
tcp_timewait.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_usrreq.c (Re)-allow 0.0.0.0 to be used as an address in connect() for TCP 2020-07-16 16:46:24 +00:00
tcp_var.h Improve SACK support code for RFC6675 and PRR 2020-08-13 16:30:09 +00:00
tcpip.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
toecore.c Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
toecore.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
udp.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
udp_usrreq.c IPV6_PKTINFO support for v4-mapped IPv6 sockets 2020-08-07 15:13:53 +00:00
udp_var.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
udplite.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00