TCP initial window size

Anthony Pankov ap00 at mail.ru
Wed Jul 29 10:29:28 UTC 2009


Can anybody explain me about initial TCP window sent to the client (in syn/ack packet),
please.

Is it unmanageable and always set to net.inet.tcp.recvspace?

(Due to use of syncache and syncache code is (tcp_syncache.c):
        /* Initial receive window: clip sbspace to [0 .. TCP_MAXWIN] */
        win = sbspace(&so->so_rcv);
        win = imax(win, 0);
        win = imin(win, TCP_MAXWIN);
        sc->sc_wnd = win;
)

If it is, then what bad things will happen if i replace code above by
code like this:

if (tcp_do_rfc3390)
  sc->sc_wnd = min(4*(sc->sc_peer_mss ? sc->sc_peer_mss:tcp_mssdflt ),
                   max(2 * (sc->sc_peer_mss ? sc->sc_peer_mss:tcp_mssdflt), 4380));
else
  sc->sc_wnd = (sc->sc_peer_mss ? sc->sc_peer_mss:tcp_mssdflt) * ss_fltsz;


Also, does local connection use syncache?


System: FreeBSD 6.2-RELEASE-p9

-- 
Best regards,
 Anthony                          mailto:ap00 at mail.ru




More information about the freebsd-net mailing list