freebsd-dev/sys/netinet
Gleb Smirnoff d519cedbad Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion
control algorithm options.  The argument is variable length and is opaque
to TCP, forwarded directly to the algorithm's ctl_output method.

Provide new includes directory netinet/cc, where algorithm specific
headers can be installed.

The new API doesn't yet have any in tree consumers.

The original code written by lstewart.
Reviewed by:	rrs, emax
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D711
2016-01-22 02:07:48 +00:00
..
cc - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
khelp
libalias mdoc: fix rendering issues 2015-04-26 11:39:25 +00:00
tcp_stacks - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
accf_data.c
accf_dns.c In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
accf_http.c In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
icmp6.h Implement Enhanced DAD algorithm for IPv6 described in 2015-03-02 17:30:26 +00:00
icmp_var.h Remove more constants related to static sysctl nodes. The MAXID constants 2014-02-25 18:44:33 +00:00
if_atm.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_atm.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_ether.c Remove second EVENTHANDLER_REGISTER slipped in r292978. 2016-01-01 10:15:06 +00:00
if_ether.h Implement interface link header precomputation API. 2015-12-31 05:03:27 +00:00
igmp_var.h - Rename 'struct igmp_ifinfo' into 'struct igmp_ifsoftc', since it really 2015-02-19 22:35:23 +00:00
igmp.c The variable is write once only and not used. 2016-01-21 17:25:41 +00:00
igmp.h
in_cksum.c
in_debug.c
in_fib.c Bring RADIX_MPATH support to new routing KPI to ease migration. 2016-01-11 08:45:28 +00:00
in_fib.h Merge helper fib* functions used for basic lookups. 2015-12-08 10:50:03 +00:00
in_gif.c Merge helper fib* functions used for basic lookups. 2015-12-08 10:50:03 +00:00
in_kdtrace.c Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
in_kdtrace.h Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
in_mcast.c Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(), 2015-12-09 11:14:27 +00:00
in_pcb.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
in_pcb.h Use Jenkins hash for TCP syncache. 2015-09-05 10:15:19 +00:00
in_pcbgroup.c Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
in_proto.c Finish r274118: remove useless fields from struct domain. 2014-11-06 14:39:04 +00:00
in_rmx.c Remove now-unused wrappers for various routing functions. 2016-01-14 08:54:44 +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 Where appropriate, use the modern terms for the one true time base 2014-12-21 05:07:11 +00:00
in_var.h Remove now-unused wrappers for various routing functions. 2016-01-14 08:54:44 +00:00
in.c Add rib_lookup_info() to provide API for retrieving individual route 2016-01-04 15:03:20 +00:00
in.h Provide functions to determine presence of a given address 2015-04-17 11:57:06 +00:00
ip6.h Eliminate use of M_EXT in IP6_EXTHDR_CHECK() by trimming a redundant 2014-10-05 06:28:53 +00:00
ip_carp.c Revert r292275 & r292379 2015-12-17 14:41:30 +00:00
ip_carp.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
ip_divert.c Convert netinet6/ to use new routing API. 2014-11-04 15:39:56 +00:00
ip_divert.h
ip_dummynet.h ECN marking implenetation for dummynet. 2014-06-01 07:28:24 +00:00
ip_ecn.c
ip_ecn.h Remove unneded #include "opt_inet.h". 2015-07-31 09:02:28 +00:00
ip_encap.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
ip_encap.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
ip_fastfwd.c Replace the fastforward path with tryforward which does not require a 2015-11-05 07:26:32 +00:00
ip_fw.h Implement ipfw internal olist command to list named objects. 2015-11-03 10:21:53 +00:00
ip_gre.c o Use new function ip_fillid() in all places throughout the kernel, 2015-04-01 22:26:39 +00:00
ip_icmp.c Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(), 2015-12-09 11:14:27 +00:00
ip_icmp.h Where appropriate, use the modern terms for the one true time base 2014-12-21 05:07:11 +00:00
ip_id.c Provide a comment explaining issues with the counter(9) trick, so that 2015-04-02 14:22:59 +00:00
ip_input.c Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(), 2015-12-09 11:14:27 +00:00
ip_ipsec.c Set the proper direction to check for policies in this one case. 2015-10-29 21:26:32 +00:00
ip_ipsec.h Remove flag/flags argument from the following functions: 2014-12-11 18:35:34 +00:00
ip_mroute.c Remove now-unused wrappers for various routing functions. 2016-01-14 08:54:44 +00:00
ip_mroute.h Migrate structs arpstat, icmpstat, mrtstat, pimstat and udpstat to PCPU 2013-07-09 09:50:15 +00:00
ip_options.c Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(), 2015-12-09 11:14:27 +00:00
ip_options.h Make net.inet.ip.sourceroute, net.inet.ip.accept_sourceroute, and 2014-09-15 07:20:40 +00:00
ip_output.c Finish r275196: do not dereference rtentry in if_output() routines. 2016-01-09 16:34:37 +00:00
ip_reass.c Fix RSS build - netisr input / NETISR_IP_DIRECT is used here. 2015-04-15 00:57:21 +00:00
ip_var.h Make in_arpinput(), inp_lookup_mcast_ifp(), icmp_reflect(), 2015-12-09 11:14:27 +00:00
ip.h Since the IETF has redefined the meaning of the tos field to accommodate 2015-07-18 06:48:30 +00:00
pim_var.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
pim.h
raw_ip.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
sctp_asconf.c Provide consistent error causes whenever an ABORT chunk is sent. 2015-07-27 22:35:54 +00:00
sctp_asconf.h
sctp_auth.c Use __func__ instead of __FUNCTION__. 2015-10-19 11:17:54 +00:00
sctp_auth.h Use a consistent type for the number of HMAC algorithms. 2014-09-16 14:20:33 +00:00
sctp_bsd_addr.c Minimize the usage of SCTP_BUF_IS_EXTENDED. 2015-01-10 20:49:57 +00:00
sctp_bsd_addr.h
sctp_cc_functions.c Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
sctp_constants.h Ensure that ERROR chunks are always padded by implementing this 2015-09-11 13:54:33 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_dtrace_declare.h - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
sctp_dtrace_define.h dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
sctp_header.h Cleanup the handling of error causes for ERROR chunks. This fixes 2015-09-12 17:08:51 +00:00
sctp_indata.c Stop processing of a SACK when the association has been aborted. 2015-12-21 18:52:02 +00:00
sctp_indata.h Don't take the port numbers for packets containing ABORT chunks from 2015-08-02 16:07:30 +00:00
sctp_input.c Retire sctp_validate_no_locks(). 2015-12-10 11:49:32 +00:00
sctp_input.h Add FIB support for SCTP. 2015-06-17 15:20:14 +00:00
sctp_lock_bsd.h
sctp_os_bsd.h Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c 2015-12-27 17:33:59 +00:00
sctp_os.h
sctp_output.c Don't implicitly terminate a user message when moving it to the 2015-12-25 18:11:40 +00:00
sctp_output.h Fix an issue with MAC OS locking and also optimize the case 2015-07-24 14:09:03 +00:00
sctp_pcb.c Fix a bug in INIT handling on accepted 1-to-1 style sockets when the 2016-01-15 00:26:15 +00:00
sctp_pcb.h Retire sctp_validate_no_locks(). 2015-12-10 11:49:32 +00:00
sctp_peeloff.c Add a SCTP socket option to limit the cwnd for each path. 2015-03-10 19:49:25 +00:00
sctp_peeloff.h
sctp_ss_functions.c
sctp_structs.h Get struct sctp_net_route in sync with struct route again. 2016-01-04 20:34:40 +00:00
sctp_syscalls.c Fix two KTRACE related bugs. 2015-06-19 21:55:12 +00:00
sctp_sysctl.c Fix the exporting of SCTP association states to userland. Without this, 2015-08-29 09:14:32 +00:00
sctp_sysctl.h Remove redundant 'man page' 2015-09-15 21:16:45 +00:00
sctp_timer.c Ensure that outgoing streams get reset when they run dry. 2015-12-03 15:19:29 +00:00
sctp_timer.h
sctp_uio.h The field sinfo_timetolive should have been sinfo_pr_value. 2015-11-06 14:00:26 +00:00
sctp_usrreq.c Fail the SCTP_GET_ASSOC_NUMBER and SCTP_GET_ASSOC_ID_LIST 2016-01-14 11:25:28 +00:00
sctp_var.h Stop the heartbeat timer when removing a net. 2015-06-14 17:48:44 +00:00
sctp.h Cleanup the handling of error causes for ERROR chunks. This fixes 2015-09-12 17:08:51 +00:00
sctputil.c Store the timer type for logging, because the timer can be freed 2016-01-13 14:28:12 +00:00
sctputil.h Fix the allocation of outgoing streams: 2015-12-06 16:17:57 +00:00
siftr.c Move the SIFTR DTrace probe out of the writing thread context 2015-04-30 17:43:40 +00:00
tcp_cc.h Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion 2016-01-22 02:07:48 +00:00
tcp_debug.c
tcp_debug.h
tcp_fastopen.c Implementation of server-side TCP Fast Open (TFO) [RFC7413]. 2015-12-24 19:09:48 +00:00
tcp_fastopen.h Implementation of server-side TCP Fast Open (TFO) [RFC7413]. 2015-12-24 19:09:48 +00:00
tcp_fsm.h
tcp_hostcache.c Clean up unused bandwidth entry in the TCP hostcache. 2015-12-11 06:22:58 +00:00
tcp_hostcache.h Clean up unused bandwidth entry in the TCP hostcache. 2015-12-11 06:22:58 +00:00
tcp_input.c - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
tcp_lro.c Add optimizing LRO wrapper: 2016-01-19 15:33:28 +00:00
tcp_lro.h Add optimizing LRO wrapper: 2016-01-19 15:33:28 +00:00
tcp_offload.c Convert netinet6/ to use new routing API. 2014-11-04 15:39:56 +00:00
tcp_offload.h
tcp_output.c - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
tcp_pcap.c Hopefully also unbreak VIMAGE kernels replacing the &V_... with 2015-10-15 01:44:32 +00:00
tcp_pcap.h There are times when it would be really nice to have a record of the last few 2015-10-14 00:35:37 +00:00
tcp_reass.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
tcp_sack.c First cut of the modularization of our TCP stack. Still 2015-12-16 00:56:45 +00:00
tcp_seq.h
tcp_subr.c - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
tcp_syncache.c Implementation of server-side TCP Fast Open (TFO) [RFC7413]. 2015-12-24 19:09:48 +00:00
tcp_syncache.h Implementation of server-side TCP Fast Open (TFO) [RFC7413]. 2015-12-24 19:09:48 +00:00
tcp_timer.c - Rename cc.h to more meaningful tcp_cc.h. 2016-01-21 22:34:51 +00:00
tcp_timer.h Put r284245 back in place: If at first this fix was seen as a temporary 2015-08-30 13:44:39 +00:00
tcp_timewait.c Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability: 2015-08-03 12:13:54 +00:00
tcp_usrreq.c Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion 2016-01-22 02:07:48 +00:00
tcp_var.h Historically we have two fields in tcpcb to describe sender MSS: t_maxopd, 2016-01-07 00:14:42 +00:00
tcp.h Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion 2016-01-22 02:07:48 +00:00
tcpip.h
toecore.c (Temporarily) remove route_redirect_event eventhandler. 2016-01-09 06:26:40 +00:00
toecore.h * Convert TOE framework to use new routing api. 2014-10-25 18:25:00 +00:00
udp_usrreq.c Fixed comment placement. 2015-12-24 13:57:43 +00:00
udp_var.h get_inpcbinfo() and get_pcblist() are UDP local functions and 2015-08-27 15:27:41 +00:00
udp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
udplite.h Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. 2014-04-07 01:53:03 +00:00