public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
From: Sebastian Huber <sh@sourceware.org>
To: newlib-cvs@sourceware.org
Subject: [newlib-cygwin] tcp: Add support for DSACK based reordering window to rack.
Date: Mon, 11 Jul 2022 11:55:00 +0000 (GMT)	[thread overview]
Message-ID: <20220711115500.4DD3E385BADA@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=57703f72c8d9c2baefc36b13bc1262bd7cb6c721

commit 57703f72c8d9c2baefc36b13bc1262bd7cb6c721
Author: Randall Stewart <rrs@FreeBSD.org>
Date:   Tue Aug 17 16:29:22 2021 -0400

    tcp: Add support for DSACK based reordering window to rack.
    
    The rack stack, with respect to the rack bits in it, was originally built based
    on an early I-D of rack. In fact at that time the TLP bits were in a separate
    I-D. The dynamic reordering window based on DSACK events was not present
    in rack at that time. It is now part of the RFC and we need to update our stack
    to include these features. However we want to have a way to control the feature
    so that we can, if the admin decides, make it stay the same way system wide as
    well as via socket option. The new sysctl and socket option has the following
    meaning for setting:
    
    00 (0) - Keep the old way, i.e. reordering window is 1 and do not use DSACK bytes to add to reorder window
    01 (1) - Change the Reordering window to 1/4 of an RTT but do not use DSACK bytes to add to reorder window
    10 (2) - Keep the reordering window as 1, but do use SACK bytes to add additional 1/4 RTT delay to the reorder window
    11 (3) - reordering window is 1/4 of an RTT and add additional DSACK bytes to increase the reordering window (RFC behavior)
    
    The default currently in the sysctl is 3 so we get standards based behavior.
    Reviewed by: tuexen
    Sponsored by: Netflix Inc.
    Differential Revision: https://reviews.freebsd.org/D31506

Diff:
---
 newlib/libc/sys/rtems/include/netinet/tcp.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/newlib/libc/sys/rtems/include/netinet/tcp.h b/newlib/libc/sys/rtems/include/netinet/tcp.h
index a79dbeaad..29c1e376c 100644
--- a/newlib/libc/sys/rtems/include/netinet/tcp.h
+++ b/newlib/libc/sys/rtems/include/netinet/tcp.h
@@ -309,6 +309,7 @@ struct tcphdr {
 #define TCP_RACK_PACING_BETA 1138	/* Changing the beta for pacing */
 #define TCP_RACK_PACING_BETA_ECN 1139	/* Changing the beta for ecn with pacing */
 #define TCP_RACK_TIMER_SLOP 1140	/* Set or get the timer slop used */
+#define TCP_RACK_DSACK_OPT 1141		/* How do we setup rack timer DSACK options bit 1/2 */
 
 /* Start of reserved space for third-party user-settable options. */
 #define	TCP_VENDOR	SO_VENDOR


                 reply	other threads:[~2022-07-11 11:55 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220711115500.4DD3E385BADA@sourceware.org \
    --to=sh@sourceware.org \
    --cc=newlib-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).