Re: [PWE3] AD review of draft-ietf-pwe3-mspw-er
"Bocci, Matthew (Matthew)" <matthew.bocci@alcatel-lucent.com> Fri, 11 July 2014 12:51 UTC
Return-Path: <matthew.bocci@alcatel-lucent.com>
X-Original-To: pwe3@ietfa.amsl.com
Delivered-To: pwe3@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 199E71B2878
for <pwe3@ietfa.amsl.com>; Fri, 11 Jul 2014 05:51:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44])
by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id c4h38LIxpurg for <pwe3@ietfa.amsl.com>;
Fri, 11 Jul 2014 05:51:45 -0700 (PDT)
Received: from hoemail2.alcatel.com (hoemail2.alcatel.com [192.160.6.149])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 404EA1A0AAE
for <pwe3@ietf.org>; Fri, 11 Jul 2014 05:51:44 -0700 (PDT)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (h135-239-2-42.lucent.com
[135.239.2.42])
by hoemail2.alcatel.com (8.13.8/IER-o) with ESMTP id s6BCpfKT004131
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
Fri, 11 Jul 2014 07:51:43 -0500 (CDT)
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com
(fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74])
by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id s6BCpfDa008025
(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL);
Fri, 11 Jul 2014 14:51:41 +0200
Received: from FR711WXCHMBA05.zeu.alcatel-lucent.com ([169.254.1.23]) by
FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id
14.02.0247.003; Fri, 11 Jul 2014 14:51:41 +0200
From: "Bocci, Matthew (Matthew)" <matthew.bocci@alcatel-lucent.com>
To: "adrian@olddog.co.uk" <adrian@olddog.co.uk>,
"draft-ietf-pwe3-mspw-er.all@tools.ietf.org"
<draft-ietf-pwe3-mspw-er.all@tools.ietf.org>
Thread-Topic: AD review of draft-ietf-pwe3-mspw-er
Thread-Index: Ac+Fv2l5OVX70rFXTR6Kuhl0xMjYsAXPw9cA
Date: Fri, 11 Jul 2014 12:51:40 +0000
Message-ID: <CFE59BD2.65E0A%matthew.bocci@alcatel-lucent.com>
References: <01dc01cf85bf$6c8ad7c0$45a08740$@olddog.co.uk>
In-Reply-To: <01dc01cf85bf$6c8ad7c0$45a08740$@olddog.co.uk>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.4.3.140616
x-originating-ip: [135.239.27.39]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <B6419FB98375964CBBA7B75FD2649C67@exchange.lucent.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/pwe3/Nh398ZG2IscstWHZQ0WYU8nu_tk
Cc: "pwe3@ietf.org" <pwe3@ietf.org>
Subject: Re: [PWE3] AD review of draft-ietf-pwe3-mspw-er
X-BeenThere: pwe3@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Pseudowire Emulation Edge to Edge <pwe3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pwe3>,
<mailto:pwe3-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pwe3/>
List-Post: <mailto:pwe3@ietf.org>
List-Help: <mailto:pwe3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pwe3>,
<mailto:pwe3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Jul 2014 12:51:48 -0000
Hi Adrian, Thanks very much for your detailed review. I¹ve replied to your comments in-line below, and will revise the draft to incorporate the required changes, shortly. Best regards Matthew On 11/06/2014 22:52, "Adrian Farrel" <adrian@olddog.co.uk> wrote: Authors, Thanks for your work on this document. I have conducted my normal AD review having received the publication request. The purpose of the review is to find issues and concerns that improve the quality of the document for readability and implementation, and to remove issues that might otherwise get found during IETF last call, directorate reviews, and IESG evaluation. I think that in general this document is fine, but I think it needs some work on clarity. Hopefully none of my points is contentious, and they can all be handled through some fairly simple edits. of course, every point is open for discussion and you can refute each and every one of them. I'll put the document into "Revised I-D Needed" state and wait to see an update and/or email from you. Thanks, Adrian === On a copyright thing... Are you sure that some of this material hadn't been lifted pretty much unchanged from RFC 3212? You might at least acknowledge that in the Acknowledgements section. MB> Agreed. I propose adding the following text to the acknowledgements section as well as adding a reference to RFC3212 in section 4.2. "The authors of this document gratefully acknowledge the contribution of the RFC3212 authors though the specification of TLVs, which are reused by this document." --- Section 1 For 1:1 protection of MS-PWs with primary and backup paths, MS-PWs SHOULD be established through a diverse set of S-PEs (Switching Provider-Edge) nodes to avoid any single points of failure at PW level. I think s/SHOULD be/need to be/ The points are: - This is really not a case for RFC 2119 language - "should" is not really good enough for proper 1:1 protection MB> I agree --- Do you not think that the Introduction should discuss a little about how the path might be known? Specifically how the head-end T-PE knows what explicit route to use. It may be enough to say "In many deployments the head-end T-PE will not have a view of the topology of S-PEs and so the explicit route will need to be supplied from a management application. How that management application determines the explicit route is outside the scope of this document." MB> Agreed. I'll add that statement to the introduction. --- Section 1 This draft proposes an additional mechanism Don't say "draft" say "document" because you want this text in an RFC. Don't "propose", "define" or "specify" because you want this in a protocol specification. MB> Agreed --- Section 3.1 needs to discuss how uniqueness of "S-PE addresses" is guaranteed/arranged. MB> Actually, this section is simply a duplication of RFC7267, Section 3.2. This is a result of this draft being forked from draft-ietf-pwe3-dynamic-ms-pw. While I agree with your comments below on this section, we could just rephrase the section in this draft as follows and raise an errata to clarify any points in RFC7267, as follows: "An S-PE Address is an address used to identify a given S-PE among the set of S-PEs belonging to the PSNs that may be used by an MS-PW. Each S-PE MUST be assigned an address as specified in [RFC6267] Section 3.2. An S-PE that is capable of dynamic MS-PW signaling but that has not been assigned an S-PE address and receives a Label Mapping message for a dynamic MS-PW MUST follow the procedures of [RFC7276] Section 3.2." I suggest you formally define the term "S-PE address" What does "format similar to" actually mean? --- Section 3.1 If an S-PE is capable of Dynamic MS-PW signaling, but is not assigned with an S-PE address, then on receiving a Dynamic MS-PW label mapping message the S-PE MUST return a label release with the "Resources Unavailable" ( 0x00000038)" status code. It is not clear to me whether this is new normative behavior or a restatement of draft-ietf-pwe3-dynamic-ms-pw. This isn't helped by the fact that "Dynamic MS-PW label mapping message" seems to be a new term. You should probably define the term explicitly somehow with reference to what it contains that makes it such a message (not just an ordinary label mapping message) and a reference to draft-ietf-pwe3-dynamic-ms-pw. Then you need to help clarify if this is new behavior. If it is not, then you can include "As described in [ref]..." If it *is* new behavior for an existing message you have to explain how this is backward compatible with current processing of this message. If it is new behavior for a *new* message (i.e. defined in this document) then the text is very out of order and at the least you need some explanation of where this message is defined and what it does. MB> Agreed. It should be aligned with RFC7267. Please see the proposal above. --- Section 3 might usefully say some overview stuff like: - An explicitly routed PW is set up using a Label Mapping message that carries an ordered list of the S-PEs through which the PW is expected to run. - The ordered list is encoded as a series of ER Hop TLVs encoded in a ER TLV that is carried in the Label Mapping message. Doing this would save the reader ploughing through section 3 trying to work out what it is all about. MB> Agreed. I will add an introductory paragraph based on your text. --- If the ER Hop TLV can contain an IP address identifying an abstract node, why is it necessary for each S-PE to have a unique S-PE address formed as an AII? MB> --- Section 3.2 Length Specifies the length of the value field in bytes. There is, of course, no "value" field, so you could be a little clearer. Unfortunately, there is currently a theme in the IESG on multi-byte integer fields that means you need to say how the integer is encoded on the wire, so you need to add "encoded in line format". BUT... Wait a minute. You are re-using 0x0800 for the ER TLV. Good. We don't need to define multiple TLVs for the same function. But why are you writing this document as though you are defining the TLV? Why is there no mention of RFC 3212? The same questions apply to the ER Hop TLV and the two of its types that you are re-using. This wouldn't take a lot of text and would allow you to delete a fair bit. Something along the lines of... The process defined in this document makes use of the ER TLV defined in [RFC3212]. This TLV can be placed in a Label Mapping message used for dynamic PW setup as described in Section 4. The ER TLV contains one or more ER Hop TLVs, each describing a hop along the desired path or the PW. The procedures described in this document allow for the use of the "IPv4 Prefix ER-Hop TLV" and the "IPv6 Prefix ER-Hop TLV" (both defined in [RFC3212]) and also the "L2 PW address of PW Switching Point" defined in this document. MB> RFC3212 references were originally included in the text from draft-ietf-dynamic-ms-pw (see Version 13), but these were removed due to some comments around last call time that we were tying the fate of this draft to the future fate of RFC3212. Personally, I am OK with reinstating the references as you propose. --- Curiously, in 3.4.1 you have IP Address A four-byte field indicating the IP Address. while in 3.4.2 you have IPv6 address A 128-bit unicast host addresses. It makes one wonder. This issue would disappear with the fix previously mentioned. MB> OK --- For both the IPv4 and IPv6 hops, I think you need to think about (and document) whether you support less than fully specified IP addresses. For both of the prefix lengths you appear to allow 1-n (n = 32 or 128) yet for IPv6 you seem to say it is a unicast host address which would preclude anything other than 128. MB> It does seem that way, although that's also how RFC3212 defines it. I will discuss with the other authors and make a proposal. --- 3.4.3 needs some work... The section title says "ER-Hop 3: L2 PW Address" but while this may be the third ER-Hop type you support in this usage, the hop type is actually 5. I suggest you remove the numbers from all three subsection titles. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| 0x0802 | Length = 18 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The value you have used in 0x0805. But (of course) you should use TBD1 and reflect that in the IANA section. MB> Agreed |L| Reserved | PreLen | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AII Type=02 | Length | Global ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Having to fields called "Length" makes the documentation ambiguous. Suggest you make the first one "TLV-Length" | Global ID (contd.) | Prefix | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix (contd.) | AC ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AC ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ U/F These bits MUST be set to zero and the procedures of [RFC5036] followed when the TLV is not known to the receiving node. Type A fourteen-bit field carrying the value of the ER-Hop 3, L2 PW Address, Type = 0x0805 Length Specifies the length of the value field in bytes = 18. L Bit Set to indicate Loose hop. Cleared to indicate a strict hop. PreLen Prefix Length 1-96 It is slightly curious that RFC 5003 didn't find a need for indicating the prefix length. Since it is (presumably!) your intention that the count to 96 spans the Global ID, Prefix, and AC ID fields, I think you need to make that clear here and describe its usage later. Otherwise one would rationally assume that the prefix length applies to the prefix field. MB> Agreed. I will follow up with the co-authors to clarify and propose some revised text. L2 PW Address An AII Address as defined in [RFC5003]. Rather than say this (which is confusing because there is no such L2 PW Address field) you should say "All other fields (AII Type, Length, Global ID, Prefix, and AC ID) define the L2 PW Address and are to be set and interpreted as defined in Section 3.2 of [RFC5003]." MB> agreed --- 4.1 A PW Label Mapping Message containing an explicit route TLV MUST specify the next hop for a given MS-PW path. What do you mean "MUST"? Surely... A PW Label Mapping Message containing an Explicit Route TLV specifies the next hop for a given MS-PW path. MB> agreed --- 4.1 Selection of this next hop MAY involve a selection from a set of possible alternatives. s/MAY/may/ MB> OK --- 4.1 The mechanism used to select a particular path is also outside of the scope of this document, but each node MUST attempt to determine a loop-free path. Note that such mechanisms MAY be overridden by local policy. This is ambiguous... "MUST attempt" but if it can't find one it is OK to go ahead with a loop? Local policy may override attempting to find a loop-free path? Local policy may override the mechanism to select a path (which is a local policy on account of not being part of this document)? What information does an S-PE have available to select path and determine whether there is a loop? What should an S-PE do if a path can't be selected without a loop? MB> I agree there are some procedures missing here. For a T-PE, if a loop free path cannot be found, then it must not attempt to signal the MS-PW. For an S-PE, if it cannot determine a loop free path, then the received Label Mapping MUST be released with a status code of "PW Loop Detected" as per Section 4.2.3 of RFC7267. I'll discuss with the authors and propose some text below. --- 4.1 1. The node receiving the Label Mapping Message must evaluate the first ER-Hop. This one should be "MUST", but you also need to qualify with "...that contains an ER TLV." MB> agreed --- 4.1 If the L bit is set and the local node is not part of the abstract node described by the first ER-Hop, the node selects a next hop that is along the path to the abstract node described by the first ER-Hop. And how will it make that determination? MB> This is the same as RFC3212, where a specific node determines if it is a member of an abstract node if its address lies within the prefix (as determined but the prefix length) specified in the ER-Hop TLV. --- 4.1 If there is no first ER-Hop, the message is also in error and the node should return a "Bad Explicit Routing TLV Error" (0x04000001) status code in a Label Release Message sent to upstream node. I presume this means if there is an ER TLV that does not contain an ER Hop TLV. MB> YEs I presume it remains legal to have a Label Mapping message without an ER TLV per point 2 of this section. MB> Yes Perhaps you could clarify this. MB> I'll clarify in the next version of the draft. --- Section 5 This draft proposes one new TLV type: TLV Type Suggested Value Reference ------------------------------------ --------------- --------- L2 PW Address of Switching Point 0x0805 This Document I think this needs to read... IANA is requested to assign a further code point from the IETF Consensus portion of this registry as follows: TLV Type Value Reference ------------------------------------ ------- --------- L2 PW Address of Switching Point TBD1 This Document A value of 0x0805 is requested. MB> Agreed.
- [PWE3] AD review of draft-ietf-pwe3-mspw-er Adrian Farrel
- Re: [PWE3] AD review of draft-ietf-pwe3-mspw-er Bocci, Matthew (Matthew)
- Re: [PWE3] AD review of draft-ietf-pwe3-mspw-er Adrian Farrel