Hi Ben, On Fri, Jun 1, 2012 at 3:18 PM, Ben Campbell <ben@xxxxxxxxxxx> 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 <ben@xxxxxxxxxxx> 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 d3e3e3@xxxxxxxxx