Re: [bess] Shepherd's review of draft-ietf-bess-mvpn-fast-failover

Greg Mirsky <gregimirsky@gmail.com> Tue, 07 January 2020 01:54 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 6825F120041; Mon, 6 Jan 2020 17:54:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.597
X-Spam-Level:
X-Spam-Status: No, score=-0.597 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01] 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 ayiRq3xwRISy; Mon, 6 Jan 2020 17:54:43 -0800 (PST)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 6B90212013A; Mon, 6 Jan 2020 17:54:42 -0800 (PST)
Received: by mail-lf1-x132.google.com with SMTP id n12so37712380lfe.3; Mon, 06 Jan 2020 17:54:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8aQZpU/1CpIdUgyKCi/J6+ELyMKj/Lcvxb5bUYIUUII=; b=CZpVVCAEjLekvxZfijK+aRL9VaEnvhb13C4NY1V5dJqZ9ZCR6mk9LubrVjOeZABbJ9 PsmS5Xy/Mf7Nhxt+RShwH+w/4891kcv9qiYhsu+girWbtrxkaqLjzzux2z949gNztk0Y 2tRnW1GtGIgnz6z1NwN4b1mI9VMnoxF95MYQVtYsfEX36S6m8Yp4HVLe/Z2XmJ7iFew1 zL3H8yMtVcZpJBS31wNAyEHobVLVICK7giKSNcND8QPihht/QdU1kihGbWt6N5rKtfEV M+YjabjXCXR8iwa695mT6hOwVfk+fV4FbOdtWbFX0GSBRcxWemXYkg5kUwoWFaNY+RH3 5vCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8aQZpU/1CpIdUgyKCi/J6+ELyMKj/Lcvxb5bUYIUUII=; b=RvsFaSFz/BWkWX8ZOVt29oDoz1j7Ow17eIAlkRyKuMIV0Kju1gloxRqg4D+yXEfmfT Mx4+SCFDw1Y0dwdz5tHwcYs5rZTIGBMlVA0sh/d/4TgSbxxYqhWHG94nomTjFOGnikOA AunGGunYR2Jcwb1iwkDZE5ywDpLfIz/crKicub5zDL7ShL8K3FZV5n3TN5CyCZ07POo5 PjH4nLWUKxFFIyOBGelF1wLwbwr+kxRZsCYbUGd4qC/vkWfXf37n3mHCMciDrXnEFXxj Ro8ueD8QbKz5+wg7jVrQ7fJR7dO/kW5BdYkGmPXcZWvzDJn5GGzYdHzubhujFvaEjkx+ O7SA==
X-Gm-Message-State: APjAAAWl9ppwzBbbIPBLZu6z14q1akroaZF4M3wHaWG+RXaOGx8kEcML wdRhpV0LdnL55kiHFNJBqlRU8p06K8a2KMCOkhc=
X-Google-Smtp-Source: APXvYqyst0LTUUfKfe4rPjLYjkYoFOTxH2mGOCl35B2RsxMqgMtRNnhP1o9T2trWtD2SQCNKpyUS5Mp9quW1q0sQ6tQ=
X-Received: by 2002:a19:ca59:: with SMTP id h25mr57300530lfj.27.1578362080446; Mon, 06 Jan 2020 17:54:40 -0800 (PST)
MIME-Version: 1.0
References: <CA+RyBmWOYUnrzrb=M=dvHpn-huh_WFJURF0spOzX_752V0gkVg@mail.gmail.com> <04f301d5c4a0$6cd81690$468843b0$@gmail.com>
In-Reply-To: <04f301d5c4a0$6cd81690$468843b0$@gmail.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Mon, 06 Jan 2020 17:54:29 -0800
Message-ID: <CA+RyBmVsFVz42sbPRF=oJ=wH-dVrZRaMgf+Kqr6ne5SO3HC0+Q@mail.gmail.com>
To: slitkows.ietf@gmail.com
Cc: BESS <bess@ietf.org>, bess-chairs@ietf.org
Content-Type: multipart/mixed; boundary="00000000000021eb42059b830f5f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/UEAK04Pn1vgJrUSU3Bhm4Jk2v5I>
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: Tue, 07 Jan 2020 01:54:51 -0000

Hi Stephane,
thank you and happy New Year to you too.
Please find my follow-up answers and notes below under GIM2>> tag.
Attached are the working version of the draft and its diff to -08 (the
latest in the datatracker).

Kind regards,
Greg

On Mon, Jan 6, 2020 at 6:48 AM <slitkows.ietf@gmail.com> wrote:

> Hi Greg,
>
>
>
> I wish you an happy new year.
>
>
>
> Thanks for your feedback, please find my replies inline.
>
> (Trimming solved issues)
>
>
>
> Brgds,
>
>
>
>
>
> *From:* Greg Mirsky <gregimirsky@gmail.com>
> *Sent:* mercredi 4 décembre 2019 23:22
> *To:* slitkows.ietf@gmail.com; BESS <bess@ietf.org>; bess-chairs@ietf.org
> *Subject:* RE: Shepherd's review of draft-ietf-bess-mvpn-fast-failover
>
>
>
> 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:
>
>
>
>
> 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.
>
>
>
>
>
> [SLI] I don’t see a difference between the two.
>
> I was expecting a “MAY” instead of “may”.
>
GIM2>> My apologies, I've pasted the same text twice. I propose to remove
"may be omitted" altogether. Hence the updated 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 the use of this
   mechanism for the tunnel will not bring any specific benefit.
Do you see this version without any normative language as acceptable?

>
>
>
> 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.
>
>
>
> [SLI] Are we strongly disencouraging the practice ? if yes, “it is not
> practical” is a bit too soft. I’m wondering if “is NOT RECOMMENDED” could
> be a good wording. But it is up to you.
>
GIM2>> The use of OAM in multi-layer fashion is a question I'd be
interested to discuss. But I feel that it deserves a separate document and
would prefer to leave the text as a note of caution for now.

>
>
>
>
> 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.
>
>
> [SLI] I understand the first “MAY” as optional feature, however the second
> “MAY” is more a “SHOULD” IMO. Thoughts?
>
GIM2>>  Thank you for the clarification. The UMH list will certainly be
updated once the reachability of the downstream PE changes. In some
scenarios, such an update may be immediate, i.e., ASAP, but in some, it
might be better to delay it. Would you suggest adding a note about the
option to delay the update?

>
>
>
>
>
>
>
>
>
>
> 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.
>
> [SLI] Do you want to standardize the default timer value ? If yes, a
> “SHOULD” will be better than “MAY”.
>
GIM2>> Thank you for the suggestion. I agree the specific value that
improves interoperability while reducing the number of extra operations
required is good. Thus, s/MAY/SHOULD/

>
>
>
>
>
>
>
>
> 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/
>
>
>
> >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.
> [SLI] Is it enough or should you add some optional TLVs behind the
> discriminator ? (with nothing defined yet).
>
GIM2>> Great idea, thank you! Please see the updated figure and the text:
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    BFD Mode   |                  Reserved                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       BFD Discriminator                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Reserved  TLV                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                 Format of the BFD Discriminator Attribute

   Where:

      BFD Mode is the one octet long field.  This specification defines
      the P2MP value (TBA3) Section 7.1.

      Reserved field is three octets long and the value MUST be zeroed
      on transmission and ignored on receipt.

      BFD Discriminator is four octets long field.

      Reserved TLV field is four octets long.  It MAY be used for future
      extensions of the BFD Discriminator Attribute using Type-Length-
      Value format.  This specification defines that the value in
      Reserved TLV field MUST be zeroed on transmission and ignored on
      receipt.


>
> [SLI] New typo s/Reserved fieled/Reserved field/
>
GIM2>> Thanks, fixed.

>
>
>
>
>
> 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. »
>
>
>
> 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.”
>
>
>
>
>
> Section 4.1:
>
>
> 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?
>
> [SLI] Yes it works.
>
>
>
> [SLI] The text talks about “Standby PE” attribute while it is a BGP
> community.  This should be fixed to be consistent.
>
GIM2>> Thank you. Fixed:
OLD TEXT:
   The normal and the standby C-multicast routes must have their Local
   Preference attribute adjusted so that, if two C-multicast routes with
   same NLRI are received by a BGP peer, one carrying the "Standby PE"
   attribute and the other one *not* carrying the "Standby PE"
   community, then preference is given to the one *not* carrying the
   "Standby PE" attribute.  Such a situation can happen when, for
   instance, due to transient unicast routing inconsistencies, 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.  For this purpose, routes that
   carry the "Standby PE" BGP Community MUST have the LOCAL_PREF
   attribute set to zero.

NEW TEXT:
   The normal and the standby C-multicast routes MUST have their Local
   Preference attribute adjusted so that, if two C-multicast routes with
   same NLRI are received by a BGP peer, one carrying the "Standby PE"
   community and the other one *not* carrying the "Standby PE"
   community, then preference is given to the one *not* carrying the
   "Standby PE" community.  Such a situation can happen when, for
   instance, due to transient unicast routing inconsistencies or lack of
   support of the Standby PE community, 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.  For this purpose, routes that carry the "Standby PE" BGP
   Community MUST have the LOCAL_PREF attribute set to zero.


>
>
>
>
> [SLI] As soon as we agree, I’ll send the draft to be proof-readed by IDR
> before moving to IESG.
>
GIM2>> That will be great, thank you.

>
>
>
>
>
>
>
>
>