mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2025-01-11 17:04:19 +01:00
Turn on TCP_NODELAY on the remote socket, to turn off sender silly window
syndrome avoidance. The combination of SWS avoidance and ack-every-other causes low throughput if the block size divided by the MSS is odd (which is true with the default block size and MSS). Turning on TCP_NODELAY disables the Nagle algorithm and sender SWS avoidance. The rdump request/response protocol can not invoke Nagle and cannot cause SWS, so this has no negative effects.
This commit is contained in:
parent
bd6be9150d
commit
4a3bf3b27c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=36115
@ -51,6 +51,7 @@ static char sccsid[] = "@(#)dumprmt.c 8.3 (Berkeley) 4/28/95";
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/in_systm.h>
|
||||
#include <netinet/ip.h>
|
||||
#include <netinet/tcp.h>
|
||||
|
||||
#include <protocols/dumprestore.h>
|
||||
|
||||
@ -142,12 +143,10 @@ rmtgetconn()
|
||||
register const char *rmt;
|
||||
static struct servent *sp = NULL;
|
||||
static struct passwd *pwd = NULL;
|
||||
#ifdef notdef
|
||||
static int on = 1;
|
||||
#endif
|
||||
char *tuser;
|
||||
int size;
|
||||
int throughput;
|
||||
int on;
|
||||
|
||||
if (sp == NULL) {
|
||||
sp = getservbyname(dokerberos ? "kshell" : "shell", "tcp");
|
||||
@ -199,11 +198,9 @@ rmtgetconn()
|
||||
if (setsockopt(rmtape, IPPROTO_IP, IP_TOS,
|
||||
&throughput, sizeof(throughput)) < 0)
|
||||
perror("IP_TOS:IPTOS_THROUGHPUT setsockopt");
|
||||
|
||||
#ifdef notdef
|
||||
on = 1;
|
||||
if (setsockopt(rmtape, IPPROTO_TCP, TCP_NODELAY, &on, sizeof (on)) < 0)
|
||||
perror("TCP_NODELAY setsockopt");
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
|
Loading…
Reference in New Issue
Block a user