Network Working Group Z. Hu
Internet-Draft H. Chen
Intended status: Standards Track J. Yao
Expires: April 25, 2019 Huawei Technologies
October 22, 2018
Segment Routing Proxy Forwarding
draft-hu-spring-segment-routing-proxy-forwarding-00
Abstract
Segment Routing Traffic Engineering (SR-TE) supports the creation of
explicit paths using adjacency-sids, node-sids, and binding-sids. In
the SR-TE path, by providing proxy forwarding to the neighbor nodes
of the faulty node, it is ensured that the traffic can reach the
neighbor node of the faulty node normally in the case of the SR-TE of
the loose path or strict path. If the failed node is a node that
provides the Binding-sids service, the neighbor node can perform the
binding-sids forwarding behavior to swap the corresponding label
stack through the proxy forwarding of the neighbor node.
[I-D.bashandy-rtgwg-segment-routing-ti-lfa] defines the usecase of
protecting the node failure of segment list. This document describes
how to implement the proxy forwarding mechanism of a faulty node at
the neighbor node of the faulty node on the SR-TE path .
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 25, 2019.
Hu, et al. Expires April 25, 2019 [Page 1]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. IGP extended for proxy forwarding . . . . . . . . . . . . . . 3
2.1. ISIS proxy forwarding Prefix-SID . . . . . . . . . . . . 3
2.2. ISIS Path Binding TLV . . . . . . . . . . . . . . . . . . 4
3. Building proxy forwarding table . . . . . . . . . . . . . . . 5
3.1. Advertise proxy forwarding TLV . . . . . . . . . . . . . 7
3.2. Calculate the proxy forwarding table . . . . . . . . . . 7
4. Node Protection for Segment List . . . . . . . . . . . . . . 8
4.1. Next segment is an adjacency segment . . . . . . . . . . 9
4.2. Next segment is a node segment . . . . . . . . . . . . . 11
4.3. Next segment is a binding segment . . . . . . . . . . . . 13
5. Other scenario considerations . . . . . . . . . . . . . . . . 15
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.1. Normative References . . . . . . . . . . . . . . . . . . 16
9.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
Segment Routing Traffic Engineering (SR-TE) is a technology that
implements traffic engineering using Segment Routing. Segment
Routing-Traffic Engineering supports the creation of explicit paths
using adjacency-sids, node-sids, and binding-sids. After a node
failure causes the network to reconverge, the node in the network
deletes the forwarding entry generated for the faulty node locally.
In the case of SR-TE loose path, traffic cannot reach to the neighbor
node of the faulty node because the forwarding entry is deleted. Any
traffic protection policy of the neighbor node cannot take effect.
Hu, et al. Expires April 25, 2019 [Page 2]
Internet-Draft Segment Routing Proxy Forwarding October 2018
If the faulty node is a label adhesion node, the Binding-sids cannot
be exchanged to the label stack for its identity, and the traffic
will be lost before it reaches the faulty node.
In this document, the proxy mechanism is provided in the neighbor
node of the faulty node of the forwarding path to implement traffic
forwarding after the node fault on the SR-TE loose path and the label
adhesion scenario.
2. IGP extended for proxy forwarding
When a node has segment routing proxy forwarding capability, it must
advertise the proxy global sid of the neighbor node.Unless this node
has an anycast sid same as the neighbor node.It is used to announce
that the node has the ability to proxy forward the sid. When the
node who advertises this global sid fails, the traffic can be
forwarded to the proxy node.
2.1. ISIS proxy forwarding Prefix-SID
The ISIS SID/Label Binding TLV (suggested value 149) is defined in
[I-D.ietf-isis-segment-routing-extensions] . A proxy node uses the
SID/Label Binding TLV to advertise the Prefix-Sid of its neighbor
node. The reserved bit of the Flags field of the SID/Label Binding
TLV is extended by a P flag, and the Prefix-Sid is identified as a
proxy forwarding Prefix-SID.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Range | Prefix Length | Prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Prefix (continued, variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SubTLVs (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Flags: 1 octet field of following flags:
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|F|M|S|D|A|P| |
+-+-+-+-+-+-+-+-+
Where:
Hu, et al. Expires April 25, 2019 [Page 3]
Internet-Draft Segment Routing Proxy Forwarding October 2018
P-Flag: Proxy forwarding flag. If set, this Prefix-Sid is advertised
by the proxy node.This TLV is used to announce that the node has the
ability to proxy forward the Prefix-Sid.
2.2. ISIS Path Binding TLV
TE-PATH-BINDING TLV is defined in
[I-D.sivabalan-pce-binding-label-sid], For supporting Binding sid
proxy forwarding. This document introduces TE-PATH-BINDING TLV to
the ISIS. [I-D.ietf-spring-segment-routing-policy] has defined the
usage of binding-sid. In the ISIS, the format of Path Binding TLV is
as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Binding Type (BT) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Binding Value (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:
Type:TBD, to be assigned by IANA.
Length: variable.
Binding Type (BT): identify the type of binding included in the TLV.
This document specifies the following BT values:
o BT = 0: The binding value is an MPLS label carried in the format
specified in [RFC5462] where only the label value is valid, and other
fields (TC, S, and TTL) MUST be considered invalid. The Length MUST
be set to 6.
o BT = 1: Similar to the case for BT = 0 except that all the fields
on the MPLS label entry are set on transmission. However, the
receiver MAY choose to override TC, S, and TTL values according its
local policy.
Binding Value: A variable length field, padded with trailing zeros to
a 4-byte boundary. For the BT = 0, the 20 bits represents the MPLS
label. For the BT = 1, the 32-bits represents the label stack entry
as per [RFC5462].
Hu, et al. Expires April 25, 2019 [Page 4]
Internet-Draft Segment Routing Proxy Forwarding October 2018
3. Building proxy forwarding table
Hu, et al. Expires April 25, 2019 [Page 5]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Node Sid:2 Node Sid:3
+-----+ +-----+
| |----------+ |
/ |RT2 | | RT3 |\
/ +-----+ +-----+ \
/ | \ /| \
/ | \ / | \
/ | \ / | \
/ | \ / | \
/ | \ / | \
Node Sid:1 | \ / | \Node Sid:4 Node Sid:5
+-----+ | \ / | +-----+ +-----+
| | | X | | |-------| |
| RT1 | | / \ | | RT4 | | RT5 |
+-----+ | / \ | +-----+ +-----+
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \| /
\ |/ | /
\ +-----+ +-----+ /
\ | | | |/
\ | RT6 |-----------| RT7 |
+-----+ +-----+
Node Sid:6 Node Sid:7
+------------------+ +----------------+
| Node SRGB | | label stack |
+------------------+ +----------------+
| RT1:[1000-1999] | | 1003 |
+------------------+ +-----------------+ +----------------+
| RT2:[2000-2999] | | Adj-Sid | | 3004 |
+------------------+ +-----------------+ +----------------+
| RT3:[3000-3999] | |RT3->RT6:3036 | | 4005 |
+------------------+ +-----------------+ +----------------+
| RT4:[4000=4999] | |RT3->RT7:3037 |
+------------------+ +-----------------+
| RT5:[5000-5999] | |RT3->RT4:3034 |
+------------------+ +-----------------+
| RT6:[6000-6999] | |RT7->RT4:7074 |
+------------------+ +-----------------+
| RT7:[7000-7999] | |RT4->RT5:4045 |
+------------------+ +-----------------+
Figure 1. Topolocy of SR-TE path
Hu, et al. Expires April 25, 2019 [Page 6]
Internet-Draft Segment Routing Proxy Forwarding October 2018
We use Figure 1 to illustrate the SR proxy forwarding approach. Each
node N has SRGB = [N000-N999], RT1 is an ingress node of SR domain .
A label stack that represents the path R1->R3->R4->R5 is shown as
well. In the figure,RT3 is a failure node , RT2 is a Point of Local
Repair (PLR) node.
3.1. Advertise proxy forwarding TLV
If the Point of Local Repair (PLR) has proxy forwarding ability, for
example, RT2. When node RT2 learns the prefix-sid of the direct
neighbor RT3, it must use the proxy forwarding TLV to advertise the
prefix-sid learned from RT3. When RT3 fails, RT2 needs to maintain
proxy forwarding TLV for a period of time. When the proxy forwarding
table corresponding to the fault node is deleted (see section 3.2),
the proxy forwarding TLV is withdrawn. The nodes in the network (for
example, RT1) learn the Prefix-Sid TLV advertised by RT3 and the
proxy forwarding TLV advertised by RT2, when RT3 is normal, the nodes
prefer Prefix-Sid TLV. When the RT3 fails, the proxy forwarding TLV
advertised by RT2 is preferred.
3.2. Calculate the proxy forwarding table
The SR proxy node needs to calculate a proxy forwarding table for
each neighbor, each neighbor has an independent proxy forwarding
table. The Node P (PLR) generates a proxy forwarding table for Node
N, and P needs to contain the following information:
1: Node N's SRGB range and the difference between the SRGB start
value of node P and that of node N;
2: All adjacency-SID of N and Node-SID of the node pointed to by NODE
N's adjacency-SID.
3: The binding-SID of N and the label stack associated with binding-
SID of N.
NODE P (PLR) uses a proxy forwarding table based on the next segment
to find a node N as a backup forwarding entry to the adj-SID and
Node-SID of the N. When the N fails, the proxy forwarding table
needs to be maintained for a period of time, which is recommended for
30 minutes.
Node RT3 in the topology of Figure 1 is the node N, and the node RT2
is the P (PLR). RT2 calculates the proxy forwarding table for RT3,
as shown in Figure 2.
Hu, et al. Expires April 25, 2019 [Page 7]
Internet-Draft Segment Routing Proxy Forwarding October 2018
RT2's Routing Table (partial)
+==========+====================================+===========+=======+
| In-Label | Action | Out-Label | TYPE |
+==========+====================================+===========+=======+
| 2003 | pop, fwd to RT3 | 3003 |Primary|
| | pop, lookup Proxy Forwarding table | |Backup |
+----------+--------------------------------------------------------+
| 2004 |pop, fwd to RT3 | 3004 |Primary|
| |pop, fwd to RT7 | 7004 |Backup |
+----------+--------------------------------------------------------+
RT2's Proxy Forwarding Table for RT3 (partial)
+==========+===============+============+=============+==============+
| In-label | SRGBDiffValue | Next Label | Action | Map Label |
+==========+===============+============+=============+==============+
| 2003 | -1000 | 3034 | Fwd to RT4 | 2004 |
+----------+---------------+------------+-------------+--------------+
| 3036 | Fwd to RT6 | 2006 |
+------------+-------------+--------------+
| 3037 | Fwd to RT7 | 2007 |
+------------+-------------+--------------+
| 100 | Swap to { 3034, 4045 } |
+------------+-------------+--------------+
Figure 2. RT2's Routing Table and Proxy Forwarding Table for RT3 (partial)
Where:
In-Lable: Local Node SRGB starting value + Node-Sid of protected node
RT3.
SRGBDiffValue: Local node(RT2) SRGB starting value - Protected
node(RT3) SRGB starting value.
Next Label: Generate forwarding entries for adj-Sids and binding-sids
of Protected node(RT3).
Map Label: the PLR swaps the Next Label to the Map Label, and then
queries the PLR Routing Table again according to the Map Label to
obtain the out-label.
4. Node Protection for Segment List
Segment Routing Traffic Engineering supports the creation of explicit
paths using adjacency-sids, node-sids, and binding-sids. The label
stack is a combination of one or more of adjacency-sids, node-sids,
and binding-sids. This Section shows how the P-node uses the SR
Hu, et al. Expires April 25, 2019 [Page 8]
Internet-Draft Segment Routing Proxy Forwarding October 2018
proxy forwarding mechanism to protect traffic to the destination node
when the next segment of label stack is adjacency-sids, node-sids, or
binding-sids, respectively.
4.1. Next segment is an adjacency segment
Hu, et al. Expires April 25, 2019 [Page 9]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Node Sid:2 Node Sid:3
+-----+ +-----+
| |----------+ |
/ |RT2 | | RT3 |\
/ +-----+ +-----+ \
/ | \ /| \
/ | \ / | \
/ | \ / | \
/ | \ / | \
/ | \ / | \
Node Sid:1 | \ / | \Node Sid:4 Node Sid:5
+-----+ | \ / | +-----+ +-----+
| | | X | | |-------| |
| RT1 | | / \ | | RT4 | | RT5 |
+-----+ | / \ | +-----+ +-----+
\ | / \ | /
\ | / \ | /2
\ | / \ | /ru
\ | / \ | /
\ | / \| /
\ |/ | /
\ +-----+ +-----+ /
\ | | | |/
\ | RT6 |-----------| RT7 |
+-----+ +-----+
Node Sid:6 Node Sid:7
+------------------+ +-----------------+ +----------------+
| Node SRGB | | Adj-Sid | | Label Stack |
+------------------+ +-----------------+ +----------------+
| RT1:[1000-1999] | |RT1->RT2:1012 | | 1012 |
+------------------+ +-----------------+ +----------------+
| RT2:[2000-2999] | |RT2->RT3:2023 | | 2023 |
+------------------+ +-----------------+ +----------------+
| RT3:[3000-3999] | |RT3->RT6:3036 | | 3034 |
+------------------+ +-----------------+ +----------------+
| RT4:[4000=4999] | |RT3->RT7:3037 | | 4045 |
+------------------+ +-----------------+ +----------------+
| RT5:[5000-5999] | |RT3->RT4:3034 |
+------------------+ +-----------------+
| RT6:[6000-6999] | |RT7->RT4:7074 |
+------------------+ +-----------------+
| RT7:[7000-7999] | |RT4->RT5:4045 |
+------------------+ +-----------------+
Figure 3. Next Segment is adj-SID for Node Protection
Hu, et al. Expires April 25, 2019 [Page 10]
Internet-Draft Segment Routing Proxy Forwarding October 2018
As shown in Figure 3, the SR-TE strict explicit path is
RT1->RT2->RT3->RT4->RT5, identified by the label stack { 1012, 2023,
3034, 4045 }. The adj-sid: 3034, which is used to identify the
traffic forwarding path of the RT3->RT4. Node RT2 acts as a PLR
node, and uses next adj-SID of the label stack to lookup the proxy
forwarding table calculated by RT2 locally for RT3. The queried path
is the label forwarding path of the next hop node of RT3, which
bypasses RT3. The specific steps are as follows:
a. RT1 pops top adj-SID 1012, and forwards packets to RT2;
b. RT2 identifies the next hop node RT3 fault, pops top adj-SID
2023, and queries Proxy Forwarding Table with the next sid (3034).
The query result is forwarding packets to RT4, the map label is 2004;
c. RT2 swaps the label 3034 to map label 2004, and then uses the map
label 2004 to query RT2's Routing Table. Due to RT3 failure, the
result of the query is forwarding the packets to RT7 (backup path) ,
and the out-label is 7004.
d. RT2 swaps the label 2004 to out-label 7004, and forwards packets
to RT7. RT7 queries the local routing table to forward to RT4.
4.2. Next segment is a node segment
Hu, et al. Expires April 25, 2019 [Page 11]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Node Sid:2 Node Sid:3
+-----+ +-----+
| |----------+ |
/ |RT2 | | RT3 |\
/ +-----+ +-----+ \
/ | \ /| \
/ | \ / | \
/ | \ / | \
/ | \ / | \
/ | \ / | \
Node Sid:1 | \ / | \Node Sid:4 Node Sid:5
+-----+ | \ / | +-----+ +-----+
| | | X | | |-------| |
| RT1 | | / \ | | RT4 | | RT5 |
+-----+ | / \ | +-----+ +-----+
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \| /
\ |/ | /
\ +-----+ +-----+ /
\ | | | |/
\ | RT6 |-----------| RT7 |
+-----+ +-----+
Node Sid:6 Node Sid:7
+------------------+ +-----------------+ +----------------+
| Node SRGB | | Adj-Sid | | Label Stack |
+------------------+ +-----------------+ +----------------+
| RT1:[1000-1999] | |RT1->RT2:1012 | | 1003 |
+------------------+ +-----------------+ +----------------+
| RT2:[2000-2999] | |RT2->RT3:2023 | | 3004 |
+------------------+ +-----------------+ +----------------+
| RT3:[3000-3999] | |RT3->RT6:3036 | | 4005 |
+------------------+ +-----------------+ +----------------+
| RT4:[4000=4999] | |RT3->RT7:3037 |
+------------------+ +-----------------+
| RT5:[5000-5999] | |RT3->RT4:3034 |
+------------------+ +-----------------+
| RT6:[6000-6999] | |RT7->RT4:7074 |
+------------------+ +-----------------+
| RT7:[7000-7999] | |RT4->RT5:4045 |
+------------------+ +-----------------+
Figure 4. Next Segment is node-SID for Node Protection
Hu, et al. Expires April 25, 2019 [Page 12]
Internet-Draft Segment Routing Proxy Forwarding October 2018
As shown in Figure 4, the SR-TE loose path is RT1->RT3->RT4->RT5,
which is identified by the label stack {1003, 3004, 4005}.
When the node RT3 fails, the proxy forwarding TLV advertised by the
RT2 is preferred to direct the traffic of the RT1 to the PLR node
RT2. Node RT2 acts as a PLR node and queries the proxy forwarding
table locally calculated for RT3. The queried path is the label
forwarding path of the next hop node of RT3, which bypasses RT3. The
specific steps are as follows:
a. RT1 swaps label 1003 to out-label 2003 to RT3.
b. RT2 receives the label forwarding packet whose top label of label
stack is 2003, and searches for the local Routing Table, the behavior
found is lookup Proxy Forwarding table due to RT3 failure.
c. RT2 uses 2003 as the in-label to lookup Proxy Forwarding tabel,
and finds that the SRGB difference between local node and the faulty
node is -1000. The next label(3004) of the label stack (top label
2003 pop) and the SRGB difference are used to recalculated the new
in-label[ 3004+(-1000)= 2004 ].
d. Uses the new in-label(2004) to lookup the RT2's Routing Table.
because of RT3 failure, the backup path is searched directly, and the
behavior of backup path is forwarded to RT7, out-label is 7004.
e. RT2 swaps the label 2004 to out-label 7004, and forwards packets
to RT7. RT7 queries the local routing table to forward to RT4.
4.3. Next segment is a binding segment
Hu, et al. Expires April 25, 2019 [Page 13]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Node Sid:2 Node Sid:3
+-----+ +-----+
| |----------+ |
/ |RT2 | | RT3 |\
/ +-----+ +-----+ \
/ | \ /| \
/ | \ / | \
/ | \ / | \
/ | \ / | \
/ | \ / | \
Node Sid:1 | \ / | \Node Sid:4 Node Sid:5
+-----+ | \ / | +-----+ +-----+
| | | X | | |-------| |
| RT1 | | / \ | | RT4 | | RT5 |
+-----+ | / \ | +-----+ +-----+
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \ | /
\ | / \| /
\ |/ | /
\ +-----+ +-----+ /
\ | | | |/
\ | RT6 |-----------| RT7 |
+-----+ +-----+
Node Sid:6 Node Sid:7
+------------------+ +-----------------+ +----------------+
| Node SRGB | | Adj-Sid | | Label Stack |
+------------------+ +-----------------+ +----------------+
| RT1:[1000-1999] | |RT1->RT2:1012 | | 1003 |
+------------------+ +-----------------+ +----------------+
| RT2:[2000-2999] | |RT2->RT3:2023 | | 100 |
+------------------+ +-----------------+ +----------------+
| RT3:[3000-3999] | |RT3->RT6:3036 |
+------------------+ +-----------------+
| RT4:[4000=4999] | |RT3->RT7:3037 |
+------------------+ +-----------------+
| RT5:[5000-5999] | |RT3->RT4:3034 |
+------------------+ +-----------------+
| RT6:[6000-6999] | |RT7->RT4:7074 |
+------------------+ +-----------------+
| RT7:[7000-7999] | |RT4->RT5:4045 |
+------------------+ +-----------------+
Figure 5. Next Segment is Binding-SID for Node Protection
Hu, et al. Expires April 25, 2019 [Page 14]
Internet-Draft Segment Routing Proxy Forwarding October 2018
As shown in Figure 4, the SR-TE loose path is RT1->RT3->RT4->RT5,
which is identified by the label stack { 1003,100 },where 100 is a
Binding-Sid, which represents the label combination of { 3034, 4045}.
When the node RT3 fails, the proxy forwarding TLV advertised by the
RT2 is preferred to direct the traffic of the RT1 to the PLR node
RT2. Node RT2 acts as a PLR node and uses Binding-SID to query the
proxy forwarding table locally calculated for RT3. The queried path
is the label forwarding path of the next hop node of RT3, which
bypasses RT3. The specific steps are as follows:
a. RT1 swaps label 1003 to out-label 2003 to RT3.
b. RT2 receives the label forwarding packet whose top label of label
stack is 2003, and searches for the local Routing Table, the behavior
found is lookup Proxy Forwarding table due to RT3 failure.
c. RT2 uses Binding-sid:100(label 2003 has pop) as the in-label to
lookup the Next Label record of the Proxy Forwarding Tabel, the
behavior found is swap to Segment list { 3034, 4045 }.
d. RT2 swaps Binding-sid:100 to Segment list { 3034, 4045 }, and RT2
Uses the 3034 to lookup the Next Label record of the Proxy Forwarding
table again. The behavior found is Forward to RT4, and the map label
is 2004.
e. Uses the new in-label(2004) to lookup the RT2's Routing Table.
because of RT3 failure, the backup path is searched directly, and the
behavior of backup path is forwarded to RT7, out-label is 7004.
f. RT2 swaps the label 2004 to out-label 7004, and forwards packets
to RT7. RT7 queries the local routing table to forward to RT4.
5. Other scenario considerations
The implementation for SRv6 and egress protection will be added in
subsequent documentation.
6. IANA Considerations
TBD
7. Security Considerations
TBD
Hu, et al. Expires April 25, 2019 [Page 15]
Internet-Draft Segment Routing Proxy Forwarding October 2018
8. Acknowledgements
TBD
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
9.2. Informative References
[I-D.bashandy-rtgwg-segment-routing-ti-lfa]
Bashandy, A., Filsfils, C., Decraene, B., Litkowski, S.,
Francois, P., daniel.voyer@bell.ca, d., Clad, F., and P.
Camarillo, "Topology Independent Fast Reroute using
Segment Routing", draft-bashandy-rtgwg-segment-routing-ti-
lfa-05 (work in progress), October 2018.
[I-D.ietf-isis-segment-routing-extensions]
Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A.,
Gredler, H., Litkowski, S., Decraene, B., and J. Tantsura,
"IS-IS Extensions for Segment Routing", draft-ietf-isis-
segment-routing-extensions-19 (work in progress), July
2018.
[I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d.,
bogdanov@google.com, b., and P. Mattes, "Segment Routing
Policy Architecture", draft-ietf-spring-segment-routing-
policy-01 (work in progress), June 2018.
[I-D.sivabalan-pce-binding-label-sid]
Sivabalan, S., Filsfils, C., Tantsura, J., Hardwick, J.,
Previdi, S., and D. Dhody, "Carrying Binding Label/
Segment-ID in PCE-based Networks.", draft-sivabalan-pce-
binding-label-sid-05 (work in progress), October 2018.
[RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching
(MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
2009, <https://www.rfc-editor.org/info/rfc5462>.
Hu, et al. Expires April 25, 2019 [Page 16]
Internet-Draft Segment Routing Proxy Forwarding October 2018
Authors' Addresses
Zhibo Hu
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: huzhibo@huawei.com
Huaimo Chen
Huawei Technologies
Boston, MA
USA
Email: Huaimo.chen@huawei.com
Junda Yao
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: yaojunda@huawei.com
Hu, et al. Expires April 25, 2019 [Page 17]