Subject: COMPOUND result

From: Peter Åstrand <[email-masked]>
Date: Mon, 3 Sep 2001 18:54:42 +0200 (CEST)

I'm not sure I fully understand what is the result of the COMPOUND
procedure. draft-ietf-nfsv4-00-00.txt (is this the newest one?) says:

(13.1)
...
 and the reply looks like this:

     +------------+-----------------------+-----------------------+--
     |last status | status + op + results | status + op + results |
     +------------+-----------------------+-----------------------+--
...

(14.2)
...
  RESULT

     union nfs_resop4 switch (nfs_opnum4 resop){
             case <OPCODE>: <result>;
             ...
     };

     struct COMPOUND4res {
             nfsstat4        status;
             utf8string      tag;
             nfs_resop4      resarray<>;
     };

Is the drawing in section 13.1 supposed to illustrate COMPOUND4res? To me,
they seem very different.

I've managed to communicate with N4 and the CITI implementation from a
Python application, but they give different COMPOUND results for, for
example, PUTROOTFH operations. The CITI implementation replies with
something that to me seems to be several garbage bytes extra. Any ideas?

-- 
Peter Åstrand                Telephone: +46-13-29 08 61
Cendio Systems               E-mail: [email-masked]
Teknikringen 3
583 30 Linköping

---

From: "William A.(Andy) Adamson" <[email-masked]>
Date: Tue, 04 Sep 2001 09:34:48 -0400

>  and the reply looks like this:

perhaps it's the tag field that's different?  why don't you include the hex of 
the packet, then we could help.

BTW ethereal decodes NFSv4 packets - have you tried sniffing the N4 and CITI 
NFSv4 traffic?

-->ANdy

---

From: Spencer Shepler <[email-masked]>
Date: Tue, 4 Sep 2001 12:23:50 -0500

>  and the reply looks like this:

This is a symbolic representation.

>      union nfs_resop4 switch (nfs_opnum4 resop){

This is the "real" description.

As Andy has suggested, ethereal should be helpful.

Spencer

---

From: Peter Åstrand <[email-masked]>
Date: Wed, 12 Sep 2001 16:07:44 +0200 (CEST)

> This is a symbolic representation.

I see. But I still think this would be a more correct representation:

+------------+-----+-----------------------+-----------------------+--
|last status | tag | op + status + results | op + status + results |
+------------+-----+-----------------------+-----------------------+--

> As Andy has suggested, ethereal should be helpful.

Thanks for the advice. I hadn't used Ethereal before, but after using it a
couple of hours, I really like it. Very useful.