idnits 2.17.1 draft-xiao-nvo3-pm-geneve-00.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 (November 2, 2019) is 1637 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 (-16) exists of draft-ietf-bfd-vxlan-07 ** Downref: Normative reference to an Informational draft: draft-ietf-bfd-vxlan (ref. 'I-D.ietf-bfd-vxlan') == Outdated reference: A later version (-10) exists of draft-ietf-ippm-stamp-09 == Outdated reference: A later version (-10) exists of draft-ietf-ippm-stamp-option-tlv-02 == Outdated reference: A later version (-16) exists of draft-ietf-nvo3-geneve-14 == Outdated reference: A later version (-03) exists of draft-xiao-nvo3-bfd-geneve-01 Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NVO3 Working Group X. Min 3 Internet-Draft G. Mirsky 4 Intended status: Standards Track ZTE Corp. 5 Expires: May 5, 2020 S. Pallagatti 6 VMware 7 November 2, 2019 9 Performance Measurement for Geneve 10 draft-xiao-nvo3-pm-geneve-00 12 Abstract 14 This document describes the method to achieve Performance Measurement 15 (PM) in point-to-point Generic Network Virtualization Encapsulation 16 (Geneve) tunnels that form an overlay network. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on May 5, 2020. 35 Copyright Notice 37 Copyright (c) 2019 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 54 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 55 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 56 3. PM Packet Transmission over Geneve Tunnel . . . . . . . . . . 3 57 3.1. PM Encapsulation With Inner Ethernet/IP/UDP Headers . . . 3 58 3.2. PM Encapsulation With Inner IP/UDP Headers . . . . . . . 5 59 3.3. PM Encapsulation With Inner MPLS Header . . . . . . . . . 7 60 4. Reception of PM packet from Geneve Tunnel . . . . . . . . . . 9 61 4.1. Demultiplexing of the PM packet . . . . . . . . . . . . . 9 62 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 64 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 65 8. Normative References . . . . . . . . . . . . . . . . . . . . 10 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 68 1. Introduction 70 "Generic Network Virtualization Encapsulation" (Geneve) 71 [I-D.ietf-nvo3-geneve] provides an encapsulation scheme that allows 72 building an overlay network by decoupling the address space of the 73 attached virtual hosts from that of the network. 75 This document describes the use of Packet Loss and Delay Measurement 76 for MPLS Networks [RFC6374], as well as Simple Two-way Active 77 Measurement Protocol [I-D.ietf-ippm-stamp], to enable measuring the 78 performance of the path between two Geneve tunnel endpoints. 80 In this document, NVE (Network Virtualization Edge) represents a 81 Geneve tunnel endpoint, TS (Tenant System) represents a physical or 82 virtual device attached to a Geneve tunnel endpoint, and VAP (Virtual 83 Access Point) represents the NVE side of the interface between the 84 NVE and the TS. 86 2. Conventions Used in This Document 88 2.1. Terminology 90 GAL: Generic Associated Channel Label 92 G-ACh: Generic Associated Channel 94 Geneve: Generic Network Virtualization Encapsulation 96 MPLS: Multiprotocol Label Switching 97 NVE: Network Virtualization Edge 99 PM: Performance Measurement 101 STAMP: Simple Two-way Active Measurement Protocol 103 TS: Tenant System 105 VAP: Virtual Access Point 107 VNI: Virtual Network Identifier 109 2.2. Requirements Language 111 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 112 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 113 "OPTIONAL" in this document are to be interpreted as described in BCP 114 14 [RFC2119] [RFC8174] when, and only when, they appear in all 115 capitals, as shown here. 117 3. PM Packet Transmission over Geneve Tunnel 119 Analogous to what's specified in Section 3 of 120 [I-D.xiao-nvo3-bfd-geneve], this document considers three options of 121 PM packet encapsulation in Geneve: 123 o with Ethernet and IP/UDP encapsulation; 125 o with IP/UDP encapsulation; 127 o with MPLS encapsulation. 129 3.1. PM Encapsulation With Inner Ethernet/IP/UDP Headers 131 If the Protocol Type field (as defined in Section 3.4 of 132 [I-D.ietf-nvo3-geneve]) of data packets indicates that an inner 133 Ethernet header immediately follows the Geneve header, i.e., the 134 Protocol Type equals to 0x6558 (Ethernet frame), then PM packets are 135 encapsulated in Geneve as described below. 137 0 1 2 3 138 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 139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 | | 141 ~ Outer Ethernet Header ~ 142 | | 143 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 144 | | 145 ~ Outer IPvX Header ~ 146 | | 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 148 | | 149 ~ Outer UDP Header ~ 150 | | 151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 152 | | 153 ~ Geneve Header ~ 154 | | 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 156 | | 157 ~ Inner Ethernet Header ~ 158 | | 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 | | 161 ~ Inner IPvX Header ~ 162 | | 163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 164 | | 165 ~ Inner UDP Header ~ 166 | | 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 | | 169 ~ STAMP Test Packet ~ 170 | | 171 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 172 | FCS | 173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 175 Figure 1: Geneve Encapsulation of PM Message With the Inner 176 Ethernet/IP/UDP Header 178 The STAMP test packet MUST be carried inside the inner Ethernet frame 179 of the Geneve packet, immediately after the inner IP/UDP headers. 180 The inner Ethernet frame carrying the STAMP Test Packet has the 181 following format: 183 The Ethernet header and IP header are encoded as specified in 184 Section 4 of [I-D.ietf-bfd-vxlan]. 186 The destination UDP port MUST be set the well-known port 862 as 187 defined in [I-D.ietf-ippm-stamp]. 189 The STAMP Test Packet SHOULD be unauthenticated STAMP Session-Sender 190 test packet or unauthenticated STAMP Session-Reflector test packet. 191 The STAMP Test Packet is encoded as specified in 192 [I-D.ietf-ippm-stamp] and [I-D.ietf-ippm-stamp-option-tlv]. 194 If the PM packets are encapsulated in Geneve as described above, the 195 values in the Geneve header are set as follows: 197 0 1 2 3 198 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 199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 200 |Ver| Opt Len |O|C| Rsvd. | Protocol Type | 201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 202 | Virtual Network Identifier (VNI) | Reserved | 203 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 204 | Variable Length Options | 205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 Figure 2: Geneve Header 209 Opt Len field MUST be set to 0 to indicate that the header does 210 not include any variable-length options. 212 O bit MUST be set to 1, which indicates this packet contains a 213 control message. 215 C bit MUST be set to 0. 217 Protocol Type field MUST be set to 0x6558 (Ethernet frame). 219 3.2. PM Encapsulation With Inner IP/UDP Headers 221 If the Protocol Type field (as defined in Section 3.4 of 222 [I-D.ietf-nvo3-geneve]) of data packets indicates that an inner IP 223 header immediately follows the Geneve header, i.e., the Protocol Type 224 equals to 0x0800 (IPv4) or 0x86DD (IPv6), then PM packets are 225 encapsulated in Geneve as described below. 227 0 1 2 3 228 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 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 | | 231 ~ Outer Ethernet Header ~ 232 | | 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 234 | | 235 ~ Outer IPvX Header ~ 236 | | 237 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 238 | | 239 ~ Outer UDP Header ~ 240 | | 241 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 242 | | 243 ~ Geneve Header ~ 244 | | 245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 246 | | 247 ~ Inner IPvX Header ~ 248 | | 249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 250 | | 251 ~ Inner UDP Header ~ 252 | | 253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 | | 255 ~ STAMP Test Packet ~ 256 | | 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 | FCS | 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 261 Figure 3: Geneve Encapsulation of PM Message With the Inner IP/UDP 262 Header 264 A STAMP test packet MUST be carried inside the inner IP/UDP packet 265 that immediately follows the Geneve header. The values in the inner 266 IP packet carrying the STAMP Test Packet are as follows: 268 The IP header is encoded as specified in Section 3.2 of 269 [I-D.xiao-nvo3-bfd-geneve]. 271 The destination UDP port MUST be set the well-known port 862 as 272 defined in [I-D.ietf-ippm-stamp]. 274 The STAMP Test Packet SHOULD be unauthenticated STAMP Session-Sender 275 test packet or unauthenticated STAMP Session-Reflector test packet. 276 The STAMP Test Packet is encoded as specified in 277 [I-D.ietf-ippm-stamp] and [I-D.ietf-ippm-stamp-option-tlv]. 279 When the PM packets are encapsulated in Geneve in this way, the 280 Geneve header follows the value set below. 282 Opt Len field MUST be set to 0 to indicate there isn't any 283 variable-length option. 285 O bit MUST be set to 1, which indicates this packet contains a 286 control message. 288 C bit MUST be set to 0. 290 Protocol Type field MUST be set to 0x0800 (IPv4) or 0x86DD (IPv6), 291 depending on the address family of the inner IP packet. 293 3.3. PM Encapsulation With Inner MPLS Header 295 If the Protocol Type field (as defined in Section 3.4 of 296 [I-D.ietf-nvo3-geneve]) of data packets indicates that an MPLS label 297 stack immediately follows the Geneve header, i.e., the Protocol Type 298 equals to 0x8847 (MPLS) or 0x8848 (MPLS with the upstream-assigned 299 label), then PM packets are encapsulated in Geneve, as described 300 below. 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 | | 306 ~ Outer Ethernet Header ~ 307 | | 308 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 309 | | 310 ~ Outer IPvX Header ~ 311 | | 312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 | | 314 ~ Outer UDP Header ~ 315 | | 316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 317 | | 318 ~ Geneve Header ~ 319 | | 320 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 321 | MPLS Interface Context Label | 322 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 323 | MPLS GAL | 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 325 | MPLS G-ACh | 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 327 | Loss Measurement Message, | 328 ~ Delay Measurement Message, or ~ 329 | Combined Loss/Delay Measurement Message | 330 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 331 | FCS | 332 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 334 Figure 4: Geneve Encapsulation of PM Message With the Inner MPLS GAL/ 335 G-ACh 337 The Loss Measurement Message, Delay Measurement Message, or Combined 338 Loss/Delay Measurement Message MUST be carried inside the inner MPLS 339 packet that immediately follows the Geneve header. The values in the 340 inner MPLS packet carrying the Loss Measurement Message, Delay 341 Measurement Message, or Combined Loss/Delay Measurement Message are 342 as follows: 344 The MPLS Interface Context Label and the MPLS GAL (Generic 345 Associated Channel Label) are encoded as specified in Section 3.3 346 of [I-D.xiao-nvo3-bfd-geneve]. 348 The MPLS G-ACh (Generic Associated Channel) is encoded as 349 specified in [RFC5586], and the "Channel Type" field of MPLS G-ACh 350 MUST be set to 0x000A, 0x000C or 0x000D requested by [RFC6374], 351 respectively indicating "MPLS Direct Loss Measurement", "MPLS 352 Delay Measurement" or "MPLS Direct Loss and Delay Measurement". 354 The Loss Measurement Message, Delay Measurement Message, and 355 Combined Loss/Delay Measurement Message are encoded as specified 356 in Sections 3.1 through 3.3 of [RFC6374]. 358 When the PM packets are encapsulated in Geneve in this way, the 359 Geneve header follows the value set below. 361 Opt Len field MUST be set to 0 to indicate there isn't any 362 variable-length option. 364 O bit MUST be set to 1, which indicates this packet contains a 365 control message. 367 C bit MUST be set to 0. 369 Protocol Type field MUST be set to 0x8847 (MPLS). 371 4. Reception of PM packet from Geneve Tunnel 373 Once a packet is received, NVE MUST validate the packet as described 374 in [I-D.ietf-nvo3-geneve] and Section 4 of 375 [I-D.xiao-nvo3-bfd-geneve]. 377 4.1. Demultiplexing of the PM packet 379 Similar to BFD over Geneve, multiple PM sessions may be running 380 between two NVEs, so there needs to be a mechanism for demultiplexing 381 received PM packets to the proper session. 383 If the PM packet is received with Session Identifier value equals to 384 0, for different PM encapsulation, the procedure for demultiplexing 385 the received PM packets is different, which would follow the 386 procedure for a BFD packet with Your Discriminator equals to 0, as 387 specified in Section 4.1 of [I-D.xiao-nvo3-bfd-geneve]. 389 If the PM packet is received with a non-zero Session Identifier, then 390 PM session MUST be demultiplexed only with Session Identifier as the 391 key. 393 With respect to PM for Geneve, the use of the specific VNI would 394 follow the principle as specified in Section 4.1 of 395 [I-D.xiao-nvo3-bfd-geneve]. 397 5. Security Considerations 399 This document does not raise any additional security issues beyond 400 those of the specifications referred to in the list of normative 401 references. 403 6. IANA Considerations 405 This document has no IANA action requested. 407 7. Acknowledgements 409 TBA. 411 8. Normative References 413 [I-D.ietf-bfd-vxlan] 414 Networks, J., Paragiri, S., Govindan, V., Mudigonda, M., 415 and G. Mirsky, "BFD for VXLAN", draft-ietf-bfd-vxlan-07 416 (work in progress), May 2019. 418 [I-D.ietf-ippm-stamp] 419 Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple 420 Two-way Active Measurement Protocol", draft-ietf-ippm- 421 stamp-09 (work in progress), October 2019. 423 [I-D.ietf-ippm-stamp-option-tlv] 424 Mirsky, G., Xiao, M., Nydell, H., Foote, R., Masputra, A., 425 and E. Ruffini, "Simple Two-way Active Measurement 426 Protocol Optional Extensions", draft-ietf-ippm-stamp- 427 option-tlv-02 (work in progress), October 2019. 429 [I-D.ietf-nvo3-geneve] 430 Gross, J., Ganga, I., and T. Sridhar, "Geneve: Generic 431 Network Virtualization Encapsulation", draft-ietf- 432 nvo3-geneve-14 (work in progress), September 2019. 434 [I-D.xiao-nvo3-bfd-geneve] 435 Xiao, M., Mirsky, G., and J. Networks, "BFD for Geneve", 436 draft-xiao-nvo3-bfd-geneve-01 (work in progress), October 437 2019. 439 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 440 Requirement Levels", BCP 14, RFC 2119, 441 DOI 10.17487/RFC2119, March 1997, 442 . 444 [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., 445 "MPLS Generic Associated Channel", RFC 5586, 446 DOI 10.17487/RFC5586, June 2009, 447 . 449 [RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay 450 Measurement for MPLS Networks", RFC 6374, 451 DOI 10.17487/RFC6374, September 2011, 452 . 454 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 455 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 456 May 2017, . 458 Authors' Addresses 460 Xiao Min 461 ZTE Corp. 462 Nanjing 463 China 465 Phone: +86 25 88013062 466 Email: xiao.min2@zte.com.cn 468 Greg Mirsky 469 ZTE Corp. 470 USA 472 Email: gregimirsky@gmail.com 474 Santosh Pallagatti 475 VMware 477 Email: santosh.pallagatti@gmail.com