#
347dd053 |
| 29-Nov-2024 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: add TH_AE capabilities to ppp and pf
Add support for the AE Flag in the TCP header to pf and ppp. Commonalize to the use of "E"(ECE), "W"(CWR) and "e"(AE) for the TCP header flags, in line with
tcp: add TH_AE capabilities to ppp and pf
Add support for the AE Flag in the TCP header to pf and ppp. Commonalize to the use of "E"(ECE), "W"(CWR) and "e"(AE) for the TCP header flags, in line with tcpdump.
Reviewers: kp, cc, tuexen, cy, #transport! Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D47106
show more ...
|
Revision tags: release/14.2.0 |
|
#
57671d5c |
| 30-Sep-2024 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: further cleanup old options
They all were experimental and some comments refer to internal Netflix versions. There is not reason to leak that into the header. Style unused options so that they
tcp: further cleanup old options
They all were experimental and some comments refer to internal Netflix versions. There is not reason to leak that into the header. Style unused options so that they have the available value aligned with really used values.
Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D46779
show more ...
|
#
a00c3a94 |
| 24-Sep-2024 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: remove remnants of 20+ year old disabled code from d912c694ee00
Fixes: 90ad2dc28747a3a5036d68ccc87d2352459f5cb1
|
#
87fbd9fc |
| 20-Sep-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp: remove unused socket option names
These IPPROTO_TCP-level socket option names correspond to socket options, which are not implemented. So remove them. Thanks to Peter Lei for suggesting this ch
tcp: remove unused socket option names
These IPPROTO_TCP-level socket option names correspond to socket options, which are not implemented. So remove them. Thanks to Peter Lei for suggesting this change.
Reviewed by: rscheff, thj Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46623
show more ...
|
Revision tags: release/13.4.0 |
|
#
1c60b2cb |
| 10-Sep-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp: improve whitespace consistency for socket option names
No functional change intended.
Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://revi
tcp: improve whitespace consistency for socket option names
No functional change intended.
Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46618
show more ...
|
#
872164f5 |
| 09-Aug-2024 |
Randall Stewart <rrs@FreeBSD.org> |
Non-tested experimental code removal.
There is a new feature that came in with the last sync to the rack stack that should not have been released. It is untested and may not well work. It currently
Non-tested experimental code removal.
There is a new feature that came in with the last sync to the rack stack that should not have been released. It is untested and may not well work. It currently is off by default, which is good but it is best to remove it until such time that it can be vetted and tuned to actually work :)
This change removes just the experimental feature for now. It can make a appearance in the future when it is proofed out.
Reviewed by: tuexen Differential Revision:https://reviews.freebsd.org/D45410
show more ...
|
Revision tags: release/14.1.0 |
|
#
3d0a7367 |
| 20-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
tcp: Add a new kernel-only TCP_USE_DDP socket option
This socket option can be used by in-kernel consumers (like NFS) to request a NIC to use optimized receive of large buffers for a connection. Th
tcp: Add a new kernel-only TCP_USE_DDP socket option
This socket option can be used by in-kernel consumers (like NFS) to request a NIC to use optimized receive of large buffers for a connection. The current use case is to support DDP by the TOE on Chelsio NICs.
Reviewed by: rscheff, tuexen, glebius Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44000
show more ...
|
#
e18b97bd |
| 12-Mar-2024 |
Randall Stewart <rrs@FreeBSD.org> |
Update to bring the rack stack with all its fixes in.
This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal w
Update to bring the rack stack with all its fixes in.
This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal with the changes that have been in hpts for a while i.e. only one call no matter if mbuf queue or tcp_output.
It basically does little except BBlogs and is a placemark for future work on doing path capacity measurements.
With a bit of a struggle with git I finally got rack_pcm.c into place (apologies for not noticing this error). The LINT kernel is running on my box now .. sigh.
Reviewed by: tuexen, glebius Sponsored by: Netflix Inc. Differential Revision:https://reviews.freebsd.org/D43986
show more ...
|
#
c112243f |
| 11-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
Revert "Update to bring the rack stack with all its fixes in."
This commit was incomplete and breaks LINT kernels. The tree has been broken for 8+ hours.
This reverts commit f6d489f402c320f1a6eaa4
Revert "Update to bring the rack stack with all its fixes in."
This commit was incomplete and breaks LINT kernels. The tree has been broken for 8+ hours.
This reverts commit f6d489f402c320f1a6eaa473491a0b8c3878113e.
show more ...
|
#
f6d489f4 |
| 11-Mar-2024 |
Randall Stewart <rrs@FreeBSD.org> |
Update to bring the rack stack with all its fixes in.
This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal w
Update to bring the rack stack with all its fixes in.
This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal with the changes that have been in hpts for a while i.e. only one call no matter if mbuf queue or tcp_output.
Note there is a new file that I can't figure out how to get in rack_pcm.c
It basically does little except BBlogs and is a placemark for future work on doing path capacity measurements.
Reviewed by: tuexen, glebius Sponsored by: Netflix Inc. Differential Revision:https://reviews.freebsd.org/D43986
show more ...
|
Revision tags: release/13.3.0 |
|
#
aa1223ac |
| 06-Jan-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp: limit visibility of symbols
Put most symbols under __BSD_VISIBLE and limit the namespace of tcp_[gs]et_flags.
Reviewed by: kib, karels, rscheff Sponsored by: Netflix, Inc. Differential Revis
tcp: limit visibility of symbols
Put most symbols under __BSD_VISIBLE and limit the namespace of tcp_[gs]et_flags.
Reviewed by: kib, karels, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43245
show more ...
|
#
642ac601 |
| 30-Dec-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp: fix ports
inline is only support in C99 and newer. To support also C89, use __inline instead as suggested by dim.
Reported by: eduardo Reviewed by: rscheff, markj, dim, imp Tested by: eduar
tcp: fix ports
inline is only support in C99 and newer. To support also C89, use __inline instead as suggested by dim.
Reported by: eduardo Reviewed by: rscheff, markj, dim, imp Tested by: eduardo Fixes: a8b70cf26030 ("netpfil: Use accessor functions and named constants for all tcphdr flags") Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43231
show more ...
|
#
a8b70cf2 |
| 25-Dec-2023 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
netpfil: Use accessor functions and named constants for all tcphdr flags
Update all remaining references to the struct tcphdr th_x2 field. This completes the compatibilty of various aspects with Acc
netpfil: Use accessor functions and named constants for all tcphdr flags
Update all remaining references to the struct tcphdr th_x2 field. This completes the compatibilty of various aspects with AccECN (TH_AE), after the internal ipfw "re-checksum required" was moved to use the TH_RES1 flag.
No functional change.
Reviewed By: tuexen, #transport, glebius Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43172
show more ...
|
#
f42518ff |
| 30-Nov-2023 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: for LRD move sysctl from tcp.do_lrd tp tcp.sack.lrd, remove sockopt
Moving lrd sysctl to the tcp.sack branch, since LRD only works with SACK. Remove the sockopt to programmatically control LRD
tcp: for LRD move sysctl from tcp.do_lrd tp tcp.sack.lrd, remove sockopt
Moving lrd sysctl to the tcp.sack branch, since LRD only works with SACK. Remove the sockopt to programmatically control LRD per session.
Reviewed By: #transport, tuexen, rrs Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D42851
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
#
29363fb4 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
dc485b96 |
| 22-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
tcp_info: Add and export more FreeBSD-specific fields
This change adds struct tcp_info fields corresponding to the following struct tcpcb ones: - snd_una - snd_max - rcv_numsacks - rcv_adv - dupacks
tcp_info: Add and export more FreeBSD-specific fields
This change adds struct tcp_info fields corresponding to the following struct tcpcb ones: - snd_una - snd_max - rcv_numsacks - rcv_adv - dupacks
Note that while both tcp_fill_info() and fill_tcp_info_from_tcb() are extended accordingly, no counterpart of rcv_numsacks is available in the cxgbe(4) TOE PCB, though.
Sponsored by: NetApp, Inc. (originally)
show more ...
|
#
2ff63af9 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
04682968 |
| 20-Jun-2023 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: expose AccECN mode and TCP FastOpen (TFO) in TCPI
Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D40621
|
#
e022f2b0 |
| 09-Jun-2023 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Rack fixes and misc updates
So over the past few weeks we have found several bugs and updated hybrid pacing to have more data in the low-level logging. We have also moved more of the BBlogs to
tcp: Rack fixes and misc updates
So over the past few weeks we have found several bugs and updated hybrid pacing to have more data in the low-level logging. We have also moved more of the BBlogs to "verbose" mode so that we don't generate a lot of the debug data unless you put verbose/debug on. There were a couple of notable bugs, one being the incorrect passing of percentage for reduction to timely and the other the incorrect use of 20% timely Beta instead of 80%. This also expands a simply idea to be able to pace a cwnd (fillcw) as an alternate pacing mechanism combining that with timely reduction/increase.
Reviewed by: tuexen Sponsored by: Netflix Inc Differential Revision:https://reviews.freebsd.org/D40391
show more ...
|
#
57a3a161 |
| 24-May-2023 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: request tracking is not http specific.
This change is a name change only. TCP Request tracking can track sendfile and even non-sendfile requests. The names however in the current code use http,
tcp: request tracking is not http specific.
This change is a name change only. TCP Request tracking can track sendfile and even non-sendfile requests. The names however in the current code use http, and they should not. The feature is not http specific. Lets change the name so they more properly reflect whats going on. This also fixes conflicts with http_req which caused application pain.
Reviewed by: tuexen Sponsored by: Netflix Inc Differential Revision:https://reviews.freebsd.org/D40229
show more ...
|
#
945f9a7c |
| 07-Apr-2023 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: misc cleanup of options for rack as well as socket option logging.
Both BBR and Rack have the ability to log socket options, which is currently disabled. Rack has an experimental SaD (Sack Atta
tcp: misc cleanup of options for rack as well as socket option logging.
Both BBR and Rack have the ability to log socket options, which is currently disabled. Rack has an experimental SaD (Sack Attack Detection) algorithm that should be made available. Also there is a t_maxpeak_rate that needs to be removed (its un-used).
Reviewed by: tuexen, cc Sponsored by: Netflix Inc Differential Revision: https://reviews.freebsd.org/D39427
show more ...
|
Revision tags: release/13.2.0 |
|
#
73ee5756 |
| 01-Apr-2023 |
Randall Stewart <rrs@FreeBSD.org> |
Fixes in the tcp infrastructure with respect to stack changes as well as other infrastructure updates for incoming rack features.
So stack switching as always been a bit of a issue. We currently use
Fixes in the tcp infrastructure with respect to stack changes as well as other infrastructure updates for incoming rack features.
So stack switching as always been a bit of a issue. We currently use a break before make setup which means that if something goes wrong you have to try to get back to a stack. This patch among a lot of other things changes that so that it is a make before break. We also expand some of the function blocks in prep for new features in rack that will allow more controlled pacing. We also add other abilities such as the pathway for a stack to query a previous stack to acquire from it critical state information so things in flight don't get dropped or mis-handled when switching stacks. We also add the concept of a timer granularity. This allows an alternate stack to change from the old ticks granularity to microseconds and of course this even gives us a pathway to go to nanosecond timekeeping if we need to (something for the data center to consider for sure).
Once all this lands I will then update rack to begin using all these new features.
Reviewed by: tuexen Sponsored by: Netflix Inc Differential Revision: https://reviews.freebsd.org/D39210
show more ...
|
#
69c7c811 |
| 16-Mar-2023 |
Randall Stewart <rrs@FreeBSD.org> |
Move access to tcp's t_logstate into inline functions and provide new tracepoint and bbpoint capabilities.
The TCP stacks have long accessed t_logstate directly, but in order to do tracepoints and t
Move access to tcp's t_logstate into inline functions and provide new tracepoint and bbpoint capabilities.
The TCP stacks have long accessed t_logstate directly, but in order to do tracepoints and the new bbpoints we need to move to using the new inline functions. This adds them and moves rack to now use the tcp_tracepoints.
Reviewed by: tuexen, gallatin Sponsored by: Netflix Inc Differential Revision: https://reviews.freebsd.org/D38831
show more ...
|
Revision tags: release/12.4.0 |
|
#
0b00b801 |
| 09-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
ipfw: Have NAT steal the TH_RES1 bit, instead of the TH_AE bit
The NAT module use of the tcphdr.th_x2 field now collides with the use of this TCP header flag as AccECN (AE) bit. Use the topmost bit
ipfw: Have NAT steal the TH_RES1 bit, instead of the TH_AE bit
The NAT module use of the tcphdr.th_x2 field now collides with the use of this TCP header flag as AccECN (AE) bit. Use the topmost bit instead to allow negotiation of AccECN across a NAT device.
Event: IETF 115 Hackathon Reviewed By: #transport, tuexen MFC after: 3 days Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D37300
show more ...
|