[AFS3-std] AFSVol tag-length-value extensions draft (second call for comments)

Steven Jenkins steven.jenkins@gmail.com
Tue, 16 Feb 2010 10:33:56 -0500


This is a repost of the call for comments for AFSVol tag-length-value
extensions that was done November 19, 2009.  Please review and give
feedback so that we can move towards a Last Call.

Thank you,
Steven Jenkins


Greetings,

I have submitted an I-D covering extensions to the AFSVol Rx service
which provide get, set, and enumerate services for tag-length-value
(TLV) tuples.  For those of you who were in Edinburgh, or have read
the meeting minutes, I need to point out a few deviations from the
design discussion:

1) it is now tag-length-value instead of tag-uint64.  Further discussion and
   reflection revealed that uint64 would become a bottleneck in the near term.
   Our proposed design skirts around the XDR discriminated union problem by
   specifying that all future allocations of type identifiers (union
discriminator)
   automatically map onto an XDR opaque via the 'default' leg of the
union.  Thus,
   the RPC will have a chance to be serviced, and demarshalling problems can
   be handled by the RPC itself (by return of specific error codes),
rather than by
   Rx failing to demarshall the entire call argument blob.

2) A number of existing fields from structures such as volintXInfo and
   transDebugInfo are now exported as TLV tuples, thus eliminating the
   race conditions between the new TLV RPCs, AFSVolListOneVolume, and
   AFSVolMonitor.

3) In addition to the single-volume get RPC, there is also a multi-volume
    split-call interface.  The purpose of this interface is to allow a
volser client to
    get specific metadata for many volumes in a single call.  In order
to circumvent
    the heap space problem, we chose a split call where the stream is an
    xdrrec stream of xdr-encoded TLV structures.


You may retrieve the draft from the following locations:

http://www.ietf.org/id/draft-tkeiser-afs3-volser-tlv-00.txt
http://openafs.sinenomine.net/~tkeiser/draft-tkeiser-afs3-volser-tlv-00.html
http://openafs.sinenomine.net/~tkeiser/draft-tkeiser-afs3-volser-tlv-00.xml

Regards,

-Tom