[mpls] Review of draft-mirsky-mpls-bfd-directed-03

Nobo Akiya <nobo.akiya.dev@gmail.com> Sat, 04 July 2015 08:16 UTC

Return-Path: <nobo.akiya.dev@gmail.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53DB21A8A93 for <mpls@ietfa.amsl.com>; Sat, 4 Jul 2015 01:16:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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_MESSAGE=0.001, SPF_PASS=-0.001] 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 9DfpUtDNfRki for <mpls@ietfa.amsl.com>; Sat, 4 Jul 2015 01:16:53 -0700 (PDT)
Received: from mail-la0-x230.google.com (mail-la0-x230.google.com [IPv6:2a00:1450:4010:c03::230]) (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 23F541A8A8E for <mpls@ietf.org>; Sat, 4 Jul 2015 01:16:53 -0700 (PDT)
Received: by laar3 with SMTP id r3so105839949laa.0 for <mpls@ietf.org>; Sat, 04 Jul 2015 01:16:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=6Yhvopi4K+JOvs/RF5OskpeeQ+YLKTNv9hc8C5B6xP8=; b=ojsQnFGXmcUjRQYp+dAyC8EyFEWHibkVYHKxtoE7RJ5i7ZmC9F7kXCJI6xnz8uwuWf taVqk0nKwOo1V6RFFG0Xh+AhlVNl/Tqd1P/MCwl5KP9w/4Kil3puuHnTJCCSoOhYP/jr gBKgpDXPoyPEA22V/2Nh72mqiX0bwz8UMtEtXQtSHq/wc2+g31gKLUeP0Hw16ZP4wCwy WDwnHFN+DZP/Kv89VeJh35A2fzaJQIV/8PWLFgA/7aZ9SyWZ/yWs19ChSpezvL8i253B Ey1yVKFVGoVa+whMN6Xau3f+wX06VdHBW2IfAi8sNJHKOcHa1O+U7jiLiVxImprNp6Ks B9bA==
MIME-Version: 1.0
X-Received: by 10.152.44.193 with SMTP id g1mr39504876lam.15.1435997811618; Sat, 04 Jul 2015 01:16:51 -0700 (PDT)
Received: by 10.112.52.130 with HTTP; Sat, 4 Jul 2015 01:16:51 -0700 (PDT)
Date: Sat, 04 Jul 2015 17:16:51 +0900
Message-ID: <CAFqGwGsU9rc-YEE+X52xV_yiqYS+_-eufftiqH+WjJqO6s7Yhw@mail.gmail.com>
From: Nobo Akiya <nobo.akiya.dev@gmail.com>
To: mpls <mpls@ietf.org>, draft-mirsky-mpls-bfd-directed@tools.ietf.org
Content-Type: multipart/alternative; boundary="089e0160bda475ba96051a084b01"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/bXtX28qgCthoK0g9S6aRW-LC-6I>
Cc: Ross Callon <rcallon@juniper.net>
Subject: [mpls] Review of draft-mirsky-mpls-bfd-directed-03
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 04 Jul 2015 08:16:57 -0000

Hello,

I’ve been selected as a reviewer for draft-mirsky-mpls-bfd-directed-03.
Please find my review below.

I believe this is a useful, coherent, and technically sound document.
However, it does have issues that require attention and consideration.


Section 2

o if reverse direction is in Down state, the head-end node would not
   receive indication of forward direction failure from its egress
   peer.

[NOBO] I found above to be slightly unclear in 2 aspects.

Since this section is describing the limitations of using BFD on an
unidirectional explicitly routed path, what does "if reverse direction is
in Down state" mean?

Additionally, "would not receive indication of forward direction failure
from its egress peer" is a bit cryptic. If the egress peer detected that
forward direction failed (e.g., BFD session timed out), then the egress
peer will send few BFD control packets with DOWN state, IP routed. Thus the
ingress peer will notice the problem of the forward direction.

Readers can likely benefit from having this bullet point better clarified.


Section 3.1.1

   If the egress LSR fails to establish the BFD session because path
   specified in the Reverse Path TLV is not known, the egress MAY
   establish the BFD session over IP network [RFC5884] and MAY send Echo
   Reply with the Reverse Path TLV received and the return code set to
   "Failed to establish the BFD session". The specified reverse path
   was not found" (TBD4) Section 3.4.

[NOBO] There are two instances of "MAY" in above.

If the egress establishes the BFD session over IP network and does not send
Echo Reply with "error", then it would be difficult for the ingress to know
what path egress is using for the BFD session (IP routed or ingress
specified path). To avoid this, should the second MAY be MUST, such that if
the egress chose to use IP network, then the egress has to send the Echo
Reply with "error"?

Related to this, if the egress chose to use the BFD session over IP
network, but the ingress specified path became available some time later,
then what is the expected behavior? Should this this described in the
document?

Also there are 3 instances of '"' (quotation) characters in above, but the
second instance should be removed (nit).


Section 3.1.2

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      Label Stack Element                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      Label Stack Element                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

[NOBO] It would be good to clarify what "Label Stack Element" is. Is it the
4 octet index defining the offset in the SID/Index space? Potentially, we
can benefit from referencing a document that describes its details (e.g.,
draft-ietf-isis-segment-routing-extensions).


Section 3.3 & Section 4

   Section 3.3

   When LSP ping is used to bootstrap BFD session this document updates
   this and defines that LSP Ping MUST include the FEC corresponding to
   the destination segment and SHOULD NOT include FECs corresponding to
   some or all of segment imposed by the initiator. Operationally such
   restriction would not cause any problem or uncertainty as LSP ping
   with FECs corresponding to some or all segments or traceroute may
   preceed the LSP ping that bootstraps the BFD session.

   Section 4

   In network presented in Figure 4 node A monitors two tunnels to node
   H: A-B-C-D-G-H and A-B-E-F-G-H. To bootstrap BFD session to monitor
   the first tunnel, node A MUST include BFD Discriminator TLV with
   Discriminator value N and MAY include BFD Reverse Path TLV that
   references H-G-D-C-B-A tunnel. To bootstrap BFD session to monitor
   the second tunnel, node A MUST include BFD Discriminator TLV with
   Discriminator value M and MAY include BFD Reverse Path TLV that
   references H-G-F-E-B-A tunnel.

[NOBO] Since FEC in the MPLS Echo Request will only carry the last SID,
there is no way for the egress to distinguish the incoming BFD session
bootstrapping request for A-B-C-D-G-H and A-B-E-F-G-H, if we go by RFC5884.
By RFC5884, it would be one BFD session that overrides the old (i.e., FEC
in both bootstrap requests are the same). If you want the procedures to
work, you'll need to reference draft-ietf-bfd-rfc5884-clarifications where
BFD discriminator becomes a demux key on the egress.


Section 4

   If an operator needs node H to monitor path to node A, e.g.
   H-G-D-C-B-A tunnel, then by looking up list of known Reverse Paths it
   MAY find and use existing BFD sessions.

[NOBO] There is a small window where both sides will end up initiating the
BFD session bootstrapping. Do we want this document to clarify that
scenario or leave it be?


Section 3.2 & Section 5.2

   Section 3.2

   IPv6 can be data plane of choice for Segment Routed tunnels
   [I-D.previdi-6man-segment-routing-header]. In such networks the BFD
   Reverse Path TLV described in Section 3.1.1 can be used as well. IP
   networks, unlike IP/MPLS, do not require use of LSP ping with BFD
   Discriminator TLV[RFC4379] to bootstrap BFD session. But to specify
   reverse path of a BFD session in IPv6 environment the BFD
   Discriminator TLV MUST be used along with the BFD Reverse Path TLV.
   The BFD Reverse Path TLV in IPv6 network MUST include sub-TLV.

   Section 5.2

   The IANA is requested to assign two new sub-TLV types from
   "Multiprotocol Label Switching Architecture (MPLS) Label Switched
   Paths (LSPs) Ping Parameters - TLVs" registry, "Sub-TLVs for TLV
   Types 1, 16, and 21" sub-registry.

    +----------+-------------------------------------+---------------+
     | Value    | Description                         | Reference     |
    +----------+-------------------------------------+---------------+
     | X (TBD2) | Segment Routing MPLS Tunnel sub-TLV | This document |
     | X (TBD3) | Segment Routing IPv6 Tunnel sub-TLV | This document |
    +----------+-------------------------------------+---------------+

[NOBO] We are allocating "Segment Routing IPv6 Tunnel sub-TLV" in the LSP
ping registry, but section 3.2 seems to indicate that we are not using LSP
ping to bootstrap the BFD session. So ... I'm a bit confused. If we are
using something else, besides LSP ping, to bootstrap BFD sessions for IPv6
Segment Routing, then are we allocating this Sub-TLV in the wrong registry
space?


General

[NOBO] For the IP/MPLS case, if we want the egress to use BFD session over
specified segment stack, then it would be best for the IP header to carry
127/8. Otherwise, incorrectly popped segment stack can still result in the
BFD packets to be received back by the ingress node.

Thanks!

-Nobo