Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Oct 2001 22:18:57 -0700 (PDT)
From:      BSD User <bsder@allcaps.org>
To:        Paul van der Zwan <paulz@trantor.xs4all.nl>
Cc:        Thomas Quinot <quinot@inf.enst.fr>, <current@freebsd.org>
Subject:   Re: Multiple NFS server problems with Solaris 8 clients 
Message-ID:  <20011024220526.M7882-100000@mail.allcaps.org>
In-Reply-To: <200110241729.f9OHTLx21951@trantor.xs4all.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 24 Oct 2001, Paul van der Zwan wrote:

> I have looked at a trace I made using snoop and it shows an NFS_ACL call which
> is not supported by FreeBSD. It should have sent a reply that it does not
> know the NFS_ACL protocol but apparently it does not.
> The only return traffic I see is an empty packet with the tcp ACK.
> It looks like an implementation error in the -current NFS server.
>
> 	Paul

I have been digging at traces of 4.4-RELEASE (which works) and -current
(which doesn't).

Both versions get it wrong.  I have no idea why 4.4-RELEASE worked.

-current responds with a blank TCP packet (which it emphatically should
*not* do) to the GETACL3 call.  It *could* conceivably be received as an
RPC packet with the "Last Fragment" flag not set and a length of 0.  Who
knows what the Solaris 8 client is doing when it encounters this (probably
getting stuck waiting for more data which never comes).

4.4-RELEASE responds with an RPC packet indicating "success" (which is
*also* wrong if the NFS server doesn't support ACLs) and then puts what
looks to be garbage in the response.  However, it is a valid RPC reponse
with the "Last Fragment" flag set.  Presumably the Solaris client gets the
message, sees the last fragment, throws away the packet as an error and
continues on with life.

I presume that the "correct" response is to send back an RPC reply (with
the "Last Fragment" set) which indicates that the RPC message was accepted
but that the procedure was unavailable (PROC_UNAVAIL).  Hopefully this
matches what an older Solaris server would do when faced with a Solaris 8
client and everything will proceed normally from there.

If anybody wants ethereal traces, I can send them.  Just ask.

Andy L.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011024220526.M7882-100000>