From owner-freebsd-hackers Wed Jul 14 13:42:14 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (Postfix) with ESMTP id F1609154C4 for ; Wed, 14 Jul 1999 13:42:04 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id NAA95895; Wed, 14 Jul 1999 13:40:07 -0700 (PDT) (envelope-from dillon) Date: Wed, 14 Jul 1999 13:40:07 -0700 (PDT) From: Matthew Dillon Message-Id: <199907142040.NAA95895@apollo.backplane.com> To: Mike Smith Cc: "John W. DeBoskey" , freebsd-hackers@FreeBSD.ORG Subject: Re: tcp windowsize query? References: <199907142021.NAA01388@dingo.cdrom.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :> net.inet.tcp.recvspace: 16384 :... :> send/recv space might be what I'm looking for... : :They're the default send/receive window sizes, yes. You can tweak them :with socket ioctls on a per-socket basis. : :> delayed ack sounds interesting.... : :Turning that off disables TCP slow-start. It's a huge performance :booster for things like SMB service, where you have lots of short-lived :TCP connections on a local net. Note that you can also tweak TCP send/receive window sizes on a per-route basis. The recvpipe and sendpipe parameters in route table entries can be changed. This will override the sysctl defaults. However, it may be a little complex for some people to grasp. The route table is a radix tree. In order to set the send/receive pipes for particular ip addresses you may have to create a route to that IP address in order to effect it rather then a more global route. For example, if I am getting the route to some host that runs through my default gateway, I get my default route entry. If I were to change this route entry I would be changing it for default, not just for idiom.com: route -n get idiom.com # route -n get idiom.com route to: 209.157.64.1 destination: default mask: default <----- this is not a host route! gateway: 209.157.86.1 <----- this is not a host route! interface: de0 flags: recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0 On the other hand, a route to another host on the same ethernet is usually specific: # route -n get lander route to: 209.157.86.6 destination: 209.157.86.6 interface: de0 flags: recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 0 0 10411044 172 219 0 1500 1131 To change the pipes associated with a route, I would do the following. But in this example if I were to try to change the pipe size to idiom.com, I would actually wind up changing the pipe size for my default route. route -n change idiom.com -sendpipe BYTES -recvpipe BYTES route -n change 209.157.86.6 -sendpipe BYTES -recvpipe BYTES If I really want to change the pipe size just to idiom.com, I would have to first create a specific route to idiom.com, then change that. route add idiom.com default route -n change idiom.com -sendpipe BYTES -recvpipe BYTES -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message