idnits 2.17.1 draft-gandhi-spring-ioam-sr-mpls-01.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 25, 2019) is 1829 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SPRING Working Group R. Gandhi, Ed. 3 Internet-Draft Z. Ali 4 Intended status: Standards Track C. Filsfils 5 Expires: October 27, 2019 F. Brockners 6 Cisco Systems, Inc. 7 B. Wen 8 V. Kozak 9 Comcast 10 April 25, 2019 12 Segment Routing with MPLS Data Plane Encapsulation 13 for In-situ OAM Data 14 draft-gandhi-spring-ioam-sr-mpls-01 16 Abstract 18 In-situ Operations, Administration, and Maintenance (IOAM) records 19 operational and telemetry information in the data packet while the 20 packet traverses a path between two points in the network. This 21 document defines how IOAM data fields are transported with the 22 Segment Routing with MPLS data plane (SR-MPLS) encapsulation. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at http://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 Copyright Notice 41 Copyright (c) 2019 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2.1. Requirement Language . . . . . . . . . . . . . . . . . . . 3 59 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 60 3. IOAM Data Field Encapsulation in SR-MPLS Header . . . . . . . 3 61 4. Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 4 62 4.1. IOAM Indicator Label . . . . . . . . . . . . . . . . . . . 5 63 4.2. Hashing Function . . . . . . . . . . . . . . . . . . . . . 5 64 4.3. Node Capability . . . . . . . . . . . . . . . . . . . . . 5 65 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 66 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 67 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 68 8. Normative References . . . . . . . . . . . . . . . . . . . . . 7 69 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 72 1. Introduction 74 In-situ Operations, Administration, and Maintenance (IOAM) records 75 OAM information within the packet while the packet traverses a 76 particular network domain. The term "in-situ" refers to the fact 77 that the IOAM data fields are added to the data packets rather than 78 being sent within probe packets specifically dedicated to OAM. 80 Segment Routing (SR) leverages the source routing paradigm 81 [I-D.ietf-spring-segment-routing-mpls]. A node steers a packet 82 through a controlled set of instructions, called segments, by pre- 83 pending the packet with an SR header. In the MPLS data plane, the SR 84 header is instantiated through a label stack. This document defines 85 how IOAM data fields are transported with the SR with MPLS data plane 86 (SR-MPLS) encapsulation. 88 The IOAM data fields carried are defined in 89 [I-D.ietf-ippm-ioam-data], and can be used for various use-cases 90 including Performance Measurement (PM). 92 2. Conventions 94 2.1. Requirement Language 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in [RFC2119] [RFC8174] 99 when, and only when, they appear in all capitals, as shown here. 101 2.2. Abbreviations 103 Abbreviations used in this document: 105 IOAM In-situ Operations, Administration, and Maintenance 107 OAM Operations, Administration, and Maintenance 109 PM Performance Measurement 111 PoT Proof-of-Transit 113 SR Segment Routing 115 SR-MPLS Segment Routing with MPLS Data plane 117 3. IOAM Data Field Encapsulation in SR-MPLS Header 119 SR-MPLS encapsulation is defined in 120 [I-D.ietf-spring-segment-routing-mpls]. IOAM data fields are carried 121 in the SR-MPLS header, as IOAM data fields. The different IOAM data 122 fields defined in [I-D.ietf-ippm-ioam-data] are added as TLVs. More 123 than one TLVs can be present in the IOAM data fields. The IOAM 124 Indicator Label is added at the bottom of the MPLS label stack (S 125 flag set to 1) to indicate the presence of the IOAM data fields in 126 the MPLS header. 128 0 1 2 3 129 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 130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 131 | IOAM Indicator Label | TC |S| TTL | 132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ 133 | IOAM-Type | IOAM HDR LEN | RESERVED | | 134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I 135 ! | O 136 ! | A 137 ~ IOAM Option and Data Space ~ M 138 | | | 139 | | | 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ 141 | | 142 | | 143 | Payload + Padding (L2/L3/ESP/...) | 144 | | 145 | | 146 | | 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 149 Figure 1: IOAM data encapsulation in SR-MPLS Header 151 IOAM Indicator Label as defined in Section 4.1. 153 The fields related to the encapsulation of IOAM data fields in the 154 SR-MPLS header are defined as follows: 156 IOAM-Type: 8-bit field defining the IOAM Option type, as defined in 157 Section 4 of [I-D.ietf-ippm-ioam-data]. 159 IOAM HDR LEN: 8-bit unsigned integer. Length of the IOAM HDR in 160 4-octet units. 162 RESERVED: 8-bit reserved field MUST be set to zero upon 163 transmission and ignored upon receipt. 165 IOAM Option and Data Space: IOAM option header and data is present 166 as defined by the IOAM-Type field, and is defined in Section 4 of 167 [I-D.ietf-ippm-ioam-data]. 169 4. Procedure 171 This section summarizes the procedure for IOAM data encapsulation in 172 SR-MPLS. 174 o The ingress node inserts the IOAM Indicator Label and one or more 175 IOAM TLV(s) in the MPLS header. 177 o The egress node "forwards and punts the timestamped copy" of the 178 data packet including IOAM TLVs when the node recognizes the IOAM 179 Indicator Label. 181 o The egress node also pops the IOAM Indicator Label and the IOAM 182 TLVs from the MPLS header. 184 4.1. IOAM Indicator Label 186 The IOAM Indicator Label can be a allocated using one of the 187 following methods: 189 o Label assigned by IANA with value TBA1. 191 o Label allocated by a controller from the global table of the 192 egress node. The controller provisions the label on both ingress 193 and egress nodes. 195 o Label allocated by the egress node from the global label table of 196 the egress node. The signaling extension for this is outside the 197 scope of this document. 199 4.2. Hashing Function 201 The ingress node needs to make sure the IOAM TLV does not start with 202 a well known protocol type (e.g. 0x4 for IPv4 and 0x6 for IPv6) and 203 does not alter the hashing function that uses the IP header. 205 Note that the hashing function that uses the label values from the 206 MPLS header may also now include the IOAM Indicator Label. 208 4.3. Node Capability 210 The egress node that has to pop the IOAM Indicator Label, TLVs, and 211 perform the IOAM function may not be capable of supporting it. The 212 ingress node needs to know if the egress node can support the IOAM 213 function. The signaling extension for this capability exchange is 214 outside the scope of this document. 216 5. IANA Considerations 218 IANA maintains the "Special-Purpose Multiprotocol Label Switching 219 (MPLS) Label Values" registry (see 220 ). IANA is requested to allocate IOAM Indicator Label 222 value from the "Special-Purpose MPLS Label Values" registry: 224 +---------------+-------------------------+---------------+ 225 | Value | Description | Reference | 226 +---------------+-------------------------+---------------+ 227 | TBA1 | IOAM Indicator Label | This document | 228 +---------------+-------------------------+---------------+ 230 6. Security Considerations 232 The security considerations of SR-MPLS are discussed in 233 [I-D.ietf-spring-segment-routing-mpls], and the security 234 considerations of IOAM in general are discussed in 235 [I-D.ietf-ippm-ioam-data]. 237 IOAM is considered a "per domain" feature, where one or several 238 operators decide on leveraging and configuring IOAM according to 239 their needs. Still, operators need to properly secure the IOAM 240 domain to avoid malicious configuration and use, which could include 241 injecting malicious IOAM packets into a domain. 243 7. Acknowledgements 245 The authors would like to thank Shwetha Bhandari and Vengada Prasad 246 Govindan for the discussions on IOAM. 248 8. Normative References 250 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 251 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 252 RFC2119, March 1997. 254 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 255 2119 Key Words", RFC 8174, May 2017. 257 [I-D.ietf-spring-segment-routing-mpls] Bashandy, A., Filsfils, C., 258 Previdi, S., Decraene, B., Litkowski, S., and R. Shakir, 259 "Segment Routing with MPLS data plane", 260 draft-ietf-spring-segment-routing-mpls, work in progress. 262 [I-D.ietf-ippm-ioam-data] Brockners, F., Bhandari, S., Pignataro, 263 C., Gredler, H., Leddy, J., Youell, S., Mizrahi, T., 264 Mozes, D., Lapukhov, P., Chang, R., and Bernier, D., "Data 265 Fields for In-situ OAM", draft-ietf-ippm-ioam-data, work 266 in progress. 268 Contributors 270 Sagar Soni 271 Cisco Systems, Inc. 272 Email: sagsoni@cisco.com 274 Patrick Khordoc 275 Cisco Systems, Inc. 276 Email: pkhordoc@cisco.com 278 Authors' Addresses 280 Rakesh Gandhi (editor) 281 Cisco Systems, Inc. 282 Canada 284 Email: rgandhi@cisco.com 286 Zafar Ali 287 Cisco Systems, Inc. 289 Email: zali@cisco.com 290 Clarence Filsfils 291 Cisco Systems, Inc. 292 Belgium 294 Email: cf@cisco.com 296 Frank Brockners 297 Cisco Systems, Inc. 298 Hansaallee 249, 3rd Floor 299 DUESSELDORF, NORDRHEIN-WESTFALEN 40549 300 Germany 302 Email: fbrockne@cisco.com 304 Bin Wen 305 Comcast 307 Email: Bin_Wen@cable.comcast.com 309 Voitek Kozak 310 Comcast 312 Email: Voitek_Kozak@comcast.com