Sol 8 Sparc / Linux 2.2.17 TCP interoperability problems

From: Chris Pascoe (chrisp@csee.uq.edu.au)
Date: Fri Sep 22 2000 - 21:59:55 EST


Is anyone else experiencing an interoperability problem when running the
nfs-utils 0.1.9.1 or 0.2 on an (unpatched) 2.2.16 or 2.2.17 kernel NFS
Server, exporting to a Solaris 8 Sparc (patched with recommended patches
as of 6/Sep/2000) client. (Am I the only one trying this config?) I had
a brief look through the nfs and linux-kernel mailing archives and didn't
come across anything mentioning this NFS combination (with the new
nfs-utils, at least).

The problem that I appear to see is that the setsockopt(..., SO_RCVBUF,
1024..) which occurs in support/nfs/rpcmisc.c (during the mountd process)
seems to cause a situation where no data can be received from the
showmount's TCP connection; the Linux TCP stack refuses to acknowledge any
data received from the Sun box. Removing the setsockopt() calls or
increasing the rcvbuf size by nine bytes to 1033 resolves the problem.

A brief tcpdump showing the behaviour for the two cases, and some
standalone test code which demonstrates the problem on my systems (without
needing to break / setup mountd) is available at:
        http://celab21.pc.elec.uq.edu.au/~chris/tcpbug/

I lack the level of understanding of the Linux 2.2.x TCP stack needed to
resolve the problem alone, but it seems the behaviour I am seeing may be
related to some things discussed /changes made during the 'select()/socket
has problems under 2.2.x' thread on linux-kernel around March last year.

Chris Pascoe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 21:00:28 EST