Hi Suresh, Adrian, From: spring <spring-boun...@ietf.org> on behalf of Suresh Krishnan <suresh.krish...@gmail.com> Date: Sunday, September 25, 2022 at 11:17 PM To: Adrian Farrel <adr...@olddog.co.uk> Cc: Jen Linkova <furr...@gmail.com>, 6man <i...@ietf.org>, "spring@ietf.org" <spring@ietf.org>, 6man Chairs <6man-cha...@ietf.org>, "draft-ietf-6man-sids.auth...@ietf.org" <draft-ietf-6man-sids.auth...@ietf.org>, "spring-cha...@ietf.org" <spring-cha...@ietf.org> Subject: Re: [spring] 6MAN WGLC: draft-ietf-6man-sids
Hi Adrian, Thanks for your comments. Greatly appreciate your detailed review. Please find responses inline. On Sep 24, 2022, at 1:13 PM, Adrian Farrel <adr...@olddog.co.uk<mailto:adr...@olddog.co.uk>> wrote: Hi Jen, all, I've done a review of this document as part of working group last call. I found quite a few nits and so on, so I think the document needs some more work before escaping from the working group and being present for publication. Cheers, Adrian ====== I find it odd that this is an Informational document but its use of BCP14 language appears to constrain and direct implementations. So either you need to drop down to normal lowercase usage, or change the document to Standards Track. There is only one use (a MUST in Section 3) that could easily be resolved. I have a text resolution that removes this as a response to one of your other points below. --- Section headers need to be in header case OK. --- You seem to freely interchange "Segment List" and "SID list". It would help to pick a term and stick with it since the change suggests there is a difference in meaning. If you are happy that they are the same, you could: - fix the text to use one term consistently - mention that the terms are equivalent in Section 2 The SID list terminology is something that is used in the spring compression design team document (draft-ietf-spring-compression-analysis) and I had to use it to refer to the document. I think we should stick with Segment list. --- Please select "Destination Address" or "destination address field" or "Destination address field" or "Destination address" and use it consistently. OK. --- Abstract No citations in the Abstract This document "intends"? Probably just state that it does. OK. --- Section 3 From this it follows that all the SIDs that appear in the SRH are not SRv6 SIDs as defined by [RFC8402]. I'm hoping you didn't intend what is written (because that would pretty much mean that SRv6 is dead!). Perhaps... From this it follows that not all the SIDs that appear in the SRH are SRv6 SIDs as defined by [RFC8402]. Maybe, it is also better to keep the context of the Segment List which is how you introduced these SIDs. Something like... From this it follows that not all the SIDs that appear in the SRH Segment List are SRv6 SIDs as defined by [RFC8402]. The previous sentence <Some of these elements may represent a local interface as described in Section 4.3 of [RFC8754] as "A FIB entry that represents a local interface, not locally instantiated as an SRv6 SID”> sets the context for the sentence you quoted. I think your second suggestion sounds great and will remove any possibility that this sentence could be misread. --- 3. "It is also fairly clear" Well, that is illuminating :-) Perhaps you want to make statements about the SID elements and not about the clarity of the referenced documents? Sure :-). Suggest OLD: It is also fairly clear that the non-SRv6-SID elements that appear in the SRH SID list are simply IPv6 addresses assigned to local interfaces annd MUST conform to [RFC4291]. NEW: As stated above, the non-SRv6-SID elements that appear in the SRH SID list are simply IPv6 addresses assigned to local interfaces and they need to conform to [RFC4291]. --- 3. s/annd/and/ Ack. --- 3. the following discussions are intended to be applicable Maybe s/are intended to be/are/ OK. --- 3. Section 3.1. of [RFC8986] describes the format of an SRv6 SID as composed of three parts LOC:FUNCT:ARG, where a locator (LOC) is encoded in the L most significant bits of the SID, followed by F bits of function (FUNCT) and A bits of arguments (ARG). Would it be helpful to qualify L+F+A = 128 in all cases? Actually not. RFC8986 defines L+F+A <=128 instead and this would be inconsistent with that. --- 3. When an SRv6 SID occurs in the IPv6 destination address field of an IPv6 header, only the longest match prefix corresponding to the locator is used to forward the packet to the node identified by the Locator. Possibly you mean s/is used/should be used/ Or maybe s/used/used by an SRv6-capable node/ This is written as a statement about what happens today rather than specifying behavior for the node to follow. --- 3. While looking at the transit nodes it becomes apparent that these addresses are used purely for routing and not for packet delivery to end hosts. The distinction between "end host" and "destination" is a fine one. When you are a transit node, you can't tell the difference. When the DA identifies the end of a segment, it is (from a network point of view) exactly like identifying an end host. Maybe, in fact, you mean "packet delivery at end hosts" (at not to). I think you should also be careful with the term "routing" as well. 4129 is pretty careful about not using it (except in the Anycast section), but says "forwarding" instead. 7608 also prefers the term "forwarding". Good point. I think sticking with the use of the term “forwarding” as in RFC7608 makes sense. --- 3. Hence the relevant standard to apply here is [RFC7608] that allows the use of variable length prefixes in forwarding I think 7608 is not a standard. Maybe say specification? But also, I don't think that 7608, as a BCP, "allows" anything. Suggest changing this to Hence the relevant specification to apply here is [RFC7608] that requires implementations to support the use of variable length prefixes in forwarding. Does that work? --- 4. The C-SID document [I-D.filsfilscheng-spring-srv6-srh-compression] I don't think you can say "The C-SID document" because, well, definite articles are a bit limiting. Anyway, that draft was replaced by draft-ietf-spring-srv6-srh-compression a while ago. Why don't you turn this around as... [I-D.ietf-spring-srv6-srh-compression] introduces an SRH encoding for compressed segment lists (C-SIDs), describes how to use a single entry in the SRH list as a container for multiple SIDs, and defines a ways to do so. OK. --- 4. A node taking part in this mechanism accomplishes this by using the ARG part [RFC8986] of the Destination address field of the IPv6 header to come up with a new Destination address in some of these flavors. "to come up with" and "flavors" are a bit colloquial. Maybe say "derive" and "mechanisms". Ack on the “derive” part, but “flavor” is a specific term used in [I-D.ietf-spring-srv6-srh-compression] Actually, this “flavor” terminology was adopted in https://datatracker.ietf.org/doc/rfc8986/. I’ve also never been a fan but have suppressed the urge to request changes in LSR documents due to its usage in the base SRv6 Network Programming document. Thanks, Acee --- 4. s/i.e. The/I.e., the/ s/note in here/note here/ --- 4. One key thing to note in here is that the Locator Block at the This is the first time you have used "Locator Block". Is this "LOC" as previously described? --- 4.1. There are a few issues that need to be addressed in the C-SID draft prior to its publication as RFC: Erm, no! You can't have an RFC that chats about the current state of another draft, or that claims it is going to be published as an RFC. Perhaps the best solution is to compress sections 4, 4.1, and 4.2 into a very short note that "Many approaches to SID list compression have been proposed. It is important that any solution preserves the properties of the LOC as described in Section 3." This text was added as requested by one of the spring chairs to specify that the spring document needs to address these issues. It would be great if the 6man/spring chairs and ADs can chime in on this topic. --- 5. All of the SRv6 related specifications discussed above are intended to be applicable to a contained SR Domain or between collaborating SR Domains. Hence the behavior of SRv6 SIDs is visible purely within the SR domain and they would be treated solely as IPv6 routing prefixes by nodes that are not SR aware. What is meant by a behavior being visible? Any special behavior associated with SRv6 SIDs are not known or acted upon by non-SR-aware nodes and these nodes use them for forwarding based on the prefix as described in RFC7608. I know that the permeability of SR domain boundaries is something that really worries at least one of the current ADs, and it might be good to spend some time discussing what happens when things go wrong and a packet with a SID in the DA field escapes from the domain (this is distinct from the behavior of a non-SR node within the domain). Yes. I certainly do understand that concern and one of the tools in reducing the permeability is moving this traffic to a well known filterable prefix at the borders of the domains depending on the stance of the domain. --- 5. As an added factor of safety, it might be prudent to allocate some "It might be prudent"? Are you asking to allocate this address space or not? Yes. Certainly asking to allocate a prefix as per Section 6. Suggest s/might be/is/ address space that explicitly signals that the addresses within that space are not intended to comply with [RFC4291]. As described in "are not intended to comply" means "do not comply"? No. It simply means that compliance to RFC4291 cannot be expected. Are you looking for stronger text for requiring non-compliance? Section 3 above, there is precedent for mechanisms that use IPv6 addresses in a manner different from that specified in [RFC4291]. This would be useful in identifying and potentially filtering packets at the edges of the SR Domains as described in Section 4.1. The SRv6 operational community, which is the first intended user of this block, is requested to come up with conventions and guidelines for the use of this newly allocated address block in line with their requirements. This sounds like you are: - not proposing any specific use - allocating the address space on the off-chance that someone might find a use for it - not suggesting that deployments (or implementations) actually change their current behavior How are you arriving at this conclusion. Spring is working on draft-ietf-spring-srv6-srh-compression-02. What address space do you think it can be deployed in? Here are some of the potential options a) RIR allocations b) ULA space c) Something else* (this allocation) I think all of these options have pros and cons and what you think of this prefix allocation might depend on what properties you desire. --- 6. Obviously, there are many ranges in the registry marked as "Reserved by IETF" and IANA will need help selecting one. Also, since this registry is "IESG Approval" it would be timely to approach the IESG and determine whether they are likely to say "yes" or will need further changes to the document. Those changes should happen while the document is still in the working group. Hmm. Isn’t that what the IESG review process is for? Or are you suggesting an early allocation request prior to advancing the draft so that the IESG can decide if a temporary allocation is worthwhile? If it is neither, can you elaborate on your proposed procedure. --- I'm surprised that section 7 doesn't point back to the "additional safety" described in section 5. In particular, not using that safety would appear to be a risk. I can certainly duplicate some of the text from section 5 if the WG would find it useful. Thanks Suresh
_______________________________________________ spring mailing list spring@ietf.org https://www.ietf.org/mailman/listinfo/spring