freebsd-dev/sys/netinet6
Gleb Smirnoff 0d7445193a tcp: remove tcptw, the compressed timewait state structure
The memory savings the tcptw brought back in 2003 (see 340c35de6a) no
longer justify the complexity required to maintain it.  For longer
explanation please check out the email [1].

Surpisingly through almost 20 years the TCP stack functionality of
handling the TIME_WAIT state with a normal tcpcb did not bitrot.  The
existing tcp_input() properly handles a tcpcb in TCPS_TIME_WAIT state,
which is confirmed by the packetdrill tcp-testsuite [2].

This change just removes tcptw and leaves INP_TIMEWAIT.  The flag will
be removed in a separate commit.  This makes it easier to review and
possibly debug the changes.

[1] https://lists.freebsd.org/archives/freebsd-net/2022-January/001206.html
[2] https://github.com/freebsd-net/tcp-testsuite

Differential revision:	https://reviews.freebsd.org/D36398
2022-10-06 19:22:23 -07:00
..
dest6.c
frag6.c frag6: use callout(9) directly instead of pr_slowtimo 2022-08-17 11:50:31 -07:00
icmp6.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
icmp6.h
in6_cksum.c
in6_fib_algo.c
in6_fib.c routing: refactor private KPI 2022-08-01 10:02:12 +00:00
in6_fib.h
in6_gif.c
in6_ifattach.c nd6: Mark several callouts as MPSAFE 2021-08-09 13:27:52 -04:00
in6_ifattach.h
in6_jail.c sysent: Get rid of bogus sys/sysent.h include. 2022-05-28 20:52:17 +03:00
in6_mcast.c Correct IPv6 MLD group state string table 2022-09-19 09:01:36 -04:00
in6_pcb.c tcp: remove tcptw, the compressed timewait state structure 2022-10-06 19:22:23 -07:00
in6_pcb.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00
in6_proto.c netinet6: retire ip6protosw.h 2022-10-03 20:53:04 -07:00
in6_rmx.c routing: add nhop(9) kpi. 2022-08-01 08:52:26 +00:00
in6_rss.c Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816" 2021-12-02 14:45:04 -08:00
in6_rss.h
in6_src.c netinet6: simplify selectroute() 2022-07-08 11:27:16 +00:00
in6_var.h netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
in6.c netinet6: factor interface addition code to the dedicated function 2022-09-27 13:23:34 +00:00
in6.h protosw: separate pr_input and pr_ctlinput out of protosw 2022-08-17 11:50:31 -07:00
ip6_ecn.h
ip6_fastfwd.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip6_forward.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip6_gre.c udp: allow udp_tun_func_t() to indicate it did not eat the packet 2022-04-12 10:04:59 +02:00
ip6_id.c
ip6_input.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ip6_mroute.c raw ip: fix regression with multicast and RSVP 2022-09-02 12:17:09 -07:00
ip6_mroute.h
ip6_output.c netinet6: retire ip6protosw.h 2022-10-03 20:53:04 -07:00
ip6_var.h netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ip6.h
ip_fw_nat64.h
ip_fw_nptv6.h
mld6_var.h mld6: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
mld6.c mld6: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
mld6.h
nd6_nbr.c Ignore IPv6 NA and drop IPv6 NS when BACKUP CARP address is used 2022-10-06 20:01:16 +03:00
nd6_rtr.c Revert "routing: install prefix and loopback routes using new nhop-based KPI." 2022-08-29 16:20:42 +00:00
nd6.c routing: constantify @rc in rib_decompose_notification(). 2022-08-29 18:12:24 +00:00
nd6.h netinet6: fix SIOCSPFXFLUSH_IN6 by skipping manually-configured prefixes 2022-08-24 13:59:13 +00:00
pim6_var.h
pim6.h
raw_ip6.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
raw_ip6.h
route6.c
scope6_var.h
scope6.c ifnet_byindex() actually requires network epoch 2021-12-06 09:32:31 -08:00
sctp6_usrreq.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
sctp6_var.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00
send.c protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
send.h
tcp6_var.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00
udp6_usrreq.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
udp6_var.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00