freebsd-skq/sys/netinet
pkelsey de84d253da The soisconnected() call removed from syncache_socket() in r307966 was
not extraneous in the TCP Fast Open (TFO) passive-open case.  In the
TFO passive-open case, syncache_socket() is being called during
processing of a TFO SYN bearing a valid cookie, and a call to
soisconnected() is required in order to allow the application to
immediately consume any data delivered in the SYN and to have a chance
to generate response data to accompany the SYN-ACK.  The removal of
this call to soisconnected() effectively converted all TFO passive
opens to having the same RTT cost as a standard 3WHS.

This commit adds a call to soisconnected() to syncache_tfo_expand() so
that it is only in the TFO passive-open path, thereby restoring TFO
passve-open RTT performance and preserving the non-TFO connection-rate
performance gains realized by r307966.

MFC after:	1 week
Sponsored by:	Limelight Networks
2017-10-01 23:37:17 +00:00
..
cc cc_cubic: restore braces around if-condition block 2017-07-26 21:23:09 +00:00
khelp Remove "long" variables from the TCP stack (not including the modular 2016-10-06 16:28:34 +00:00
libalias ipfw nat and natd support multiple aliasing instances with "nat global" feature 2017-05-10 19:41:52 +00:00
tcp_stacks Avoid TCP log messages which are false positives. 2017-08-23 15:08:51 +00:00
accf_data.c
accf_dns.c
accf_http.c
icmp6.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
icmp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_ether.c Fix comment typo. 2017-08-09 10:46:34 +00:00
if_ether.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
igmp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
igmp.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
igmp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_cksum.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in_debug.c
in_fib.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_fib.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_gif.c
in_jail.c Allow explicitly assigned IPv4 loopback address to be used in jails 2017-03-31 00:41:54 +00:00
in_kdtrace.c Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_kdtrace.h Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_mcast.c Add missing braces around MCAST_EXCLUDE check when KTR support is 2017-05-13 18:41:24 +00:00
in_pcb.c Add support for generic backpressure indicator for ratelimited 2017-09-06 13:56:18 +00:00
in_pcb.h Add support for generic backpressure indicator for ratelimited 2017-09-06 13:56:18 +00:00
in_pcbgroup.c Unbreak the RSS/PCBGROUp build. 2016-03-31 00:53:23 +00:00
in_prot.c Remove BSD and USL copyright and update license block in in_prot.c, as the 2016-07-28 18:39:30 +00:00
in_proto.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_rmx.c Merge SVN r295220 (bz) from projects/vnet/ 2016-02-11 17:07:19 +00:00
in_rss.c
in_rss.h
in_systm.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in.h Correct sysctl names. 2017-08-09 07:24:58 +00:00
ip6.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_carp.c After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
ip_carp.h After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
ip_divert.c Set M_BCAST and M_MCAST flags on mbuf sent via divert socket. 2017-05-17 09:04:09 +00:00
ip_divert.h
ip_dummynet.h Import Dummynet AQM version 0.2.1 (CoDel, FQ-CoDel, PIE and FQ-PIE). 2016-05-26 21:40:13 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
ip_encap.h
ip_fastfwd.c When we are sending IP fragments, update ip pointers in IP_PROBE() for 2016-12-29 19:57:46 +00:00
ip_fw.h Add O_EXTERNAL_DATA opcode support. 2017-04-03 02:44:40 +00:00
ip_gre.c
ip_icmp.c Some mbuf related fixes in icmp_error() 2017-09-29 06:24:45 +00:00
ip_icmp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_id.c Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
ip_input.c Make sysctl identifiers for direct netisr queue unique. 2017-04-11 19:20:20 +00:00
ip_mroute.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
ip_mroute.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_options.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_options.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_output.c After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
ip_reass.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ip.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
pim_var.h
pim.h
raw_ip.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
sctp_asconf.c Remove unused function. 2017-09-27 13:05:23 +00:00
sctp_asconf.h Remove unused function. 2017-09-27 13:05:23 +00:00
sctp_auth.c Use memset/memcpy instead of bzero/bcopy. 2017-07-19 14:28:58 +00:00
sctp_auth.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_bsd_addr.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_bsd_addr.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_cc_functions.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_constants.h Code cleanup, no functional change. 2017-09-21 11:56:31 +00:00
sctp_crc32.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_crc32.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_dtrace_declare.h
sctp_dtrace_define.h This is work done by Michael Tuexen and myself at the IETF. This 2016-04-07 09:10:34 +00:00
sctp_header.h Cleanup the names of SSN, SID, TSN, FSN, PPID and MID. 2016-12-07 19:30:59 +00:00
sctp_indata.c Free the control structure after using is, not before. 2017-09-21 09:47:56 +00:00
sctp_indata.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_input.c Add missing locking. Found by Coverity while scanning the usrsctp 2017-09-22 06:33:01 +00:00
sctp_input.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_lock_bsd.h netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_os_bsd.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctp_os.h
sctp_output.c Code cleanup, no functional change. 2017-09-21 11:56:31 +00:00
sctp_output.h Code cleanup, no functional change. 2017-09-21 11:56:31 +00:00
sctp_pcb.c Add missing socket lock. 2017-09-22 06:07:47 +00:00
sctp_pcb.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctp_peeloff.c
sctp_peeloff.h Whitespace changes. 2016-12-06 10:21:25 +00:00
sctp_ss_functions.c Fix the explicit EOR mode. If the final messages is not complete, send 2017-07-20 11:09:33 +00:00
sctp_structs.h Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp_syscalls.c Correct sysent flags for dynamically loaded syscalls. 2017-07-14 09:34:44 +00:00
sctp_sysctl.c Export the UDP encapsualation port and the path state. 2017-09-12 21:08:50 +00:00
sctp_sysctl.h Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order 2016-05-12 16:34:59 +00:00
sctp_timer.c Don't set the DF-bit on timer based retransmissions. 2017-04-29 09:57:27 +00:00
sctp_timer.h Code cleanup which will silence a warning in PVS / D5245. 2016-02-17 18:04:22 +00:00
sctp_uio.h Export the UDP encapsualation port and the path state. 2017-09-12 21:08:50 +00:00
sctp_usrreq.c Fix locking issues found by Coverity scanning the usrsctp library. 2017-09-09 20:44:56 +00:00
sctp_var.h Use consistently uint32_t for mtu values. 2017-04-26 19:26:40 +00:00
sctp.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctputil.c Protect the address workqueue timer by a mutex. 2017-09-20 21:29:54 +00:00
sctputil.h Improve compilation on platforms different from FreeBSD. 2017-06-23 08:34:01 +00:00
siftr.c Use SI_SUB_LAST instead of SI_SUB_SMP as the "catch-all" subsystem. 2016-03-11 23:18:06 +00:00
tcp_debug.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_debug.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_fastopen.c Fix VIMAGE-related bugs in TFO. The autokey callout vnet context was 2017-02-03 17:02:57 +00:00
tcp_fastopen.h
tcp_fsm.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_hostcache.c Use inet_ntoa_r() instead of inet_ntoa() throughout the kernel 2017-02-16 20:47:41 +00:00
tcp_hostcache.h Remove "long" variables from the TCP stack (not including the modular 2016-10-06 16:28:34 +00:00
tcp_input.c Avoid TCP log messages which are false positives. 2017-08-23 14:50:08 +00:00
tcp_lro.c Flush the LRO ctrl as soon as lro_mbufs fills up. There is no need to 2017-04-24 22:35:00 +00:00
tcp_lro.h tcp/lro: Implement hash table for LRO entries. 2016-08-02 06:36:47 +00:00
tcp_offload.c Augment struct tcpstat with tcps_states[], which is used for book-keeping 2016-01-27 00:45:46 +00:00
tcp_offload.h
tcp_output.c Don't overpromote values when calculating len in tcp_output(). 2017-07-05 16:10:30 +00:00
tcp_pcap.c The TCPPCAP debugging feature caches recently-used mbufs for use in 2016-07-06 16:17:13 +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_reass.c There is no good reason for TCP reassembly zone to be UMA_ZONE_NOFREE. 2017-05-10 23:32:31 +00:00
tcp_sack.c Remove a KASSERT which is not always true. 2016-12-25 17:37:18 +00:00
tcp_seq.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcp_subr.c Listening sockets improvements. 2017-06-08 21:30:34 +00:00
tcp_syncache.c The soisconnected() call removed from syncache_socket() in r307966 was 2017-10-01 23:37:17 +00:00
tcp_syncache.h Fix the ICMP6 handling for TCP. 2017-06-03 21:53:58 +00:00
tcp_timer.c Fix blackhole detection. 2017-08-28 11:41:18 +00:00
tcp_timer.h Hide struct inpcb, struct tcpcb from the userland. 2017-03-21 06:39:49 +00:00
tcp_timewait.c Fix an infinite loop in tcp_tw_2msl_scan() when an INP_TIMEWAIT inp has 2017-10-01 21:20:28 +00:00
tcp_usrreq.c Ensure inp_vflag is consistently set for TCP endpoints. 2017-08-18 07:27:15 +00:00
tcp_var.h Add support to print the TCP stack being used. 2017-09-12 13:34:43 +00:00
tcp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tcpip.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
toecore.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
toecore.h
udp_usrreq.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
udp_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
udp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
udplite.h