opnsense-src/sys/netinet
Gleb Smirnoff e80062a2d4 tcp: avoid call to soisconnected() on transition to ESTABLISHED
This call existed since pre-FreeBSD times, and it is hard to understand
why it was there in the first place.  After 6f3caa6d81 it definitely
became necessary always and commit message from f1ee30ccd6 confirms that.
Now that 6f3caa6d81 is effectively backed out by 07285bb4c2, the call
appears to be useful only for sockets that landed on the incomplete queue,
e.g. sockets that have accept_filter(9) enabled on them.

Provide a new TCP flag to mark connections that are known to be on the
incomplete queue, and call soisconnected() only for those connections.

Reviewed by:		rrs, tuexen
Differential revision:	https://reviews.freebsd.org/D36488
2022-09-08 09:16:04 -07:00
..
cc tcp cc: don't recurse on non recursive mutex 2022-04-05 13:52:36 +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: Correct some typos in source code comments 2022-09-04 12:58:13 +02: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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
dccp.h Add header definition for RFC4340, Datagram Congestion Control Protocol 2020-06-17 13:27:13 +00:00
icmp6.h mld6: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
icmp_var.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
if_ether.c netinet6: Fix mbuf leak in NDP 2022-05-31 21:06:14 +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 igmp: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
igmp.h
igmp_var.h igmp: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
in.c Revert "routing: install prefix and loopback routes using new nhop-based KPI." 2022-08-29 16:20:42 +00:00
in.h protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
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.c routing: refactor private KPI 2022-08-01 10:02:12 +00:00
in_fib.h Refactor fib4/fib6 functions. 2020-11-29 13:41:49 +00:00
in_fib_algo.c Fix IPv4 fib bsearch4() lookup array construction. 2021-01-17 20:32:26 +00:00
in_fib_dxr.c fib_algo: shift / mask by constants in dxr_lookup() 2022-01-17 00:13:47 +01:00
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 Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
in_mcast.c divert: declare PF_DIVERT domain and stop abusing PF_INET 2022-08-30 15:09:21 -07: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_pcb_var.h in_pcb: use jenkins hash over the entire IPv6 (or IPv4) address 2021-12-26 10:47:28 -08: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 Implement flowid calculation for outbound connections to balance 2020-10-18 17:15:47 +00:00
in_systm.h
in_var.h protosw: change prototype for pr_control 2022-08-12 12:08:18 -07:00
ip.h tcp: Prevent setting of ECN bits with setsockopt() 2022-02-03 20:06:42 +01:00
ip6.h net: Introduce IPV6_DSCP(), IPV6_ECN() and IPV6_TRAFFIC_CLASS() macros 2021-03-04 20:56:48 +01:00
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 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 net: retire PFIL_FWD 2022-09-07 10:04:31 +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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_input.c net: remove stale altq_input reference 2022-09-07 10:03:12 +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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ip_options.h
ip_output.c net: retire PFIL_FWD 2022-09-07 10:04:31 +00:00
ip_reass.c ip_reass: don't drain all vnets on a vnet destroy 2022-08-21 07:44:58 -07:00
ip_var.h protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
pim.h
pim_var.h Rework IP encapsulation handling code. 2018-06-05 20:51:01 +00:00
raw_ip.c raw ip: fix regression with multicast and RSVP 2022-09-02 12:17:09 -07:00
sctp.h Improve the handling of cookie life times. 2020-10-16 10:44:48 +00:00
sctp_asconf.c sctp: improve consistency 2022-05-14 06:28:19 +02:00
sctp_asconf.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
sctp_auth.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
sctp_auth.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
sctp_bsd_addr.c sctp: Remove unused variable. 2022-04-12 14:58:59 -07:00
sctp_bsd_addr.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
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 Whitespace changes. 2020-09-24 12:26:06 +00:00
sctp_indata.c sctp: tweak panic message 2022-08-03 17:28:15 +02:00
sctp_indata.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
sctp_input.c sctp: improve handling of sctp inpcb flags 2022-06-04 07:38:19 +02:00
sctp_input.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +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 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.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
sctp_os_bsd.h sctp: use sb_avail() when accessing sb_acc for reading 2022-05-14 12:38:43 +02:00
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 Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
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
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: expose t_flags2 in siftr output 2022-04-07 10:17:09 +01:00
tcp.h tcp: LRO code to deal with all 12 TCP header flags 2022-02-01 18:41:36 +01:00
tcp_accounting.h This brings into sync FreeBSD with the netflix versions of rack and bbr. 2021-05-06 11:22:26 -04:00
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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
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: avoid call to soisconnected() on transition to ESTABLISHED 2022-09-08 09:16:04 -07: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 Path MTU discovery hooks for offloaded TCP connections. 2021-04-21 13:00:16 -07:00
tcp_offload.h Path MTU discovery hooks for offloaded TCP connections. 2021-04-21 13:00:16 -07:00
tcp_output.c tcp: Functional implementation of Accurate ECN 2022-08-31 15:05:53 +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 This takes Warners suggested approach to making it so that 2021-05-07 17:32:32 -04:00
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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_subr.c mbufs: isolate max_linkhdr and max_protohdr handling in the mbuf code 2022-08-29 19:14:25 -07:00
tcp_syncache.c tcp: avoid call to soisconnected() on transition to ESTABLISHED 2022-09-08 09:16:04 -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: avoid call to soisconnected() on transition to ESTABLISHED 2022-09-08 09:16:04 -07:00
tcp_var.h tcp: avoid call to soisconnected() on transition to ESTABLISHED 2022-09-08 09:16:04 -07:00
tcpip.h
toecore.c tcp: TCP output method can request tcp_drop 2021-12-26 08:48:19 -08:00
toecore.h Path MTU discovery hooks for offloaded TCP connections. 2021-04-21 13:00:16 -07:00
udp.h headers: make a few more headers self-contained 2022-01-03 10:12:30 +01:00
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
udplite.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00