Re: [Technical Errata Reported] RFC6726 (3870)

Rod Walsh <[email protected]> Thu, 23 Jan 2014 10:02:31 +0000
Newsgroups gmane.ietf.rmt
Message-ID <[email protected]>
I'm a bit rusty so jump on me if I write anything stupid:

We wrote FLUTE 2 specifically to maintain maximal backwards compatibility with FLUTE 1 (given the compatibility breakage for LCT, we were prevented from keeping fully compatibility as was the original philosophy). So a FLUTE 2 receiver would be happy with a FLUTE 1 FDT. Meaning that a well made "mutant FLUTE sender" could do what is asked by this errata, even if we specifically don't want the standard to suggest that a FLUTE 2 sender does things the FLUTE 1 way. Thank goodness, we made a careful section "11.  Change Log"! - it pretty much says it all about the changes.

However, what is being asked for is a little broken. RFC 6726 does not promote or suggest the use of FLUTE 1 senders. If you want to use FLUTE 1 senders, you use the experimental and obsolete RFC3926. So if you want to experimentally use the newer updated LCT and ACL with the experimental RFC3926, that's fine - it's experimental but it would not be according to either RFC spec.

If you want a full FLUTE 1 spec added to the FLUTE 2 spec as an option, it kind of goes outside the normal "keep this and the options minimal and simple or you'll not get interoperable interpretations implemented" IETF mantra (and that is a BIG ask). If you want the obsolete RFC3926 to be updated to a new experimental RFC to allow for this, you'd want the normal IETF tao - running code and rough consensus (although running consensus and rough code is an easier start), and a new ID for this small spec modifier (probably to become an informational RFC rather than obsolete experimental or standards track RFC).

So my quick assessment, is that the errata author has not understood what we have tried to accomplish, and wishes to use the specifications in a non-standards way (which is fine for a closed and controlled network but) which we would not want to incorporate into RFC 6726.

If there is a massive groundswell, that I'm not aware of, of implementors specifically wanting to run FLUTE 1 over LCT/ALC 2, it should be straight forward to get the wheels in motion for a new ID/RFC path (which would be remarkably easy to write - mostly copy and paste). Vincent Roca already set a precedent for this with RFC6968 (FCAST) which deviates from FLUTE considerably. This really depends on the volume, motivation and skills of the developers of "deployments that want to use the new functionalities of LCT as defined in RFC5651, but still want to be backward compatible to FLUTE version 1".

Cheers, Rod.




On Jan 23, 2014, at 6:55 AM, RFC Errata System <[email protected]> wrote:

> The following errata report has been submitted for RFC6726,
> "FLUTE - File Delivery over Unidirectional Transport".
> 
> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=6726&eid=3870
> 
> --------------------------------------
> Type: Technical
> Reported by: Thomas Stockhammer <[email protected]>
> 
> Section: 11.1
> 
> Original Text
> -------------
> Incremented the FLUTE protocol version from 1 to 2, due to concerns
>   about backwards compatibility.  For instance, the LCT header changed
>   between RFC 3451 and [RFC5651].  In RFC 3451, the T and R fields of
>   the LCT header indicate the presence of Sender Current Time and
>   Expected Residual Time, respectively.  In [RFC5651], these fields
>   MUST be set to zero and MUST be ignored by receivers (instead, the
>   EXT_TIME Header Extensions can convey this information if needed).
>   Thus, [RFC5651] is not backwards compatible with RFC 3451, even
>   though both use LCT version 1.  FLUTE version 1 as specified in
>   [RFC3926] MUST use RFC 3451.  FLUTE version 2 as specified in this
>   document MUST use [RFC5651].  Therefore, an implementation that
>   relies on [RFC3926] and RFC 3451 will not be backwards compatible
>   with FLUTE as specified in this document.
> 
> Corrected Text
> --------------
> Incremented the FLUTE protocol version from 1 to 2, due to concerns
>   about backwards compatibility.  For instance, the LCT header changed
>   between RFC 3451 and [RFC5651].  In RFC 3451, the T and R fields of
>   the LCT header indicate the presence of Sender Current Time and
>   Expected Residual Time, respectively.  In [RFC5651], these fields
>   MUST be set to zero and MUST be ignored by receivers (instead, the
>   EXT_TIME Header Extensions can convey this information if needed).
>   Thus, [RFC5651] is not backwards compatible with RFC 3451, even
>   though both use LCT version 1.  FLUTE version 1 as specified in
>   [RFC3926] SHOULD use RFC 3451.  FLUTE version 2 as specified in this
>   document MUST use [RFC5651].  Therefore, an implementation that
>   relies on [RFC3926] and RFC 3451 will not be backwards compatible
>   with FLUTE as specified in this document.
> 
> Notes
> -----
> The only change that is requested is to change "FLUTE version 1 as specified in
>   [RFC3926] MUST use RFC 3451." to "FLUTE version 1 as specified in
>   [RFC3926] SHOULD use RFC 3451. " 
> 
> This is done as there are deployments that want to use the new functionalities of LCT as defined in RFC5651, but still want to be backward compatible to FLUTE version 1. The above statement being a must prevents this. However, if there are good reasons to not move to FLUTE version 2 (as this would break backward-compatibility for existing receivers), it should be possible to use FLUTE version 1 on top of LCT RFC5651 in order to use the functionalities in RFC5651, especially the header extensions.
> 
> Instructions:
> -------------
> This errata is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party (IESG)
> can log in to change the status and edit the report, if necessary. 
> 
> --------------------------------------
> RFC6726 (draft-ietf-rmt-flute-revised-16)
> --------------------------------------
> Title               : FLUTE - File Delivery over Unidirectional Transport
> Publication Date    : November 2012
> Author(s)           : T. Paila, R. Walsh, M. Luby, V. Roca, R. Lehtonen
> Category            : PROPOSED STANDARD
> Source              : Reliable Multicast Transport
> Area                : Transport
> Stream              : IETF
> Verifying Party     : IESG