Internet DRAFT - draft-xiao-ippm-ioam-conf-state

draft-xiao-ippm-ioam-conf-state







IPPM Working Group                                                X. Min
Internet-Draft                                                 G. Mirsky
Intended status: Standards Track                               ZTE Corp.
Expires: March 8, 2021                                             L. Bo
                                                           China Telecom
                                                       September 4, 2020


        Echo Request/Reply for Enabled In-situ OAM Capabilities
                   draft-xiao-ippm-ioam-conf-state-07

Abstract

   This document describes an extension to the echo request/reply
   mechanisms used in IPv6, MPLS and SFC environments, which can be used
   within an IOAM domain, allowing the IOAM encapsulating node to
   acquire the enabled IOAM capabilities of each IOAM transit node and/
   or IOAM decapsulating node.

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 March 8, 2021.

Copyright Notice

   Copyright (c) 2020 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



Min, et al.               Expires March 8, 2021                 [Page 1]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   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.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     2.2.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   3
   3.  IOAM Capabilities Formats . . . . . . . . . . . . . . . . . .   4
     3.1.  IOAM Capabilities TLV in Echo Request . . . . . . . . . .   4
     3.2.  IOAM Capabilities TLV in Echo Reply . . . . . . . . . . .   5
       3.2.1.  IOAM Pre-allocated Tracing Capabilities sub-TLV . . .   6
       3.2.2.  IOAM Incremental Tracing Capabilities sub-TLV . . . .   7
       3.2.3.  IOAM Proof of Transit Capabilities sub-TLV  . . . . .   8
       3.2.4.  IOAM Edge-to-Edge Capabilities sub-TLV  . . . . . . .   9
       3.2.5.  IOAM DEX Capabilities sub-TLV . . . . . . . . . . . .  11
       3.2.6.  IOAM End-of-Domain sub-TLV  . . . . . . . . . . . . .  11
   4.  Operational Guide . . . . . . . . . . . . . . . . . . . . . .  12
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  13
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  13
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  15

1.  Introduction

   The Data Fields for In-situ OAM (IOAM) [I-D.ietf-ippm-ioam-data]
   defines data fields for IOAM which records OAM information within the
   packet while the packet traverses a particular network domain, which
   is called an IOAM domain.  IOAM can be used to complement OAM
   mechanisms based on, e.g., ICMP or other types of probe packets, and
   IOAM mechanisms can be leveraged where mechanisms using, e.g., ICMP
   do not apply or do not offer the desired results.

   As specified in [I-D.ietf-ippm-ioam-data], within the IOAM-domain,
   the IOAM data may be updated by network nodes that the packet
   traverses.  The device which adds an IOAM data container to the
   packet to capture IOAM data is called the "IOAM encapsulating node",
   whereas the device which removes the IOAM data container is referred
   to as the "IOAM decapsulating node".  Nodes within the domain which
   are aware of IOAM data and read and/or write or process the IOAM data
   are called "IOAM transit nodes".  Both the IOAM encapsulating node
   and the decapsulating node are referred to as domain edge devices,
   which can be hosts or network devices.

   In order to add accurate IOAM data container to the packet, the IOAM
   encapsulating node needs to know the enabled IOAM capabilities at the



Min, et al.               Expires March 8, 2021                 [Page 2]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   IOAM transit nodes and/or the IOAM decapsulating node as a whole,
   e.g., how many IOAM transit nodes will add tracing data and what
   kinds of data fields will be added.

   This document describes an extension to the echo request/reply
   mechanisms used in IPv6, MPLS and SFC environments, which can be used
   within an IOAM domain, allowing the IOAM encapsulating node to
   acquire the enabled IOAM capabilities of each IOAM transit node and/
   or IOAM decapsulating node.

   The following documents contain references to the echo request/reply
   mechanisms used in IPv6, MPLS and SFC environments:

   o  [RFC4443] ("Internet Control Message Protocol (ICMPv6) for the
      Internet Protocol Version 6 (IPv6) Specification"), [RFC4884]
      ("Extended ICMP to Support Multi-Part Messages") and [RFC8335]
      ("PROBE: A Utility for Probing Interfaces")

   o  [RFC8029] ("Detecting Multiprotocol Label Switched (MPLS) Data-
      Plane Failures")

   o  [I-D.ietf-sfc-multi-layer-oam] ("Active OAM for Service Function
      Chains in Networks")

   This feature described in this document is assumedly applied to
   explicit path (strict or loose), because the precondition for this
   feature to work is that the echo request reaches each IOAM transit
   node as live traffic traverses.

2.  Conventions

2.1.  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.2.  Abbreviations

   E2E: Edge to Edge

   ICMP: Internet Control Message Protocol

   IOAM: In-situ Operations, Administration, and Maintenance

   LSP: Label Switched Path



Min, et al.               Expires March 8, 2021                 [Page 3]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   MPLS: Multi-Protocol Label Switching

   MBZ: Must Be Zero

   MTU: Maximum Transmission Unit

   NTP: Network Time Protocol

   OAM: Operations, Administration, and Maintenance

   POSIX: Portable Operating System Interface

   POT: Proof of Transit

   PTP: Precision Time Protocol

   SFC: Service Function Chain

   TTL: Time to Live

3.  IOAM Capabilities Formats

3.1.  IOAM Capabilities TLV in Echo Request

   In echo request IOAM Capabilities uses TLV (Type-Length-Value tuple)
   which have the following format:


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type = IOAM Capabilities   |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Namespace-IDs Length     |              MBZ              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                                                               .
   .                    List of Namespace-IDs                      .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


              Figure 1: IOAM Capabilities TLV in Echo Request

   When this TLV is present in the echo request sent by an IOAM
   encapsulating node, it means that the IOAM encapsulating node
   requests the receiving node to reply with its enabled IOAM
   capabilities.  If there is no IOAM capability to be reported by the
   receiving node, then this TLV SHOULD be ignored by the receiving



Min, et al.               Expires March 8, 2021                 [Page 4]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   node, which means the receiving node SHOULD send echo reply without
   IOAM capabilities or no echo reply, in the light of whether the echo
   request includes other TLV than IOAM Capabilities TLV.  List of
   Namespace-IDs MAY be included in this TLV of echo request, it means
   that the IOAM encapsulating node requests only the IOAM capabilities
   which matches one of the Namespace-IDs.  The Namespace-ID has the
   same definition as what's specified in [I-D.ietf-ippm-ioam-data].

   Type is set to the value which indicates that it's an IOAM
   Capabilities TLV.

   Length is the length of the TLV's Value field in octets, Namespace-
   IDs Length is the Length of the List of Namespace-IDs field in
   octets.

   Value field of this TLV is zero padded to align to a 4-octet
   boundary.

3.2.  IOAM Capabilities TLV in Echo Reply

   In echo reply IOAM Capabilities uses TLV which have the following
   format:


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type = IOAM Capabilities   |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Sub-TLVs Length        |              MBZ              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                                                               .
   .                      List of Sub-TLVs                         .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


               Figure 2: IOAM Capabilities TLV in Echo Reply

   When this TLV is present in the echo reply sent by an IOAM transit
   node and/or an IOAM decapsulating node, it means that IOAM function
   is enabled at this node and this TLV contains the enabled IOAM
   capabilities of the sender.  List of Sub-TLVs which contain the IOAM
   capabilities SHOULD be included in this TLV of the echo reply.  Note
   that the IOAM encapsulating node or the IOAM decapsulating node can
   also be an IOAM transit node.





Min, et al.               Expires March 8, 2021                 [Page 5]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   Type is set to the value which indicates that it's an IOAM
   Capabilities TLV.

   Length is the length of the TLV's Value field in octets, Sub-TLVs
   Length is the length of the List of Sub-TLVs field in octets.

   Value field of this TLV or any Sub-TLV is zero padded to align to a
   4-octet boundary.  Based on the data fields for IOAM specified in
   [I-D.ietf-ippm-ioam-data], five kinds of Sub-TLVs are defined in this
   document, and in an IOAM Capabilities TLV the same kind of Sub-TLV
   can appear more times than one with different Namespace-ID.  Note
   that the IOAM encapsulating node may receive both IOAM Pre-allocated
   Tracing Capabilities sub-TLV and IOAM Incremental Tracing
   Capabilities sub-TLV in the process of traceroute, which means both
   pre-allocated tracing node and incremental tracing node are on the
   same path, or some node supports both pre-allocated tracing and
   incremental tracing, the behavior of the IOAM encapsulating node in
   this scenario is outside the scope of this document.

3.2.1.  IOAM Pre-allocated Tracing Capabilities sub-TLV


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Sub-type = Pre-allocated trace |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               IOAM-Trace-Type                 |    Reserved   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Namespace-ID          |          Egress_MTU           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Egress_if_id (short or wide format)         ......           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


         Figure 3: IOAM Pre-allocated Tracing Capabilities Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM transit node and IOAM tracing
   function is enabled at this IOAM transit node.

   Sub-type is set to the value which indicates that it's an IOAM Pre-
   allocated Tracing Capabilities sub-TLV.

   Length is the length of the sub-TLV's Value field in octets, if
   Egress_if_id is in the short format which is 16 bits long, it MUST be
   set to 10, and if Egress_if_id is in the wide format which is 32 bits
   long, it MUST be set to 12.



Min, et al.               Expires March 8, 2021                 [Page 6]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   IOAM-Trace-Type field has the same definition as what's specified in
   section 4.4 of [I-D.ietf-ippm-ioam-data].

   Reserved field is reserved for future use and MUST be set to zero.

   Namespace-ID field has the same definition as what's specified in
   section 4.4 of [I-D.ietf-ippm-ioam-data], it should be one of the
   Namespace-IDs listed in the IOAM Capabilities TLV of echo request.

   Egress_MTU field has 16 bits and specifies the MTU of the egress
   direction out of which the sending node would forward the received
   echo request, it should be the MTU of the egress interface or the MTU
   between the sending node and the downstream IOAM transit node.

   Egress_if_id field has 16 bits (in short format) or 32 bits (in wide
   format) and specifies the identifier of the egress interface out of
   which the sending node would forward the received echo request.

3.2.2.  IOAM Incremental Tracing Capabilities sub-TLV


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Sub-type = Incremental trace  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               IOAM-Trace-Type                 |     Reserved  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Namespace-ID          |          Egress_MTU           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Egress_if_id (short or wide format)         ......           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


          Figure 4: IOAM Incremental Tracing Capabilities Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM transit node and IOAM tracing
   function is enabled at this IOAM transit node.

   Sub-type is set to the value which indicates that it's an IOAM
   Incremental Tracing Capabilities sub-TLV.

   Length is the length of the sub-TLV's Value field in octets, if
   Egress_if_id is in the short format which is 16 bits long, it MUST be
   set to 10, and if Egress_if_id is in the wide format which is 32 bits
   long, it MUST be set to 12.




Min, et al.               Expires March 8, 2021                 [Page 7]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   IOAM-Trace-Type field has the same definition as what's specified in
   section 4.4 of [I-D.ietf-ippm-ioam-data].

   Reserved field is reserved for future use and MUST be set to zero.

   Namespace-ID field has the same definition as what's specified in
   section 4.4 of [I-D.ietf-ippm-ioam-data], it should be one of the
   Namespace-IDs listed in the IOAM Capabilities TLV of echo request.

   Egress_MTU field has 16 bits and specifies the MTU of the egress
   direction out of which the sending node would forward the received
   echo request, it should be the MTU of the egress interface or the MTU
   between the sending node and the downstream IOAM transit node.

   Egress_if_id field has 16 bits (in short format) or 32 bits (in wide
   format) and specifies the identifier of the egress interface out of
   which the sending node would forward the received echo request.

3.2.3.  IOAM Proof of Transit Capabilities sub-TLV


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sub-type = POT Capabilities  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Namespace-ID           | IOAM-POT-Type |P|SoR|Reserved |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


           Figure 5: IOAM Proof of Transit Capabilities Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM transit node and IOAM proof of
   transit function is enabled at this IOAM transit node.

   Sub-type is set to the value which indicates that it's an IOAM Proof
   of Transit Capabilities sub-TLV.

   Length is the length of the sub-TLV's Value field in octets, and MUST
   be set to 4.

   Namespace-ID field has the same definition as what's specified in
   section 4.5 of [I-D.ietf-ippm-ioam-data], it should be one of the
   Namespace-IDs listed in the IOAM Capabilities TLV of echo request.

   IOAM-POT-Type field and P bit have the same definition as what's
   specified in section 4.5 of [I-D.ietf-ippm-ioam-data].  If the IOAM



Min, et al.               Expires March 8, 2021                 [Page 8]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   encapsulating node receives IOAM-POT-Type and/or P bit values from an
   IOAM transit node that are different from its own, then the IOAM
   encapsulating node MAY choose to abandon the proof of transit
   function or to select one kind of IOAM-POT-Type and P bit, it's based
   on the policy applied to the IOAM encapsulating node.

   SoR field has two bits which means the size of "Random" and
   "Cumulative" data, which are specified in section 4.5 of
   [I-D.ietf-ippm-ioam-data].  This document defines SoR as follow:

      0b00 means 64-bit "Random" and 64-bit "Cumulative" data.

      0b01~0b11: Reserved for future standardization

   Reserved field is reserved for future use and MUST be set to zero.

3.2.4.  IOAM Edge-to-Edge Capabilities sub-TLV


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sub-type = E2E Capabilities  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Namespace-ID           |         IOAM-E2E-Type         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |TSF|TSL|       Reserved        |              MBZ              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


             Figure 6: IOAM Edge-to-Edge Capabilities Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM decapsulating node and IOAM edge-to-
   edge function is enabled at this IOAM decapsulating node.  That is to
   say, if the IOAM encapsulating node receives this sub-TLV, the IOAM
   encapsulating node can determine that the node which sends this sub-
   TLV is an IOAM decapsulating node.

   Sub-type is set to the value which indicates that it's an IOAM Edge-
   to-Edge Capabilities sub-TLV.

   Length is the length of the sub-TLV's Value field in octets, and MUST
   be set to 8.

   Namespace-ID field has the same definition as what's specified in
   section 4.6 of [I-D.ietf-ippm-ioam-data], it should be one of the
   Namespace-IDs listed in the IOAM Capabilities TLV of echo request.



Min, et al.               Expires March 8, 2021                 [Page 9]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   IOAM-E2E-Type field has the same definition as what's specified in
   section 4.6 of [I-D.ietf-ippm-ioam-data].

   TSF field specifies the timestamp format used by the sending node.
   This document defines TSF as follow:

      0b00: PTP timestamp format

      0b01: NTP timestamp format

      0b10: POSIX timestamp format

      0b11: Reserved for future standardization

   TSL field specifies the timestamp length used by the sending node.
   This document defines TSL as follow:

      When TSF field is set to 0b00 which indicates PTP timestamp
      format:

      0b00: 64-bit PTPv1 timestamp as defined in IEEE1588-2008
      [IEEE1588v2]

      0b01: 80-bit PTPv2 timestamp as defined in IEEE1588-2008
      [IEEE1588v2]

      0b10~0b11: Reserved for future standardization

      When TSF field is set to 0b01 which indicates NTP timestamp
      format:

      0b00: 32-bit NTP timestamp as defined in NTPv4 [RFC5905]

      0b01: 64-bit NTP timestamp as defined in NTPv4 [RFC5905]

      0b10: 128-bit NTP timestamp as defined in NTPv4 [RFC5905]

      0b11: Reserved for future standardization

      When TSF field is set to 0b10 or 0b11, the TSL field would be
      ignored.

   Reserved field is reserved for future use and MUST be set to zero.








Min, et al.               Expires March 8, 2021                [Page 10]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


3.2.5.  IOAM DEX Capabilities sub-TLV


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sub-type = DEX Capabilities  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               IOAM-Trace-Type                 |    Reserved   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Namespace-ID          |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                  Figure 7: IOAM DEX Capabilities Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM transit node and IOAM DEX function
   is enabled at this IOAM transit node.

   Sub-type is set to the value which indicates that it's an IOAM DEX
   Capabilities sub-TLV.

   Length is the length of the sub-TLV's Value field in octets, and MUST
   be set to 8.

   IOAM-Trace-Type field has the same definition as what's specified in
   section 3.2 of [I-D.ietf-ippm-ioam-direct-export].

   Namespace-ID field has the same definition as what's specified in
   section 3.2 of [I-D.ietf-ippm-ioam-direct-export], it should be one
   of the Namespace-IDs listed in the IOAM Capabilities TLV of echo
   request.

   Reserved field is reserved for future use and MUST be set to zero.

3.2.6.  IOAM End-of-Domain sub-TLV














Min, et al.               Expires March 8, 2021                [Page 11]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Sub-type = End of Domain    |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Namespace-ID           |             MBZ               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                   Figure 8: IOAM End of Domain Sub-TLV

   When this sub-TLV is present in the IOAM Capabilities TLV, it means
   that the sending node is an IOAM decapsulating node.  That is to say,
   if the IOAM encapsulating node receives this sub-TLV, the IOAM
   encapsulating node can determine that the node which sends this sub-
   TLV is an IOAM decapsulating node.  When the IOAM Edge-to-Edge
   Capabilities sub-TLV is present in the IOAM Capabilities TLV sent by
   the IOAM decapsulating node, the IOAM End-of-Domain sub-TLV doesn't
   need to be present in the same IOAM Capabilities TLV, otherwise the
   End-of-Domain sub-TLV MUST be present in the IOAM Capabilities TLV
   sent by the IOAM decapsulating node.  Since both the IOAM Edge-to-
   Edge Capabilities sub-TLV and the IOAM End-of-Domain sub-TLV can be
   used to indicate that the sending node is an IOAM decapsulating node,
   it's recommended to include only the IOAM Edge-to-Edge Capabilities
   sub-TLV if IOAM edge-to-edge function is enabled at this IOAM
   decapsulating node.

   Length is the length of the sub-TLV's Value field in octets, and MUST
   be set to 4.

   Namespace-ID field has the same definition as what's specified in
   section 4.6 of [I-D.ietf-ippm-ioam-data], it should be one of the
   Namespace-IDs listed in the IOAM Capabilities TLV of echo request.

4.  Operational Guide

   Once the IOAM encapsulating node is triggered to acquire the enabled
   IOAM capabilities of each IOAM transit node and/or IOAM decapsulating
   node, the IOAM encapsulating node will send a batch of echo requests
   that include the IOAM Capabilities TLV, first with TTL equal to 1 to
   reach the nearest node which may be an IOAM transit node or not, then
   with TTL equal to 2 to reach the second nearest node which also may
   be an IOAM transit node or not, on the analogy of this to increase 1
   to TTL every time the IOAM encapsulating node sends a new echo
   request, until the IOAM encapsulating node receives echo reply sent
   by the IOAM decapsulating node, which should contain the IOAM
   Capabilities TLV including the IOAM Edge-to-Edge Capabilities sub-TLV
   or the IOAM End-of-Domain sub-TLV.  Alternatively, if the IOAM



Min, et al.               Expires March 8, 2021                [Page 12]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   encapsulating node knows exactly all the IOAM transit nodes and/or
   IOAM decapsulating node beforehand, once the IOAM encapsulating node
   is triggered to acquire the enabled IOAM capabilities, it can send
   echo request to each IOAM transit node and/or IOAM decapsulating node
   directly, without TTL expiration.

   The IOAM encapsulating node may be triggered by the device
   administrator, the network management system, the network controller,
   or even the live user traffic, and the specific triggering mechanisms
   are outside the scope of this document.

   Each IOAM transit node and/or IOAM decapsulating node that receives
   an echo request containing the IOAM Capabilities TLV will send an
   echo reply to the IOAM encapsulating node, and within the echo reply,
   there should be an IOAM Capabilities TLV containing one or more sub-
   TLVs.  The IOAM Capabilities TLV contained in the echo request would
   be ignored by the receiving node that is unaware of IOAM.

5.  Security Considerations

   Knowledge of the state of the IOAM domain may be considered
   confidential.  Implementations SHOULD provide a means of filtering
   the addresses to which echo request/reply may be sent.

6.  IANA Considerations

   This document has no IANA actions.

7.  Acknowledgements

   The authors would like to acknowledge Tianran Zhou for his careful
   review and helpful comments.

   The authors appreciate the f2f discussion with Frank Brockners on
   this document.

8.  Normative References

   [I-D.ietf-ippm-ioam-data]
              Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields
              for In-situ OAM", draft-ietf-ippm-ioam-data-10 (work in
              progress), July 2020.

   [I-D.ietf-ippm-ioam-direct-export]
              Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F.,
              Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ
              OAM Direct Exporting", draft-ietf-ippm-ioam-direct-
              export-01 (work in progress), August 2020.



Min, et al.               Expires March 8, 2021                [Page 13]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


   [I-D.ietf-sfc-multi-layer-oam]
              Mirsky, G., Meng, W., Khasnabish, B., and C. Wang, "Active
              OAM for Service Function Chains in Networks", draft-ietf-
              sfc-multi-layer-oam-06 (work in progress), June 2020.

   [IEEE1588v2]
              Institute of Electrical and Electronics Engineers, "IEEE
              Std 1588-2008 - IEEE Standard for a Precision Clock
              Synchronization Protocol for Networked Measurement and
              Control Systems",  IEEE Std 1588-2008, 2008,
              <http://standards.ieee.org/findstds/
              standard/1588-2008.html>.

   [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>.

   [RFC4443]  Conta, A., Deering, S., and M. Gupta, Ed., "Internet
              Control Message Protocol (ICMPv6) for the Internet
              Protocol Version 6 (IPv6) Specification", STD 89,
              RFC 4443, DOI 10.17487/RFC4443, March 2006,
              <https://www.rfc-editor.org/info/rfc4443>.

   [RFC4884]  Bonica, R., Gan, D., Tappan, D., and C. Pignataro,
              "Extended ICMP to Support Multi-Part Messages", RFC 4884,
              DOI 10.17487/RFC4884, April 2007,
              <https://www.rfc-editor.org/info/rfc4884>.

   [RFC5905]  Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
              "Network Time Protocol Version 4: Protocol and Algorithms
              Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
              <https://www.rfc-editor.org/info/rfc5905>.

   [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>.

   [RFC8335]  Bonica, R., Thomas, R., Linkova, J., Lenart, C., and M.
              Boucadair, "PROBE: A Utility for Probing Interfaces",
              RFC 8335, DOI 10.17487/RFC8335, February 2018,
              <https://www.rfc-editor.org/info/rfc8335>.



Min, et al.               Expires March 8, 2021                [Page 14]

Internet-Draft      Echo Request/Reply for IOAM Capa      September 2020


Authors' Addresses

   Xiao Min
   ZTE Corp.
   Nanjing
   China

   Phone: +86 25 88013062
   Email: xiao.min2@zte.com.cn


   Greg Mirsky
   ZTE Corp.
   USA

   Email: gregimirsky@gmail.com


   Lei Bo
   China Telecom
   Beijing
   China

   Phone: +86 10 50902903
   Email: leibo@chinatelecom.cn


























Min, et al.               Expires March 8, 2021                [Page 15]