| < draft-cl-spring-generalized-srv6-for-cmpr-04.txt | draft-cl-spring-generalized-srv6-for-cmpr-05.txt > | |||
|---|---|---|---|---|
| SPRING Working Group W. Cheng | SPRING Working Group W. Cheng | |||
| Internet-Draft China Mobile | Internet-Draft China Mobile | |||
| Intended status: Standards Track Z. Li | Intended status: Standards Track Z. Li | |||
| Expires: April 28, 2022 C. Li | Expires: 26 October 2022 C. Li | |||
| Huawei Technologies | Huawei Technologies | |||
| F. Clad | F. Clad | |||
| Cisco Systems, Inc | Cisco Systems, Inc | |||
| A. Liu | A. Liu | |||
| ZTE Corporation | ZTE Corporation | |||
| C. Xie | C. Xie | |||
| China Telecom | China Telecom | |||
| Y. Liu | Y. Liu | |||
| China Mobile | China Mobile | |||
| S. Zadok | S. Zadok | |||
| Broadcom | Broadcom | |||
| October 25, 2021 | 24 April 2022 | |||
| Generalized SRv6 Network Programming for SRv6 Compression | Generalized SRv6 Network Programming for SRv6 Compression | |||
| draft-cl-spring-generalized-srv6-for-cmpr-04 | draft-cl-spring-generalized-srv6-for-cmpr-05 | |||
| Abstract | Abstract | |||
| This document proposes Generalized Segment Routing over IPv6 (G-SRv6) | This document proposes Generalized Segment Routing over IPv6 (G-SRv6) | |||
| Networking Programming for SRv6 compression. | Networking Programming for SRv6 compression. | |||
| G-SRv6 can reduce the overhead of SRv6 by encoding the Generalized | G-SRv6 can reduce the overhead of SRv6 by encoding the Generalized | |||
| SIDs(G-SID) in SID list, and it also supports to program SRv6 SIDs | SIDs(G-SID) in SID list, and it also supports to program SRv6 SIDs | |||
| and G-SIDs in a single SRH to support incremental deployment and | and G-SIDs in a single SRH to support incremental deployment and | |||
| smooth upgrade. | smooth upgrade. | |||
| skipping to change at page 2, line 10 ¶ | skipping to change at page 2, line 10 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 28, 2022. | This Internet-Draft will expire on 26 October 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Revised BSD License text as | |||
| include Simplified BSD License text as described in Section 4.e of | described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Revised BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Concepts of G-SRv6 . . . . . . . . . . . . . . . . . . . . . 4 | 3. Concepts of G-SRv6 . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. G-SID . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. G-SID . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. G-SID Container . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. G-SID Container . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.3. G-SID Index . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.3. G-SID Index . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| skipping to change at page 3, line 5 ¶ | skipping to change at page 3, line 4 ¶ | |||
| 9. Protocol Extensions Requirements . . . . . . . . . . . . . . 15 | 9. Protocol Extensions Requirements . . . . . . . . . . . . . . 15 | |||
| 9.1. Data Plane . . . . . . . . . . . . . . . . . . . . . . . 15 | 9.1. Data Plane . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.2. Control Plane . . . . . . . . . . . . . . . . . . . . . . 16 | 9.2. Control Plane . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | |||
| 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 | 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 17 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 18 | 14.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | ||||
| 1. Introduction | 1. Introduction | |||
| Segment routing (SR) [RFC8402] is a source routing paradigm that | Segment routing (SR) [RFC8402] is a source routing paradigm that | |||
| explicitly indicates the forwarding path for packets at the ingress | explicitly indicates the forwarding path for packets at the ingress | |||
| node by inserting an ordered list of instructions, called segments. | node by inserting an ordered list of instructions, called segments. | |||
| When segment routing is deployed on the IPv6 data plane, it is called | When segment routing is deployed on the IPv6 data plane, it is called | |||
| SRv6 [RFC8754]. For support of SR, a new routing header called | SRv6 [RFC8754]. For support of SR, a new routing header called | |||
| Segment Routing Header (SRH), which contains a list of SIDs and other | Segment Routing Header (SRH), which contains a list of SIDs and other | |||
| skipping to change at page 5, line 15 ¶ | skipping to change at page 5, line 11 ¶ | |||
| In order to indicate the format of the SRv6 SID is compressible, | In order to indicate the format of the SRv6 SID is compressible, | |||
| control plane extension may be considered. This is out of scope of | control plane extension may be considered. This is out of scope of | |||
| this document, and can be described in other documents. | this document, and can be described in other documents. | |||
| 3.2. G-SID Container | 3.2. G-SID Container | |||
| In order to align with 128 bits, a 128 bit G-SID Container is | In order to align with 128 bits, a 128 bit G-SID Container is | |||
| defined. A G-SID Container is a 128 bits value, and it may contain | defined. A G-SID Container is a 128 bits value, and it may contain | |||
| different type of SIDs: | different type of SIDs: | |||
| o an SRv6 SID: A G-SID Container contains a single SRv6 SID. | * an SRv6 SID: A G-SID Container contains a single SRv6 SID. | |||
| o A Micro SID Carrier: A G-SID Container contains a Micro SID | * A Micro SID Carrier: A G-SID Container contains a Micro SID | |||
| carrier [I-D.filsfils-spring-net-pgm-extension-srv6-usid]. | carrier [I-D.filsfils-spring-net-pgm-extension-srv6-usid]. | |||
| o Multiple G-SIDs: A G-SID Container contains multiple G-SIDs and | * Multiple G-SIDs: A G-SID Container contains multiple G-SIDs and | |||
| optional padding. When G-SID is a 32-bits value, a G-SID | optional padding. When G-SID is a 32-bits value, a G-SID | |||
| Container can consist of 4 G-SIDs. If the length of G-SIDs in a | Container can consist of 4 G-SIDs. If the length of G-SIDs in a | |||
| G-SID Container is less than 128 bits, then padding is required. | G-SID Container is less than 128 bits, then padding is required. | |||
| 0 1 2 3 | 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | G-SID 0 | | | G-SID 0 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | G-SID 1 | | | G-SID 1 | | |||
| skipping to change at page 9, line 5 ¶ | skipping to change at page 9, line 5 ¶ | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // Optional Type Length Value objects (variable) // | // Optional Type Length Value objects (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3. G-SRH for SRv6 Compression | Figure 3. G-SRH for SRv6 Compression | |||
| Where: | Where: | |||
| o Common Prefix: the common prefix shared by the Compressible SRv6 | * Common Prefix: the common prefix shared by the Compressible SRv6 | |||
| SIDs in the current compression sub-path. Usually, it is the | SIDs in the current compression sub-path. Usually, it is the | |||
| prefix of the SID space, called Locator Block in control plane | prefix of the SID space, called Locator Block in control plane | |||
| [RFC8986]. Operators are free to configure the length and the | [RFC8986]. Operators are free to configure the length and the | |||
| value of the common prefix based on the address planning of their | value of the common prefix based on the address planning of their | |||
| networking. | networking. | |||
| o G-SID: 32-bits Generalized SID. | * G-SID: 32-bits Generalized SID. | |||
| o Padding: Must be zero. When the length of G-SIDs within the G-SID | * Padding: Must be zero. When the length of G-SIDs within the G-SID | |||
| Container is less than 128 bits, then padding is needed. | Container is less than 128 bits, then padding is needed. | |||
| 5. Packet Processing | 5. Packet Processing | |||
| This section describes the pseudo code of COC Flavor, and it replaces | This section describes the pseudo code of COC Flavor, and it replaces | |||
| the S13 and S14 of End, End.X, and End.T's pseudo code [RFC8986]. | the S13 and S14 of End, End.X, and End.T's pseudo code [RFC8986]. | |||
| The pseudo code is shown below. | The pseudo code is shown below. | |||
| When N receives a packet whose IPv6 DA is S and S is a local SID with | When N receives a packet whose IPv6 DA is S and S is a local SID with | |||
| COC Flavor, N does: | COC Flavor, N does: | |||
| 1. If (DA.SI != 0) { //ref1 | 1. If (DA.SI != 0) { //ref1 | |||
| 2. Decrement DA.SI by 1. | 2. Decrement DA.SI by 1. | |||
| 3. } Else { | 3. } Else { | |||
| 4. Decrement Segments Left by 1. | 4. Decrement Segments Left by 1. | |||
| 5. Set DA.SI to 3 in the IPv6 Destination Address | 5. Set DA.SI to 3 in the IPv6 Destination Address | |||
| 6. } | 6. } | |||
| 7. Copy Segment List[Segments Left][DA.SI] into the bits //ref2 | 7. Copy Segment List[Segments Left][DA.SI] into the bits //ref2 | |||
| [B..B+31] of the IPv6 Destination Address. | [B..B+31] of the IPv6 Destination Address. | |||
| o Ref1: an SID with COC flavor indicates the SRv6 compression | * Ref1: an SID with COC flavor indicates the SRv6 compression | |||
| processing that the node needs to update the next 32 bits G-SID to | processing that the node needs to update the next 32 bits G-SID to | |||
| the IPv6 DA. | the IPv6 DA. | |||
| * When the SI is greater than 0, the next G-SID is the next G-SID | - When the SI is greater than 0, the next G-SID is the next G-SID | |||
| in the current G-SID Container. | in the current G-SID Container. | |||
| * Otherwise, the next G-SID is the first G-SID in the next G-SID | - Otherwise, the next G-SID is the first G-SID in the next G-SID | |||
| Container. | Container. | |||
| o Ref2: B is the length of the Locator Block [RFC8986]. | * Ref2: B is the length of the Locator Block [RFC8986]. | |||
| An SID without COC Flavor will be processed following the SRv6 | An SID without COC Flavor will be processed following the SRv6 | |||
| processing. The node will update the next 128 bit SID to the IPv6 DA | processing. The node will update the next 128 bit SID to the IPv6 DA | |||
| if the SL > 0. | if the SL > 0. | |||
| 6. Illustration | 6. Illustration | |||
| This section describes a simple example of G-SRv6 for compression. | This section describes a simple example of G-SRv6 for compression. | |||
| The reference topology is shown below. | The reference topology is shown below. | |||
| skipping to change at page 10, line 30 ¶ | skipping to change at page 10, line 30 ¶ | |||
| Nodes 0 - 10 are G-SRv6 enabled nodes within the SRv6 domain, and | Nodes 0 - 10 are G-SRv6 enabled nodes within the SRv6 domain, and | |||
| node 0 is the ingress node of the G-SRv6 path while the node 10 is | node 0 is the ingress node of the G-SRv6 path while the node 10 is | |||
| the egress node. | the egress node. | |||
| Nodes CE1 and CE2 are tenants of VPN 10, and they are outside of the | Nodes CE1 and CE2 are tenants of VPN 10, and they are outside of the | |||
| SRv6 domain. | SRv6 domain. | |||
| In order to ease the reading of the example, this section introduces | In order to ease the reading of the example, this section introduces | |||
| a simplified SID allocation schema. | a simplified SID allocation schema. | |||
| o 2001:db8::/64 is dedicated to the internal SRv6 SID space, which | * 2001:db8::/64 is dedicated to the internal SRv6 SID space, which | |||
| is the common prefix for the SIDs as well. | is the common prefix for the SIDs as well. | |||
| o Node k has 2001:db8:0:0:k::/80 for its local SID space. Its SIDs | * Node k has 2001:db8:0:0:k::/80 for its local SID space. Its SIDs | |||
| will be explicitly allocated from that block. | will be explicitly allocated from that block. | |||
| o 2001:db8:0:0:k:1:: represents the End.X SID with COC allocated by | * 2001:db8:0:0:k:1:: represents the End.X SID with COC allocated by | |||
| node K, and it is associated with interface N of node K. For | node K, and it is associated with interface N of node K. For | |||
| instance, 2001:db8:0:0:1:1:: represents the End.X with COC flavor | instance, 2001:db8:0:0:1:1:: represents the End.X with COC flavor | |||
| allocated by node 1. | allocated by node 1. | |||
| o 2001:db8:0:0:k:2:: represents the End.X SID without COC allocated | * 2001:db8:0:0:k:2:: represents the End.X SID without COC allocated | |||
| by node K, and it is associated with interface N of node K. For | by node K, and it is associated with interface N of node K. For | |||
| instance, 2001:db8:0:0:1:2:: represents the End.X without COC | instance, 2001:db8:0:0:1:2:: represents the End.X without COC | |||
| flavor allocated by node 1. | flavor allocated by node 1. | |||
| o 2001:db8:0:0:10:10:: is an END.DT4 SID initiated by node 10, which | * 2001:db8:0:0:10:10:: is an END.DT4 SID initiated by node 10, which | |||
| is associated with the VRF10. | is associated with the VRF10. | |||
| Therefore, the SID 2001:db8:0:0:1:1::, 2001:db8:0:0:2:1::, | Therefore, the SID 2001:db8:0:0:1:1::, 2001:db8:0:0:2:1::, | |||
| 2001:db8:0:0:3:1::, 2001:db8:0:0:4:1::, 2001:db8:0:0:5:1::, | 2001:db8:0:0:3:1::, 2001:db8:0:0:4:1::, 2001:db8:0:0:5:1::, | |||
| 2001:db8:0:0:6:1::, 2001:db8:0:0:7:1::, 2001:db8:0:0:8:1:: are SRv6 | 2001:db8:0:0:6:1::, 2001:db8:0:0:7:1::, 2001:db8:0:0:8:1:: are SRv6 | |||
| End.X SIDs with COC Flavor, and 2001:db8:0:0:9:2:: is a Compressible | End.X SIDs with COC Flavor, and 2001:db8:0:0:9:2:: is a Compressible | |||
| SRv6 End.X SID. | SRv6 End.X SID. | |||
| The SID list [2001:db8:0:0:1:1::, 2001:db8:0:0:2:1::, | The SID list [2001:db8:0:0:1:1::, 2001:db8:0:0:2:1::, | |||
| 2001:db8:0:0:3:1::, 2001:db8:0:0:4:1::, 2001:db8:0:0:5:1::, | 2001:db8:0:0:3:1::, 2001:db8:0:0:4:1::, 2001:db8:0:0:5:1::, | |||
| skipping to change at page 11, line 46 ¶ | skipping to change at page 11, line 50 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ G-SID Container 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ G-SID Container 2 | |||
| | 3:1 | | | 3:1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 2:1 | | | 2:1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | |||
| Figure 6. G-SID Container Encoding for G-SRv6 | Figure 6. G-SID Container Encoding for G-SRv6 | |||
| The packets forwarding procedures: | The packets forwarding procedures: | |||
| o Node 0 sends the SRv6 packet with G-SRH to the node 1.The SL is 3. | * Node 0 sends the SRv6 packet with G-SRH to the node 1.The SL is 3. | |||
| The Active SID in IPv6 DA is 2001:db8:0:0:1:1::. | The Active SID in IPv6 DA is 2001:db8:0:0:1:1::. | |||
| o When node 1 receives the packet, the IPv6 DA is | * When node 1 receives the packet, the IPv6 DA is | |||
| 2001:db8:0:0:1:1::, which is a Local End.X with COC Flavor SID. | 2001:db8:0:0:1:1::, which is a Local End.X with COC Flavor SID. | |||
| The SRH.SL is 3, and DA.SI is 0. The node processes the packet: | The SRH.SL is 3, and DA.SI is 0. The node processes the packet: | |||
| SL = SL-1,DA.SI =3, pointing to the next G-SID 2:1, and updates | SL = SL-1,DA.SI =3, pointing to the next G-SID 2:1, and updates | |||
| SRH[SL=2][DA.SI=3] to the IPv6 DA[CP:CP+31], where CP is the | SRH[SL=2][DA.SI=3] to the IPv6 DA[CP:CP+31], where CP is the | |||
| length of the common prefix. The packet is forwarded with the new | length of the common prefix. The packet is forwarded with the new | |||
| IPv6 DA 2001:db8:0:0:2:1:C::, to the node 2. | IPv6 DA 2001:db8:0:0:2:1:C::, to the node 2. | |||
| o When node 2 receives the packet, the IPv6 DA is | * When node 2 receives the packet, the IPv6 DA is | |||
| 2001:db8:0:0:2:1:C::, which is a Local End.X with COC Flavor SID. | 2001:db8:0:0:2:1:C::, which is a Local End.X with COC Flavor SID. | |||
| The SRH.SL is 2, and DA.SI is 3. The node processes the packet: | The SRH.SL is 2, and DA.SI is 3. The node processes the packet: | |||
| DA.SI --, pointing to the next G-SID 3:1, and updates | DA.SI --, pointing to the next G-SID 3:1, and updates | |||
| SRH[SL=2][DA.SI=2] to the IPv6 DA[CP:CP+31]. The packet is | SRH[SL=2][DA.SI=2] to the IPv6 DA[CP:CP+31]. The packet is | |||
| forwarded with the new IPv6 DA 2001:db8:0:0:3:1:8::, to the node | forwarded with the new IPv6 DA 2001:db8:0:0:3:1:8::, to the node | |||
| 3. | 3. | |||
| o Similar to node 1 and 2, the node 3,4,5,6,7,8 process the packet | * Similar to node 1 and 2, the node 3,4,5,6,7,8 process the packet | |||
| and forward with the new IPv6 DA. | and forward with the new IPv6 DA. | |||
| o When node 9 receives the packet, the IPv6 DA is | * When node 9 receives the packet, the IPv6 DA is | |||
| 2001:db8:0:0:9:2::, which is a Local End.X SID. The SRH.SL is 1. | 2001:db8:0:0:9:2::, which is a Local End.X SID. The SRH.SL is 1. | |||
| The node updates the next SID 2001:db8:0:0:10:10:: to the IPv6 DA | The node updates the next SID 2001:db8:0:0:10:10:: to the IPv6 DA | |||
| and forwards the packet to the node 10. | and forwards the packet to the node 10. | |||
| o Node 10 receives the packet, and the IPv6 DA is an VPN SID | * Node 10 receives the packet, and the IPv6 DA is an VPN SID | |||
| allocated by itself, the node processes the SRv6 VPN SID. | allocated by itself, the node processes the SRv6 VPN SID. | |||
| This illustration shows that 70 % overhead of SID list is removed in | This illustration shows that 70 % overhead of SID list is removed in | |||
| G-SRv6(10 x 16 Bytes to 3 x 16 Bytes), also, it shows the | G-SRv6(10 x 16 Bytes to 3 x 16 Bytes), also, it shows the | |||
| capabilities of encoding G-SIDs and SRv6 SIDs in a single G-SRH. | capabilities of encoding G-SIDs and SRv6 SIDs in a single G-SRH. | |||
| 7. Benefits | 7. Benefits | |||
| o G-SRv6 is fully compatible with SRv6 | * G-SRv6 is fully compatible with SRv6 | |||
| * No SRH encapsulation modification. | - No SRH encapsulation modification. | |||
| * No new address consumption: Compressible SRv6 SIDs can be | - No new address consumption: Compressible SRv6 SIDs can be | |||
| allocated from the Locator allocated to the node. | allocated from the Locator allocated to the node. | |||
| * No new route advertisements: Compressible SRv6 SIDs can share | - No new route advertisements: Compressible SRv6 SIDs can share | |||
| the same locator with the normal SRv6 SID. | the same locator with the normal SRv6 SID. | |||
| * No security policy modification: when reusing the Locator with | - No security policy modification: when reusing the Locator with | |||
| SRv6 SIDs, no security policy need to be updated. | SRv6 SIDs, no security policy need to be updated. | |||
| * No control plane modification: Controller can install the SR | - No control plane modification: Controller can install the SR | |||
| policy with 128-bits G-SID Containers, and the ingress treats | policy with 128-bits G-SID Containers, and the ingress treats | |||
| the G-SID Container as an opaque 128-bits SID without | the G-SID Container as an opaque 128-bits SID without | |||
| understanding the structure of it. G-SRv6 capable nodes | understanding the structure of it. G-SRv6 capable nodes | |||
| understand the COC flavor behaviors, while Compression disable | understand the COC flavor behaviors, while Compression disable | |||
| SRv6 nodes are unaware of Compression. | SRv6 nodes are unaware of Compression. | |||
| o G-SRv6 reduces the SRv6 encapsulation size. | * G-SRv6 reduces the SRv6 encapsulation size. | |||
| * 128 bits to 32 bits, up to 75 % overhead is reduced. More | - 128 bits to 32 bits, up to 75 % overhead is reduced. More | |||
| overhead is reduced when the G-SID is a 16-bits value. | overhead is reduced when the G-SID is a 16-bits value. | |||
| o G-SRv6 has efficient address consumption and easy to deploy | * G-SRv6 has efficient address consumption and easy to deploy | |||
| * Operators are free to allocate an SID space from their address | - Operators are free to allocate an SID space from their address | |||
| space. | space. | |||
| * No affect of networking(i.e. routes and ACL security policies) | - No affect of networking(i.e. routes and ACL security policies) | |||
| by using the existing Locator to allocate compressible SRv6 | by using the existing Locator to allocate compressible SRv6 | |||
| SIDs. | SIDs. | |||
| o G-SRv6 is hardware friendly | * G-SRv6 is hardware friendly | |||
| * Same SRv6 processing flow with a new IPv6 DA update method | - Same SRv6 processing flow with a new IPv6 DA update method | |||
| * Leverages the mature hardware capabilities (DA update, DA | - Leverages the mature hardware capabilities (DA update, DA | |||
| longest match) | longest match) | |||
| * Avoids extra lookup in indexed mapping table | - Avoids extra lookup in indexed mapping table | |||
| o G-SRv6 supports incremental deployments, which can be deployed on | * G-SRv6 supports incremental deployments, which can be deployed on | |||
| demand. | demand. | |||
| 8. Running Code | 8. Running Code | |||
| 8.1. Interop-test Status | 8.1. Interop-test Status | |||
| The G-SRv6 mechanism has been implemented on the following 10+ | The G-SRv6 mechanism has been implemented on the following 10+ | |||
| hardware devices, software implementations and SDN controllers. | hardware devices, software implementations and SDN controllers. | |||
| They had also successfully participated in the series of joint | They had also successfully participated in the series of joint | |||
| interoperability testing events hosted by China Mobile from June 2020 | interoperability testing events hosted by China Mobile from June 2020 | |||
| to November 2020. | to November 2020. | |||
| The following hardware devices and software implementations had | The following hardware devices and software implementations had | |||
| successfully passed the series of G-SRv6 dataplane interoperability | successfully passed the series of G-SRv6 dataplane interoperability | |||
| testing (in alphabetical order). | testing (in alphabetical order). | |||
| o Chipsets | * Chipsets | |||
| * Broadcom Jericho 2 BCM88690 | - Broadcom Jericho 2 BCM88690 | |||
| * Centec CTC7132 | ||||
| * Intel Barefoot Tofino BFN-T10 | - Centec CTC7132 | |||
| * Marvell Falcon 98CX8580 | - Intel Barefoot Tofino BFN-T10 | |||
| o Devices | - Marvell Falcon 98CX8580 | |||
| * Cisco ASR 9000 | * Devices | |||
| * Cisco IOS XRv9000 | - Cisco ASR 9000 | |||
| * Huawei NE40E | - Cisco IOS XRv9000 | |||
| * Huawei NE5000E | - Huawei NE40E | |||
| * H3C CR16010H-FA | - Huawei NE5000E | |||
| * H3C CR19000-8 | - H3C CR16010H-FA | |||
| * Ruijie F9300 Switch | - H3C CR19000-8 | |||
| * ZTE M6000-8S Plus | - Ruijie F9300 Switch | |||
| * ZTE M6000-3S | - ZTE M6000-8S Plus | |||
| o Test Equipment | - ZTE M6000-3S | |||
| * IXIA XGS12 | * Test Equipment | |||
| * Spirent TestCenter N4U | - IXIA XGS12 | |||
| - Spirent TestCenter N4U | ||||
| The following hardware devices and software implementations had | The following hardware devices and software implementations had | |||
| successfully passed the series of G-SRv6 with control plane | successfully passed the series of G-SRv6 with control plane | |||
| interoperability test (in alphabetical order). | interoperability test (in alphabetical order). | |||
| o China Unitechs Unified Controller | * China Unitechs Unified Controller | |||
| o Huawei NE40E and NE5000E | ||||
| o H3C CR16010H-FA and CR19000-8 | * Huawei NE40E and NE5000E | |||
| o Spirent TestCenter N4U | * H3C CR16010H-FA and CR19000-8 | |||
| o ZTE M6000-8S Plus and M6000-3S | * Spirent TestCenter N4U | |||
| * ZTE M6000-8S Plus and M6000-3S | ||||
| Regarding open-source implementations, G-SRv6 has been implemented on | Regarding open-source implementations, G-SRv6 has been implemented on | |||
| Linux Kernel. | Linux Kernel. | |||
| 8.2. Deployment Status | 8.2. Deployment Status | |||
| In addition, China Mobile had come up with China Unitechs, Huawei, | In addition, China Mobile had come up with China Unitechs, Huawei, | |||
| ZTE and H3C to successfully deploy trial of G-SRv6 (with control | ZTE and H3C to successfully deploy trial of G-SRv6 (with control | |||
| plane) in their three province branch networks in November 2020, | plane) in their three province branch networks in November 2020, | |||
| respectively. | respectively. | |||
| The details are listed below (in alphabetical order). | The details are listed below (in alphabetical order). | |||
| o Huawei devices with a China Unitechs Unified Controller, Guangdong | * Huawei devices with a China Unitechs Unified Controller, Guangdong | |||
| Province. L3VPN over G-SRv6 BGP TE policy. | Province. L3VPN over G-SRv6 BGP TE policy. | |||
| o H3C devices with a China Unitechs Unified Controller, Zhejiang | * H3C devices with a China Unitechs Unified Controller, Zhejiang | |||
| Province. L3VPN over G-SRv6 BGP TE policy. | Province. L3VPN over G-SRv6 BGP TE policy. | |||
| o ZTE devices with a China Unitechs Unified Controller, Henan | * ZTE devices with a China Unitechs Unified Controller, Henan | |||
| Province. L3VPN over G-SRv6 BGP TE policy. | Province. L3VPN over G-SRv6 BGP TE policy. | |||
| More information of G-SRv6 interop-test and deployment status will be | More information of G-SRv6 interop-test and deployment status will be | |||
| updated as the work progresses. | updated as the work progresses. | |||
| 9. Protocol Extensions Requirements | 9. Protocol Extensions Requirements | |||
| This section describes the protocol extension requirements. | This section describes the protocol extension requirements. | |||
| 9.1. Data Plane | 9.1. Data Plane | |||
| skipping to change at page 18, line 9 ¶ | skipping to change at page 18, line 34 ¶ | |||
| [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | |||
| D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | |||
| (SRv6) Network Programming", RFC 8986, | (SRv6) Network Programming", RFC 8986, | |||
| DOI 10.17487/RFC8986, February 2021, | DOI 10.17487/RFC8986, February 2021, | |||
| <https://www.rfc-editor.org/info/rfc8986>. | <https://www.rfc-editor.org/info/rfc8986>. | |||
| [I-D.filsfilscheng-spring-srv6-srh-compression] | [I-D.filsfilscheng-spring-srv6-srh-compression] | |||
| Cheng, W., Filsfils, C., Li, Z., Decraene, B., Cai, D., | Cheng, W., Filsfils, C., Li, Z., Decraene, B., Cai, D., | |||
| Voyer, D., Clad, F., Zadok, S., Guichard, J. N., Aihua, | Voyer, D., Clad, F., Zadok, S., Guichard, J. N., Aihua, | |||
| L., Raszuk, R., and C. Li, "Compressed SRv6 Segment List | L., Raszuk, R., and C. Li, "Compressed SRv6 Segment List | |||
| Encoding in SRH", draft-filsfilscheng-spring-srv6-srh- | Encoding in SRH", Work in Progress, Internet-Draft, draft- | |||
| compression-02 (work in progress), July 2021. | filsfilscheng-spring-srv6-srh-compression-02, 28 July | |||
| 2021, <https://www.ietf.org/archive/id/draft- | ||||
| filsfilscheng-spring-srv6-srh-compression-02.txt>. | ||||
| 14.2. Informative References | 14.2. Informative References | |||
| [I-D.filsfils-spring-net-pgm-extension-srv6-usid] | [I-D.filsfils-spring-net-pgm-extension-srv6-usid] | |||
| Filsfils, C., Garvia, P. C., Cai, D., Voyer, D., Meilik, | Filsfils, C., Garvia, P. C., Cai, D., Voyer, D., Meilik, | |||
| I., Patel, K., Henderickx, W., Jonnalagadda, P., Melman, | I., Patel, K., Henderickx, W., Jonnalagadda, P., Melman, | |||
| D., Liu, Y., and J. Guichard, "Network Programming | D., Liu, Y., and J. Guichard, "Network Programming | |||
| extension: SRv6 uSID instruction", draft-filsfils-spring- | extension: SRv6 uSID instruction", Work in Progress, | |||
| net-pgm-extension-srv6-usid-11 (work in progress), | Internet-Draft, draft-filsfils-spring-net-pgm-extension- | |||
| September 2021. | srv6-usid-12, 13 December 2021, | |||
| <https://www.ietf.org/archive/id/draft-filsfils-spring- | ||||
| net-pgm-extension-srv6-usid-12.txt>. | ||||
| [I-D.ietf-spring-compression-requirement] | [I-D.ietf-spring-compression-requirement] | |||
| Cheng, W., Xie, C., Bonica, R., Dukes, D., Li, C., Shaofu, | Cheng, W., Xie, C., Bonica, R., Dukes, D., Li, C., Shaofu, | |||
| P., and W. Henderickx, "Compressed SRv6 SID List | P., and W. Henderickx, "Compressed SRv6 SID List | |||
| Requirements", draft-ietf-spring-compression- | Requirements", Work in Progress, Internet-Draft, draft- | |||
| requirement-00 (work in progress), September 2021. | ietf-spring-compression-requirement-01, 28 March 2022, | |||
| <https://www.ietf.org/archive/id/draft-ietf-spring- | ||||
| compression-requirement-01.txt>. | ||||
| [I-D.ietf-lsr-isis-srv6-extensions] | [I-D.ietf-lsr-isis-srv6-extensions] | |||
| Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | |||
| Z. Hu, "IS-IS Extensions to Support Segment Routing over | Z. Hu, "IS-IS Extensions to Support Segment Routing over | |||
| IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-18 | IPv6 Dataplane", Work in Progress, Internet-Draft, draft- | |||
| (work in progress), October 2021. | ietf-lsr-isis-srv6-extensions-18, 20 October 2021, | |||
| <https://www.ietf.org/archive/id/draft-ietf-lsr-isis-srv6- | ||||
| extensions-18.txt>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Weiqiang Cheng (editor) | Weiqiang Cheng (editor) | |||
| China Mobile | China Mobile | |||
| No.32 Xuanwumen west street | No.32 Xuanwumen west street | |||
| Beijing 100053 | Beijing | |||
| 100053 | ||||
| China | China | |||
| Email: chengweiqiang@chinamobile.com | Email: chengweiqiang@chinamobile.com | |||
| Zhenbin Li | Zhenbin Li | |||
| Huawei Technologies | Huawei Technologies | |||
| Huawei Campus, No. 156 Beiqing Rd. | Huawei Campus, No. 156 Beiqing Rd. | |||
| Beijing 100095 | Beijing | |||
| 100095 | ||||
| China | China | |||
| Email: lizhenbin@huawei.com | Email: lizhenbin@huawei.com | |||
| Cheng Li (editor) | Cheng Li (editor) | |||
| Huawei Technologies | Huawei Technologies | |||
| Huawei Campus, No. 156 Beiqing Rd. | Huawei Campus, No. 156 Beiqing Rd. | |||
| Beijing 100095 | Beijing | |||
| 100095 | ||||
| China | China | |||
| Email: c.l@huawei.com | Email: c.l@huawei.com | |||
| Francois Clad | Francois Clad | |||
| Cisco Systems, Inc | Cisco Systems, Inc | |||
| France | France | |||
| Email: fclad@cisco.com | Email: fclad@cisco.com | |||
| Aihua Liu | Aihua Liu | |||
| ZTE Corporation | ZTE Corporation | |||
| Shenzhen | Shenzhen | |||
| China | China | |||
| Email: liu.aihua@zte.com.cn | Email: liu.aihua@zte.com.cn | |||
| Chongfeng Xie | Chongfeng Xie | |||
| China Telecom | China Telecom | |||
| Technology Innovation park, Changping District | Technology Innovation park, Changping District | |||
| Beijing | Beijing | |||
| China | China | |||
| Email: xiechf@chinatelecom.cn | Email: xiechf@chinatelecom.cn | |||
| Yisong Liu | Yisong Liu | |||
| China Mobile | China Mobile | |||
| No.32 Xuanwumen west street | No.32 Xuanwumen west street | |||
| Beijing | Beijing | |||
| Email: liuyisong@chinamobile.com | Email: liuyisong@chinamobile.com | |||
| Shay Zadok | Shay Zadok | |||
| Broadcom | Broadcom | |||
| Israel | Israel | |||
| Email: shay.zadok@broadcom.com | Email: shay.zadok@broadcom.com | |||
| End of changes. 85 change blocks. | ||||
| 99 lines changed or deleted | 102 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||