idnits 2.17.1 draft-li-spring-light-weight-srv6-ioam-02.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 (August 3, 2020) is 1363 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) == Missing Reference: 'SL' is mentioned on line 422, but not defined -- Looks like a reference, but probably isn't: '0' on line 425 == Unused Reference: 'RFC6374' is defined on line 485, but no explicit reference was found in the text == Unused Reference: 'RFC8321' is defined on line 499, but no explicit reference was found in the text == Outdated reference: A later version (-28) exists of draft-ietf-spring-srv6-network-programming-16 == Outdated reference: A later version (-07) exists of draft-li-spring-srv6-path-segment-05 ** Obsolete normative reference: RFC 8321 (Obsoleted by RFC 9341) == Outdated reference: A later version (-13) exists of draft-ietf-6man-spring-srv6-oam-07 == Outdated reference: A later version (-17) exists of draft-ietf-ippm-ioam-data-10 Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Li 3 Internet-Draft Huawei 4 Intended status: Standards Track W. Cheng 5 Expires: February 4, 2021 China Mobile 6 M. Chen 7 S. Previdi 8 Huawei 9 Z. Li 10 China Mobile 11 August 3, 2020 13 A Light Weight IOAM for SRv6 Network Programming 14 draft-li-spring-light-weight-srv6-ioam-02 16 Abstract 18 In-situ OAM(IOAM) records OAM information within the packet while the 19 packet traverses a particular network domain. This document defines 20 a light weight IOAM method for SRv6 network programming. In this 21 method, IOAM information is carried in the data packet by the SIDs in 22 the SRH. 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 https://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 This Internet-Draft will expire on February 4, 2021. 41 Copyright Notice 43 Copyright (c) 2020 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 61 3. SRv6 Light Weight IOAM . . . . . . . . . . . . . . . . . . . 4 62 3.1. The FLAG Field of SID . . . . . . . . . . . . . . . . . . 4 63 4. Capabilities and SID Format Advertisement . . . . . . . . . . 5 64 5. SIDs Distribution . . . . . . . . . . . . . . . . . . . . . . 5 65 6. Packet Processing . . . . . . . . . . . . . . . . . . . . . . 6 66 6.1. Source SR Node . . . . . . . . . . . . . . . . . . . . . 6 67 6.1.1. Reduced SRH . . . . . . . . . . . . . . . . . . . . . 6 68 6.2. Transit Node . . . . . . . . . . . . . . . . . . . . . . 6 69 6.3. SR Segment Endpoint Node . . . . . . . . . . . . . . . . 7 70 6.3.1. Egress Node . . . . . . . . . . . . . . . . . . . . . 7 71 6.4. Instructions for FLAG . . . . . . . . . . . . . . . . . . 8 72 7. Illustrations . . . . . . . . . . . . . . . . . . . . . . . . 9 73 7.1. Timestamp Recording Procedures . . . . . . . . . . . . . 9 74 8. Backward Compatibility Considerations . . . . . . . . . . . . 10 75 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 76 10. Security Considerations . . . . . . . . . . . . . . . . . . . 10 77 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 78 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 79 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 80 13.1. Normative References . . . . . . . . . . . . . . . . . . 11 81 13.2. Informative References . . . . . . . . . . . . . . . . . 12 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 84 1. Introduction 86 Segment routing (SR) [RFC8402] is a source routing paradigm that 87 explicitly indicates the forwarding path for packets at the source 88 node by inserting an ordered list of instructions, called segments. 89 A segment can represent a topological or service-based instruction. 91 When segment routing is deployed on IPv6 dataplane, called SRv6 92 [RFC8754], a segment is a 128 bit value, and it can be an IPv6 93 address of a local interface but it does not have to. As defined in 94 [I-D.ietf-spring-srv6-network-programming], a segment has the format 95 of LOC: FUNCT. The most significant L bits is LOC that is routable 96 and leads packets to the SID originating node. The least significant 97 128-L bits is the value of FUNCT that defines the local actions 98 associated to the SID. L is the length of LOC and it is flexible. 99 For supporting SR, a new type of routing header, called Segment 100 Routing Header (SRH), which contains a list of SIDs and other needed 101 information , has been defined in [RFC8754]. 103 In-situ OAM(IOAM) records OAM information within the packet while the 104 packet traverses a particular network domain. A discussion of the 105 motivation and requirements for in-situ OAM can be found in 106 [I-D.brockners-inband-oam-requirements]. 107 [I-D.ietf-6man-spring-srv6-oam] defines an IOAM mechanism for SRv6. 109 However, recording IOAM data in SRH TLVs will bring bigger overhead, 110 which will reduce transport efficiency. In addition, the length of 111 the header will increase in the incremental trace option 112 [I-D.ietf-ippm-ioam-data], which may bring MTU problem and increase 113 the difficulty of packet processing. 115 This document introduces a light weight IOAM method for SRv6 network 116 programming. In this method, the OAM information is in the segment 117 list of the SRH once the segment is processed. 119 In most cases, an SRv6 segment will not be reused again after it has 120 been processed for updating the IPv6 destination address (as part of 121 the SRH procedures described in [RFC8754]. However, these processed 122 SIDs will still be carried in the SRH to the destination of the 123 packet (or penultimate node if PSP is enabled). Therefore, these 124 processed SIDs (i.e.: the 128 bit space they occupy) can be reused 125 for other purposes such as carrying performance measurement 126 information or IOAM [I-D.ietf-ippm-ioam-data] information. 128 Using the SID in order to carry OAM information allows not to 129 increase the size of the packet header and, of course, will cause the 130 loss of the original SID value. 132 2. Terminology 134 This memo makes use of the terms defined in [RFC8402], 135 [I-D.ietf-ippm-ioam-data] and 136 [I-D.ietf-spring-srv6-network-programming]. 138 2.1. Requirements Language 140 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 141 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 142 "OPTIONAL" in this document are to be interpreted as described in BCP 143 14 [RFC2119] [RFC8174] when, and only when, they appear in all 144 capitals, as shown here. 146 3. SRv6 Light Weight IOAM 148 This document defines a light weight IOAM model for SRv6 network 149 programming. 151 In SRv6, a SID will not be used again after it has been processed 152 according to SRH procedures described in [RFC8754]. Therefore, the 153 128 bits of the used SID are reused in order to store metadata such 154 as IOAM data. 156 In this document, we assume that the rewritable length of a SID is 64 157 bits at least, since IOAM data need to meet the accuracy requirement 158 as defined at [I-D.ietf-ippm-ioam-data]. The rewritable part 159 consists of the last 64 bits of the SID, which MAY be the FUNCT part. 161 In order to determine to which node the IOAM data is related, the LOC 162 that identifies the node must remain, especially when the type of 163 IOAM data is not node ID [I-D.ietf-ippm-ioam-data]. For getting rid 164 of the limitation of keeping LOC part of the SID, a Path Segment 165 [I-D.li-spring-srv6-path-segment] is included in the SID list. 167 In order to indicate the type of IOAM data, the document defines a 168 new field of the SID called the FLAG. With the FLAG field, the 169 format of the SID is LOC:FLAG:FUNCT. The new FLAG field is used in 170 order to indicate additional operations, such as IOAM operations. 171 The IOM data stored in the SID is structured in the following format: 172 . The procedure will be described in section 5. 174 3.1. The FLAG Field of SID 176 In order to indicate the type of IOAM data, this document defines a 177 new field of the SID, called FLAG. 179 This document does not limit the offset and length of the FLAG field, 180 and it can be configured by the operator. For instance, a FLAG field 181 can be a 8 bits value between the LOC and the FUNCT fields. The 182 offset can be the 48th bit. In other words, 0-47 bit is the LOC, 183 48-55 bit is the FLAG, and 56-127 bit is the FUNCT. The value of the 184 FLAG field indicates the IOAM processing and IOAM data type, and may 185 have the following values: 187 o 0: Non IOAM 189 o 1: Timestamp(32-bit seconds and 32-bit subseconds) 191 o 2: Packet counter 193 o 3: Queue depth 194 o 4: Ingress_if_id and egress_if_id (short format) 196 o 5: Hop_Lim and node_id 198 o 6: Namespace specific data 200 o 7: Buffer occupancy 202 o 8: Checksum Complement 204 o 9-255: Reserved 206 The IOAM data reuses the format defined in [I-D.ietf-ippm-ioam-data]. 207 A packet counter is a 64-bit value that records the total number of 208 packets in a flow, path or SR policy received by the node. It can be 209 used for use cases like packet loss measurement. 211 4. Capabilities and SID Format Advertisement 213 In order to support light weight IOAM, nodes SHOULD advertise the 214 IOAM capability to other nodes within an SR domain via, e.g., IGP 215 extensions. The definition, advertisement and processing of such 216 capability advertisement is out of scope of this document, and will 217 be described in a separate document. 219 The format of the SID SHOULD also be advertised to the other nodes in 220 the SR domain so that each node having to insert IOAM data, know 221 which format of the SID it has to use (i.e.: the size of the LOC, 222 FLAG and FUNC fields). The description of the advertisement of the 223 SID format is out of scope of this document, and will be described in 224 another document. 226 5. SIDs Distribution 228 It has to be noted that the FLAG field does not introduce any new 229 type of SID in the SR architecture. 231 A node can distribute all variants of SIDs with different FLAG 232 values. For example, Node A instantiates an End SID 233 [I-D.ietf-spring-srv6-network-programming] as 234 A::0::100(LOC:FLAG:FUNCT), and it supports adding IOAM data of 235 timestamp and queue depth. Then, node A can distribute the SIDs 236 A::0::100, A::1::100, and A::3::100 in order to support respectively 237 non-IOAM End SID, End SID with timestamp recording, and End SID with 238 Queue depth recording. An Ingress node B can use these three 239 variants of SIDs according to the SR policy in order to achieve IOAM 240 with the specific node data. 242 Alternatively, a node can distribute only a default variant of SID in 243 order to reduce the SID distribution flooding traffic. The other 244 variants can be generated and used by the ingress node according to 245 the capabilities information of the SID endpoint node A. The details 246 will be discussed in another document. 248 6. Packet Processing 250 [RFC8754] describes SRv6 packet processing at the SR source, Transit 251 and SR segment endpoint nodes. This section describes the SRv6 252 packet processing with the new FLAG field in the SID. 254 6.1. Source SR Node 256 This document assumes that, in an operator network, the packet 257 received at the ingress node is encapsulated into an outer IPv6+SRH 258 header. Therefore, the term "ingress" and "source" are to be 259 intended as the same node. 261 A source node steers a packet into an SR Policy that consists of a 262 segment list. When deploying IOAM, the source node SHOULD insert the 263 associated SID variant into the segment list as illustrated in 264 section 5. The variants of the SID can be learned from SIDs 265 distribution or generated according to node's capabilities. 267 After the first SID (SID-List[n-1], last entry in the SID list)is 268 updated to the IPv6 DA, the source node SHOULD rewrite the SID with 269 IOAM data according to the value of FLAG field and then send it to 270 the next hop. 272 6.1.1. Reduced SRH 274 Reduced SRH cannot support light weight IOAM since there is no space 275 for carrying IOAM data of the source node. 277 6.2. Transit Node 279 As specified in [RFC8200], the only node allowed to inspect the 280 Routing Extension Header (and therefore the SRH), is the node 281 corresponding to the DA of the packet. Any other transit node MUST 282 NOT inspect the underneath routing header and MUST forward the packet 283 toward the DA according to its IPv6 routing table. Thus, there is no 284 modification of packet processing on transit nodes. 286 6.3. SR Segment Endpoint Node 288 As per [RFC8754], when an SRv6-capable node receives an IPv6 packet, 289 it performs a longest-prefix-match lookup on the packets destination 290 address. When this lookup returns A FIB entry that represents a 291 locally instantiated SRv6 SID, then the node should process the SRH 292 and related SIDs. 294 As per [I-D.ietf-spring-srv6-network-programming], if the IPv6 DA is 295 a local SID instantiated by the node, then it should be looked up in 296 "My local SID table " in order to execute the instruction bound to 297 it. The "My Local SID Table" matches on a per longest-prefix-match 298 basis. 300 In order to process FLAG field, there are two options: 302 o All variants of the SID should be generated by the endpoint node 303 and stored in the "My Local SID Table" so that the variants of the 304 SID in IPv6 DA can match the entry by longest-prefix-match basis. 305 The node looks up the variant SID and executes the associated 306 instruction. IOAM data will be rewritten into the SID after the 307 SID has been copied into the DA of the packet. In this way, all 308 variants will be instantiated in the SID table. 310 o The endpoint node only distributes a default variant SID (FLAG 311 value is 0) and stores it in the "My Local SID Table". Before 312 looking up the SID, the value of the FLAG part is obtained and 313 then make it as all zero. The node looks up the default variant 314 SID to get the instruction. The FLAG related instruction that 315 sets IOAM data into the SID is executed after the DA of the packet 316 is updated with the SID (as per SRH processing - 317 [I-D.ietf-spring-srv6-network-programming]). 319 6.3.1. Egress Node 321 In this document it is assumed that the egress node is the final 322 destination of the encapsulated packet. Therefore, the egress node 323 removes the outer IPv6 and SRH header. 325 As the last SRV6 endpoint node in the SID list, the egress node 326 cannot write any IOAM data into the SID since the segment list is 327 completed and there is no more SID to use. Therefore, the egress 328 node should record the related IOAM data and punt the data with a 329 copied packet to the CPU for further IOAM processing. 331 6.4. Instructions for FLAG 333 In order to achieve lightweight IOAM, processing of the FLAG field is 334 required and illustrated by the pseudo code here below: 336 1.If FLAG == n: 337 2. Get the IOAM-data D1 of type n. 338 3. If SL=1 and DA is End.S or if SL=0: ;;Ref1 339 4. Punt a copied packet with D1 to CPU for further processing;;Ref2 340 5. Else: 341 6. Insert following code after the instruction of updating DA: 342 7. Update SRH[SL][64:] with D1 ;;Ref3 344 o Ref1: If SL is 0 or SL is 1 and the DA is an End.S 345 [I-D.ietf-spring-srv6-network-programming], it means that the 346 current node is the egress node. The node will punt a copied 347 packet with the D1 to the CPU for further processing. 349 o Ref2: At the egress node, in order not to affect the packet 350 forwarding, a copy of the data packet should be punted instead of 351 the data packet itself. However, this document does not limit 352 implementations to punt the entire packet or only headers of the 353 packet. 355 o Ref3: If the node is not the egress node the node only inserts 356 "updates the SID with D1" after the instruction of "update DA with 357 SRH[SL]". The last 64 bits of SID SRH[SL] is rewritten with D1 358 after updating SID SRH[SL] to IPv6 DA. If there is no Path 359 Segment in the segment list, the locator part needs to remain for 360 identifying a SID. The related IOAM data at the ingress node 361 should be written into the SID before sending the data packet. 363 The pseudo code below illustrates the example where the FLAG is set 364 to 1, indicating that the IOAM data is a timestamp: 366 1.If FLAG == 1: 367 2. Get the receiving timestamp T1. 368 3. If SL=1 and DA is End.S or if SL=0: 369 4. Punt a copy of the packet with T1 to CPU for further processing 370 5. Else: 371 6. Insert following code after the instruction of updating DA: 372 7. Update SRH[SL][64:] with T1 374 7. Illustrations 376 For easy understanding, the following simple topology is used for 377 illustration. 379 CE-A ---- N1-----N2-----N3---- CE-B 381 Reference Topology 383 In the reference topology: 385 o Nodes N1, N2, and N3 are all SRv6 capable nodes. 387 o Node N1 and N3 are configured with a tenant 10, each connected to 388 CE-A and CE-B respectively. 390 o Node Nk has Ak::/48 for its local SID space from which Local SIDs 391 are explicitly allocated. 393 o A2::1::1 is an End [I-D.ietf-spring-srv6-network-programming] 394 function with timestamp recording allocated by N2 396 o A3::1::D10 is an End.DT4 397 [I-D.ietf-spring-srv6-network-programming] function with timestamp 398 recording bound to tenant IPv4 table 10 allocated by N3. 400 o Bk::/48 is the loopback address of node K for IGP. 402 It is assumed that the measured flow from CE-A to CE-B will travel 403 along the path . 405 When the ingress node N1 receives an IPv4 packet with SA:CE-A, and 406 DA:CE-B, the ingress node N1 will encapsulate the packet into an IPv6 407 header followed by an SRH with the SID list , 408 so that the packet header is now (B1, A2::1::1) (A3::1::D10, 409 A2::1::1, SL=2)(CE-A, CE-B). The DA of the IPv6 header is then 410 updated with the first segment. 412 7.1. Timestamp Recording Procedures 414 After updating the DA with A2::1::1, the ingress node N1 updates the 415 SID A2::1::1 in the segment list with current timestamp. Then it 416 forwards the packet to N2 according to its RIB/FIB. Assuming that 417 the timestamp value is T1, then the updated packet header becomes 418 (B1, A2::1::1) (A3::D10, A2::1::T1, SL=1) (CE-A, CE-B). 420 When N2 receives the packet with DA A2::1::1 which is an End SID with 421 timestamp recording originated by N2, N2 will insert "Update 422 SRH[SL][64:] with the current timestamp" after instruction of "update 423 DA with SRH[SL]", and then process this End SID. 425 After updating IPv6 DA with SRH[0] A3::1::D10, the current timestamp 426 will be recorded at the last 64 bits of End SID A3::1::D10. Assuming 427 that the timestamp value is T2, the updated packet header becomes 428 (B1, A3::1::D10) (A3::1::T2, A2::1::T1, SL=0) (CE-A, CE-B). 429 According to the updated DA A3::1::D10, the packet will be forwarded 430 to N3. 432 When the egress node N3 receives the packet with header (B1, 433 A3::1::D10) (A3::1::T2, A2::1::T1, SL=0) (CE-A, CE-B), N3 should 434 timestamp the copied packet and punt it to CPU for further 435 processing. Then, N3 decapsulates the outer header and forwards the 436 inner packet to CE-B based on the routes in tenant-10 IPv4 table. 438 IOAM data processing can be implemented by a node or a remote 439 controller. In this solution, only one receiving timestamp or 440 sending timestamp can be recorded in the SID at each endpoint node. 441 Therefore, it is RECOMMENDED that the ingress node records the 442 sending timestamp while the other nodes record the receiving 443 timestamp. 445 8. Backward Compatibility Considerations 447 TBA 449 9. IANA Considerations 451 TBA 453 10. Security Considerations 455 TBA 457 11. Contributors 459 TBA 461 12. Acknowledgements 463 Many thanks to Stefano's professional comments. 465 13. References 466 13.1. Normative References 468 [I-D.ietf-spring-srv6-network-programming] 469 Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., 470 Matsushima, S., and Z. Li, "SRv6 Network Programming", 471 draft-ietf-spring-srv6-network-programming-16 (work in 472 progress), June 2020. 474 [I-D.li-spring-srv6-path-segment] 475 Li, C., Cheng, W., Chen, M., Dhody, D., and R. Gandhi, 476 "Path Segment for SRv6 (Segment Routing in IPv6)", draft- 477 li-spring-srv6-path-segment-05 (work in progress), March 478 2020. 480 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 481 Requirement Levels", BCP 14, RFC 2119, 482 DOI 10.17487/RFC2119, March 1997, 483 . 485 [RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay 486 Measurement for MPLS Networks", RFC 6374, 487 DOI 10.17487/RFC6374, September 2011, 488 . 490 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 491 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 492 May 2017, . 494 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 495 (IPv6) Specification", STD 86, RFC 8200, 496 DOI 10.17487/RFC8200, July 2017, 497 . 499 [RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, 500 L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, 501 "Alternate-Marking Method for Passive and Hybrid 502 Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, 503 January 2018, . 505 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 506 Decraene, B., Litkowski, S., and R. Shakir, "Segment 507 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 508 July 2018, . 510 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 511 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 512 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 513 . 515 13.2. Informative References 517 [I-D.brockners-inband-oam-requirements] 518 Brockners, F., Bhandari, S., Dara, S., Pignataro, C., 519 Gredler, H., Leddy, J., Youell, S., Mozes, D., Mizrahi, 520 T., Lapukhov, P., and r. remy@barefootnetworks.com, 521 "Requirements for In-situ OAM", draft-brockners-inband- 522 oam-requirements-03 (work in progress), March 2017. 524 [I-D.ietf-6man-spring-srv6-oam] 525 Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. 526 Chen, "Operations, Administration, and Maintenance (OAM) 527 in Segment Routing Networks with IPv6 Data plane (SRv6)", 528 draft-ietf-6man-spring-srv6-oam-07 (work in progress), 529 July 2020. 531 [I-D.ietf-ippm-ioam-data] 532 Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields 533 for In-situ OAM", draft-ietf-ippm-ioam-data-10 (work in 534 progress), July 2020. 536 Authors' Addresses 538 Cheng Li 539 Huawei 541 Email: c.l@huawei.com 543 Weiqiang Cheng 544 China Mobile 546 Email: chengweiqiang@chinamobile.com 548 Mach(Guoyi) Chen 549 Huawei 551 Email: mach.chen@huawei.com 553 Stefano Previdi 554 Huawei 555 Italy 557 Email: stefano@previdi.net 558 Zhenqiang Li 559 China Mobile 560 32 Xuanwumen West Ave 561 Beijing, Xicheng District 562 China 564 Email: lizhenqiang@chinamobile.com