Re: [Roll] AD Review of draft-ietf-roll-nsa-extension-10
Remous-Aris Koutsiamanis <aris@ariskou.com> Tue, 03 May 2022 14:41 UTC
Return-Path: <aris@ariskou.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE486C1594AC; Tue, 3 May 2022 07:41:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.956
X-Spam-Level:
X-Spam-Status: No, score=-3.956 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.857, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mailfence.com header.b=e63cHcDi; dkim=pass (2048-bit key) header.d=ariskou.com header.b=jHB5x/bI
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id txeFy3qK62LD; Tue, 3 May 2022 07:41:47 -0700 (PDT)
Received: from wilbur.contactoffice.com (wilbur.contactoffice.com [212.3.242.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 936FEC1594A9; Tue, 3 May 2022 07:41:45 -0700 (PDT)
Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by wilbur.contactoffice.com (Postfix) with ESMTP id 410DB345A; Tue, 3 May 2022 16:41:42 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailfence.com; s=20160819-nLV10XS2; t=1651588902; bh=ODdPEB09gn5WB8MwwfRGYnBBtqILj9CxkRXIsbUGIVc=; h=Date:From:Subject:To:References:Cc:In-Reply-To:From; b=e63cHcDiYB7uv+t5BUpiKfkRBOKFX/gDbMeJ0WWAbAf8Uxj81WWbOa4zTbyGuj2KS SRiuTCHBWI+Rquh4TJWp+LtLyx5fJFjn9h3u3UcZf56SskCJl9k1RepMTObVdXfkVV 2I+WlwLbhctQjvvHEqpE3bPcbHXqGd7TcM2wf8C6+kHVlMdAHq/LNCTDQLCrYZ1tAj W4R1Ot6cSKlXb9Wg0nODUkY1LVG9hRw5oqpiIvWftec1pI9rFL/1cVEf5ui+Uks3xi Qa5eYf3UMpJvn1LeQ9onSEJnYEuW9oDG2AHfNNwX4f4UdVpiwXA0vIGCE2g0/3+Q/q pzxEySKkijOPA==
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1651588902; s=20191001-wvim; d=ariskou.com; i=aris@ariskou.com; h=Message-ID:Date:MIME-Version:From:References:Cc:In-Reply-To:Content-Type:Content-Transfer-Encoding; l=23674; bh=ODdPEB09gn5WB8MwwfRGYnBBtqILj9CxkRXIsbUGIVc=; b=jHB5x/bIGayX7Zw2Y59Gn8jwHPMEcMLACgXyPqv3z0MtgyyzUafL5xZD+lqfeQ+T pr+m2qTzJAJCjUuWSyh6JVSggVF2INqf0Czt21ZtmZ60T+OGsn7vzPiHYFD37cvN4h/ 82qjPFL2b7J8/20Lq2T0IJChOt1SCM/2zqRmONP4eSOKadVv5vrX2nKOcKe7mamDt1m ol6MnZgY0egrxmbvOhaA1W5XEwr6ebIxDEbJJ5Jlm/UDD0J5nVdScN0BLAjiDyEzdxf /ERs3xoAXI/F7S9RFqZs6EWOK70JqJpJeVz8t2LDcamS7HGX2MrSj1H141ItaMz7LsZ p1ZekAUaeA==
Received: by smtp.mailfence.com with ESMTPSA ; Tue, 3 May 2022 16:41:37 +0200 (CEST)
Message-ID: <b3eb80f5-cdf5-16b2-43b8-5e422f500970@ariskou.com>
Date: Tue, 03 May 2022 16:41:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1
From: Remous-Aris Koutsiamanis <aris@ariskou.com>
To: Alvaro Retana <aretana.ietf@gmail.com>
References: <CAMMESszw86VSD7Nw9BbFQ4+3buzy8aRqz_1VaJFbk8o-2UC4=Q@mail.gmail.com>
Content-Language: en-US
Cc: "draft-ietf-roll-nsa-extension@ietf.org" <draft-ietf-roll-nsa-extension@ietf.org>, dominique barthel <dominique.barthel@orange.com>, roll-chairs <roll-chairs@ietf.org>, roll <roll@ietf.org>, Georgios PAPADOPOULOS <georgios.papadopoulos@imt-atlantique.fr>
In-Reply-To: <CAMMESszw86VSD7Nw9BbFQ4+3buzy8aRqz_1VaJFbk8o-2UC4=Q@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ContactOffice-Account: com:113819248
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/8mMqQ2lY5Y7QdXFlqnQzuA9B-_w>
Subject: Re: [Roll] AD Review of draft-ietf-roll-nsa-extension-10
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 May 2022 14:41:51 -0000
Hello Alvaro, Thank you very much for your response and review. Sorry for the delayed response also on our side, due to a period of increased workload. Overall we are in wide agreement with you. Please see inline for responses and we'll work on a revised version addressing them: On 17/03/2022 18:33, Alvaro Retana wrote: > Dear authors: > > Thank you for this work! The draft is clear and to the point. I am > sorry it took me so long to get to it due to too many other documents > in the queue. > > > I have a general comment that I will mention up-front and several > in-line comments/questions (below). I will wait for at least a > revision to start the IETF Last Call. No problem, makes absolute sense. > (1) Motivation -- are there other applications? > > The document starts by prominently using PRE to justify the work. The > Abstract even promises that it "details how to apply Packet > Replication and Elimination in RPL" However, PRE is barely mentioned > beyond the Introduction. The only significant mention comes in §6, > where implementation control is recommended -- but no guidance is > given on when or how to use it (see specific comments below). > > This document aims to specify the CA OF and the PS NSA extension (as > the title mentions). PRE may have been the original inspiration, just > that. But, IMHO, the document shouldn't be centered around it -- we > could even eliminate §6. At this point we are having some thoughts as well. We think that completely removing §6 may be unwarranted but definitely you are right about the issue of focus. For us PRE is quite important because it is the the feature which along with the use of APs enables higher reliability. However, there are other features (as you mention below) for which PRE is not necessary. So a re-focusing, without changing necessarily the technical content is definitely a good idea. > Are there other potential users of these extensions? Thinking out > loud... The AP can be used as a load-sharing path (at least until the > traffic reaches a CA). The AP could also be used as a pre-calculated > backup path. We are in complete agreement, and we will shamelessly borrow your ideas. We had reliability and availability as our primary concerns when designing this, but load-balancing is also a very good point as well as protecting (or reducing to be more exact) cases of consecutive packet losses (e.g. 4 in a row) which are particularly problematic in industrial settings. We will add all these. > This comment is not a show stopper, but I think the document would > benefit from less focus on PRE: using it as an example of potentially > many other applications. We are definitely open to making these changes, though we will try to keep them manageable in scale to facilitate the next review. > Thanks! > > Alvaro. > > > [Line numbers from idnits.] > > > ... > 141 2. Terminology > > 143 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", > 144 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this > 145 document are to be interpreted as described in [RFC2119]. > > [major] Use the text in rfc8174. Sorry, missed that, of course will fix. > 147 The draft uses the following Terminology: > ... > 156 Parent Set (PS): Given a RPL node, the set of its neighbor nodes > 157 which participate in the same RPL DODAG and which can potentially > 158 take the role of the node's preferred parent. > > [minor] This term already exists in rfc6550. It looks like the > definition is the same, but to avoid confusion or divergence please > point there instead. For example: "The following terms from rfc6550 > are used in this document: PS, ...". This is absolutely right and we will refer to RFC6550 for this. > ... > 169 3. Common Ancestor AP Selection Policies > > 171 In the RPL protocol, each node maintains a list of potential parents. > 172 For PRE, the Preferred Parent (PP) node is defined to be the same as > 173 the RPL DODAG Preferred Parent node. Furthermore, to construct an > 174 alternative path toward the root, in addition to the PP node, each > 175 node in the network selects additional parent(s), called alternative > 176 parent(s), from its Parent Set (PS). > > [minor] "For PRE, the Preferred Parent (PP) node is defined to be the > same as the RPL DODAG Preferred Parent node." > > IOW, there isn't really a PRE PP, just a PP, as defined in rfc6550, right? > > Suggestion> > PRE uses the RPL DODAG Preferred Parent node. > > [** See related comment below in §4. **] Yes, you are right. We basically use the normal /default / vanilla RPL preferred parent (PP) as usual, and then go on to add the Alternative Parent on top. But the PP in CA OF is the same as the default PP. > [nit] "additional parent(s)" §2 uses "Additional Parents" > capitalized. Please be consistent when using defined terms. Oops, sorry, will of course fix this and re-do a pass to make sure we didn't miss nothing else of similar nature. > ... > 181 All three policies defined perform AP selection based on common > 182 ancestors, named Common Ancestor Strict, Common Ancestor Medium, and > 183 Common Ancestor Relaxed, depending on how restrictive the selection > 184 process is. A more restrictive policy will limit flooding but might > 185 fail to select an appropriate AP, while a less restrictive one will > 186 more often find an appropriate AP but might increase flooding. > > [major] Besides the consideration of more or less flooding, what other > things should an operator keep in mind when selecting a policy? > > [** I revisit this question in §4.1. **] You are right and we will address this in terms of different goals: availability, reliability, load-balancing, consecutive lost packets, energy consumption, flooding / shared resource exhaustion. > ... > 192 3.1. Common Ancestor Strict > ... > 233 node S can decide to use node B as its AP node, since PP(PP(S)) = Y = > 234 PP(B). > > [nit] s/node S/Node S Thanks again, you shouldn't have been able to find errors like this so we'll do a careful pass on the whole text again. > [major] "node S can decide to use node B as its AP node" > > What do you mean by "can decide"? If Node S is using the CA Strict OF > then B *is* its AP node. There's no room for other decisions. Am I > missing something? > > I can see the case where multiple nodes meet the condition -- for > example if a new node E also has PP(E) = Y -- then I can see how node > S "can decide" to use one or the other. Are you implying that the > result of the policy is somehow optional? You are absolutely right. There are no other options in this specific example, though it obviously can happen more generally that there may be multiple nodes meet the condition. No, the policy is not optional. The "can decide" incorrectly,in this example, refers to the choice between multiple condition-meeting nodes. Will fix it to clarify it beyond doubt. > [major] BTW, if there was more than one option, how would node S make > that tie-breaking decision? The candidate with the lowest rank as per the OF will be chosen. If there are multiple such nodes it is left undefined / is the implementation's choice, since from the point of view of RPL OF used, the candidates are exactly equivalent. > 236 3.2. Common Ancestor Medium > ... > 251 node S can decide to use node B or D as its AP node. > > [nit] s/node S/Node S Thanks! > [] Same questions about "can decide" and multiple nodes that satisfy > the condition. No, the policy is not optional. The "can decide" incorrectly, in this example, refers to the choice between multiple condition-meeting nodes. Will fix it to clarify it beyond doubt. > 253 3.3. Common Ancestor Relaxed > ... > 269 node S can decide to use node A, B or D as its AP node. > > [nit] s/node S/Node S Thanks! > [] Same questions about "can decide". No, the policy is not optional. The "can decide" incorrectly, in this example, refers to the choice between multiple condition-meeting nodes. Will fix it to clarify it beyond doubt. > [major] How would node S select between A, B, and D? The candidate with the lowest rank as per the OF will be chosen. If there are multiple such nodes it is left undefined / is the implementation's choice, since from the point of view of RPL OF used, the candidates are exactly equivalent. > 271 4. Common Ancestor Objective Function > > 273 An OF which allows the multiple paths to remain correlated is > 274 detailed here. More specifically, when using this OF a node will > 275 select an AP node close to its PP node to allow the operation of > 276 overhearing between parents. For more details about overhearing and > 277 its use in this context see the "Complex Track with Replication and > 278 Elimination" in Section 4.5.3 of [I-D.ietf-6tisch-architecture]. If > 279 multiple potential APs match this condition, the AP with the lowest > 280 rank will be registered. > > [minor] "a node will select an AP node close to its PP node to allow > the operation of overhearing between parents" > > How is this used in the policies defined in §3? Are you referring to > physical distance or inferring proximity based on the selection > policy? Thanks for the comment. I guess we were not clear here. We have no intention of introducing any geographical / physical location tracking. The idea is that, as a rough estimate, we *hope* that nodes with similar ranks will be closer together, increasing the likelihood of overhearing being taken advantage of, but there is no way to ascertain this. The basic intuition is that candidate parent nodes which have common parents themselves and which are also accessible from the source node should be physically close, though it's of course not guaranteed. We can clarify this notion of "closeness". > [] "the AP with the lowest rank will be registered." > > Is this the tie-breaker for the policies in §3? Yes. We will clarify this. Thanks! > 282 The OF described here is an extension of The Minimum Rank with > 283 Hysteresis Objective Function [MRHOF]. In general, this OF extends > 284 MRHOF by specifying how an AP is selected. Importantly, the > 285 calculation of the rank of the node through each candidate neighbor > 286 and the selection of the PP is kept the same as in MRHOF. > > [minor] "Importantly, the...selection of the PP is kept the same as in MRHOF." > > §3 says that "For PRE, the Preferred Parent (PP) node is defined to be > the same as the RPL DODAG Preferred Parent node." I made a comment > there about clarifying that the PP was selected according to rfc6550 > -- but the text here talks about using rfc6719 instead. Please > clarify. > > [major style nit] Personally, I prefer using references in the form of > "[RFCxxx]" instead of a name, for example "[MRHOF]". In this case, > the reference to "MRHOF" is used both as a reference to rfc6719 and as > an abbreviation. The result is that the rest of the text is not clear > as to whether you're extending the objective function defined in > rfc6719, or rfc6719 itself (as in a formal Update). Thanks, we have no real preference either way so we can easily switch to your preferred style. We are not doing a formal update of rfc6719. We are re-using the existing definition of MRHOF in rfc6719 to build a new OF which provides additional functionality, and to ease implementation and compatibility we maintain the existing functionality of MRHOF for the preferred parent. > The RFC Style Guide (rfc7322) says this: > > 3.6. Abbreviation Rules > > Abbreviations should be expanded in document titles and upon first > use in the document. The full expansion of the text should be > followed by the abbreviation itself in parentheses. > > s/The Minimum Rank with Hysteresis Objective Function [MRHOF]/the > Minimum Rank with Hysteresis Objective Function (MRHOF) [RFC6719] > > Please use "[RFC6719]" as the reference throughout. We will, thanks a lot and sorry. > [major] I am assuming that this document doesn't intend to formally > Update rfc6719. Instead, it defines a new OF (with a different OCP) > based on MRHOF. Is that correct? Yes, you guessed correctly and we clarify it in a previous answer. We will make to super clear about this in the revised version. > 288 The ways in which the CA OF modifies MRHOF in a section-by-section > 289 manner follows in detail: > > [minor] s/CA OF modifies MRHOF/CA OF differs from MRHOF Will fix, thanks a lot. > ... > 298 [MRHOF], Section 3 "The Minimum Rank with Hysteresis Objective > 299 Function": > 300 Same as MRHOF extended to AP selection. Minimum Rank path > 301 selection and switching applies correspondingly to the AP with the > 302 extra CA requirement of having some match between ancestors. > > [] "extra CA requirement of having some match between ancestors" > > You're referring to the policies defined §3, right? If so, please say so. Yes, definitely, and we will be more explicit to to avoid any potential confusion. > 304 [MRHOF], Section 3.1 "Computing the Path Cost": > 305 Same as MRHOF extended to AP selection. If a candidate neighbor > 306 does not fulfill the CA requirement then the path through that > 307 neighbor SHOULD be set to MAX_PATH_COST, the same value used by > 308 MRHOF. As a result, the node MUST NOT select the candidate > 309 neighbor as its AP. > > [minor] s/the path...set to MAX_PATH_COST/the path cost...set to MAX_PATH_COST Thanks, and sorry. Will fix it. > [major] "SHOULD be set to MAX_PATH_COST...MUST NOT select" > > When is it ok to not set the path cost to MAX_PATH_COST? Why is this > action recommended and not required? > > I realize that rfc6719 also only recommends the setting. This is the > text from §3.1: > > If the selected metric is a link metric and the metric of the link to > a neighbor is not available, the path cost for the path through that > neighbor SHOULD be set to MAX_PATH_COST. This cost value will > prevent this path from being considered for path selection. > > The difference is that the text in rfc6719 goes on to say what the > expected result of setting the cost to MAX_PATH_COST is -- in a > non-normative way. > > OTOH, this document follows up by saying that "As a result, the node > MUST NOT select the candidate neighbor as its AP." So -- the required > action to not select is contingent on the recommended action of > setting the cost. What are the cases when it is ok to not use > MAX_PATH_COST? > > [Even if you use the wording from rfc6719 I will still want to know > when it is ok to not use MAX_PATH_COST.] Thanks a lot for his great catch. You are of course right. Our intention was to ape the RFC6719 definition, but we failed... We tried to avoid too much copy paste in order to avoid also our text becoming obsolete if/when RFC6719 is updated. Our intention was to do exactly as MRHOF would do (whether setting the the cost to MAX_PATH_COST or not). So the "As a result, the node MUST NOT select the candidate neighbor as its AP." should be removed, and left to the lowest-rank selection mechanism to deal with that cost in the same way that it is dealt with in MRHOF. We will update this. Again, thanks for the great catch! > ... > 319 [MRHOF], Section 3.2.2 "Parent Selection Algorithm": > 320 Same as MRHOF extended to AP selection. If the smallest path cost > 321 for paths through the candidate neighbors is smaller than > 322 cur_ap_min_path_cost by less than PARENT_SWITCH_THRESHOLD (the > 323 same variable as MRHOF uses), the node MAY continue to use the > 324 current AP. Additionally, if there is no PP selected, there MUST > 325 NOT be any AP selected as well. Finally, as with MRHOF, a node > 326 MAY include up to PARENT_SET_SIZE-1 additional candidate neighbors > 327 in its alternative parent set. The value of PARENT_SET_SIZE is > 328 the same as in MRHOF. > > [minor] s/MUST NOT be any AP selected as well/MUST NOT be any AP selected either Thanks again! Will fix. > ... > 336 [MRHOF], Section 3.5 "Working without Metric Containers": > 337 It is not possible to work without metric containers, since CA AP > 338 selection requires information from parents regarding their parent > 339 sets, which is transmitted via the NSA object in the DIO Mectric > 340 Container. > > [major] "It is not possible to work without metric containers..." > > What if the metric container is not present? Is this one of the risks > that should also be mentioned in the Security section? You are right, we assumed that writing what is required (MUST) is sufficient, and specifying fallback options is not necessary if the requirements are not met. Basically, we were ready to allow implementation-defined behavior when operating outside of the required parameters. Maybe we should specify that a lack of metric container SHOULD lead to the use of MRHOF (i.e with no AP). This way we recommend a full MRHOF implementation to be available to fall back on, but if such an implementation is undesirable or another fallback OF is preferable, that instead can be used. > ... > 353 Alternative parent set: Corresponding to the MRHOF parent set. > 354 The size is defined by the same PARENT_SET_SIZE parameter as in > 355 MRHOF. The Alternative parent set MUST be a non-strict subset > 356 of the parent set. > > [major] "MUST be a non-strict subset of the parent set" > > Maybe I don't understand the full meaning of non-strict, but the AP > set should at least not include the PP, right? That means that the AP > set has to be a strict subset of the parent set. What am I missing? Our bad, you're absolutely right. It needs to be strict subset of the parent set. > 358 cur_ap_min_path_cost: Corresponding to the MRHOF > 359 cur_min_path_cost variable. To support the operation of the > 360 hysteresis function for AP selection. > > [major] "Corresponding to the MRHOF cur_min_path_cost variable." > > This is an additional variable which is similar to cur_min_path_cost, > right? IOW, you're not replacing one with the other. Exactly, this is not a typo and we are not replacing the original, but to replicate the relevant functionality available in MRHOF for the PP onto the AP in CA OF. Not sure if we should highlight this. > ... > 371 4.1. Usage > > 373 All OF policies apply their corresponding criterion to filter the > 374 list of candidate neighbours in the alternative parent set. The AP > 375 is then selected from the alternative parent set based on Rank and > 376 using hysteresis as is done for the PP in MRHOF. It is noteworthy > 377 that the OF uses the same Objective Code Point (OCP): TBD1 for all > 378 policies used. > > [minor] s/All OF policies/All Common Ancestor AP Selection Policies (Section 3) Thanks again. Will fix that. > [minor] s/Objective Code Point (OCP): TBD1/Objective Code Point (OCP) (TBD1) > > > 380 The PS information can be used by any of the described AP selection > 381 policies or other ones not described here, depending on requirements. > 382 It is optional for all nodes to use the same AP selection policies. > 383 Different nodes may use different AP selection policies, since the > 384 selection policy is local to each node. For example, using different > 385 policies can be used to vary the transmission reliability in each > 386 hop. > > [] It is ok to not require the same policy for on all nodes, but it > opens questions about policy selection and configuration (below). > > [major] Operational Considerations: How should an operator choose > which policy to apply where? I understand the difference with respect > to the strictness, but what makes a policy appropriate for a specific > situation. For example, (just making this up) should more strict > policies be applies closer to the edge (leaves) of the network where > there's a greater probability of common GP? > > I later found Appendix B... Please reference it from here. Will do. Thanks. > [major] How are the different policies provisioned at different nodes? > In many instances the root decides about the behavior of the DODAG > and propagates that information (all do the same). But in this case > all nodes won't have the same configuration. How is that provisioned? There are a lot of degrees of freedom in approaching this so providing some rough suggestions in the Appendix was what we though would be the appropriate degree of detail. Do you think that more should be explained? Provisioning is both complicated and very dependent on what one wants to do. Even using the DIO, one could extend it to carry multiple rank-specific or node-specific policies. E.g.: For ranks < 1000: apply policy X For ranks < 2000: apply policy Y ... We are not sure how much can be specified without hamstringing some potential implementations. > 388 5. Node State and Attribute (NSA) object type extension > ... > 455 The structure of the DAG Metric Container data in the form of a Node > 456 State and Attribute (NSA) object with a TLV in the NSA Optional TLVs > 457 field is shown in Figure 3. The first 32 bits comprise the DAG > 458 Metric Container header and all the following bits are part of the > 459 Node State and Attribute object body, as defined in [RFC6551]. This > 460 document defines a new TLV, which MAY be carried in the Node State > 461 and Attribute (NSA) object Optional TLVs field. The TLV is named > 462 Parent Set and is abbreviated as PS in Figure 3. > > [major] "MAY be carried" > > It is an optional TLV. However, in the context of this document it is > required to convey the PS. I would prefer it if the text mentioned > that: "MUST be carried to indicate the PS...". Yes, this makes a lot of sense. We were reticent to putting a MUST there since exactly it is to be carried in the NSA object *Optional* TLVs field. We will change it to reflect that within the context of the use of the CA OF, this is a mandatory field. > [related] If the network is using the CA OF, what does it mean for the > TLV to not be present? Everyone has a parent...well, except for the > root... This is similar to the question of not having a metric container. Do we specify that the recommended choice is to fall back to MRHOF, and if that is not available to any other OF, disregarding CA OF, or should we leave this unspecified? > ... > 466 PS Length: The total length of the TLV value field (PS IPv6 > 467 address(es)) in bytes. The length is an integral multiple of > 468 16, the number of bytes in an IPv6 address We think the comment for this got cut-off. Thank you again for the detailed read-up and comments. We plan to very quickly get all the issues sorted. Best, Aris & Georgios
- [Roll] AD Review of draft-ietf-roll-nsa-extension… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Remous-Aris Koutsiamanis
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Remous-Aris Koutsiamanis
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Remous-Aris Koutsiamanis
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… dominique.barthel
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Alvaro Retana
- Re: [Roll] AD Review of draft-ietf-roll-nsa-exten… Remous-Aris Koutsiamanis