idnits 2.17.1 draft-xiao-ippm-ioam-conf-state-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 29, 2020) is 1451 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-17) exists of draft-ietf-ippm-ioam-data-09 == Outdated reference: A later version (-28) exists of draft-ietf-sfc-multi-layer-oam-04 -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE1588v2' Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IPPM Working Group X. Min 3 Internet-Draft G. Mirsky 4 Intended status: Standards Track ZTE Corp. 5 Expires: October 31, 2020 L. Bo 6 China Telecom 7 April 29, 2020 9 Echo Request/Reply for Enabled In-situ OAM Capabilities 10 draft-xiao-ippm-ioam-conf-state-06 12 Abstract 14 This document describes an extension to the echo request/reply 15 mechanisms used in IPv6, MPLS and SFC environments, which can be used 16 within an IOAM domain, allowing the IOAM encapsulating node to 17 acquire the enabled IOAM capabilities of each IOAM transit node and/ 18 or IOAM decapsulating node. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on October 31, 2020. 37 Copyright Notice 39 Copyright (c) 2020 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 57 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 58 3. IOAM Capabilities Formats . . . . . . . . . . . . . . . . . . 4 59 3.1. IOAM Capabilities TLV in Echo Request . . . . . . . . . . 4 60 3.2. IOAM Capabilities TLV in Echo Reply . . . . . . . . . . . 5 61 3.2.1. IOAM Pre-allocated Tracing Capabilities sub-TLV . . . 6 62 3.2.2. IOAM Incremental Tracing Capabilities sub-TLV . . . . 7 63 3.2.3. IOAM Proof of Transit Capabilities sub-TLV . . . . . 8 64 3.2.4. IOAM Edge-to-Edge Capabilities sub-TLV . . . . . . . 9 65 3.2.5. IOAM End-of-Domain sub-TLV . . . . . . . . . . . . . 11 66 4. Operational Guide . . . . . . . . . . . . . . . . . . . . . . 11 67 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 68 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 69 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 70 8. Normative References . . . . . . . . . . . . . . . . . . . . 12 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 73 1. Introduction 75 The Data Fields for In-situ OAM (IOAM) [I-D.ietf-ippm-ioam-data] 76 defines data fields for IOAM which records OAM information within the 77 packet while the packet traverses a particular network domain, which 78 is called an IOAM domain. IOAM can be used to complement OAM 79 mechanisms based on, e.g., ICMP or other types of probe packets, and 80 IOAM mechanisms can be leveraged where mechanisms using, e.g., ICMP 81 do not apply or do not offer the desired results. 83 As specified in [I-D.ietf-ippm-ioam-data], within the IOAM-domain, 84 the IOAM data may be updated by network nodes that the packet 85 traverses. The device which adds an IOAM data container to the 86 packet to capture IOAM data is called the "IOAM encapsulating node", 87 whereas the device which removes the IOAM data container is referred 88 to as the "IOAM decapsulating node". Nodes within the domain which 89 are aware of IOAM data and read and/or write or process the IOAM data 90 are called "IOAM transit nodes". Both the IOAM encapsulating node 91 and the decapsulating node are referred to as domain edge devices, 92 which can be hosts or network devices. 94 In order to add accurate IOAM data container to the packet, the IOAM 95 encapsulating node needs to know the enabled IOAM capabilities at the 96 IOAM transit nodes and/or the IOAM decapsulating node as a whole, 97 e.g., how many IOAM transit nodes will add tracing data and what 98 kinds of data fields will be added. 100 This document describes an extension to the echo request/reply 101 mechanisms used in IPv6, MPLS and SFC environments, which can be used 102 within an IOAM domain, allowing the IOAM encapsulating node to 103 acquire the enabled IOAM capabilities of each IOAM transit node and/ 104 or IOAM decapsulating node. 106 The following documents contain references to the echo request/reply 107 mechanisms used in IPv6, MPLS and SFC environments: 109 o [RFC4443] ("Internet Control Message Protocol (ICMPv6) for the 110 Internet Protocol Version 6 (IPv6) Specification"), [RFC4884] 111 ("Extended ICMP to Support Multi-Part Messages") and [RFC8335] 112 ("PROBE: A Utility for Probing Interfaces") 114 o [RFC8029] ("Detecting Multiprotocol Label Switched (MPLS) Data- 115 Plane Failures") 117 o [I-D.ietf-sfc-multi-layer-oam] ("Active OAM for Service Function 118 Chains in Networks") 120 This feature described in this document is assumedly applied to 121 explicit path (strict or loose), because the precondition for this 122 feature to work is that the echo request reaches each IOAM transit 123 node as live traffic traverses. 125 2. Conventions 127 2.1. Requirements Language 129 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 130 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 131 "OPTIONAL" in this document are to be interpreted as described in BCP 132 14 [RFC2119] [RFC8174] when, and only when, they appear in all 133 capitals, as shown here. 135 2.2. Abbreviations 137 E2E: Edge to Edge 139 ICMP: Internet Control Message Protocol 141 IOAM: In-situ Operations, Administration, and Maintenance 143 LSP: Label Switched Path 144 MPLS: Multi-Protocol Label Switching 146 MBZ: Must Be Zero 148 MTU: Maximum Transmission Unit 150 NTP: Network Time Protocol 152 OAM: Operations, Administration, and Maintenance 154 POSIX: Portable Operating System Interface 156 POT: Proof of Transit 158 PTP: Precision Time Protocol 160 SFC: Service Function Chain 162 TTL: Time to Live 164 3. IOAM Capabilities Formats 166 3.1. IOAM Capabilities TLV in Echo Request 168 In echo request IOAM Capabilities uses TLV (Type-Length-Value tuple) 169 which have the following format: 171 0 1 2 3 172 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 173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 174 | Type = IOAM Capabilities | Length | 175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 | Namespace-IDs Length | MBZ | 177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178 . . 179 . List of Namespace-IDs . 180 . . 181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 183 Figure 1: IOAM Capabilities TLV in Echo Request 185 When this TLV is present in the echo request sent by an IOAM 186 encapsulating node, it means that the IOAM encapsulating node 187 requests the receiving node to reply with its enabled IOAM 188 capabilities. If there is no IOAM capability to be reported by the 189 receiving node, then this TLV SHOULD be ignored by the receiving 190 node, which means the receiving node SHOULD send echo reply without 191 IOAM capabilities or no echo reply, in the light of whether the echo 192 request includes other TLV than IOAM Capabilities TLV. List of 193 Namespace-IDs MAY be included in this TLV of echo request, it means 194 that the IOAM encapsulating node requests only the IOAM capabilities 195 which matches one of the Namespace-IDs. The Namespace-ID has the 196 same definition as what's specified in [I-D.ietf-ippm-ioam-data]. 198 Type is set to the value which indicates that it's an IOAM 199 Capabilities TLV. 201 Length is the length of the TLV's Value field in octets, Namespace- 202 IDs Length is the Length of the List of Namespace-IDs field in 203 octets. 205 Value field of this TLV is zero padded to align to a 4-octet 206 boundary. 208 3.2. IOAM Capabilities TLV in Echo Reply 210 In echo reply IOAM Capabilities uses TLV which have the following 211 format: 213 0 1 2 3 214 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 215 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 216 | Type = IOAM Capabilities | Length | 217 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 | Sub-TLVs Length | MBZ | 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 . . 221 . List of Sub-TLVs . 222 . . 223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 225 Figure 2: IOAM Capabilities TLV in Echo Reply 227 When this TLV is present in the echo reply sent by an IOAM transit 228 node and/or an IOAM decapsulating node, it means that IOAM function 229 is enabled at this node and this TLV contains the enabled IOAM 230 capabilities of the sender. List of Sub-TLVs which contain the IOAM 231 capabilities SHOULD be included in this TLV of the echo reply. Note 232 that the IOAM encapsulating node or the IOAM decapsulating node can 233 also be an IOAM transit node. 235 Type is set to the value which indicates that it's an IOAM 236 Capabilities TLV. 238 Length is the length of the TLV's Value field in octets, Sub-TLVs 239 Length is the length of the List of Sub-TLVs field in octets. 241 Value field of this TLV or any Sub-TLV is zero padded to align to a 242 4-octet boundary. Based on the data fields for IOAM specified in 243 [I-D.ietf-ippm-ioam-data], five kinds of Sub-TLVs are defined in this 244 document, and in an IOAM Capabilities TLV the same kind of Sub-TLV 245 can appear more times than one with different Namespace-ID. Note 246 that the IOAM encapsulating node may receive both IOAM Pre-allocated 247 Tracing Capabilities sub-TLV and IOAM Incremental Tracing 248 Capabilities sub-TLV in the process of traceroute, which means both 249 pre-allocated tracing node and incremental tracing node are on the 250 same path, or some node supports both pre-allocated tracing and 251 incremental tracing, the behavior of the IOAM encapsulating node in 252 this scenario is outside the scope of this document. 254 3.2.1. IOAM Pre-allocated Tracing Capabilities sub-TLV 256 0 1 2 3 257 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 258 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 259 |Sub-type = Pre-allocated trace | Length | 260 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 261 | IOAM-Trace-Type | Reserved | 262 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 263 | Namespace-ID | Egress_MTU | 264 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 265 | Egress_if_id (short or wide format) ...... | 266 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 268 Figure 3: IOAM Pre-allocated Tracing Capabilities Sub-TLV 270 When this sub-TLV is present in the IOAM Capabilities TLV, it means 271 that the sending node is an IOAM transit node and IOAM tracing 272 function is enabled at this IOAM transit node. 274 Sub-type is set to the value which indicates that it's an IOAM Pre- 275 allocated Tracing Capabilities sub-TLV. 277 Length is the length of the sub-TLV's Value field in octets, if 278 Egress_if_id is in the short format which is 16 bits long, it MUST be 279 set to 10, and if Egress_if_id is in the wide format which is 32 bits 280 long, it MUST be set to 12. 282 IOAM-Trace-Type field has the same definition as what's specified in 283 section 4.4 of [I-D.ietf-ippm-ioam-data]. 285 Reserved field is reserved for future use and MUST be set to zero. 287 Namespace-ID field has the same definition as what's specified in 288 section 4.4 of [I-D.ietf-ippm-ioam-data], it should be one of the 289 Namespace-IDs listed in the IOAM Capabilities TLV of echo request. 291 Egress_MTU field has 16 bits and specifies the MTU of the egress 292 direction out of which the sending node would forward the received 293 echo request, it should be the MTU of the egress interface or the MTU 294 between the sending node and the downstream IOAM transit node. 296 Egress_if_id field has 16 bits (in short format) or 32 bits (in wide 297 format) and specifies the identifier of the egress interface out of 298 which the sending node would forward the received echo request. 300 3.2.2. IOAM Incremental Tracing Capabilities sub-TLV 302 0 1 2 3 303 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 304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 | Sub-type = Incremental trace | Length | 306 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 307 | IOAM-Trace-Type | Reserved | 308 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 309 | Namespace-ID | Egress_MTU | 310 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 311 | Egress_if_id (short or wide format) ...... | 312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 314 Figure 4: IOAM Incremental Tracing Capabilities Sub-TLV 316 When this sub-TLV is present in the IOAM Capabilities TLV, it means 317 that the sending node is an IOAM transit node and IOAM tracing 318 function is enabled at this IOAM transit node. 320 Sub-type is set to the value which indicates that it's an IOAM 321 Incremental Tracing Capabilities sub-TLV. 323 Length is the length of the sub-TLV's Value field in octets, if 324 Egress_if_id is in the short format which is 16 bits long, it MUST be 325 set to 10, and if Egress_if_id is in the wide format which is 32 bits 326 long, it MUST be set to 12. 328 IOAM-Trace-Type field has the same definition as what's specified in 329 section 4.4 of [I-D.ietf-ippm-ioam-data]. 331 Reserved field is reserved for future use and MUST be set to zero. 333 Namespace-ID field has the same definition as what's specified in 334 section 4.4 of [I-D.ietf-ippm-ioam-data], it should be one of the 335 Namespace-IDs listed in the IOAM Capabilities TLV of echo request. 337 Egress_MTU field has 16 bits and specifies the MTU of the egress 338 direction out of which the sending node would forward the received 339 echo request, it should be the MTU of the egress interface or the MTU 340 between the sending node and the downstream IOAM transit node. 342 Egress_if_id field has 16 bits (in short format) or 32 bits (in wide 343 format) and specifies the identifier of the egress interface out of 344 which the sending node would forward the received echo request. 346 3.2.3. IOAM Proof of Transit Capabilities sub-TLV 348 0 1 2 3 349 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 350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 351 | Sub-type = POT Capabilities | Length | 352 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 353 | Namespace-ID | IOAM-POT-Type |P|SoR|Reserved | 354 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 356 Figure 5: IOAM Proof of Transit Capabilities Sub-TLV 358 When this sub-TLV is present in the IOAM Capabilities TLV, it means 359 that the sending node is an IOAM transit node and IOAM proof of 360 transit function is enabled at this IOAM transit node. 362 Sub-type is set to the value which indicates that it's an IOAM Proof 363 of Transit Capabilities sub-TLV. 365 Length is the length of the sub-TLV's Value field in octets, and MUST 366 be set to 4. 368 Namespace-ID field has the same definition as what's specified in 369 section 4.5 of [I-D.ietf-ippm-ioam-data], it should be one of the 370 Namespace-IDs listed in the IOAM Capabilities TLV of echo request. 372 IOAM-POT-Type field and P bit have the same definition as what's 373 specified in section 4.5 of [I-D.ietf-ippm-ioam-data]. If the IOAM 374 encapsulating node receives IOAM-POT-Type and/or P bit values from an 375 IOAM transit node that are different from its own, then the IOAM 376 encapsulating node MAY choose to abandon the proof of transit 377 function or to select one kind of IOAM-POT-Type and P bit, it's based 378 on the policy applied to the IOAM encapsulating node. 380 SoR field has two bits which means the size of "Random" and 381 "Cumulative" data, which are specified in section 4.5 of 382 [I-D.ietf-ippm-ioam-data]. This document defines SoR as follow: 384 0b00 means 64-bit "Random" and 64-bit "Cumulative" data. 386 0b01~0b11: Reserved for future standardization 388 Reserved field is reserved for future use and MUST be set to zero. 390 3.2.4. IOAM Edge-to-Edge Capabilities sub-TLV 392 0 1 2 3 393 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 394 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 395 | Sub-type = E2E Capabilities | Length | 396 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 397 | Namespace-ID | IOAM-E2E-Type | 398 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 399 |TSF|TSL| Reserved | MBZ | 400 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 Figure 6: IOAM Edge-to-Edge Capabilities Sub-TLV 404 When this sub-TLV is present in the IOAM Capabilities TLV, it means 405 that the sending node is an IOAM decapsulating node and IOAM edge-to- 406 edge function is enabled at this IOAM decapsulating node. That is to 407 say, if the IOAM encapsulating node receives this sub-TLV, the IOAM 408 encapsulating node can determine that the node which sends this sub- 409 TLV is an IOAM decapsulating node. 411 Sub-type is set to the value which indicates that it's an IOAM Edge- 412 to-Edge Capabilities sub-TLV. 414 Length is the length of the sub-TLV's Value field in octets, and MUST 415 be set to 8. 417 Namespace-ID field has the same definition as what's specified in 418 section 4.6 of [I-D.ietf-ippm-ioam-data], it should be one of the 419 Namespace-IDs listed in the IOAM Capabilities TLV of echo request. 421 IOAM-E2E-Type field has the same definition as what's specified in 422 section 4.6 of [I-D.ietf-ippm-ioam-data]. 424 TSF field specifies the timestamp format used by the sending node. 425 This document defines TSF as follow: 427 0b00: PTP timestamp format 429 0b01: NTP timestamp format 431 0b10: POSIX timestamp format 433 0b11: Reserved for future standardization 435 TSL field specifies the timestamp length used by the sending node. 436 This document defines TSL as follow: 438 When TSF field is set to 0b00 which indicates PTP timestamp 439 format: 441 0b00: 64-bit PTPv1 timestamp as defined in IEEE1588-2008 442 [IEEE1588v2] 444 0b01: 80-bit PTPv2 timestamp as defined in IEEE1588-2008 445 [IEEE1588v2] 447 0b10~0b11: Reserved for future standardization 449 When TSF field is set to 0b01 which indicates NTP timestamp 450 format: 452 0b00: 32-bit NTP timestamp as defined in NTPv4 [RFC5905] 454 0b01: 64-bit NTP timestamp as defined in NTPv4 [RFC5905] 456 0b10: 128-bit NTP timestamp as defined in NTPv4 [RFC5905] 458 0b11: Reserved for future standardization 460 When TSF field is set to 0b10 or 0b11, the TSL field would be 461 ignored. 463 Reserved field is reserved for future use and MUST be set to zero. 465 3.2.5. IOAM End-of-Domain sub-TLV 467 0 1 2 3 468 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 469 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 470 | Sub-type = End of Domain | Length | 471 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 472 | Namespace-ID | MBZ | 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 475 Figure 7: IOAM End of Domain Sub-TLV 477 When this sub-TLV is present in the IOAM Capabilities TLV, it means 478 that the sending node is an IOAM decapsulating node. That is to say, 479 if the IOAM encapsulating node receives this sub-TLV, the IOAM 480 encapsulating node can determine that the node which sends this sub- 481 TLV is an IOAM decapsulating node. When the IOAM Edge-to-Edge 482 Capabilities sub-TLV is present in the IOAM Capabilities TLV sent by 483 the IOAM decapsulating node, the IOAM End-of-Domain sub-TLV doesn't 484 need to be present in the same IOAM Capabilities TLV, otherwise the 485 End-of-Domain sub-TLV MUST be present in the IOAM Capabilities TLV 486 sent by the IOAM decapsulating node. Since both the IOAM Edge-to- 487 Edge Capabilities sub-TLV and the IOAM End-of-Domain sub-TLV can be 488 used to indicate that the sending node is an IOAM decapsulating node, 489 it's recommended to include only the IOAM Edge-to-Edge Capabilities 490 sub-TLV if IOAM edge-to-edge function is enabled at this IOAM 491 decapsulating node. 493 Length is the length of the sub-TLV's Value field in octets, and MUST 494 be set to 4. 496 Namespace-ID field has the same definition as what's specified in 497 section 4.6 of [I-D.ietf-ippm-ioam-data], it should be one of the 498 Namespace-IDs listed in the IOAM Capabilities TLV of echo request. 500 4. Operational Guide 502 Once the IOAM encapsulating node is triggered to acquire the enabled 503 IOAM capabilities of each IOAM transit node and/or IOAM decapsulating 504 node, the IOAM encapsulating node will send a batch of echo requests 505 that include the IOAM Capabilities TLV, first with TTL equal to 1 to 506 reach the nearest node which may be an IOAM transit node or not, then 507 with TTL equal to 2 to reach the second nearest node which also may 508 be an IOAM transit node or not, on the analogy of this to increase 1 509 to TTL every time the IOAM encapsulating node sends a new echo 510 request, until the IOAM encapsulating node receives echo reply sent 511 by the IOAM decapsulating node, which should contain the IOAM 512 Capabilities TLV including the IOAM Edge-to-Edge Capabilities sub-TLV 513 or the IOAM End-of-Domain sub-TLV. Alternatively, if the IOAM 514 encapsulating node knows exactly all the IOAM transit nodes and/or 515 IOAM decapsulating node beforehand, once the IOAM encapsulating node 516 is triggered to acquire the enabled IOAM capabilities, it can send 517 echo request to each IOAM transit node and/or IOAM decapsulating node 518 directly, without TTL expiration. 520 The IOAM encapsulating node may be triggered by the device 521 administrator, the network management system, the network controller, 522 or even the live user traffic, and the specific triggering mechanisms 523 are outside the scope of this document. 525 Each IOAM transit node and/or IOAM decapsulating node that receives 526 an echo request containing the IOAM Capabilities TLV will send an 527 echo reply to the IOAM encapsulating node, and within the echo reply, 528 there should be an IOAM Capabilities TLV containing one or more sub- 529 TLVs. The IOAM Capabilities TLV contained in the echo request would 530 be ignored by the receiving node that is unaware of IOAM. 532 5. Security Considerations 534 Knowledge of the state of the IOAM domain may be considered 535 confidential. Implementations SHOULD provide a means of filtering 536 the addresses to which echo request/reply may be sent. 538 6. IANA Considerations 540 This document has no IANA actions. 542 7. Acknowledgements 544 The authors would like to acknowledge Tianran Zhou for his careful 545 review and helpful comments. 547 The authors appreciate the f2f discussion with Frank Brockners on 548 this document. 550 8. Normative References 552 [I-D.ietf-ippm-ioam-data] 553 Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., 554 Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, 555 P., remy@barefootnetworks.com, r., daniel.bernier@bell.ca, 556 d., and J. Lemon, "Data Fields for In-situ OAM", draft- 557 ietf-ippm-ioam-data-09 (work in progress), March 2020. 559 [I-D.ietf-sfc-multi-layer-oam] 560 Mirsky, G., Meng, W., Khasnabish, B., and C. Wang, "Active 561 OAM for Service Function Chains in Networks", draft-ietf- 562 sfc-multi-layer-oam-04 (work in progress), November 2019. 564 [IEEE1588v2] 565 Institute of Electrical and Electronics Engineers, "IEEE 566 Std 1588-2008 - IEEE Standard for a Precision Clock 567 Synchronization Protocol for Networked Measurement and 568 Control Systems", IEEE Std 1588-2008, 2008, 569 . 572 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 573 Requirement Levels", BCP 14, RFC 2119, 574 DOI 10.17487/RFC2119, March 1997, 575 . 577 [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet 578 Control Message Protocol (ICMPv6) for the Internet 579 Protocol Version 6 (IPv6) Specification", STD 89, 580 RFC 4443, DOI 10.17487/RFC4443, March 2006, 581 . 583 [RFC4884] Bonica, R., Gan, D., Tappan, D., and C. Pignataro, 584 "Extended ICMP to Support Multi-Part Messages", RFC 4884, 585 DOI 10.17487/RFC4884, April 2007, 586 . 588 [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, 589 "Network Time Protocol Version 4: Protocol and Algorithms 590 Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, 591 . 593 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 594 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 595 Switched (MPLS) Data-Plane Failures", RFC 8029, 596 DOI 10.17487/RFC8029, March 2017, 597 . 599 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 600 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 601 May 2017, . 603 [RFC8335] Bonica, R., Thomas, R., Linkova, J., Lenart, C., and M. 604 Boucadair, "PROBE: A Utility for Probing Interfaces", 605 RFC 8335, DOI 10.17487/RFC8335, February 2018, 606 . 608 Authors' Addresses 610 Xiao Min 611 ZTE Corp. 612 Nanjing 613 China 615 Phone: +86 25 88013062 616 Email: xiao.min2@zte.com.cn 618 Greg Mirsky 619 ZTE Corp. 620 USA 622 Email: gregimirsky@gmail.com 624 Lei Bo 625 China Telecom 626 Beijing 627 China 629 Phone: +86 10 50902903 630 Email: leibo@chinatelecom.cn