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

Jeffrey Hutzelman jhutz@cmu.edu
Mon, 22 Feb 2010 15:16:09 -0500


--On Tuesday, February 16, 2010 10:33:56 AM -0500 Steven Jenkins 
<steven.jenkins@gmail.com> wrote:

> 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.

The TLV-based approach to accessing attributes of objects such as volumes 
is a good one.  However, I believe the introductory material in this 
document becomes too ambitious when it essentially declares that all RPC 
extension from here on out will use this approach.  I suggest limiting this 
document to extending the AFSVol interface, rather than trying to set 
policy for future protocol extensions.  Specifically...

- Rewrite the introduction and abstract to focus on the problem you are
  actually solving, which is providing an extensible mechanism for access
  to volume-level metadata, rather than focusing on why you are using
  a TLV-based approach instead of defining AFSVolListOneVolume2 et al.
- Drop section 2 entirely
- Rewrite the intitial part of section 3 (before 3.1) to refer
  specifically to the AFSVol interface.  I also suggest moving this
  to just before the "Acknowledgements" section, as I believe it reads
  better to fully define the new interface before talking about backward
  compatibility, rather than after.
- Delete the introductory paragraph of section 3.1, and promote the rest
  to a new top-level section.
- Renumber section 4.2.1 as 4.2, and promote the remainder of section
  4.2 (4.2.2..4.2.5) collectively to a new top-level section, such that
  the syntax and semantics of TLVs are described separately from the
  AFSVol RPCs that provide TLV-based access to volume attributes.  This
  allows future documents which define TLV-based RPCs to refer directly
  to section 4 of the present document for the syntax and semantics of
  TLVs without confusing things too much.

I believe these changes will produce a more focused, easier to read 
document that creates a new tool and effectively uses it to extend the 
AFSVol interface without insisting that the new tool be a hammer used to 
solve all problems.


In addition, a few notes about registry considerations...

- Please don't make references to the "Grand Central Registrar"; no such
  entity exists.  The current term is currently AFS Assigned Numbers
  Registry/Registrar,

- For each new registry, describe what the registry is for, what
  information must be provided to register new values, what will be
  contained in registry entries, and complete initial contents of the
  registry.  While not all of it applies here, RFC5226 Section 4 does
  a good job of describing what goes into a new IANA registry.


Finally...

- Don't use RFC2119 requirements language to make recommendations to
  future protocol designers, as near the bottom of page 7, "it is
  RECOMMENDED that future protocol augmentations...".  This language
  is reserved for specifying how implementations are expected to
  behave.



-- Jeff