freebsd-dev/sys/netinet/tcp_stacks
Randall Stewart 97e28f0f58 tcp: Rack ack war with a mis-behaving firewall or nat with resets.
Previously we added ack-war prevention for misbehaving firewalls. This is
where the f/w or nat messes up its sequence numbers and causes an ack-war.
There is yet another type of ack war that we have found in the wild that is
like unto this. Basically the f/w or nat gets a ack (keep-alive probe or such)
and instead of turning the ack/seq around and adding a TH_RST it does something
real stupid and sends a new packet with seq=0. This of course triggers the challenge
ack in the reset processing which then sends in a challenge ack (if the seq=0 is within
the range of possible sequence numbers allowed by the challenge) and then we rinse-repeat.

This will add the needed tweaks (similar to the last ack-war prevention using the same sysctls and counters)
to prevent it and allow say 5 per second by default.

Reviewed by: Michael Tuexen
Sponsored by: Netflix Inc.
Differential Revision: https://reviews.freebsd.org/D32938
2021-11-17 09:45:51 -05:00
..
bbr.c Fix a common typo in syctl descriptions 2021-11-03 20:49:24 +01:00
rack_bbr_common.c tcp: Rack ack war with a mis-behaving firewall or nat with resets. 2021-11-17 09:45:51 -05:00
rack_bbr_common.h tcp: Rack ack war with a mis-behaving firewall or nat with resets. 2021-11-17 09:45:51 -05:00
rack.c tcp: Rack ack war with a mis-behaving firewall or nat with resets. 2021-11-17 09:45:51 -05:00
sack_filter.c Remove all trailing white space from the BBR/Rack fold. Bits 2020-02-12 12:40:06 +00:00
sack_filter.h This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This 2019-09-24 18:18:11 +00:00
tcp_bbr.h This brings into sync FreeBSD with the netflix versions of rack and bbr. 2021-05-06 11:22:26 -04:00
tcp_rack.h tcp: Rack may still calculate long RTT on persists probes. 2021-11-11 06:35:51 -05:00