Tom Keiser <[email protected]> wrote:
> 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.
>

The other week I submitted a new draft to the IETF which implements
the aforementioned changes (as well as a few others).  The new draft
is available at the following URLs:

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

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


The complete revision history is as follows:

- split unsigned 64-bit type down into several more descriptive types
that allow the TLV data stream to be more self-describing.
- add a signed 64-bit integer type to allow for relative timestamps
- now that we have more descriptive types, use them in a number of places
- change AFSVOL_TLV_TAG_VOL_TRANS_CALL_VALID into a boolean type payload
- make sure rxgen can parse the XDR in the appendix
- make sure generated C code compiles and links
- add in-text cites for AFS3-VVL, AFS3-FSCM, DAFS, and OSD.
- provide motivations for GetCapabilities RPC
- provide protocol semantic definitions for each newly allocated capability bit
- allocate AFSVOL_TLV_FLAG_MORE bit to notify caller when we can't
send all tags due to AFSVOL_TLV_TAG_MAX length limit

Any comments or feedback are appreciated.

-Tom

_______________________________________________
AFS3-standardization mailing list
[email protected]
http://michigan-openafs-lists.central.org/mailman/listinfo/afs3-standardization

Reply via email to