:> 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: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 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: <UP,HOST,DONE,LLINFO,WASCLONED>
 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 
                                        <[EMAIL PROTECTED]>



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to