Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Scheffenegger <rscheff@FreeBSD.org>2020-09-25 13:38:19 +0300
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-11 12:52:46 +0300
commit7b30b9f648a25f3b615730864ddc86a433a93333 (patch)
tree1b3953d88cc5b1230c1fdc8761ffc02c8464f0a7 /newlib/libc/sys
parent43e76bafcd70f0639b3d9ea9c411de23b119c55f (diff)
TCP: send full initial window when timestamps are in use
The fastpath in tcp_output tries to send out full segments, and avoid sending partial segments by comparing against the static t_maxseg variable. That value does not consider tcp options like timestamps, while the initial window calculation is using the correct dynamic tcp_maxseg() function. Due to this interaction, the last, full size segment is considered too short and not sent out immediately. Reviewed by: tuexen MFC after: 2 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D26478
Diffstat (limited to 'newlib/libc/sys')
-rw-r--r--newlib/libc/sys/rtems/include/netinet/tcp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/netinet/tcp.h b/newlib/libc/sys/rtems/include/netinet/tcp.h
index 0a5226836..faf142959 100644
--- a/newlib/libc/sys/rtems/include/netinet/tcp.h
+++ b/newlib/libc/sys/rtems/include/netinet/tcp.h
@@ -80,6 +80,8 @@ struct tcphdr {
u_short th_urp; /* urgent pointer */
};
+#define PADTCPOLEN(len) ((((len) / 4) + !!((len) % 4)) * 4)
+
#define TCPOPT_EOL 0
#define TCPOLEN_EOL 1
#define TCPOPT_PAD 0 /* padding after EOL */