freebsd-dev/sys/netinet
Randall Stewart e5049a1733 TCP rack does not work properly with cubic.
Right now if you use rack with cubic (the new default cc) you will have
improper results. This is because rack uses different variables than
the base stack (or bbr) and thus tcp_compute_pipe() always returns
so that cubic will choose a 30% backoff not the 50% backoff it should
when it is newreno compatibility mode. The fix is to allow a stack (rack)
to override its own compute_pipe.

Reviewed by: tuexen, rscheff
Sponsored by: Netflix Inc
Differential Revision: https://reviews.freebsd.org/D36711
2022-09-26 15:12:03 -04:00
..
cc tcp: make RACK loadable again using the default configuration 2022-09-26 12:30:50 +02:00
khelp khelp(9): Fix a typo in a source code comment 2022-04-02 14:10:59 +02:00
libalias libalias(3): Fix two typos in source code comments 2022-04-09 09:14:00 +02:00
netdump netdump(4): Correct a typo in source code comment 2022-09-04 12:59:29 +02:00
tcp_stacks TCP rack does not work properly with cubic. 2022-09-26 15:12:03 -04:00
accf_data.c
accf_dns.c
accf_http.c
dccp.h
icmp6.h mld6: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
icmp_var.h
if_ether.c netinet6: Fix mbuf leak in NDP 2022-05-31 21:06:14 +00:00
if_ether.h
igmp_var.h igmp: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
igmp.c igmp: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
igmp.h
in_cksum.c netinet: Implement in_cksum_skip() using m_apply() 2021-11-24 13:31:16 -05:00
in_debug.c Use network epoch to protect local IPv4 addresses hash. 2021-10-22 14:40:53 -07:00
in_fib_algo.c
in_fib_dxr.c fib_algo: shift / mask by constants in dxr_lookup() 2022-01-17 00:13:47 +01:00
in_fib.c routing: refactor private KPI 2022-08-01 10:02:12 +00:00
in_fib.h
in_gif.c Use network epoch to protect local IPv4 addresses hash. 2021-10-22 14:40:53 -07:00
in_jail.c sysent: Get rid of bogus sys/sysent.h include. 2022-05-28 20:52:17 +03:00
in_kdtrace.c Fix dtrace SDT probe tcp:::debug-input 2021-12-20 17:15:43 -09:00
in_kdtrace.h
in_mcast.c divert: declare PF_DIVERT domain and stop abusing PF_INET 2022-08-30 15:09:21 -07:00
in_pcb_var.h in_pcb: use jenkins hash over the entire IPv6 (or IPv4) address 2021-12-26 10:47:28 -08:00
in_pcb.c inpcb: gather v4/v6 handling code into in_pcballoc() from protocols 2022-08-10 11:09:34 -07:00
in_pcb.h netinet: Correct a typo in source code comment 2022-09-04 12:57:12 +02:00
in_prot.c
in_proto.c protosw: cleanup protocols that existed merely to provide pr_input 2022-08-30 15:09:21 -07:00
in_rmx.c routing: add nhop(9) kpi. 2022-08-01 08:52:26 +00:00
in_rss.c in_rss: fix set but not used warning 2022-05-07 18:17:33 +02:00
in_rss.h
in_systm.h
in_var.h protosw: change prototype for pr_control 2022-08-12 12:08:18 -07:00
in.c netinet: pass cred instead of the curthread to ifaddr manipulation funcs. 2022-09-26 13:46:13 +00:00
in.h protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
ip6.h
ip_carp.c protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
ip_carp.h protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
ip_divert.c divert(4): do not depend on ipfw(4) 2022-09-06 20:54:57 -07:00
ip_divert.h divert(4): provide statistics 2022-08-30 15:09:21 -07:00
ip_dummynet.h ipfw: use unsigned int for dummynet bandwidth 2021-08-19 10:48:53 +02:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip_fw.h ipfw: add support radix tables and table lookup for MAC addresses 2022-06-04 19:12:29 +03:00
ip_gre.c udp: allow udp_tun_func_t() to indicate it did not eat the packet 2022-04-12 10:04:59 +02:00
ip_icmp.c protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
ip_icmp.h
ip_id.c
ip_input.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip_mroute.c raw ip: fix regression with multicast and RSVP 2022-09-02 12:17:09 -07:00
ip_mroute.h IPv4 multicast: fix netstat -g 2022-03-22 07:38:01 -05:00
ip_options.c
ip_options.h
ip_output.c ip_output: always increase "cantfrag" stat if ip_fragment() fails 2022-09-14 19:22:40 -07:00
ip_reass.c ip_reass: use correct comparison in ipreass_callout() 2022-09-14 08:32:07 -07:00
ip_var.h ip_reass: retire ipreass_slowtimo() in favor of per-slot callout 2022-09-08 13:49:58 -07:00
ip.h ip_reass: retire ipreass_slowtimo() in favor of per-slot callout 2022-09-08 13:49:58 -07:00
pim_var.h
pim.h
raw_ip.c raw ip: fix regression with multicast and RSVP 2022-09-02 12:17:09 -07:00
sctp_asconf.c sctp: improve consistency 2022-05-14 06:28:19 +02:00
sctp_asconf.h
sctp_auth.c
sctp_auth.h
sctp_bsd_addr.c sctp: Remove unused variable. 2022-04-12 14:58:59 -07:00
sctp_bsd_addr.h
sctp_cc_functions.c sctp: plug set-but-not-used vars 2022-04-19 12:45:57 +00:00
sctp_constants.h sctp: improve handling of sctp inpcb flags 2022-06-04 07:38:19 +02:00
sctp_crc32.c sctp: fix a signed/unsigned mismatch. 2022-02-17 22:45:57 +01:00
sctp_crc32.h sctp: fix a signed/unsigned mismatch. 2022-02-17 22:45:57 +01:00
sctp_header.h
sctp_indata.c sctp: tweak panic message 2022-08-03 17:28:15 +02:00
sctp_indata.h
sctp_input.c sctp: improve handling of sctp inpcb flags 2022-06-04 07:38:19 +02:00
sctp_input.h
sctp_kdtrace.c
sctp_kdtrace.h
sctp_lock_bsd.h sctp: get rid of stcb send lock 2022-03-29 01:50:17 +02:00
sctp_module.c protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
sctp_os_bsd.h sctp: use sb_avail() when accessing sb_acc for reading 2022-05-14 12:38:43 +02:00
sctp_os.h
sctp_output.c sctp: improve handling of send() calls with no user data` 2022-08-08 12:53:42 +02:00
sctp_output.h sctp: cleanup the SCTP_MAXSEG socket option. 2021-12-27 23:40:31 +01:00
sctp_pcb.c protosw: retire pr_drain and use EVENTHANDLER(9) directly 2022-08-17 11:50:31 -07:00
sctp_pcb.h protosw: retire pr_drain and use EVENTHANDLER(9) directly 2022-08-17 11:50:31 -07:00
sctp_peeloff.c sctp: Remove an unused sctp_inpcb field 2021-09-07 11:19:29 -04:00
sctp_peeloff.h
sctp_ss_functions.c sctp: fix typos 2022-03-29 21:09:51 +02:00
sctp_structs.h sctp: cleanup, no functional change 2022-06-08 22:35:14 +02:00
sctp_syscalls.c Fixup build after recent getsock changes 2022-09-10 20:40:43 +00:00
sctp_sysctl.c Adjust sctp_init_sysctls() definition to avoid clang 15 warning 2022-07-25 22:08:35 +02:00
sctp_sysctl.h sctp: fix typos 2022-03-29 21:09:51 +02:00
sctp_timer.c Fix unused variable warning in sctp_timer.c 2022-07-25 22:08:28 +02:00
sctp_timer.h
sctp_uio.h sctp: get rid of stcb send lock 2022-03-29 01:50:17 +02:00
sctp_usrreq.c protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
sctp_var.h protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
sctp.h
sctputil.c sctp: improve handling of sctp inpcb flags 2022-06-04 07:38:19 +02:00
sctputil.h sctp: more sb_cc related cleanups 2022-05-23 16:09:23 +02:00
siftr.c siftr: spell PFIL_PASS correctly. 2022-09-12 19:20:10 +02:00
tcp_accounting.h
tcp_debug.c protosw: retire PRU_ flags and their char names 2022-08-17 11:50:32 -07:00
tcp_debug.h protosw: retire PRU_ flags and their char names 2022-08-17 11:50:32 -07:00
tcp_ecn.c tcp: Functional implementation of Accurate ECN 2022-08-31 15:05:53 +02:00
tcp_ecn.h tcp: Functional implementation of Accurate ECN 2022-08-31 15:05:53 +02:00
tcp_fastopen.c
tcp_fastopen.h Use stub inline functions for no-op versions of tcp_fastopen*(). 2022-04-08 17:25:13 -07:00
tcp_fsm.h tcp: Remove unused v6 state definitions 2021-08-27 08:31:32 -04:00
tcp_hostcache.c tcp(4): Fix a typo in a sysctl description 2021-11-30 07:17:30 +01:00
tcp_hpts.c tcp_hpts: Correct some typos in source code comments 2022-09-04 12:47:49 +02:00
tcp_hpts.h tcp_hpts: Correct some typos in source code comments 2022-09-04 12:47:49 +02:00
tcp_input.c TCP rack does not work properly with cubic. 2022-09-26 15:12:03 -04:00
tcp_log_buf.c prometheus_sysctl_exporter: fix metric aliasing 2022-04-19 06:56:39 -06:00
tcp_log_buf.h tcp: Rack rwnd collapse. 2022-08-23 09:17:05 -04:00
tcp_lro.c TCP Lro has a loss of timestamp precision and reorders packets. 2022-08-23 09:12:31 -04:00
tcp_lro.h tcp: Avoid conditionally defined fields in union lro_address 2022-02-10 15:39:58 -05:00
tcp_offload.c
tcp_offload.h
tcp_output.c tcp: fix cwnd restricted SACK retransmission loop 2022-09-22 13:28:43 +02:00
tcp_pcap.c tcp: fix TCPPCAP for kernels enabling VNET 2022-06-15 23:28:54 +02:00
tcp_pcap.h
tcp_ratelimit.c tcp_ratelimit: Handle some edge cases with TLS + RL send tags. 2022-01-31 16:40:04 -08:00
tcp_ratelimit.h
tcp_reass.c tcp: Access all 12 TCP header flags via inline function 2022-02-03 16:21:58 +01:00
tcp_sack.c tcp: exclude KASSERTS when rescue retransmissions are in play. 2022-06-08 14:51:31 +02:00
tcp_seq.h tcp: Correctly compute the retransmit length for all 64-bit platforms. 2022-06-03 10:49:17 +02:00
tcp_stats.c
tcp_subr.c tcp: increment tcpstats in tcp_respond() 2022-09-21 14:03:33 -07:00
tcp_syncache.c tcp: fix simultaneous open and refine e80062a2d4 2022-09-21 14:02:49 -07:00
tcp_syncache.h tcp: Add/update AccECN related statistics and numbers 2022-02-10 00:21:31 +01:00
tcp_timer.c protosw: retire PRU_ flags and their char names 2022-08-17 11:50:32 -07:00
tcp_timer.h tcp: virtualise net.inet.tcp.msl sysctl. 2021-12-26 14:56:04 +00:00
tcp_timewait.c sockets: use only soref()/sorele() as socket reference count 2022-07-04 12:40:51 -07:00
tcp_usrreq.c tcp: fix simultaneous open and refine e80062a2d4 2022-09-21 14:02:49 -07:00
tcp_var.h TCP rack does not work properly with cubic. 2022-09-26 15:12:03 -04:00
tcp.h tcp: LRO code to deal with all 12 TCP header flags 2022-02-01 18:41:36 +01:00
tcpip.h
toecore.c tcp: TCP output method can request tcp_drop 2021-12-26 08:48:19 -08:00
toecore.h
udp_usrreq.c protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
udp_var.h protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
udp.h headers: make a few more headers self-contained 2022-01-03 10:12:30 +01:00
udplite.h