draft-ietf-rtgwg-srv6-egress-protection-02.txt   draft-ietf-rtgwg-srv6-egress-protection-03.txt 
Network Working Group Z. Hu Network Working Group Z. Hu
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Standards Track H. Chen Intended status: Standards Track H. Chen
Expires: June 3, 2021 Futurewei Expires: November 29, 2021 Futurewei
H. Chen H. Chen
China Telecom China Telecom
P. Wu P. Wu
Huawei Huawei
M. Toy M. Toy
Verizon Verizon
C. Cao C. Cao
T. He T. He
China Unicom China Unicom
L. Liu L. Liu
Fujitsu Fujitsu
X. Liu X. Liu
Volta Networks Volta Networks
November 30, 2020 May 28, 2021
SRv6 Path Egress Protection SRv6 Path Egress Protection
draft-ietf-rtgwg-srv6-egress-protection-02 draft-ietf-rtgwg-srv6-egress-protection-03
Abstract Abstract
This document describes protocol extensions for protecting the egress This document describes protocol extensions for protecting the egress
node of a Segment Routing for IPv6 (SRv6) path or tunnel. node of a Segment Routing for IPv6 (SRv6) path or tunnel.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at page 2, line 4 skipping to change at page 2, line 4
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 June 3, 2021. This Internet-Draft will expire on November 29, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2021 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/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 31 skipping to change at page 2, line 31
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 3
3. SR Path Egress Protection . . . . . . . . . . . . . . . . . . 4 3. SR Path Egress Protection . . . . . . . . . . . . . . . . . . 4
3.1. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Extensions to IGP for Egress Protection . . . . . . . . . . . 8 4. Extensions to IGP for Egress Protection . . . . . . . . . . . 8
4.1. Extensions to IS-IS . . . . . . . . . . . . . . . . . . . 8 4.1. Extensions to IS-IS . . . . . . . . . . . . . . . . . . . 8
4.2. Extensions to OSPF . . . . . . . . . . . . . . . . . . . 10 4.2. Extensions to OSPF . . . . . . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
6.1. SRv6 Endpoint Behaviors . . . . . . . . . . . . . . . . . 12 6.1. SRv6 Endpoint Behaviors . . . . . . . . . . . . . . . . . 13
6.2. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3. OSPFv3 . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.3. OSPFv3 . . . . . . . . . . . . . . . . . . . . . . . . . 14
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . 14 8.1. Normative References . . . . . . . . . . . . . . . . . . 15
8.2. Informative References . . . . . . . . . . . . . . . . . 15 8.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
The fast protection of a transit node of a Segment Routing (SR) path The fast protection of a transit node of a Segment Routing (SR) path
or tunnel is described in [I-D.ietf-rtgwg-segment-routing-ti-lfa] and or tunnel is described in [I-D.ietf-rtgwg-segment-routing-ti-lfa] and
[I-D.hu-spring-segment-routing-proxy-forwarding]. [RFC8400] [I-D.hu-spring-segment-routing-proxy-forwarding]. [RFC8400]
specifies the fast protection of egress node(s) of an MPLS TE LSP specifies the fast protection of egress node(s) of an MPLS TE LSP
tunnel including P2P TE LSP tunnel and P2MP TE LSP tunnel in details. tunnel including P2P TE LSP tunnel and P2MP TE LSP tunnel in details.
However, these documents do not discuss the fast protection of the However, these documents do not discuss the fast protection of the
egress node of a Segment Routing for IPv6 (SRv6) path or tunnel. egress node of a Segment Routing for IPv6 (SRv6) path or tunnel.
skipping to change at page 6, line 26 skipping to change at page 6, line 26
without the outer IPv6 header). PEB finds the FIB table for node PEA without the outer IPv6 header). PEB finds the FIB table for node PEA
using the Mirror SID as the context ID, and submits the packet to using the Mirror SID as the context ID, and submits the packet to
this FIB table lookup and transmission to the same destination as PEA this FIB table lookup and transmission to the same destination as PEA
does. does.
3.2. Example 3.2. Example
Figure 2 shows an example of protecting egress PE3 of a SR path, Figure 2 shows an example of protecting egress PE3 of a SR path,
which is from ingress PE1 to egress PE3. which is from ingress PE1 to egress PE3.
Locator: A3:1::/64
******* ******* VPN SID: A3:1::B100 ******* ******* VPN SID: A3:1::B100
[PE1]-----[P1]-----[PE3]---[CE2] PE3 Egress [PE1]-----[P1]-----[PE3]---[CE2] PE3 Egress
/ | |& | \ / PE4 Backup Egress / | |& | \ / PE4 Backup Egress
/ | |& | \ / CEx Customer Edge / | |& | \ / CEx Customer Edge
[CE1] | |& | X Px Non-Provider Edge [CE1] | |& | X Px Non-Provider Edge
\ | |& | / \ *** SR Path \ | |& | / \ *** SR Path
\ | |& &&&&& | / \ &&& Backup Path \ | |& &&&&& | / \ &&& Backup Path
[PE2]-----[P2]-----[PE4]---[CE3] [PE2]-----[P2]-----[PE4]---[CE3]
Locator: A4:1::/64
VPN SID: A4:1::B100 VPN SID: A4:1::B100
Mirror SID: A4:1::3, protect PE3 Mirror SID: A4:1::3, protect A3:1::/64
Figure 2: PE4 Protects Egress PE3 of SR Path Figure 2: PE4 Protects Egress PE3 of SR Path
Where node P1's pre-computed backup path for PE3 is from P1 to PE4 Where node P1's pre-computed backup path for PE3 is from P1 to PE4
via P2. In normal operations, after receiving a packet with via P2. In normal operations, after receiving a packet with
destination PE3, P1 forwards the packet to PE3 according to its FIB. destination PE3, P1 forwards the packet to PE3 according to its FIB.
When PE3 receives the packet, it sends the packet to CE2. When PE3 receives the packet, it sends the packet to CE2.
When PE3 fails, P1 as PLR detects the failure through using a failure When PE3 fails, P1 as PLR detects the failure through using a failure
detection mechanism such as BFD and forwards the packet to PE4 via detection mechanism such as BFD and forwards the packet to PE4 via
the backup path. When PE4 receives the packet, it sends the packet the backup path. When PE4 receives the packet, it sends the packet
to the same CE2. to the same CE2.
In Figure 2, Both CE2 and CE3 are dual home to PE3 and PE4. PE3 has In Figure 2, Both CE2 and CE3 are dual home to PE3 and PE4. PE3 has
a VPN SID A3:1::B100. PE4 has a VPN SID A4:1::B100. A Mirror SID a locator A3:1::/64 and a VPN SID A3:1::B100. PE4 has a locator
A4:1::3 is configured on PE4 for protecting PE3. A4:1::/64 and VPN SID A4:1::B100. A Mirror SID A4:1::3 is configured
on PE4 for protecting PE3 with locator A3:1::/64.
After the configuration, PE4 advertises this information through an After the configuration, PE4 advertises this information through an
IGP LS (i.e., LSA in OSPF or LSP in IS-IS), which includes PE4's ID, IGP LS (i.e., LSA in OSPF or LSP in IS-IS), which includes PE3's
PE3's ID and Mirror SID A4:1::3. Every node in the SR domain will locator and Mirror SID A4:1::3. Every node in the SR domain will
receive this IGP LS, which indicates that PE4 wants to protect PE3 receive this IGP LS, which indicates that PE4 wants to protect PE3's
with Mirror SID A4:1::3. locator with Mirror SID A4:1::3.
When PE4 (e.g., BGP on PE4) receives a prefix whose VPN SID belongs When PE4 (e.g., BGP on PE4) receives a prefix whose VPN SID belongs
to PE3 that is protected by PE4 through Mirror SID A4:1::3, it finds to PE3 that is protected by PE4 through Mirror SID A4:1::3, it finds
PE4's VPN SID corresponding to PE3's VPN SID. For example, local PE4 PE4's VPN SID corresponding to PE3's VPN SID. For example, local PE4
has Prefix 1.1.1.1 with VPN SID A4:1::B100, when PE4 receives prefix has Prefix 1.1.1.1 with VPN SID A4:1::B100, when PE4 receives prefix
1.1.1.1 with remote PE3's VPN SID A3:1::B100, it knows that they are 1.1.1.1 with remote PE3's VPN SID A3:1::B100, it knows that they are
for the same VPN. for the same VPN.
The forwarding behaviors for these two VPN SIDs are the same from The forwarding behaviors for these two VPN SIDs are the same from
function's point of view. If the behavior for PE3's VPN SID in PE3 function's point of view. If the behavior for PE3's VPN SID in PE3
forwards the packet with it to CE2, then the behavior for PE4's VPN forwards the packet with it to CE2, then the behavior for PE4's VPN
SID in PE4 forwards the packet to the same CE2; and vice versa. PE4 SID in PE4 forwards the packet to the same CE2; and vice versa. PE4
creates a forwarding entry for PE3's VPN SID A3:1::B100 in the FIB creates a forwarding entry for PE3's VPN SID A3:1::B100 in the FIB
table identified by Mirror SID A4:1::3 according to the forwarding table identified by Mirror SID A4:1::3 according to the forwarding
behavior for PE4's VPN SID A4:1::B100. behavior for PE4's VPN SID A4:1::B100.
Node P1's pre-computed backup path for destination PE3 is from P1 to Node P1's pre-computed backup path for destination PE3`s locator is
PE4 having mirror SID A4:1::3. When P1 receives a packet destined to from P1 to PE4 having mirror SID A4:1::3. When P1 receives a packet
PE3's VPN SID A3:1::B100, in normal operations, it forwards the destined to PE3's VPN SID A3:1::B100, in normal operations, it
packet with source A1:1:: and destination PE3's VPN SID A3:1::B100 forwards the packet with source A1:1:: and destination PE3's VPN SID
according to the FIB using the destination PE3's VPN SID A3:1::B100. A3:1::B100 according to the FIB using the destination PE3's VPN SID
A3:1::B100.
When PE3 fails, P1 as PLR sends the packet to PE4 via the backup path When PE3 fails, P1 as PLR sends the packet to PE4 via the backup path
pre-computed. P1 encapsulates the packet using H.Encaps before pre-computed. P1 encapsulates the packet using H.Encaps before
sending it to PE4. sending it to PE4.
Suppose that the packet received by P1 is represented by Pkt = (SA = Suppose that the packet received by P1 is represented by Pkt = (SA =
A1:1::, DA = A3:1::B100)Pkt0, where DA = A3:1::B100 is PE3's VPN SID, A1:1::, DA = A3:1::B100)Pkt0, where DA = A3:1::B100 is PE3's VPN SID,
and Pkt0 is the rest of the packet. The encapsulated packet Pkt' and Pkt0 is the rest of the packet. The encapsulated packet Pkt'
will be one of the followings: will be one of the followings:
skipping to change at page 8, line 25 skipping to change at page 8, line 32
4. Extensions to IGP for Egress Protection 4. Extensions to IGP for Egress Protection
This section describes extensions to IS-IS and OSPF for advertising This section describes extensions to IS-IS and OSPF for advertising
the information about SRv6 path egress protection. the information about SRv6 path egress protection.
4.1. Extensions to IS-IS 4.1. Extensions to IS-IS
A new sub-TLV, called IS-IS SRv6 Mirror SID sub-TLV, is defined. It A new sub-TLV, called IS-IS SRv6 Mirror SID sub-TLV, is defined. It
is used in the SRv6 Locator TLV defined in is used in the SRv6 Locator TLV defined in
[I-D.ietf-lsr-isis-srv6-extensions] to advertise SRv6 Mirror SID and [I-D.ietf-lsr-isis-srv6-extensions] to advertise SRv6 Mirror SID and
the ID of the node to be protected. The SRv6 Mirror SID inherit the the locators of the node to be protected. The SRv6 Mirror SID
topology/algorithm from the parent locator. The format of the sub- inherit the topology/algorithm from the parent locator. The format
TLV is illustrated below. of the sub-TLV is illustrated below.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD1) | Length | | Type (TBD1) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | SRv6 Endpoint Function |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID (16 octets) | | SID (16 octets) |
: : : :
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sub-TLVs | | sub-TLVs |
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: IS-IS SRv6 Mirror SID sub-TLV Figure 3: IS-IS SRv6 Mirror SID sub-TLV
Type: TBD1 (suggested value 8) is to be assigned by IANA. Type: TBD1 (suggested value 8) is to be assigned by IANA.
Length: variable. Length: variable.
Flags: 1 octet. No flags are currently defined.
SRv6 Endpoint Function: 2 octets. It contains the endpoint function
74 for Mirror SID.
SID: 16 octets. This field contains the SRv6 Mirror SID to be SID: 16 octets. This field contains the SRv6 Mirror SID to be
advertised. advertised.
Two sub-TLVs are defined. One is the protected node sub-TLV, and the Two sub-TLVs are defined. One is the protected locators sub-TLV, and
other is the protected SIDs sub-TLV. the other is the protected SIDs sub-TLV.
A protected node sub-TLV is used to carry the ID of the node to be A protected locators sub-TLV is used to carry the Locators to be
protected by the SRv6 Mirror SID. It has the following format. protected by the SRv6 mirror SID. It has the following format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD2) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD2) | Length | | | Locator-Size | Locator (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| Node-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Locator-Size | Locator (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: IS-IS Protected Node sub-TLV Figure 4: IS-IS Protected Locators sub-TLV
Type: TBD2 (suggested value 1) is to be assigned by IANA. Type: TBD2 (suggested value 1) is to be assigned by IANA.
Length: 1 octet. Its value is 6. Length: variable.
Node-ID: 6 octets. It contains a 6-octet ISO Node-ID (ISO system- Locator-Size: 1 octet. Number of bits (1 - 128) in the Locator
ID). field.
Locator: 1-16 octets. This field encodes an SRv6 Locator to be
protected by the SRv6 mirror SID. The Locator is encoded in the
minimal number of octets for the given number of bits.
A protected SIDs sub-TLV is used to carry the SIDs to be protected by A protected SIDs sub-TLV is used to carry the SIDs to be protected by
the SRv6 Mirror SID. It has the following format. the SRv6 Mirror SID. It has the following format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD3) | Length | | Type (TBD3) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID-Size | SID (variable) ~ | SID-Size | SID (variable) ~
skipping to change at page 10, line 10 skipping to change at page 10, line 32
SID-Size: 1 octet. Number of bits in the SID field. It is from 1 SID-Size: 1 octet. Number of bits in the SID field. It is from 1
to 128. When it is less than 128, the SID field is a locator. to 128. When it is less than 128, the SID field is a locator.
When it is 128, the SID field is an SRv6 SID. When it is 128, the SID field is an SRv6 SID.
SID: 1-16 octets. This field encodes an SRv6 SID or locator to be SID: 1-16 octets. This field encodes an SRv6 SID or locator to be
protected. The SID/locator is encoded in the minimal number of protected. The SID/locator is encoded in the minimal number of
octets for the given number of bits. Trailing bits MUST be set to octets for the given number of bits. Trailing bits MUST be set to
zero and ignored when received. zero and ignored when received.
When node B advertises that B wants to protect node A with a Mirror When node B advertises that B wants to protect node A's locators with
SID through an LSP, the LSP contains an IS-IS SRv6 Mirror SID sub- a Mirror SID through an LSP, the LSP contains an IS-IS SRv6 Mirror
TLV, which includes the Mirror SID and the node A's ID in an IS-IS SID sub-TLV, which includes the Mirror SID and the node A's locators
Protected Node sub-TLV. If B wants to protect just a specific set of in an IS-IS Protected locators sub-TLV. If B wants to protect just a
SIDs of node A, the Mirror SID sub-TLV includes these SIDs in an IS- specific set of SIDs of node A, the Mirror SID sub-TLV includes these
IS Protected SIDs sub-TLV; otherwise (i.e., B wants to protect all SIDs in an IS-IS Protected SIDs sub-TLV.
the SIDs of A) it does not contain any IS-IS Protected SIDs sub-TLV.
Note: the IS-IS extensions for SR MPLS is described in [RFC8667]. It
says that the SID/Label Binding TLV may also be used to advertise a
Mirror SID. For B to protect egress A of SR MPLS path, B may also
use this TLV to advertise the node A's ID and a specific set of SIDs
of A to be protected. An IS-IS SR MPLS Mirror SID sub-TLV may be
obtained from an IS-IS SRv6 Mirror SID sub-TLV by replacing each SID
field in the latter with an SID/Label sub-TLV. B may advertise a
SID/Label Binding TLV including this IS-IS SR MPLS Mirror SID sub-
TLV.
Alternatively, an IS-IS SR MPLS Mirror Supplement sub-TLV is defined
from an IS-IS SRv6 Mirror SID sub-TLV by removing the SID field in
the top level and replacing each other SID field with an SID/Label
sub-TLV. That is that an IS-IS SR MPLS Mirror Supplement sub-TLV
just contains a Protected Node sub-TLV and a Protected SIDs sub-TLV,
which includes SID/Label sub-TLVs. When the SID/Label Binding TLV
contains an SID/Label sub-TLV for the Mirror SID, it includes an IS-
IS SR MPLS Mirror Supplement sub-TLV.
4.2. Extensions to OSPF 4.2. Extensions to OSPF
Similarly, a new sub-TLV, called OSPF Mirror SID sub-TLV, is defined. Similarly, a new sub-TLV, called OSPF Mirror SID sub-TLV, is defined.
It is used to advertise SRv6 Mirror SID and the ID of the node to be It is used to advertise SRv6 Mirror SID and the locators of the node
protected. Its format is illustrated below. to be protected. Its format is illustrated below.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD4) | Length | | Type (TBD4) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | SRv6 Endpoint Function |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID (16 octets) | | SID (16 octets) |
: : : :
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sub-TLVs | | sub-TLVs |
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: OSPF SRv6 Mirror SID sub-TLV Figure 6: OSPF SRv6 Mirror SID sub-TLV
Type: TBD4 (suggested value 8) is to be assigned by IANA. Type: TBD4 (suggested value 8) is to be assigned by IANA.
Length: variable. Length: variable.
Flags: 1 octet. No flags are currently defined.
SRv6 Endpoint Function: 2 octets. It contains the endpoint function
74 for End.M SID.
SID: 16 octets. This field contains the SRv6 Mirror SID to be SID: 16 octets. This field contains the SRv6 Mirror SID to be
advertised. advertised.
Two sub-TLVs are defined. One is the protected node sub-TLV, and the Two sub-TLVs are defined. One is the protected locators sub-TLV, and
other is the protected SIDs sub-TLV. the other is the protected SIDs sub-TLV.
A protected node sub-TLV is used to carry the ID of the node to be A protected locators sub-TLV is used to carry the locators of the
protected by the SRv6 Mirror SID. It has the following format. node to be protected by the SRv6 Mirror SID. It has the following
format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD5) | Length | | Type (TBD5) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node-ID | | Locator-Size | Locator (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Locator-Size | Locator (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: OSPF Protected Node sub-TLV Figure 7: OSPF Protected Locators sub-TLV
Type: TBD5 (suggested value 1) is to be assigned by IANA. Type: TBD5 (suggested value 1) is to be assigned by IANA.
Length: 2 octets. Its value is 4. Length: variable.
Node-ID: 4 octets. It contains the ID of the OSPF node or router to Locator-Size: 1 octet. Number of bits (1 - 128) in the Locator
be protected. field.
Locator: 1-16 octets. This field encodes an SRv6 Locator to be
protected by the SRv6 mirror SID. The Locator is encoded in the
minimal number of octets for the given number of bits.
A protected SIDs sub-TLV is used to carry the SIDs to be protected by A protected SIDs sub-TLV is used to carry the SIDs to be protected by
the SRv6 Mirror SID. It has the following format. the SRv6 Mirror SID. It has the following format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (TBD6) | Length | | Type (TBD6) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID-Size | SID (variable) ~ | SID-Size | SID (variable) ~
skipping to change at page 12, line 50 skipping to change at page 13, line 32
6.1. SRv6 Endpoint Behaviors 6.1. SRv6 Endpoint Behaviors
Under sub-registry "SRv6 Endpoint Behaviors", Under sub-registry "SRv6 Endpoint Behaviors",
[I-D.ietf-spring-srv6-network-programming], IANA is requested to [I-D.ietf-spring-srv6-network-programming], IANA is requested to
assign the following Mirror SID as an End.DT6 SID instance: assign the following Mirror SID as an End.DT6 SID instance:
+==============+========+=====================+===============+ +==============+========+=====================+===============+
| Value | Hex | Endpoint behavior | Reference | | Value | Hex | Endpoint behavior | Reference |
+==============+========+=====================+===============+ +==============+========+=====================+===============+
| 40(suggested)| 0x0028 | End.M (Mirror SID) | This document | | 74(suggested)| 0x004A | End.M (Mirror SID) | This document |
+--------------+--------+---------------------+---------------+ +--------------+--------+---------------------+---------------+
6.2. IS-IS 6.2. IS-IS
Under "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry" Under "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry"
[I-D.ietf-lsr-isis-srv6-extensions], IANA is requested to add the [I-D.ietf-lsr-isis-srv6-extensions], IANA is requested to add the
following new Sub-TLV: following new Sub-TLV:
+==============+=========================+===============+ +==============+=========================+===============+
| Sub-TLV Type | Sub-TLV Name | Reference | | Sub-TLV Type | Sub-TLV Name | Reference |
skipping to change at page 13, line 28 skipping to change at page 14, line 11
TLVs of the SRv6 Mirror SID Sub-TLV. The suggested registry name is TLVs of the SRv6 Mirror SID Sub-TLV. The suggested registry name is
o Sub-Sub-TLVs for SRv6 Mirror SID Sub-TLV o Sub-Sub-TLVs for SRv6 Mirror SID Sub-TLV
Initial values for the registry are given below. The future Initial values for the registry are given below. The future
assignments are to be made through IETF Review [RFC5226]. assignments are to be made through IETF Review [RFC5226].
Value Sub-Sub-TLV Name Definition Value Sub-Sub-TLV Name Definition
----- ----------------------- ------------- ----- ----------------------- -------------
0 Reserved 0 Reserved
1 Protected Node Sub-Sub-TLV This Document 1 Protected Locators Sub-Sub-TLV This Document
2 Protected SIDs Sub-Sub-TLV 2 Protected SIDs Sub-Sub-TLV
3-255 Unassigned 3-255 Unassigned
6.3. OSPFv3 6.3. OSPFv3
Under registry "OSPFv3 Locator LSA Sub-TLVs" Under registry "OSPFv3 Locator LSA Sub-TLVs"
[I-D.li-ospf-ospfv3-srv6-extensions], IANA is requested to assign the [I-D.li-ospf-ospfv3-srv6-extensions], IANA is requested to assign the
following new Sub-TLV: following new Sub-TLV:
+==============+=========================+===============+ +==============+=========================+===============+
skipping to change at page 14, line 8 skipping to change at page 14, line 38
TLVs of the SRv6 Mirror SID Sub-TLV. The suggested registry name is TLVs of the SRv6 Mirror SID Sub-TLV. The suggested registry name is
o Sub-Sub-TLVs for SRv6 Mirror SID Sub-TLV o Sub-Sub-TLVs for SRv6 Mirror SID Sub-TLV
Initial values for the registry are given below. The future Initial values for the registry are given below. The future
assignments are to be made through IETF Review [RFC5226]. assignments are to be made through IETF Review [RFC5226].
Value Sub-Sub-TLV Name Definition Value Sub-Sub-TLV Name Definition
----- ----------------------- ------------- ----- ----------------------- -------------
0 Reserved 0 Reserved
1 Protected Node Sub-Sub-TLV This Document 1 Protected Locators Sub-Sub-TLV This Document
2 Protected SIDs Sub-Sub-TLV 2 Protected SIDs Sub-Sub-TLV
3-65535 Unassigned 3-65535 Unassigned
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Peter Psenak, Yimin Shen, Zhenqiang The authors would like to thank Peter Psenak, Yimin Shen, Zhenqiang
Li, Alexander Vainshtein, Greg Mirsky, Bruno Decraene, Jeff Tantsura, Li, Alexander Vainshtein, Greg Mirsky, Bruno Decraene, Jeff Tantsura,
Chris Bowers and Ketan Talaulikar for their comments to this work. Chris Bowers and Ketan Talaulikar for their comments to this work.
8. References 8. References
skipping to change at page 14, line 19 skipping to change at page 15, line 4
2 Protected SIDs Sub-Sub-TLV 2 Protected SIDs Sub-Sub-TLV
3-65535 Unassigned 3-65535 Unassigned
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Peter Psenak, Yimin Shen, Zhenqiang The authors would like to thank Peter Psenak, Yimin Shen, Zhenqiang
Li, Alexander Vainshtein, Greg Mirsky, Bruno Decraene, Jeff Tantsura, Li, Alexander Vainshtein, Greg Mirsky, Bruno Decraene, Jeff Tantsura,
Chris Bowers and Ketan Talaulikar for their comments to this work. Chris Bowers and Ketan Talaulikar for their comments to this work.
8. References 8. References
8.1. Normative References 8.1. Normative References
[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 Extension to Support Segment Routing over Z. Hu, "IS-IS Extension to Support Segment Routing over
IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-11 IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-14
(work in progress), October 2020. (work in progress), April 2021.
[I-D.ietf-spring-srv6-network-programming] [I-D.ietf-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., Filsfils, C., Garvia, P. C., Leddy, J., Voyer, D.,
Matsushima, S., and Z. Li, "SRv6 Network Programming", Matsushima, S., and Z. Li, "Segment Routing over IPv6
draft-ietf-spring-srv6-network-programming-26 (work in (SRv6) Network Programming", draft-ietf-spring-srv6-
progress), November 2020. network-programming-28 (work in progress), December 2020.
[I-D.li-ospf-ospfv3-srv6-extensions] [I-D.li-ospf-ospfv3-srv6-extensions]
Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak,
"OSPFv3 Extensions for SRv6", draft-li-ospf- "OSPFv3 Extensions for SRv6", draft-li-ospf-
ospfv3-srv6-extensions-07 (work in progress), November ospfv3-srv6-extensions-07 (work in progress), November
2019. 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
skipping to change at page 15, line 46 skipping to change at page 16, line 31
8.2. Informative References 8.2. Informative References
[I-D.hegde-spring-node-protection-for-sr-te-paths] [I-D.hegde-spring-node-protection-for-sr-te-paths]
Hegde, S., Bowers, C., Litkowski, S., Xu, X., and F. Xu, Hegde, S., Bowers, C., Litkowski, S., Xu, X., and F. Xu,
"Node Protection for SR-TE Paths", draft-hegde-spring- "Node Protection for SR-TE Paths", draft-hegde-spring-
node-protection-for-sr-te-paths-07 (work in progress), node-protection-for-sr-te-paths-07 (work in progress),
July 2020. July 2020.
[I-D.hu-spring-segment-routing-proxy-forwarding] [I-D.hu-spring-segment-routing-proxy-forwarding]
Hu, Z., Chen, H., Yao, J., Bowers, C., and Y. Zhu, "SR-TE Hu, Z., Chen, H., Yao, J., Bowers, C., Yongqing, and
Path Midpoint Protection", draft-hu-spring-segment- Yisong, "SR-TE Path Midpoint Restoration", draft-hu-
routing-proxy-forwarding-12 (work in progress), October spring-segment-routing-proxy-forwarding-14 (work in
2020. progress), April 2021.
[I-D.ietf-rtgwg-segment-routing-ti-lfa] [I-D.ietf-rtgwg-segment-routing-ti-lfa]
Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B., Litkowski, S., Bashandy, A., Filsfils, C., Francois, P.,
and D. Voyer, "Topology Independent Fast Reroute using Decraene, B., and D. Voyer, "Topology Independent Fast
Segment Routing", draft-ietf-rtgwg-segment-routing-ti- Reroute using Segment Routing", draft-ietf-rtgwg-segment-
lfa-05 (work in progress), November 2020. routing-ti-lfa-06 (work in progress), February 2021.
[I-D.ietf-spring-segment-routing-policy] [I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
P. Mattes, "Segment Routing Policy Architecture", draft- P. Mattes, "Segment Routing Policy Architecture", draft-
ietf-spring-segment-routing-policy-09 (work in progress), ietf-spring-segment-routing-policy-11 (work in progress),
November 2020. April 2021.
[I-D.sivabalan-pce-binding-label-sid] [I-D.sivabalan-pce-binding-label-sid]
Sivabalan, S., Filsfils, C., Tantsura, J., Hardwick, J., Sivabalan, S., Filsfils, C., Tantsura, J., Hardwick, J.,
Previdi, S., and C. Li, "Carrying Binding Label/Segment-ID Previdi, S., and C. Li, "Carrying Binding Label/Segment-ID
in PCE-based Networks.", draft-sivabalan-pce-binding- in PCE-based Networks.", draft-sivabalan-pce-binding-
label-sid-07 (work in progress), July 2019. label-sid-07 (work in progress), July 2019.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", RFC 5226, IANA Considerations Section in RFCs", RFC 5226,
DOI 10.17487/RFC5226, May 2008, DOI 10.17487/RFC5226, May 2008,
 End of changes. 45 change blocks. 
95 lines changed or deleted 109 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/