Re: [bess] Shepherd's review of draft-ietf-bess-mvpn-fast-failover
Greg Mirsky <gregimirsky@gmail.com> Wed, 04 December 2019 22:21 UTC
Return-Path: <gregimirsky@gmail.com>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 94FFB120046; Wed, 4 Dec 2019 14:21:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.097
X-Spam-Level:
X-Spam-Status: No, score=-0.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_COMMENT_SAVED_URL=1.391, HTML_MESSAGE=0.001, PDS_BTC_ID=0.499, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 Sd-ShhBxUFHv; Wed, 4 Dec 2019 14:21:47 -0800 (PST)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 37D6F12002F; Wed, 4 Dec 2019 14:21:46 -0800 (PST)
Received: by mail-lj1-x22c.google.com with SMTP id m6so1165373ljc.1; Wed, 04 Dec 2019 14:21:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Md2nfJHghtj5TQRqvs9obGsUHWZtFbNpIdnLoC9KcMY=; b=legry5cEIFC2wD3g1sY4NcNhOu3Is/3nSU+nqo036qQWV/XaYq5DZ3pVst9+ijqRlI mVbmfuj6uFON1nKgD/Jm0wSLM6tzFFAXoSqm2XRI5ZiKsQmXCXtcnwumc0GT0ZsU0GuH njzG/TxC3WV+OU9yHXAxHoL3RNe3eLTd9HB5euO22IpqoMBehhKLAxGX5Q2g48/0o3VU +x81Kx+RA/JMOaQopgGLo5i2Hon0pmMwdW5ZtABxExojgPEMo2YO6R2CW6W3oZ6O1lzi aILLW2StzRwB9zVQmawY0mpIuaumPj5SzfYww4yC2CShs33040E2mrD/dmB9ZWHElGab TjcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Md2nfJHghtj5TQRqvs9obGsUHWZtFbNpIdnLoC9KcMY=; b=DggMaaDcrNgdikBLr5N7s0gmQZahCRywFHd1mR+9617z7yrmpCksvSLXL3iUNX4/dj +m+cB/1fU6tZn/prHUZ0JC2nCr27VCNrTErHXNU5XcK5qsDB45x0MXPaot1j4oZyEGGb bne+OoqPwwkh0Jb9DhukHtMvieyi3Rm2L0bxO6U80zDyzTe7AcZJrMJ9SUygksu5z812 uvj2+2OQU9YWHlnLbbLFo0NL7rbOVAVynGsjY7TIUb/LgTzJls2Fwz9D3ALjMWBzS+Qo 2i8NLu7JchzvLR9CsHPfYf24imjPBewGAbJQYjacxsSmAqX2aBi3fVfJrGJ9WXn7zu4Y denQ==
X-Gm-Message-State: APjAAAUxzedZoI/2vgzLmqySMItBmRPhoG5MR8MKrUGe0A0t5nnjRNAI hIdM6YJtfad4L0I5FUp3o9k4svSHoGRvOfhrfLA=
X-Google-Smtp-Source: APXvYqx+iTTiRWp5CZUoO28jjcX4UHK5tBIk89Kfu75e3jLBjCr88ZRFOV337zTTts/z36bwtVedYSwHmZneFGMRfBY=
X-Received: by 2002:a2e:3312:: with SMTP id d18mr3528463ljc.222.1575498104072; Wed, 04 Dec 2019 14:21:44 -0800 (PST)
MIME-Version: 1.0
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Wed, 04 Dec 2019 17:21:32 -0500
Message-ID: <CA+RyBmWOYUnrzrb=M=dvHpn-huh_WFJURF0spOzX_752V0gkVg@mail.gmail.com>
To: slitkows.ietf@gmail.com, BESS <bess@ietf.org>, bess-chairs@ietf.org
Content-Type: multipart/mixed; boundary="000000000000d6ae2b0598e83c1b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/aTV4Il4BIWl0L7Rjmb058Sb-kMw>
Subject: Re: [bess] Shepherd's review of draft-ietf-bess-mvpn-fast-failover
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bess>, <mailto:bess-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess/>
List-Post: <mailto:bess@ietf.org>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bess>, <mailto:bess-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Dec 2019 22:21:53 -0000
Hi Stephane, thank you for the review and your thoughtful comments. Please find my answers and notes in-lined under GIM>> tag. Attached, please find the diff and copy of the working version. Regards, Greg Hi, Please find below my review of the document. Nits: Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 1 instance of lines with non-RFC3849-compliant IPv6 addresses in the document. If these are example addresses, they should be changed. GIM>> MPLS OAM, i.e., LSP Ping and BFD, often uses IP/UDP encapsulation. In these cases, the destination IP address is one of loopback addresses. RFC 4379 (RFC 8029) and RFC 5884 have updated RFC 1122 in how routers process packets with the destination IP address from 127/8 range (but only for the specified UDP ports). Section 3: s/no longer “known to down”/no longer “known to be down”/ ? GIM>> Fixed Section 3.1.1: As the document is standard track, could you introduce normative language in the expected behavior description ? GIM>> I can propose the following modification of the text: OLD TEXT: If BGP next-hop tracking is done for VPN routes and the root address of a given tunnel happens to be the same as the next-hop address in the BGP auto-discovery route advertising the tunnel, then this mechanisms may be omitted for this tunnel, as it will not bring any specific benefit. NEW TEXT: If BGP next-hop tracking is done for VPN routes and the root address of a given tunnel happens to be the same as the next-hop address in the BGP auto-discovery route advertising the tunnel, then this mechanisms may be omitted for this tunnel, as it will not bring any specific benefit. Section 3.1.2: As the document is standard track, could you introduce normative language in the expected behavior description ? “This method should not be used”. Wouldn’t this be a normative statement ? GIM>> Would the following modification of the text be acceptable: OLD TEXT: This method should not be used when there is a fast restoration mechanism (such as MPLS FRR [RFC4090]) in place for the link. NEW TEXT: Using this method when a fast restoration mechanism (such as MPLS FRR [RFC4090]) is in place for the link requires careful consideration and coordination of defect detection intervals for the link and the tunnel. In many cases, it is not practical to use both methods at the same time. Section 3.1.4: As the document is standard track, could you introduce normative language in the expected behavior description ? GIM>> Updating to the normative language as follows: OLD TEXT: A PE can be removed from the UMH candidate list for a given (C-S, C-G) if the P-tunnel (I or S, depending) for this (S, G) is leaf triggered (PIM, mLDP), but for some reason internal to the protocol the upstream one-hop branch of the tunnel from P to PE cannot be built. In this case, the downstream PE can immediately update its UMH when the reachability condition changes. NEW TEXT: A PE MAY be removed from the UMH candidate list for a given (C-S, C-G) if the P-tunnel (I-PMSI or S-PMSI) for this (S, G) is leaf- triggered (PIM, mLDP), but for some reason internal to the protocol the upstream one-hop branch of the tunnel from P to PE cannot be built. In this case, the downstream PE MAY immediately update its UMH when the reachability condition changes. s/(I or S , depending)/(I-PMSI or S-PMSI)/ GIM>> Done (above) It is not crystal clear which branch exactly is the “upstream one-hop branch of the tunnel from P to PE” ? Do you refer to the PEreceiver-P branch ? or P – PE_source branch ? GIM>> It is the latter. Would the following re-wording make it clearer: OLD TEXT: A PE can be removed from the UMH candidate list for a given (C-S, C-G) if the P-tunnel (I or S, depending) for this (S, G) is leaf triggered (PIM, mLDP), but for some reason internal to the protocol the upstream one-hop branch of the tunnel from P to PE cannot be built. NEW TEXT: An upstream PE MAY be removed from the UMH candidate list for a given (C-S, C-G) if the P-tunnel (I-PMSI or S-PMSI) for this (S, G) is leaf-triggered (PIM, mLDP), but for some reason, internal to the protocol, the upstream one-hop branch of the tunnel from P to PE cannot be built. Section 3.1.5: As the document is standard track, could you introduce normative language in the expected behavior description ? GIM>> I propose the following update to the second paragraph of this sub-section: OLD TEXT: When such a procedure is used, in the context where fast restoration mechanisms are used for the P-tunnels, downstream PEs should be configured to wait before updating the UMH, to let the P-tunnel restoration mechanism happen. A configurable timer MUST be provided for this purpose, and it is recommended to provide a reasonable default value for this timer. NEW TEXT: When such a procedure is used, in the context where fast restoration mechanisms are used for the P-tunnels, a configurable timer MUST be configured on the downstream PE to wait before updating the UMH, to let the P-tunnel restoration mechanism happen. It is RECOMMENDED to provide a reasonable default value for this timer. An implementation MAY use three seconds as the default value for this timer. “it is recommended to provide a reasonable default value for this timer.” Why not providing it in this document ? GIM>> Though the restoration time of P-tunnel may differ depending on the method being used, I think that 3 seconds may be the default. The NEW TEXT above includes the proposed update. “In cases where this mechanism is used in conjunction with Hot leaf standby » Can you add the section reference for the Hot leaf standby ? GIM>> I've changed the reference from the title to the number of the section: In cases where this mechanism is used in conjunction with the method described in Section 5, no prior knowledge of the rate of the multicast streams is required; downstream PEs can compare reception on the two P-tunnels to determine when one of them is down. Section 3.1.6: As the document is standard track, could you introduce normative language in the expected behavior description ? GIM>> Sub-sections of 3.1.6 define the use of RFC 8562 and the new attribute. In the introduction to these sub-sections, I propose s/can/MAY/ Could you use the right spacing in “BGP- BFD attribute” ? Would “BFD discriminator” attribute or just “BFD” attribute be a better name ? we know that it is BGP 😊 GIM>> I agree. Will use BFD Discriminator throughout the document. >From a wider perspective, do you foresee other use case of signaling BFD information in BGP ? I’m just wondering if we may need something extensible for future use or not. GIM>> Great question. BGP, and I'm speculating here, may be used to for other BFD-related scenarios. I think that we may use the Flags field. Even in this use case, I’m wondering if the BFD session type should be included as part of the attribute rather than being deduced from the fact that the attribute is attached to an x-PMSI route. I would be glad to hear your feedback on that. GIM>> Great suggestion, thank you. I've added the new p2mp Session value for Flags and the request to IANA to create the appropriate new registry. Please see the attached diffs and the working version of the draft. Section 3.1.6.2: s/Then The/ Then the/ GIM>> Thank you. Done. “A different p2mp BFD session MAY monitor the state of the Standby Upstream PE. » This is not fully clear to me. I thought that this BFD session was used as part of the UMH selection process, which means that there is no UMH selected yet. Do you mean monitoring an alternate P tunnel rooted at a different upstream PE ? GIM>> Thank you for pointing to this text. I agree, it can be improved and below is the proposed update: OLD TEXT: According to [RFC8562], if the Downstream PE receives Down or AdminDown in the State field of the BFD control packet or associated with the BFD session Detection Timer expires, the BFD session state is down, i.e., bfd.SessionState == Down. When the BFD session state is Down, then the P-tunnel associated with the BFD session as down MUST be declared down. Then The Downstream PE MAY initiate a switchover of the traffic from the Primary Upstream PE to the Standby Upstream PE only if the Standby Upstream PE deemed available. A different p2mp BFD session MAY monitor the state of the Standby Upstream PE. NEW TEXT: According to [RFC8562], if the Downstream PE receives Down or AdminDown in the State field of the BFD control packet or associated with the BFD session Detection Timer expires, the BFD session is down, i.e., bfd.SessionState == Down. When the BFD session state is Down, then the P-tunnel associated with the BFD session MUST be declared down. As a result, the Downstream PE MAY initiate a switchover of the traffic from the Primary Upstream PE to the Standby Upstream PE only if the Standby Upstream PE deemed available. A different p2mp BFD session MAY be used to monitor the state of the P-tunnel from Standby Upstream PE. Section 3.1.7 This is not clear to me. Are you using BFD only to signal a Down state without really “probing” ? GIM>> This section describes how the existing p2Mp BFD session from the upstream PE to downstream PEs can be used to relay the state change (failure) of the upstream PE-CE link. The exact mechanism to detect the failure of the PE-CE link is not specified though it could be a single-hop BFD session. Section 4 “This non-revertive behavior can also be optionally supported by an implementation and would be enabled through some configuration.” Is it a “MAY also be supported” ? GIM>> Yes, updated to use MAY. What if there are more than two PEs connected to the source ? GIM>> The scenario in Section 4 is with the Primary and Standby Upstream PEs. Each downstream PE MUST support revertive behavior. I'd expect that non-revertive behavior is used consistently across all downstream PEs. Section 4.1: “The normal and the standby C-multicast routes must have their Local” Is it a “MUST” ? GIM>> Updated to MUST It would be great to add a text talking about what happens if an implementation does not understand the standby community. GIM>> As I understand, if a BGP peer does not support Standby PE community then it does not support this specification. If that is the case, then the following may happen (as described in the document): ... two different downstream PEs consider different upstream PEs to be the primary one; in that case, without any precaution taken, both upstream PEs would process a standby C-multicast route and possibly stop forwarding at the same time. Would adding to "Such a situation can happen when, for instance, due to transient unicast routing inconsistencies ..." "or lack of support of the Standby PE community" address your concern? “Note that, when a PE advertises such a Standby C-multicast join for an (C-S, C-G) it must join the corresponding P-tunnel.” Is it a “MUST” ? GIM>> Indeed, thank you. s/must/MUST/ Section 4.2 How does it determine that C-S is not reachable through some other PE ? GIM>> I imagine that several methods can be used to detect a failure. I've added a note that "the use of the particular method to detect the failure is outside the scope of this document". Would this update address your concern? Section 4.4.2: Please you normative language. Security section: Please add some text/ GIM>> So sorry. The added text is very basic, I know. Please suggest which specific mechanisms described in the document require explicit discussion in this section. IANA considerations: You need a request for the BFD attribute. GIM>> Updated, please let me know if it is acceptable now. You need to be more precise on the community request (from which registry is it taken from). I suppose that you are requested a Well-Known community. Please use upper case for the community name, it is more compliant with other name used.
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- [bess] Shepherd's review of draft-ietf-bess-mvpn-… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Jeffrey (Zhaohui) Zhang
- Re: [bess] Shepherd's review of draft-ietf-bess-m… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Jeffrey (Zhaohui) Zhang
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Jeffrey (Zhaohui) Zhang
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky
- Re: [bess] Shepherd's review of draft-ietf-bess-m… slitkows.ietf
- Re: [bess] Shepherd's review of draft-ietf-bess-m… Greg Mirsky