Date: Fri, 14 Oct 2005 15:12:48 -0400 (EDT) From: rick@snowhite.cis.uoguelph.ca To: fs@freebsd.org Subject: FreeBSD NFS server not responding to TCP SYN packets from Linux/SunOS clients Message-ID: <200510141912.PAA25440@snowhite.cis.uoguelph.ca>
next in thread | raw e-mail | index | archive | help
> Then what happens when the socket receive queue fills up? (Sorry if > this is obvious). Its been a long time since I went through the BSD TCP code, so if I get this wrong, hopefully someone will jump in and correct it. Here goes... When the socket receive queue is full, the server will throw away further data that it receives, instead of queuing it. At the client end, there is a send window (#byte of unacknowledged data that can be sent) and once it sends "send window" bytes of data that gets thrown away at the server, it will hit the "send window" limit and stop sending more data. The NFS client will block in sosend() until the server moves the send window (which won't happen until the nfsd threads take data out of the socket receive queue on the server). Hope I got that right? rick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510141912.PAA25440>