Hi Ben,

On Fri, Jun 1, 2012 at 3:18 PM, Ben Campbell <b...@nostrum.com> wrote:
> Thanks for the quick response. Further comments inline. I deleted sections 
> that do not appear to need further discussion.
>
> Thanks!
>
> Ben.
>
> On Jun 1, 2012, at 10:45 AM, Donald Eastlake wrote:
>
>> Hi Ben,
>>
>> Thanks for your review. See responses below.
>>
>> On Thu, May 31, 2012 at 6:08 PM, Ben Campbell <b...@nostrum.com> wrote:
>>
>>> I am the assigned Gen-ART reviewer for this draft. For background on
>>> Gen-ART, please see the FAQ at
>>> < http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
>>>
>>> Please wait for direction from your document shepherd
>>> or AD before posting a new version of the draft.
>>>
>>> Document: draft-ietf-trill-rbridge-extension-04
>>> Reviewer: Ben Campbell
>>> Review Date: 2012-05-31
>>> IETF LC End Date: 2012-06-07
>>> IESG Telechat date: 2012-06-07
>>>
>>> Note: Since this draft is on the agenda of the IESG Telechat on the
>>> same day that the IETF last call expires, this review is intended
>>> for both purposes.
>>>
>>> Summary:
>>>
>>> This draft is almost ready for publication as a proposed standard,
>>> but I have some clarification questions and comments that should be
>>> considered prior to publication.
>>>
>>> Major issues:
>>>
>>> None
>>>
>>> Minor issues:
>>>
>>> -- section 2, general:
>>>
>>> Do the authors assume that all TRILL extensions will follow this
>>> spec? Since RFC6325 already specifies an extension mechanism, what
>>> stops an extension from ignoring this spec and doing something
>>> different? Does it hurt if they do?
>>
>> I am not aware of any conflicts between this draft and RFC 6325. RFC
>> 6325 provides the broadest header option framework, for example
>> specifying the field for the length of the options area and the
>> initial two critical summary bits. This document fills in the
>> structure and allocation mechanism of the remaining bits in the first
>> 4-byte word of the options area, consistent with and repeating some
>> material from RFC 6325, but leaving specification of the remainder of
>> the options area for future documents, which should be consistent with
>> both RFC 6325 and this document. (For example, some future version of
>> draft-ietf-trill-rbridge-options.)
>
> I agree there is no conflict--this draft adds details, but doesn't seem to 
> contradict anything in the RFC.
>
>>
>> However, neither RFC 6325 nor this document can actually actually bind
>> the IETF against adopting future standards describing extensions that
>> do not conform.
>
> Certainly. Nothing can do that. The IETF can always update a protocol to 
> change normative language, no matter how strongly it was stated originally :-)
>
>> If future changes do not follow RFC 6325 or this
>> document, for example changing the location or interpretation of the
>> option length field in the TRILL Header or changing the interpretation
>> of the critical summary bits in the first word of the options area,
>> then this would break hardware and software implementations that
>> depend on RFC 6325 and/or this document. But I trust the IETF to
>> adhere to its usually high standards for backwards compatibility.
>>
>> Perhaps this draft should, in the first page header, say "Updates:
>> 6325", not in the sense that it makes a change but in the sense that
>> it fills in more details.
>>
>
> Assuming the additional details in this draft comprise preferred extension 
> mechanism, then I think it makes sense to say that somewhere (perhaps a 
> SHOULD strength), and also mark it as updating 6325. Adding details is still 
> an update.

OK.

>>> -- section 2, 3rd paragraph from end: "Non-critical extensions can
>>>   be safely ignored."
>>>
>>> Is that intended to be normative? (Seems like it should be, since
>>> behavior for critical extensions is normative).
>>
>> I think of it as more like the definition of "non-critical".
>
> Sure--I mainly mention it to be consistent with the text for "critical" 
> extensions, since it did use normative language about dropping frames.
>
>>
>>> -- section 2.1, 1st paragraph, last sentence:
>>>
>>> Redundant with normative language in previous section.
>>
>> ? There is a normative requirement to discard frames with any
>> unimplemented critical hop-by-hop options present, which might be
>> thought to require examination of all options (something manifestly
>> impossible since the format of options beyond the first word of the
>> options area is not yet normatively specified). The sentence to which
>> you refer just clarifies that testing the appropriate crtical summary
>> bit(s) in the first word of the options area, if that word is present,
>> is all that is required.
>
> section 2 says "Any RBridge receiving a frame with a critical hop-by-hop 
> extension  that it does not implement MUST discard the frame...". Section 2.1 
> says "If an RBridge does not implement all critical flags in a TRILL Data 
> frame, it MUST discard the frame..." These really seem like the same MUST 
> (i.e, if you updated one but not the other, you would have an ambiguous 
> state). The same is true for the egress bit.
>
> I understand that you want to draw the connection between a "critical 
> extension" and "critical flags", but it's better to avoid having multiple 
> bits of authoritative text for the same normative requirement. Perhaps it 
> might be better to say something like "If the RBridge does not implement all 
> critical flags... it MUST treat the frame as having an unimplemented critical 
> extension as described in section 2"

I'm OK with your suggested wording.

>>
>>> -- section 2.3, first paragraph:
>>>
>>> Is the first sentence intended as normative?
>>
>> Yes. When one is describing part of a protocol and you say that some
>> particular contiguous block of bits is some particular field (and then
>> possibly describe the sub-structure of that field) isn't that always
>> normative?
>
> Never mind, I misread the sentence. Sorry for the confusion.
>
>>
>>> -- section 6, last paragraph:
>>>
>>> No security implications of this are mentioned. Is it really a
>>> security consideration?
>>>
>>> Also, is this more likely to be set incorrectly than all the other
>>> things that some implementation might screw up, so that it warrants
>>> special treatment?
>>
>> I tend to think that a discussion of what happens if bits are
>> corrupted or incorrectly set is something reasonable for the Security
>> Considerations section, although it could be elsewhere. The second
>> paragraph/sentence of this section says that security considerations
>> for any bits in the first word of the options area will be in the
>> document specifying those bits. This document specifies the critical
>> summary bits and the RBridge Channel Alert bits so there is text on
>> both of those in its Security Considerations Section.
>
> On re-reading the paragraph, I can see interpreting it to mean that 
> incorrectly set flags explicitly do not cause a security problem, which I 
> agree is reasonable to say in the security considerations. So, never mind :-)
>
> [...]
>
>
>>>
>>> -- section 2, bullet list, 2nd bullet: " ... which would only
>>>   necessarily affect the RBridge(s) where a TRILL frame is
>>>   decapsulated"
>>>
>>> Does that mean it always affects the decapsulating RBridge but might
>>> effect transit RBridges as well?
>>
>> Yes.
>>
>
> Okay, no problem.
>
>>> -- section 2, first paragraph after bullet list: "critical
>>>   hop-by-hop extension"
>>>
>>> I assume this means an extension with the critical flag set? If so,
>>> it would be more precise to say that.
>>
>> This draft was split out of a more general draft that covered
>> extensions in general. The three paragraphs after the bullet list on
>> critical / non-critical extensions apply to all extensions as well as
>> the flag bits in the first word of the options area. So this means
>> critical header extensions flags and any other types of critical
>> options specified in the future.
>
> Okay
>
> [...]
>
>
>>
>>> -- section 5:
>>>
>>> Since section 3 is entirely composed of the referenced table, and
>>> seems to exist mostly if not entirely for the purpose of this
>>> reference, why not just move the table to the IANA considerations
>>> section.
>>
>> (Looking at Section 3, I believe the reference there to the IANA
>> Considerations Section should be to Section 5 rather than Section 6.)
>>
>> I guess I don't actually see any problem with the current document
>> structure that I think flows better for someone reading it from the
>> start. I suppose it imposes a tiny burden on someone who is just
>> looking at the IANA Considerations Section. I don't see why it would
>> be better to make it a tiny bit easier for someone just looking at the
>> IANA Considerations Section while imposing a tiny burdne on those
>> reading through the document from the start.
>>
>
> Okay. I was interpreting it as existing entirely for the IANA 
> registration--but if you believe it adds value to the "body" of the text, I 
> am okay with it.
>
> [...]

Thanks,
Donald
=============================
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 155 Beaver Street, Milford, MA 01757 USA
 d3e...@gmail.com

Reply via email to