#
2d05a1c8 |
|
25-Jan-2024 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: commonize check for more data to send, style changes Use SEQ_SUB instead of a plain subtraction, for an implict type conversion and prevention of a possible overflow. Use curly brackets in stacked if statements throughout. Use of the ? operator to enhance readability when clearing the FIN flag in tcp_output(). None of the above change the function. Reviewed By: tuexen, cc, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43539
|
#
fc262fd3 |
|
25-Jan-2024 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: AccECN access ACE field by shifting bits Shifting bits is quicker than checking header flag bits one by one. Also improve readability by the use of switch statements. No change in behaviour. Reviewed By: glebius, tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43560
|
#
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 script. Sponsored by: Netflix
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
7ea8d027 |
|
20-Jun-2023 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
Update various sys/netinet source files to conform with the style(9) guide on how to label FALLTHOUGH in switch statements. No functional chance. Reviewed By: tuexen, cc, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D40622
|
#
eaabc937 |
|
14-Dec-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: retire TCPDEBUG This subsystem is superseded by modern debugging facilities, e.g. DTrace probes and TCP black box logging. We intentionally leave SO_DEBUG in place, as many utilities may set it on a socket. Also the tcp::debug DTrace probes look at this flag on a socket. Reviewed by: gnn, tuexen Discussed with: rscheff, rrs, jtl Differential revision: https://reviews.freebsd.org/D37694
|
#
1a70101a |
|
10-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: account sent/received IP ECN markings independently Have tcpstats (netstat -s) differentiate between received and sent ECN-marked packets. Also account for IP ECN bits (on TCP packets) even when the tcp session has not negotiated ECN support. Event: IETF 115 Hackathon Reviewed By: glebius, tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D37314
|
#
dc9daa04 |
|
08-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: allow packets to be marked as ECT1 instead of ECT0 This adds the capability for a modular congestion control to select which variant of ECN-capable-transport it wants to use when sending out elegible segments. As an initial CC to utilize this, DCTCP was selected. Event: IETF 115 Hackathon Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D24869
|
#
004bb636 |
|
05-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Move sysctl OIDs related to ECN to tcp_ecn.c Keep all ECN related code in (mostly) one place. No functional change. Event: IETF 115 Hackathon Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D37285
|
#
b1258b76 |
|
06-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: add conservative d.cep accounting algorithm Accurate ECN asks to conservatively estimate, when the ACE counter may have wrapped due to a single ACK covering a larger number of segments. This is described in Annex A.2 of the accurate-ecn draft. Event: IETF 115 Hackathon Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D37281
|
#
22c81cc5 |
|
06-Nov-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: add AccECN CE packet counters to tcpinfo Provide diagnostics information around AccECN into the tcpinfo struct. Event: IETF 115 Hackathon Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D37280
|
#
83c1ec92 |
|
20-Oct-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: ECN preparations for ECN++, AccECN (tcp_respond) tcp_respond is another function to build a tcp control packet quickly. With ECN++ and AccECN, both the IP ECN header, and the TCP ECN flags are supposed to reflect the correct state. Also ensure that on receiving multiple ECN SYN-ACKs, the responses triggered will reflect the latest state. Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D36973
|
#
0ab46f28 |
|
03-Oct-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: remove unnecessary include of tcp6_var.h Reviewed by: rscheff, melifaro Differential revision: https://reviews.freebsd.org/D36725
|
#
4edff766 |
|
03-Oct-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: correct simultaneous SYN ECN reaction in RFC3168 mode. Ensure that an RFC3168 ECN reaction only occurs on non-SYN segments. Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D36867
|
#
4012ef77 |
|
31-Aug-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Functional implementation of Accurate ECN The AccECN handshake and TCP header flags are supported, no support yet for the AccECN option. This minimalistic implementation is sufficient to support DCTCP while dramatically cutting the number of ACKs, and provide ECN response from the receiver to the CC modules. Reviewed By: #transport, #manpages, rrs, pauamma Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D21011
|
#
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 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
|
#
3f169c54 |
|
09-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: Add/update AccECN related statistics and numbers Reserve couters in the tcps struct in preparation for AccECN, extend the debugging output for TF2 flags, optimize the syncache flags from individual bits to a codepoint for the specifc ECN handshake. This is in preparation of AccECN. No functional chance except for extended debug output capabilities. Reviewed By: #transport, rrs Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34161
|
#
1790549d |
|
05-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: use TCPSTAT_INC in kernel ecn functions Incorrectly used KMOD_ marco in static kernel ECN functions. Both eventually resolve to counter_s64_add(), but better use the correct macros. Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34181
|
#
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. Incidentially this establishes correct ECN operation in one instance. Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162
|