[newlib 31/65] TCP: send full initial window when timestamps are in use
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jul 7 11:58:38 UTC 2022
From: Richard Scheffenegger <rscheff at FreeBSD.org>
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
---
newlib/libc/sys/rtems/include/netinet/tcp.h | 2 ++
1 file changed, 2 insertions(+)
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 */
--
2.35.3
More information about the devel
mailing list