hello. Following up on my own post, I discovered that I can change the window size by adjusting the sysctl variable: net.inet.tcp.recvspace The table below shows the settings of this variable compared with the window size I get.
net.inet.tcp.recvspace window size 32768 4197 65535 8212 131072 16525 262144 (Error, No buffer space available) The trace shows that the initial window size is correct, but that when subsequent packets are generated, the window size drops to the numbers shown above. This makes me think that the calls to soreserve() in in tcp_usrreq.c aren't working, or the buffers are being lost or unused, somehow. Still poking. -Brian `i