< 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/