SPRING Working Group                                      R. Gandhi, Ed.
Internet-Draft                                                    Z. Ali
Intended status: Standards Track                             C. Filsfils
Expires: October 27, 2019                                   F. Brockners
                                                     Cisco Systems, Inc.
                                                                  B. Wen
                                                                V. Kozak
                                                                 Comcast
                                                          April 25, 2019


          Segment Routing with MPLS Data Plane Encapsulation
                         for In-situ OAM Data
                  draft-gandhi-spring-ioam-sr-mpls-01


Abstract

   In-situ Operations, Administration, and Maintenance (IOAM) records
   operational and telemetry information in the data packet while the
   packet traverses a path between two points in the network.  This
   document defines how IOAM data fields are transported with the
   Segment Routing with MPLS data plane (SR-MPLS) encapsulation.

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 http://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."

Copyright Notice

   Copyright (c) 2019 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents



Gandhi, et al.          Expires October 27, 2019                [Page 1]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


   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
   2.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  Requirement Language . . . . . . . . . . . . . . . . . . .  3
     2.2.  Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  3
   3.  IOAM Data Field Encapsulation in SR-MPLS Header  . . . . . . .  3
   4.  Procedure  . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     4.1.  IOAM Indicator Label . . . . . . . . . . . . . . . . . . .  5
     4.2.  Hashing Function . . . . . . . . . . . . . . . . . . . . .  5
     4.3.  Node Capability  . . . . . . . . . . . . . . . . . . . . .  5
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  5
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  6
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  6
   8.  Normative References . . . . . . . . . . . . . . . . . . . . .  7
   Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  7



1.  Introduction

   In-situ Operations, Administration, and Maintenance (IOAM) records
   OAM information within the packet while the packet traverses a
   particular network domain.  The term "in-situ" refers to the fact
   that the IOAM data fields are added to the data packets rather than
   being sent within probe packets specifically dedicated to OAM.

   Segment Routing (SR) leverages the source routing paradigm
   [I-D.ietf-spring-segment-routing-mpls].  A node steers a packet
   through a controlled set of instructions, called segments, by pre-
   pending the packet with an SR header.  In the MPLS data plane, the SR
   header is instantiated through a label stack.  This document defines
   how IOAM data fields are transported with the SR with MPLS data plane
   (SR-MPLS) encapsulation.

   The IOAM data fields carried are defined in
   [I-D.ietf-ippm-ioam-data], and can be used for various use-cases
   including Performance Measurement (PM).




Gandhi, et al.          Expires October 27, 2019                [Page 2]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


2.  Conventions

2.1.  Requirement Language

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

2.2.  Abbreviations

   Abbreviations used in this document:

   IOAM      In-situ Operations, Administration, and Maintenance

   OAM       Operations, Administration, and Maintenance

   PM        Performance Measurement

   PoT       Proof-of-Transit

   SR        Segment Routing

   SR-MPLS   Segment Routing with MPLS Data plane


3.  IOAM Data Field Encapsulation in SR-MPLS Header

   SR-MPLS encapsulation is defined in
   [I-D.ietf-spring-segment-routing-mpls].  IOAM data fields are carried
   in the SR-MPLS header, as IOAM data fields.  The different IOAM data
   fields defined in [I-D.ietf-ippm-ioam-data] are added as TLVs.  More
   than one TLVs can be present in the IOAM data fields.  The IOAM
   Indicator Label is added at the bottom of the MPLS label stack (S
   flag set to 1) to indicate the presence of the IOAM data fields in
   the MPLS header.















Gandhi, et al.          Expires October 27, 2019                [Page 3]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  IOAM Indicator Label                   | TC  |S| TTL         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |  IOAM-Type    | IOAM HDR LEN  |    RESERVED                   |  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  I
   !                                                               |  O
   !                                                               |  A
   ~                 IOAM Option and Data Space                    ~  M
   |                                                               |  |
   |                                                               |  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |                                                               |
   |                                                               |
   |                 Payload + Padding (L2/L3/ESP/...)             |
   |                                                               |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Figure 1: IOAM data encapsulation in SR-MPLS Header

   IOAM Indicator Label as defined in Section 4.1.

   The fields related to the encapsulation of IOAM data fields in the
   SR-MPLS header are defined as follows:

    IOAM-Type:  8-bit field defining the IOAM Option type, as defined in
      Section 4 of [I-D.ietf-ippm-ioam-data].

    IOAM HDR LEN:  8-bit unsigned integer.  Length of the IOAM HDR in
      4-octet units.

    RESERVED:  8-bit reserved field MUST be set to zero upon
      transmission and ignored upon receipt.

    IOAM Option and Data Space:  IOAM option header and data is present
      as defined by the IOAM-Type field, and is defined in Section 4 of
      [I-D.ietf-ippm-ioam-data].


4.  Procedure

   This section summarizes the procedure for IOAM data encapsulation in
   SR-MPLS.

   o  The ingress node inserts the IOAM Indicator Label and one or more



Gandhi, et al.          Expires October 27, 2019                [Page 4]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


      IOAM TLV(s) in the MPLS header.

   o  The egress node "forwards and punts the timestamped copy" of the
      data packet including IOAM TLVs when the node recognizes the IOAM
      Indicator Label.

   o  The egress node also pops the IOAM Indicator Label and the IOAM
      TLVs from the MPLS header.

4.1.  IOAM Indicator Label

   The IOAM Indicator Label can be a allocated using one of the
   following methods:

   o  Label assigned by IANA with value TBA1.

   o  Label allocated by a controller from the global table of the
      egress node.  The controller provisions the label on both ingress
      and egress nodes.

   o  Label allocated by the egress node from the global label table of
      the egress node.  The signaling extension for this is outside the
      scope of this document.

4.2.  Hashing Function

   The ingress node needs to make sure the IOAM TLV does not start with
   a well known protocol type (e.g. 0x4 for IPv4 and 0x6 for IPv6) and
   does not alter the hashing function that uses the IP header.

   Note that the hashing function that uses the label values from the
   MPLS header may also now include the IOAM Indicator Label.

4.3.  Node Capability

   The egress node that has to pop the IOAM Indicator Label, TLVs, and
   perform the IOAM function may not be capable of supporting it.  The
   ingress node needs to know if the egress node can support the IOAM
   function.  The signaling extension for this capability exchange is
   outside the scope of this document.


5.  IANA Considerations

   IANA maintains the "Special-Purpose Multiprotocol Label Switching
   (MPLS) Label Values" registry (see
   <https://www.iana.org/assignments/mpls-label-values/mpls-label-
   values.xml>).  IANA is requested to allocate IOAM Indicator Label



Gandhi, et al.          Expires October 27, 2019                [Page 5]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


   value from the "Special-Purpose MPLS Label Values" registry:

    +---------------+-------------------------+---------------+
    | Value         | Description             | Reference     |
    +---------------+-------------------------+---------------+
    | TBA1          | IOAM Indicator Label    | This document |
    +---------------+-------------------------+---------------+


6.  Security Considerations

   The security considerations of SR-MPLS are discussed in
   [I-D.ietf-spring-segment-routing-mpls], and the security
   considerations of IOAM in general are discussed in
   [I-D.ietf-ippm-ioam-data].

   IOAM is considered a "per domain" feature, where one or several
   operators decide on leveraging and configuring IOAM according to
   their needs.  Still, operators need to properly secure the IOAM
   domain to avoid malicious configuration and use, which could include
   injecting malicious IOAM packets into a domain.


7.  Acknowledgements

   The authors would like to thank Shwetha Bhandari and Vengada Prasad
   Govindan for the discussions on IOAM.
























Gandhi, et al.          Expires October 27, 2019                [Page 6]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


8.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", RFC 8174, May 2017.

   [I-D.ietf-spring-segment-routing-mpls]  Bashandy, A., Filsfils, C.,
              Previdi, S., Decraene, B., Litkowski, S., and R. Shakir,
              "Segment Routing with MPLS data plane",
              draft-ietf-spring-segment-routing-mpls, work in progress.

   [I-D.ietf-ippm-ioam-data]  Brockners, F., Bhandari, S., Pignataro,
              C., Gredler, H., Leddy, J., Youell, S., Mizrahi, T.,
              Mozes, D., Lapukhov, P., Chang, R., and Bernier, D., "Data
              Fields for In-situ OAM", draft-ietf-ippm-ioam-data, work
              in progress.



Contributors

   Sagar Soni
   Cisco Systems, Inc.
   Email: sagsoni@cisco.com


   Patrick Khordoc
   Cisco Systems, Inc.
   Email: pkhordoc@cisco.com


Authors' Addresses

   Rakesh Gandhi (editor)
   Cisco Systems, Inc.
   Canada

   Email: rgandhi@cisco.com


   Zafar Ali
   Cisco Systems, Inc.

   Email: zali@cisco.com




Gandhi, et al.          Expires October 27, 2019                [Page 7]


Internet-Draft     In-situ OAM for SR-MPLS Data plane     April 25, 2019


   Clarence Filsfils
   Cisco Systems, Inc.
   Belgium

   Email: cf@cisco.com


   Frank Brockners
   Cisco Systems, Inc.
   Hansaallee 249, 3rd Floor
   DUESSELDORF, NORDRHEIN-WESTFALEN  40549
   Germany

   Email: fbrockne@cisco.com


   Bin Wen
   Comcast

   Email: Bin_Wen@cable.comcast.com


   Voitek Kozak
   Comcast

   Email: Voitek_Kozak@comcast.com

























Gandhi, et al.          Expires October 27, 2019                [Page 8]