[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03

SPRING Working Group                                           G. Mirsky
Internet-Draft                                                 ZTE Corp.
Intended status: Standards Track                             J. Tantsura
Expires: June 7, 2018                                         Individual
                                                           I. Varlashkin
                                                                  Google
                                                                 M. Chen
                                                                  Huawei
                                                        December 4, 2017


  Bidirectional Forwarding Detection (BFD) in Segment Routing Networks
                          Using MPLS Dataplane
                       draft-mirsky-spring-bfd-03

Abstract

   Segment Routing architecture leverages the paradigm of source
   routing.  It can be realized in the Multiprotocol Label Switching
   (MPLS) network without any change to the data plane.  A segment is
   encoded as an MPLS label and an ordered list of segments is encoded
   as a stack of labels.  Bidirectional Forwarding Detection (BFD) is
   expected to monitor any kind of paths between systems.  This document
   defines how to use Label Switched Path Ping to bootstrap and control
   path in reverse direction of a BFD session on the Segment Routing
   static MPLS tunnel.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on June 7, 2018.








Mirsky, et al.            Expires June 7, 2018                  [Page 1]


Internet-Draft             BFD in SPRING MPLS              December 2017


Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   3
       1.1.1.  Terminology . . . . . . . . . . . . . . . . . . . . .   3
       1.1.2.  Requirements Language . . . . . . . . . . . . . . . .   3
   2.  Bootstrapping BFD session over Segment Routed tunnel  . . . .   3
   3.  Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel  . .   4
   4.  Use Non-FEC Path TLV  . . . . . . . . . . . . . . . . . . . .   4
   5.  BFD Reverse Path TLV over Segment Routed MPLS Tunnel with
       Dynamic Control Plane . . . . . . . . . . . . . . . . . . . .   6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
     6.1.  Segment Routing Static MPLS Tunnel sub-TLV  . . . . . . .   6
     6.2.  Return Code . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [RFC5880], [RFC5881], and [RFC5883] established the Bidirectional
   Forwarding Detection (BFD) protocol for IP networks.  [RFC5884] and
   [RFC7726] set rules of using BFD Asynchronous mode over Multiprotocol
   Label Switching (MPLS) Label Switched Path (LSP).  These latter
   standards implicitly assume that the egress BFD peer, which is the
   egress Label Edge Router (LER), will use the shortest path route
   regardless of the path the ingress LER uses to send BFD control
   packets towards it.





Mirsky, et al.            Expires June 7, 2018                  [Page 2]


Internet-Draft             BFD in SPRING MPLS              December 2017


   This document defines use of LSP Ping for Segment Routing networks
   over MPLS dataplane [I-D.ietf-mpls-spring-lsp-ping] to bootstrap and
   control path of a BFD session from the egress to ingress LER using
   static MPLS tunnel.

1.1.  Conventions used in this document

1.1.1.  Terminology

   BFD: Bidirectional Forwarding Detection

   FEC: Forwarding Equivalence Class

   MPLS: Multiprotocol Label Switching

   LSP: Label Switching Path

   LER: Label Edge Router

1.1.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Bootstrapping BFD session over Segment Routed tunnel

   As demonstrated in [I-D.ietf-mpls-spring-lsp-ping] introduction of
   Segment Routing network domains with an MPLS data plane requires
   three new sub-TLVs that MAY be used with Target Forwarding
   Equivalence Class (FEC) TLV.  Section 6.1 addresses use of the new
   sub-TLVs in Target FEC TLV in LSP ping and LSP traceroute.  For the
   case of LSP ping the [I-D.ietf-mpls-spring-lsp-ping] states that:

      Initiator MUST include FEC(s) corresponding to the destination
      segment.

      Initiator, i.e. ingress LSR, MAY include FECs corresponding to
      some or all of segments imposed in the label stack by the ingress
      LSR to communicate the segments traversed.

   It has been noted in [RFC5884] that a BFD session monitors for
   defects particular <MPLS LSP, FEC> tuple.  [RFC7726] clarified how to
   establish and operate multiple BFD sessions for the same <MPLS LSP,
   FEC> tuple.  Because only ingress edge router is aware of the SR-
   based explicit route the egress edge router can associate the LSP



Mirsky, et al.            Expires June 7, 2018                  [Page 3]


Internet-Draft             BFD in SPRING MPLS              December 2017


   ping with BFD Discriminator TLV with only one of the FECs it
   advertised for the particular segment.  Thus this document clarifies
   that:

      When LSP Ping is used to bootstrap a BFD session the FEC
      corresponding to the destination segment to be associated with the
      BFD session MUST be as the very last sub-TLV in the Target FEC
      TLV.

   Encapsulation of a BFD Control packet in Segment Routing network with
   MPLS dataplane MUST follow Section 7 [RFC5884] when IP/UDP header
   used and MUST follow Section 3.4 [RFC6428] without IP/UDP header
   being used.

3.  Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel

   For BFD over MPLS LSP case, per [RFC5884], egress LER MAY send BFD
   control packet to the ingress LER either over IP network or an MPLS
   LSP.  Similarly, for the case of BFD over p2p segment tunnel with
   MPLS data plane, the ingress LER MAY route BFD control packet over IP
   network, as described in [RFC5883], or transmit over a segment
   tunnel, as described in Section 7 [RFC5884].  In some cases there may
   be a need to direct egress BFD peer to use specific path for the
   reverse direction of the BFD session by using the BFD Reverse Path
   TLV and following all procedures as defined in
   [I-D.ietf-mpls-bfd-directed].

4.  Use Non-FEC Path TLV

   For the case of MPLS dataplane, Segment Routing Architecture
   [I-D.ietf-spring-segment-routing] explains that "a segment is encoded
   as an MPLS label.  An ordered list of segments is encoded as a stack
   of labels."  YANG Data Model for MPLS Static LSPs
   [I-D.ietf-mpls-static-yang] models outgoing MPLS labels to be imposed
   as leaf-list [RFC6020], i.e., as array of rt-types:mpls-label
   [I-D.ietf-rtgwg-routing-types].

   This document defines new optional Non-FEC Path TLV.  The format of
   the Non-FEC Path TLV is presented in Figure 1












Mirsky, et al.            Expires June 7, 2018                  [Page 4]


Internet-Draft             BFD in SPRING MPLS              December 2017


       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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Non-FEC Path TLV Type    |           Length              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                             |
       ~                        Non-FEC Path                         ~
       |                                                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: Non-FEC Path TLV Format

   Non-FEC Path TLV Type is 2 octets in length and has a value of TBD1
   (to be assigned by IANA as requested in Table 1).

   Length field is 2 octets long and defines the length in octets of the
   Non-FEC Path field.

   Non-FEC Path field contains a sub-TLV.  Any Non-FEC Path sub-TLV
   (defined in this document or to be defined in the future) for Non-FEC
   Path TLV type MAY be used in this field.  None or one sub-TLV MAY be
   included in the Non-FEC Path TLV.  If no sub-TLV has been found in
   the Non-FEC Path TLV, the egress BFD peer MUST revert to using the
   reverse path selected based on its local policy.  If there are more
   than one sub-TLV, then the Return Code in echo reply MUST be set to
   "Too Many TLVs Detected" Table 4.

   Non-FEC Path TLV MAY be used to specify the reverse path of the BFD
   session identified in the BFD Discriminator TLV.  If the Non-FEC Path
   TLV is present in the echo request message the BFD Discriminator TLV
   MUST be present as well.  If the BFD Discriminator TLV is absent when
   the Non-FEC Path TLV is included, then it MUST be treated as
   malformed Echo Request, as described in [RFC8029].

   This document defines Static Routing MPLS Tunnel sub-TLV that MAY be
   used with the Non-FEC Path TLV.  The format of the sub-TLV is
   presented in Figure 2.














Mirsky, et al.            Expires June 7, 2018                  [Page 5]


Internet-Draft             BFD in SPRING MPLS              December 2017


    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | SR MPLS Tunnel sub-TLV Type |           Length              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Label Entry 1                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Label Entry 2                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                                                             ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Label Entry N                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


               Figure 2: Segment Routing MPLS Tunnel sub-TLV

   The Segment Routing MPLS Tunnel sub-TLV Type is two octets in length,
   and has a value of TBD (to be assigned by IANA as requested in
   Section 6).

   The egress LSR MUST use the Value field as label stack for BFD
   control packets for the BFD session identified by the source IP
   address of the MPLS LSP Ping packet and the value in the BFD
   Discriminator TLV.  Label Entries MUST be in network order.

5.  BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic
    Control Plane

   When Segment Routed domain with MPLS data plane uses distributed
   tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs
   defined in [I-D.ietf-mpls-spring-lsp-ping].

6.  IANA Considerations

6.1.  Segment Routing Static MPLS Tunnel sub-TLV

   IANA is requested to assign new TLV type from the from Standards
   Action range of the registry "Multiprotocol Label Switching
   Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters -
   TLVs" as defined in the Table 1.










Mirsky, et al.            Expires June 7, 2018                  [Page 6]


Internet-Draft             BFD in SPRING MPLS              December 2017


               +-------+------------------+---------------+
               | Value | TLV Name         | Reference     |
               +-------+------------------+---------------+
               | TBD1  | Non-FEC Path TLV | This document |
               +-------+------------------+---------------+

                       Table 1: New Non-FEC Path TLV

   IANA is requested to create new Non-FEC Path sub-TLV registry for the
   Non-FEC Path TLV as described in Table 2.

   +-------------+---------------+-------------------------------------+
   | Range       |  Registration | Note                                |
   |             |   Procedures  |                                     |
   +-------------+---------------+-------------------------------------+
   | 0-16383     |   Standards   | This range is for mandatory TLVs or |
   |             |     Action    | for optional TLVs that require an   |
   |             |               | error message if not recognized.    |
   | 16384-31743 | Specification | Experimental RFC needed             |
   |             |    Required   |                                     |
   | 32768-49161 |   Standards   | This range is for optional TLVs     |
   |             |     Action    | that can be silently dropped if not |
   |             |               | recognized.                         |
   | 49162-64511 | Specification | Experimental RFC needed             |
   |             |    Required   |                                     |
   | 64512-65535 |  Private Use  |                                     |
   +-------------+---------------+-------------------------------------+

                  Table 2: Non-FEC Path sub-TLV registry

   IANA is requested to allocate following values from the Non-FEC Path
   sub-TLV registry as defined in Table 3.

      +-------+-------------------------------------+---------------+
      | Value | Description                         | Reference     |
      +-------+-------------------------------------+---------------+
      | 0     | Reserved                            | This document |
      | TBD2  | Segment Routing MPLS Tunnel sub-TLV | This document |
      | 65535 | Reserved                            | This document |
      +-------+-------------------------------------+---------------+

                Table 3: New Segment Routing Tunnel sub-TLV

6.2.  Return Code

   IANA is requested to create Non-FEC Path sub-TLV subregistry for the
   new Non-FEC Path TLV. assign a new Return Code value from the "Multi-
   Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping



Mirsky, et al.            Expires June 7, 2018                  [Page 7]


Internet-Draft             BFD in SPRING MPLS              December 2017


   Parameters" registry, "Return Codes" sub-registry, as follows using a
   Standards Action value.

          +----------+-------------------------+---------------+
          | Value    | Description             | Reference     |
          +----------+-------------------------+---------------+
          | X (TBD3] | Too Many TLVs Detected. | This document |
          +----------+-------------------------+---------------+

                         Table 4: New Return Code

7.  Security Considerations

   Security considerations discussed in [RFC5880], [RFC5884], [RFC7726],
   and [RFC8029] apply to this document.

8.  Acknowledgements

   TBD

9.  References

9.1.  Normative References

   [I-D.ietf-mpls-bfd-directed]
              Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen,
              "Bidirectional Forwarding Detection (BFD) Directed Return
              Path", draft-ietf-mpls-bfd-directed-07 (work in progress),
              June 2017.

   [I-D.ietf-mpls-spring-lsp-ping]
              Kumar, N., Pignataro, C., Swallow, G., Akiya, N., Kini,
              S., and M. Chen, "Label Switched Path (LSP) Ping/
              Traceroute for Segment Routing IGP Prefix and Adjacency
              SIDs with MPLS Data-plane", draft-ietf-mpls-spring-lsp-
              ping-13 (work in progress), October 2017.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
              Litkowski, S., and R. Shakir, "Segment Routing
              Architecture", draft-ietf-spring-segment-routing-13 (work
              in progress), October 2017.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.




Mirsky, et al.            Expires June 7, 2018                  [Page 8]


Internet-Draft             BFD in SPRING MPLS              December 2017


   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
              <https://www.rfc-editor.org/info/rfc5880>.

   [RFC5881]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881,
              DOI 10.17487/RFC5881, June 2010,
              <https://www.rfc-editor.org/info/rfc5881>.

   [RFC5883]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883,
              June 2010, <https://www.rfc-editor.org/info/rfc5883>.

   [RFC5884]  Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow,
              "Bidirectional Forwarding Detection (BFD) for MPLS Label
              Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884,
              June 2010, <https://www.rfc-editor.org/info/rfc5884>.

   [RFC6428]  Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed.,
              "Proactive Connectivity Verification, Continuity Check,
              and Remote Defect Indication for the MPLS Transport
              Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011,
              <https://www.rfc-editor.org/info/rfc6428>.

   [RFC7726]  Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S.
              Aldrin, "Clarifying Procedures for Establishing BFD
              Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726,
              DOI 10.17487/RFC7726, January 2016,
              <https://www.rfc-editor.org/info/rfc7726>.

   [RFC8029]  Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N.,
              Aldrin, S., and M. Chen, "Detecting Multiprotocol Label
              Switched (MPLS) Data-Plane Failures", RFC 8029,
              DOI 10.17487/RFC8029, March 2017,
              <https://www.rfc-editor.org/info/rfc8029>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

9.2.  Informative References

   [I-D.ietf-mpls-static-yang]
              Saad, T., Raza, K., Gandhi, R., Liu, X., Beeram, V., Shah,
              H., Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG
              Data Model for MPLS Static LSPs", draft-ietf-mpls-static-
              yang-04 (work in progress), July 2017.




Mirsky, et al.            Expires June 7, 2018                  [Page 9]


Internet-Draft             BFD in SPRING MPLS              December 2017


   [I-D.ietf-rtgwg-routing-types]
              Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger,
              "Routing Area Common YANG Data Types", draft-ietf-rtgwg-
              routing-types-17 (work in progress), October 2017.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

Authors' Addresses

   Greg Mirsky
   ZTE Corp.

   Email: gregimirsky@gmail.com


   Jeff  Tantsura
   Individual

   Email: jefftant.ietf@gmail.com


   Ilya Varlashkin
   Google

   Email: Ilya@nobulus.com


   Mach(Guoyi) Chen
   Huawei

   Email: mach.chen@huawei.com

















Mirsky, et al.            Expires June 7, 2018                 [Page 10]


Html markup produced by rfcmarkup 1.124, available from https://tools.ietf.org/tools/rfcmarkup/