[AFS3-std] AFSVol Tag-Length-Value extensions I-D

Tom Keiser tkeiser@sinenomine.net
Tue, 15 Jun 2010 12:26:53 -0400 (EDT)


Greetings,

I've published draft-tkeiser-afs3-volser-tlv-02; this new draft can be 
accessed via the following URLs and AFS paths:

http://tools.ietf.org/html/draft-tkeiser-afs3-volser-tlv-02
http://openafs.sinenomine.net/~tkeiser/i-d/draft-tkeiser-afs3-volser-tlv-02.html
http://openafs.sinenomine.net/~tkeiser/i-d/draft-tkeiser-afs3-volser-tlv-02.xml
http://openafs.sinenomine.net/~tkeiser/i-d/draft-tkeiser-afs3-volser-tlv-01-02.xml.diff

/afs/sinenomine.net/user/tkeiser/public_html/i-d/draft-tkeiser-afs3-volser-tlv-02.txt
/afs/sinenomine.net/user/tkeiser/public_html/i-d/draft-tkeiser-afs3-volser-tlv-02.html
/afs/sinenomine.net/user/tkeiser/public_html/i-d/draft-tkeiser-afs3-volser-tlv-02.xml
/afs/sinenomine.net/user/tkeiser/public_html/i-d/draft-tkeiser-afs3-volser-tlv-01-02.xml.diff


Here is the change log for this revision:

   - ERRATA: AFSCAPABILITIESMAX is actually defined to be 196, not 192
   - add section re: cache coherence to the tag enumeration RPC
   - add section re: day-of-week usage following discussion with mmeffie
   - s/AFSVOL_TLV_TAG_VOL_DAY_USE/AFSVOL_TLV_TAG_VOL_STAT_USE_TODAY/
     following discussion with mmeffie
   - add AFSVOL_TLV_TAG_VOL_STAT_USE_TODAY_DATE following discussion with
     mmeffie
   - add section re: definition of each tlv payload type
   - add section re: definition of each tlv flag
   - add note soliciting comments to afs3-stds list
   - s/GCO Registrar/AFS Assigned Numbers Registrar/
   - s/afsint/AFSVol/ so that we keep our options open with respect to
     wider standardization of TLV semantics
   - add AFSVOL_TLV_TYPE_UINT64_VEC payload type
   - convert various tags from AFSVOL_TLV_TYPE_OPAQUE to
     AFSVOL_TLV_TYPE_UINT64_VEC
   - add AFSVOL_TLV_FLAG_QUALIFIER_NO_MATCH flag
   - write AFSVol TLV Payloads registry definition
   - write AFSVol TLV Tags registry definition
   - add registry for AFSVol_TLV.tlv_flags
   - add registry for AFSVol_stat_use_per_dow.stat_flags
   - write AFSVol Vol State Expls registry definition
   - write AFSVol Program Types registry definition
   - add numeric value assignments for newly created registries
   - add RFC section references to new allocations
   - add reference to Simon's AFS-STDS charter
   - add an appendix with sample XDR for AFSVol Capabilities
   - add an appendix with sample XDR for AFSVol TLV
   - various cosmetic improvements (e.g. adding vspace tags)


Moving forward, I propose making one change in -03.  Namely, I want to 
split type AFSVOL_TLV_TYPE_UINT64 up into a few types that embed some 
limited semantic knowledge into the TLV layer.  Specifically, I'm thinking 
of splitting AFSVOL_TLV_TYPE_UINT64 into the following six types:

   * AFSVOL_TLV_TYPE_UINT64    [generic unit-less type, as before]
   * AFSVOL_TLV_TYPE_TIME_ABS  [Simon's rpc refresh 100ns unit; absolute]
   * AFSVOL_TLV_TYPE_TIME_REL  [Simon's rpc refresh 100ns unit; relative]
   * AFSVOL_TLV_TYPE_BLOCKS    [storage in 1KiB units]
   * AFSVOL_TLV_TYPE_VOLUME_ID
   * AFSVOL_TLV_TYPE_PARTITION_ID

All six would be backed by afs_uint64 in the AFSVol_TLV_value union. 
While this change isn't strictly necessary, it's relatively 
straightforward to implement, and makes the resulting volume TLV data 
considerably more self-describing.

As always, comments and feedback are invited.

Cheers,

-Tom