aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_stacks/tcp_bbr.h
Commit message (Collapse)AuthorAgeFilesLines
* This brings into sync FreeBSD with the netflix versions of rack and bbr.Randall Stewart2021-06-081-3/+3
| | | | | | | | | | | | | | This fixes several breakages (panics) since the tcp_lro code was committed that have been reported. Quite a few new features are now in rack (prefecting of DGP -- Dynamic Goodput Pacing among the largest). There is also support for ack-war prevention. Documents comming soon on rack.. Sponsored by: Netflix Reviewed by: rscheff, mtuexen Differential Revision: https://reviews.freebsd.org/D30036 (cherry picked from commit 5d8fd932e418f03e98b3469c4088a36f0ef34ffe)
* net: clean up empty lines in .c and .h filesMateusz Guzik2020-09-011-9/+0
| | | | Notes: svn path=/head/; revision=365071
* This commit brings things into sync with the advancements thatRandall Stewart2020-05-041-4/+2
| | | | | | | | | | | | | | | have been made in rack and adds a few fixes in BBR. This also removes any possibility of incorrectly doing OOB data the stacks do not support it. Should fix the skyzaller crashes seen in the past. Still to fix is the BBR issue just reported this weekend with the SYN and on sending a RST. Note that this version of rack can now do pacing as well. Sponsored by:Netflix Inc Differential Revision:https://reviews.freebsd.org/D24576 Notes: svn path=/head/; revision=360639
* Remove all trailing white space from the BBR/Rack fold. BitsRandall Stewart2020-02-121-7/+7
| | | | | | | left around by emacs (thanks emacs). Notes: svn path=/head/; revision=357815
* Miscellaneous typo fixesEd Maste2020-02-071-1/+1
| | | | | | | | Submitted by: Gordon Bergling <gbergling_gmail.com> Differential Revision: https://reviews.freebsd.org/D23453 Notes: svn path=/head/; revision=357664
* This commit is a bit of a re-arrange of deck chairs. ItRandall Stewart2019-12-171-13/+0
| | | | | | | | | | | | | | gets both rack and bbr ready for the completion of the STATs framework in FreeBSD. For now if you don't have both NF_stats and stats on it disables them. As soon as the rest of the stats framework lands we can remove that restriction and then just uses stats when defined. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D22479 Notes: svn path=/head/; revision=355859
* This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. ThisRandall Stewart2019-09-241-0/+845
is a completely separate TCP stack (tcp_bbr.ko) that will be built only if you add the make options WITH_EXTRA_TCP_STACKS=1 and also include the option TCPHPTS. You can also include the RATELIMIT option if you have a NIC interface that supports hardware pacing, BBR understands how to use such a feature. Note that this commit also adds in a general purpose time-filter which allows you to have a min-filter or max-filter. A filter allows you to have a low (or high) value for some period of time and degrade slowly to another value has time passes. You can find out the details of BBR by looking at the original paper at: https://queue.acm.org/detail.cfm?id=3022184 or consult many other web resources you can find on the web referenced by "BBR congestion control". It should be noted that BBRv1 (which this is) does tend to unfairness in cases of small buffered paths, and it will usually get less bandwidth in the case of large BDP paths(when competing with new-reno or cubic flows). BBR is still an active research area and we do plan on implementing V2 of BBR to see if it is an improvement over V1. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D21582 Notes: svn path=/head/; revision=352657