Skip to main content

Segment Routing Header encapsulation for In-situ OAM Data
draft-ali-spring-ioam-srv6-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Zafar Ali , Rakesh Gandhi , Clarence Filsfils , Frank Brockners , Nagendra Kumar Nainar , Carlos Pignataro , Cheng Li , Mach Chen , Gaurav Dawra
Last updated 2019-07-08
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ali-spring-ioam-srv6-01
SPRING Working Group                                              Z. Ali
Internet-Draft                                                 R. Gandhi
Intended status: Standards Track                             C. Filsfils
Expires: January 9, 2020                                    F. Brockners
                                                               N. Nainar
                                                            C. Pignataro
                                                     Cisco Systems, Inc.
                                                                   C. Li
                                                                 M. Chen
                                                                  Huawei
                                                                G. Dawra
                                                                LinkedIn
                                                            July 8, 2019

       Segment Routing Header encapsulation for In-situ OAM Data
                      draft-ali-spring-ioam-srv6-01

Abstract

   OAM and PM information from the SR endpoints can be piggybacked in
   the data packet.  The OAM and PM information piggybacking in the data
   packets is also known as In-situ OAM (IOAM). 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 as part of the
   Segment Routing with IPv6 data plane (SRv6) header.

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) 2018 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
 

Ali, et al.              Expires January 9, 2020                 [Page 1]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 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.  OAM Metadata Piggybacked in Data Packets  . . . . . . . . .. .  4
     3.1 IOAM Data Field Encapsulation in SRH . . . . . . . . . . . .  4
   4.  Procedure  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1.  Ingress Node . . . . . . . . . . . . . . . . . . . . . . .  5
     4.2.  SR Segment Endpoint Node . . . . . . . . . . . . . . . . .  5
     4.3.  Egress Node  . . . . . . . . . . . . . . . . . . . . . . .  6
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  6
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  6
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  6
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     8.1.  Normative References . . . . . . . . . . . . . . . . . . .  7
     8.2.  Informative References . . . . . . . . . . . . . . . . . .  7
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  8

1.  Introduction

   OAM and PM information from the SR endpoints can be piggybacked in
   the data packet.  The OAM and PM information piggybacking in the data
   packets is also known as In-situ OAM (IOAM). 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.

   This document defines how IOAM data fields are transported as part of
   the Segment Routing with IPv6 data plane (SRv6) header
   [I-D.6man-segment-routing-header].

   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) and Proof-of-Transit (PoT).

 

Ali, et al.              Expires January 9, 2020                 [Page 2]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 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

   SRH     SRv6 Header

   SRv6    Segment Routing with IPv6 Data plane

 

Ali, et al.              Expires January 9, 2020                 [Page 3]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 2019

3. OAM Metadata Piggybacked in Data Packets

   OAM and PM information from the SR endpoints can be piggybacked in
   the data packet.  The OAM and PM information piggybacking in the data
   packets is also known as In-situ OAM (IOAM).  This section describes
   iOAM functionality in SRv6 network.

   The IOAM data is carried in SRH.TLV.  This enables the IOAM mechanism
   to build on the network programmability capability of SRv6.  The
   ability for an SRv6 endpoint to determine whether to
   process or ignore some specific SRH TLVs is based on the SID 
   function.  This enables collection of the IOAM information from the
   intermediate endpoint nodes of choice.  The nodes that are not
   capable of supporting the IOAM functionality does not have to look or
   process SRH TLV (i.e., such nodes can simply ignore the SRH IOAM
   TLV).    

3.1  IOAM Data Field Encapsulation in SRH

   The SRv6 encapsulation header (SRH) is defined in [I-D.ietf-6man-
   segment-routing-header].  IOAM data fields are carried in the SRH,
   using a single pre-allocated SRH TLV.  The different IOAM data fields
   defined in [I-D.ietf-ippm-ioam-data] are added as sub-TLVs.

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

   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 1: IOAM data encapsulation in SRH

   SRH-TLV-Type: IOAM TLV Type for SRH is defined as TBA1.

   The fields related to the encapsulation of IOAM data fields in the
   SRH are defined as follows:

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

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

Ali, et al.              Expires January 9, 2020                 [Page 4]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 2019

   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
   SRv6 SRH.  The SR nodes implementing the IOAM functionality follows
   the MTU and other considerations outlined in
   [I-D.6man-extension-header-insertion].

4.1.  Ingress Node

   As part of the SRH encapsulation, the ingress node of an SR domain or
   an SR Policy [I-D.ietf-spring-segment-routing-policy] MAY add the
   IOAM TLV in the SRH of the data packet.  If an ingress node supports
   IOAM functionality and, based on a local configuration, wants to
   collect IOAM data, it adds IOAM TLV in the SRH.  Based on the size of
   the segment list (SL), the ingress node preallocates space in the
   IOAM TLV.

   If IOAM data from the last node in the segment-list (Egress node) is
   desired, the ingress uses an Ultimate Segment Pop (USP) SID
   advertised by the Egress node.

   The ingress node may also insert the IOAM data about the local
   information in the IOAM TLV in the SRH at index 0 of the preallocated
   IOAM TLV.

4.2.  Intermediate SR Segment Endpoint Node

   The SR segment endpoint node is any node receiving an IPv6 packet
   where the destination address of that packet is a local SID.  As part
   of the SR Header processing as described in [I-D.ietf-6man-segment-
   routing-header] and [I-D.ietf-spring-srv6-network-programming], the
   SR Segment Endpoint node performs the following IOAM operations.

   If an intermediate SR segment endpoint node is not capable of
   processing IOAM TLV, it simply ignores it.  I.e., it does not have to
   look or process SRH TLV.

   If an intermediate SR segment endpoint node is capable of processing
   IOAM TLV and the local SID supports IOAM data recording, it checks if
   any SRH TLV is present in the packet using procedures defined in [I-
   D.ietf-6man-segment-routing-header].  If the node finds IOAM TLV in
   the SRH it finds the local index at which it is expected to record
   the IOAM data.  The local index is found using the SRH.SL field.  The
   node records the IOAM data at the desired preallocated space.

Ali, et al.              Expires January 9, 2020                 [Page 5]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 2019

4.3.  Egress Node

   The Egress node is the last node in the segment-list of the SRH.
   When IOAM data from the Egress node is desired, a USP SID advertised
   by the Egress node is used by the Ingress node.

   The processing of IOAM TLV at the Egress node is similar to the
   processing of IOAM TLV at the SR Segment Endpoint Node.  The only
   difference is that the Egress node may telemeter the IOAM data to an
   external entity.

5.  IANA Considerations

   IANA is requested to allocate a mutable SRH TLV Type for IOAM TLV data fields
   under registry name "Segment Routing Header TLVs" requested by [I-
   D.6man-segment-routing-header].

    +--------------+--------------------------+---------------+
    | SRH TLV Type | Description              | Reference     |
    +--------------+--------------------------+---------------+
    | TBA1 Greater | TLV for IOAM Data Fields | This document |
    | than 128     |                          |               |
    +--------------+--------------------------+---------------+

6.  Security Considerations

   The security considerations of SRv6 are discussed in
   [I-D.spring-srv6-network-programming] and
   [I-D.6man-segment-routing-header], 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.

 

Ali, et al.              Expires January 9, 2020                 [Page 6]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 2019

8.  References

8.1.  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.spring-srv6-network-programming]  Filsfils, C. et al. "SRv6
              Network Programming",
              draft-filsfils-spring-srv6-network-programming, work in
              progress.

   [I-D.6man-segment-routing-header]  Previdi, S., Filsfils, C. et al,
              "IPv6 Segment Routing Header (SRH)",
              draft-ietf-6man-segment-routing-header, 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.

   [I-D.spring-segment-routing-policy]  Filsfils, C., et al., "Segment
              Routing Policy Architecture",
              draft-ietf-spring-segment-routing-policy, work in
              progress.

8.2.  Informative References

   [I-D.6man-extension-header-insertion]  D. Voyer, et al., "Insertion
              of IPv6 Segment Routing Headers in a Controlled Domain",
              draft-voyer-6man-extension-header-insertion, work in
              progress.

 

Ali, et al.              Expires January 9, 2020                 [Page 7]
Internet-Draft       In-situ OAM SRv6 encapsulation     July 8, 2019

Authors' Addresses

   Zafar Ali
   Cisco Systems, Inc.

   Email: zali@cisco.com

   Rakesh Gandhi
   Cisco Systems, Inc.
   Canada

   Email: rgandhi@cisco.com

   Clarence Filsfils
   Cisco Systems, Inc.
   Belgium

   Email: cf@cisco.com

   Frank Brockners
   Cisco Systems, Inc.
   Germany

   Email: fbrockne@cisco.com

   Nagendra Kumar Nainar
   Cisco Systems, Inc.

   Email: naikumar@cisco.com

   Carlos Pignataro
   Cisco Systems, Inc.

   Email: cpignata@cisco.com

   Cheng Li
   Huawei

   Email: chengli13@huawei.com

   Mach(Guoyi) Chen
   Huawei

   Email: mach.chen@huawei.com

   Gaurav Dawra
   LinkedIn

   Email: gdawra.ietf@gmail.com

Ali, et al.              Expires January 9, 2020                 [Page 8]