Revision tags: release/13.1.0 |
|
#
04831efd |
| 10-May-2022 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Rack idle reduce not working.
Rack converted to micro-seconds quite some time ago, but in testing we have found a miss in that work. The idle reduce time is still based in ticks, so it must be
tcp: Rack idle reduce not working.
Rack converted to micro-seconds quite some time ago, but in testing we have found a miss in that work. The idle reduce time is still based in ticks, so it must be converted to microseconds before any comparisons else you will likely not do idle reduce.
Reviewed by: tuexen, thj Sponsored by: Netflix Inc Differential Revision: https://reviews.freebsd.org/D35066
show more ...
|
#
6edfc10c |
| 14-Apr-2022 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: adding a functionality to define "trace points" so that BB logging can be enabled at specific events.
This commit will add a new concept to rack, tracepoints. A tracepoint is a defined point in
tcp: adding a functionality to define "trace points" so that BB logging can be enabled at specific events.
This commit will add a new concept to rack, tracepoints. A tracepoint is a defined point inserted into the code (3 are included in this initial patch) that allows a developer to insert a point that might be of interest. The developer numbers the point in the tcp_rack.h file and then can use sysctl to enable that (or all) trace points. A limit is also given to how many BB logged connections will turn on so that a box is not overrun by BB logging.
Reviewed by: tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D34898
show more ...
|
#
86fa80f3 |
| 12-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
rack: Remove unused variable.
|
#
addb2c65 |
| 09-Apr-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
tcp_rack: Fix a typo in a source code comment
- s/possiblity/possibility/
MFC after: 3 days
|
#
36814092 |
| 09-Apr-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
tcp_rack: Fix a few typos in sysctl descriptions and comments
- s/postion/position/ - s/postions/positions/ - s/repostion/reposition/
MFC after: 5 days
|
#
ee1a08b8 |
| 01-Apr-2022 |
Randall Stewart <rrs@FreeBSD.org> |
rack may end up with a stuck connectin fi the rwnd is colapsed on sent data.
There is a case where rack will get stuck when it has outstanding data and the peer collapses the rwnd down to 0. This le
rack may end up with a stuck connectin fi the rwnd is colapsed on sent data.
There is a case where rack will get stuck when it has outstanding data and the peer collapses the rwnd down to 0. This leaves the session hung if the rwnd update is not received. You can test this with the packet drill script below. Without this fix it will be stuck and hang. With it we retransmit everything. This also fixes the mtu retransmit case so we don't go into recovery when the mtu is changed to a smaller value.
Reviewed by: tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D34573
show more ...
|
#
75fdc440 |
| 07-Feb-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
extra_tcp_stacks: Fix two typos in source code comments
- s/recusive/recursive/
MFC after: 3 days
|
#
2ff07d92 |
| 25-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Restore correct ECT marking behavior on SACK retransmissions
While coalescing all ECN-related code into new common source files, the flag to deal with SACK retransmissions was skipped. This lea
tcp: Restore correct ECT marking behavior on SACK retransmissions
While coalescing all ECN-related code into new common source files, the flag to deal with SACK retransmissions was skipped. This leads to non-compliant ECT-marking of SACK retransmissions, as well as the premature sending of other TCP ECN flags (CWR).
Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34376
show more ...
|
#
a43b0aca |
| 23-Feb-2022 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Push bit failure to set in fastpath
Recently changes were made to the tcp stack to use a macro/function to set tcp flags. In the process the PUSH bit setting in the fastpath of rack was broken.
tcp: Push bit failure to set in fastpath
Recently changes were made to the tcp stack to use a macro/function to set tcp flags. In the process the PUSH bit setting in the fastpath of rack was broken. This fixes that as well as cleans up a warning that is occurring when you don't have INVARIANT on (inp used in KASSERT).
We can use the tcp test suite to find this bug the test plan shows the script that fails due to the missing push bit
Reviewed by: rscheff, tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D34332
show more ...
|
#
cc41c174 |
| 09-Feb-2022 |
Randall Stewart <rrs@FreeBSD.org> |
opps my patch lost the removal of the tlp_threshold counter increments
|
#
8d64b4b4 |
| 09-Feb-2022 |
Randall Stewart <rrs@FreeBSD.org> |
cleanup of rack variables.
During a recent deep dive into all the variables so I could discover why stack switching caused larger retransmits I examined every variable in rack. In the process I foun
cleanup of rack variables.
During a recent deep dive into all the variables so I could discover why stack switching caused larger retransmits I examined every variable in rack. In the process I found quite a few bits that were not used and needed cleanup. This update pulls out all the unused pieces from rack. Note there are *no* functional changes here, just the removal of unused variables and a bit of spacing clean up.
Reviewed by: Michael Tuexen, Richard Scheffenegger Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D34205
show more ...
|
#
ab001fcd |
| 07-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Apply tcp flags after ECN processing in rack_fast_output()
Missed to move the tcp_set_flags() past ECN processing in rack_fast_output() earlier.
Reviewed By: rrs, #transport Sponsored by:
tcp: Apply tcp flags after ECN processing in rack_fast_output()
Missed to move the tcp_set_flags() past ECN processing in rack_fast_output() earlier.
Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34180
show more ...
|
#
a9696510 |
| 07-Feb-2022 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Add hystart++ to our cubic implementation.
As promised to the transport call on 11/4/22 here is an implementation of hystart++ for cubic. It also cleans up the tcp_congestion function to have a
tcp: Add hystart++ to our cubic implementation.
As promised to the transport call on 11/4/22 here is an implementation of hystart++ for cubic. It also cleans up the tcp_congestion function to have a better name. Common variables are moved into the general cc.h structure so that both cubic and newreno can use them for hystart++
Reviewed by: Michael Tuexen, Richard Scheffenegger Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D33035
show more ...
|
#
f7220c48 |
| 05-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file
Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths.
Formally no functional change.
Incidentiall
tcp: move ECN handling code to a common file
Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths.
Formally no functional change.
Incidentially this establishes correct ECN operation in one instance.
Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162
show more ...
|
#
7994ef3c |
| 05-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
Revert "tcp: move ECN handling code to a common file"
This reverts commit 0c424c90eaa6602e07bca7836b1d178b91f2a88a.
|
#
0c424c90 |
| 04-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file
Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths.
Formally no functional change.
Incidentiall
tcp: move ECN handling code to a common file
Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths.
Formally no functional change.
Incidentially this establishes correct ECN operation in one instance.
Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162
show more ...
|
#
fd723975 |
| 03-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: fix typo in commit f026275e26d0071ac3dee98526e8b9bcad58f0fa
missed one bitmask inversion while committing D34148
Differential Revision: https://reviews.freebsd.org/D34148 Differential Revision
tcp: fix typo in commit f026275e26d0071ac3dee98526e8b9bcad58f0fa
missed one bitmask inversion while committing D34148
Differential Revision: https://reviews.freebsd.org/D34148 Differential Revision: https://reviews.freebsd.org/D34160
show more ...
|
#
f026275e |
| 03-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: set IP ECN header codepoint properly
TCP RACK can cache the IP header while preparing a new TCP packet for transmission. Thus all the IP ECN codepoint bits need to be assigned, without assuming
tcp: set IP ECN header codepoint properly
TCP RACK can cache the IP header while preparing a new TCP packet for transmission. Thus all the IP ECN codepoint bits need to be assigned, without assuming a clear field beforehand.
Reviewed By: tuexen, kbowling, #transport MFC after: 3 days Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34148
show more ...
|
#
1ebf4607 |
| 03-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Access all 12 TCP header flags via inline function
In order to consistently provide access to all (including reserved) TCP header flag bits, use an accessor function tcp_get_flags and tcp_set_f
tcp: Access all 12 TCP header flags via inline function
In order to consistently provide access to all (including reserved) TCP header flag bits, use an accessor function tcp_get_flags and tcp_set_flags. Also expand any flag variable from uint8_t / char to uint16_t.
Reviewed By: hselasky, tuexen, glebius, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34130
show more ...
|
#
d51c8035 |
| 02-Feb-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
rack: fix compilation and small cleanup
Fix a function prototype missed in the last commit and whitespace change. Sponsored by: Netflix, Inc.
|
#
3b3c08c1 |
| 02-Feb-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp: cleanup functions related to socket option handling
Consistently only pass the inp and the sopt around. Don't pass the so around, since in a upcoming commit tcp_ctloutput_set() will be called f
tcp: cleanup functions related to socket option handling
Consistently only pass the inp and the sopt around. Don't pass the so around, since in a upcoming commit tcp_ctloutput_set() will be called from a context different from setsockopt(). Also expect the inp to be locked when calling tcp_ctloutput_[gs]et(), this is also required for the upcoming use by tcpsso, a command line tool to set socket options. Reviewed by: glebius, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D34151
show more ...
|
#
9e58cca3 |
| 26-Jan-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
extra_tcp_stacks: Fix two typos in source code comments
- s/differnt/different/
MFC after; 3 days
|
#
b3df222e |
| 26-Jan-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
extra_tcp_stacks: Fix a few common typos
TCP_BBR: - Fix a typo introducted in 1b90dfa5d2b0, which was reported by tuexen@
TCP_RACK: - Correct two sysctl descriptions: s/corret/correct/
tcp_bbr(4):
extra_tcp_stacks: Fix a few common typos
TCP_BBR: - Fix a typo introducted in 1b90dfa5d2b0, which was reported by tuexen@
TCP_RACK: - Correct two sysctl descriptions: s/corret/correct/
tcp_bbr(4): Also fix s/measurment/measurement/ in the man page
MFC after: 1 week
show more ...
|
#
aac52f94 |
| 18-Jan-2022 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Warning cleanup from new compiler.
The clang compiler recently got an update that generates warnings of unused variables where they were set, and then never used. This revision goes through the
tcp: Warning cleanup from new compiler.
The clang compiler recently got an update that generates warnings of unused variables where they were set, and then never used. This revision goes through the tcp stack and cleans all of those up.
Reviewed by: Michael Tuexen, Gleb Smirnoff Sponsored by: Netflix Inc. Differential Revision:
show more ...
|
#
a370832b |
| 26-Dec-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: remove delayed drop KPI
No longer needed after tcp_output() can ask caller to drop.
Reviewed by: rrs, tuexen Differential revision: https://reviews.freebsd.org/D33371
|