draft-ietf-rtgwg-bgp-pic-07.txt   draft-ietf-rtgwg-bgp-pic-08.txt 
Network Working Group A. Bashandy, Ed. Network Working Group A. Bashandy, Ed.
Internet Draft C. Filsfils Internet Draft Arrcus
Intended status: Informational Cisco Systems Intended status: Informational C. Filsfils
Expires: September 2018 P. Mohapatra Expires: March 2019 Cisco Systems
P. Mohapatra
Sproute Networks Sproute Networks
March 30, 2018 September 26, 2018
BGP Prefix Independent Convergence BGP Prefix Independent Convergence
draft-ietf-rtgwg-bgp-pic-07.txt draft-ietf-rtgwg-bgp-pic-08.txt
Abstract Abstract
In the network comprising thousands of iBGP peers exchanging millions In the network comprising thousands of iBGP peers exchanging millions
of routes, many routes are reachable via more than one next-hop. of routes, many routes are reachable via more than one next-hop.
Given the large scaling targets, it is desirable to restore traffic Given the large scaling targets, it is desirable to restore traffic
after failure in a time period that does not depend on the number of after failure in a time period that does not depend on the number of
BGP prefixes. In this document we proposed an architecture by which BGP prefixes. In this document we proposed an architecture by which
traffic can be re-routed to ECMP or pre-calculated backup paths in a traffic can be re-routed to ECMP or pre-calculated backup paths in a
timeframe that does not depend on the number of BGP prefixes. The timeframe that does not depend on the number of BGP prefixes. The
skipping to change at page 2, line 19 skipping to change at page 2, line 22
documents at any time. It is inappropriate to use Internet-Drafts documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in as reference material or to cite them other than as "work in
progress." progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on September 30, 2018. This Internet-Draft will expire on March 27, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
skipping to change at page 8, line 38 skipping to change at page 8, line 38
-------- +-------+ -------- +----------+ -------- +-------+ -------- +----------+
VPN-IP1-->|BGP-NH1|-->IGP-IP1(BGP NH1)--->|IGP NH1,I1|--->Adjacency1 VPN-IP1-->|BGP-NH1|-->IGP-IP1(BGP NH1)--->|IGP NH1,I1|--->Adjacency1
| |BGP-NH2|-->.... | |IGP NH2,I2|--->Adjacency2 | |BGP-NH2|-->.... | |IGP NH2,I2|--->Adjacency2
| +-------+ | +----------+ | +-------+ | +----------+
| | | |
| | | |
v v v v
OutLabel-List: OutLabel-List: OutLabel-List: OutLabel-List:
+----------------------+ +----------------------+ +----------------------+ +----------------------+
|VPN-L11 (VPN-IP1, NH1)| |IGP-L11 (IGP-IP1, NH1)| |VPN-L11 (VPN-IP1, NH1)| |IGP-L11 (IGP-IP1, NH1)|
|VPN-L12 (VPN-IP1, NH2)| |IGP-L12 (IGP-IP1, NH2)| |VPN-L21 (VPN-IP1, NH2)| |IGP-L12 (IGP-IP1, NH2)|
+----------------------+ +----------------------+ +----------------------+ +----------------------+
Figure 2 Shared Hierarchical Forwarding Chain at iPE Figure 2 Shared Hierarchical Forwarding Chain at iPE
The forwarding chain depicted in Figure 2 illustrates the first The forwarding chain depicted in Figure 2 illustrates the first
pillar, which is sharing and hierarchy. We can see that the BGP pillar, which is sharing and hierarchy. We can see that the BGP
pathlist consisting of BGP-NH1 and BGP-NH2 is shared by all NLRIs pathlist consisting of BGP-NH1 and BGP-NH2 is shared by all NLRIs
reachable via ePE1 and ePE2. As such, it is possible to make changes reachable via ePE1 and ePE2. As such, it is possible to make changes
to the pathlist without having to make changes to the NLRIs. For to the pathlist without having to make changes to the NLRIs. For
example, if BGP-NH2 becomes unreachable, there is no need to modify example, if BGP-NH2 becomes unreachable, there is no need to modify
skipping to change at page 16, line 11 skipping to change at page 16, line 11
ASBR13 via IGP using the same distance. ASBR13 via IGP using the same distance.
We will make the following assumptions about the labels We will make the following assumptions about the labels
o The VPN labels advertised by ePE1 and ePE2 for prefix VPN-IP1 are o The VPN labels advertised by ePE1 and ePE2 for prefix VPN-IP1 are
VPN-L11 and VPN-L21, respectively VPN-L11 and VPN-L21, respectively
o The VPN labels advertised by ePE2 and ePE3 for prefix VPN-IP2 are o The VPN labels advertised by ePE2 and ePE3 for prefix VPN-IP2 are
VPN-L22 and VPN-L32, respectively VPN-L22 and VPN-L32, respectively
o The labels advertised by ASBR11 to iPE using BGP-LU [3] for the o The labels advertised by ASBR11 to iPE using BGP-LU [3] for the
egress PEs ePE1 and ePE2 are LASBR11(ePE1) and LASBR11(ePE2), egress PEs ePE1 and ePE2 are LASBR111(ePE1) and LASBR112(ePE2),
respectively. respectively.
o The labels advertised by ASBR12 to iPE using BGP-LU [3] for the o The labels advertised by ASBR12 to iPE using BGP-LU [3] for the
egress PEs ePE1 and ePE2 are LASBR12(ePE1) and LASBR12(ePE2), egress PEs ePE1 and ePE2 are LASBR121(ePE1) and LASBR122(ePE2),
respectively respectively
o The label advertised by ASBR13 to iPE using BGP-LU [3] for the o The label advertised by ASBR13 to iPE using BGP-LU [3] for the
egress PE ePE3 is LASBR13(ePE3) egress PE ePE3 is LASBR13(ePE3)
o The IGP labels advertised by the next hops directly connected to o The IGP labels advertised by the next hops directly connected to
iPE towards ASBR11, ASBR12, and ASBR13 in the core of domain 1 iPE towards ASBR11, ASBR12, and ASBR13 in the core of domain 1
are IGP-L11, IGP-L12, and IGP-L13, respectively. are IGP-L11, IGP-L12, and IGP-L13, respectively.
o Both the routers ASBR21 and ASBR22 of Domain 2 advertise the same
label LASBR21 and LASBR22 to the egress PEs ePE1 and ePE2,
respectively, to the routers ASBR11 and ASBR22 of Domain 1
o The router ASBR23 of Domain 2 advertises the label LASBR23 for
the egress PE ePE3 to the router ASBR13 of Domain 1
Based on these connectivity assumptions and the topology in Figure Based on these connectivity assumptions and the topology in Figure
4, the routing table on iPE is 4, the routing table on iPE is
65000: 198.51.100.0/24 65000: 198.51.100.0/24
via ePE1 (192.0.2.1), VPN Label: VPN-L11 via ePE1 (192.0.2.1), VPN Label: VPN-L11
via ePE2 (192.0.2.2), VPN Label: VPN-L21 via ePE2 (192.0.2.2), VPN Label: VPN-L21
65000: 203.0.113.0/24 65000: 203.0.113.0/24
via ePE1 (192.0.2.2), VPN Label: VPN-L22 via ePE1 (192.0.2.2), VPN Label: VPN-L22
via ePE2 (192.0.2.3), VPN Label: VPN-L32 via ePE2 (192.0.2.3), VPN Label: VPN-L32
192.0.2.1/32 (ePE1) 192.0.2.1/32 (ePE1)
Via ASBR11, BGP-LU Label: LASBR11(ePE1) Via ASBR11, BGP-LU Label: LASBR111(ePE1)
Via ASBR12, BGP-LU Label: LASBR12(ePE1) Via ASBR12, BGP-LU Label: LASBR121(ePE1)
192.0.2.2/32 (ePE2) 192.0.2.2/32 (ePE2)
Via ASBR11, BGP-LU Label: LASBR11(ePE2) Via ASBR11, BGP-LU Label: LASBR112(ePE2)
Via ASBR12, BGP-LU Label: LASBR12(ePE2) Via ASBR12, BGP-LU Label: LASBR122(ePE2)
192.0.2.3/32 (ePE3) 192.0.2.3/32 (ePE3)
Via ASBR13, BGP-LU Label: LASBR13(ePE3) Via ASBR13, BGP-LU Label: LASBR13(ePE3)
192.0.2.4/32 (ASBR11) 192.0.2.4/32 (ASBR11)
via Core, Label: IGP-L11 via Core, Label: IGP-L11
192.0.2.5/32 (ASBR12) 192.0.2.5/32 (ASBR12)
via Core, Label: IGP-L12 via Core, Label: IGP-L12
192.0.2.6/32 (ASBR13) 192.0.2.6/32 (ASBR13)
via Core, Label: IGP-L13 via Core, Label: IGP-L13
skipping to change at page 18, line 26 skipping to change at page 18, line 26
+-|-+-\-+ +-/-+-\-+ +-|-+-\-+ +-/-+-\-+
| \ / \ | \ / \
| \ / \ | \ / \
| \ / \ | \ / \
| \ / \ | \ / \
v \ / \ v \ / \
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+
+----+ ePE1| |ePE2 +-----+ | ePE3+-----+ +----+ ePE1| |ePE2 +-----+ | ePE3+-----+
| +--+--+ +-----+ | +--+--+ | | +--+--+ +-----+ | +--+--+ |
v | / v | v v | / v | v
+-------------+ | / +-------------+ | +-------------+ +--------------+ | / +--------------+ | +-------------+
|LASBR11(ePE1)| | / |LASBR11(ePE2)| | |LASBR13(ePE3)| |LASBR111(ePE1)| | / |LASBR112(ePE2)| | |LASBR13(ePE3)|
+-------------+ | / +-------------+ | +-------------+ +--------------+ | / +--------------+ | +-------------+
|LASBR12(ePE1)| | / |LASBR12(ePE2)| | Outlabel-List |LASBR121(ePE1)| | / |LASBR122(ePE2)| | Outlabel-List
+-------------+ | / +-------------+ | For ePE3 +--------------+ | / +--------------+ | For ePE3
Outlabel-List | / Outlabel-List | Outlabel-List | / Outlabel-List |
For ePE1 | / For ePE2 | For ePE1 | / For ePE2 |
| / | | / |
| / | | / |
| / | | / |
v / v v / v
+---+---+ Shared Pathlist +---+ Pathlist +---+---+ Shared Pathlist +---+ Pathlist
| 0 | 1 | For ePE1 and ePE2 | 0 | For ePE3 | 0 | 1 | For ePE1 and ePE2 | 0 | For ePE3
+-|-+-\-+ +-|-+ +-|-+-\-+ +-|-+
| \ | | \ |
skipping to change at page 19, line 21 skipping to change at page 19, line 21
+------------+ +-------+ +-------+ +------------+ +------------+ +-------+ +-------+ +------------+
| VPN-L11 |<---|VPN-IP1| | VPN-IP2|--->| VPN-L22 | | VPN-L11 |<---|VPN-IP1| | VPN-IP2|--->| VPN-L22 |
+------------+ +---+---+ +---+---+ +------------+ +------------+ +---+---+ +---+---+ +------------+
| VPN-L21 | | | | VPN-L32 | | VPN-L21 | | | | VPN-L32 |
+------------+ | | +------------+ +------------+ | | +------------+
| | | |
| | | |
| | | |
Flattened | | Flattened Flattened | | Flattened
pathlist V V pathlist pathlist V V pathlist
+===+===+ +===+===+===+ +=============+ +===+===+ +===+===+===+ +==============+
+--------+ 0 | 1 | | 0 | 0 | 1 +---->|LASBR11(ePE2)| +--------+ 0 | 1 | | 0 | 0 | 1 +---->|LASBR112(ePE2)|
| +=|=+=\=+ +=/=+=/=+=\=+ +=============+ | +=|=+=\=+ +=/=+=/=+=\=+ +==============+
v | \ / / \ |LASBR12(ePE2)| v | \ / / \ |LASBR122(ePE2)|
+=============+ | \ +-----+ / \ +=============+ +==============+ | \ +-----+ / \ +==============+
|LASBR11(ePE1)| | \/ / \ |LASBR13(ePE3)| |LASBR111(ePE1)| | \/ / \ |LASBR13(ePE3) |
+=============+ | /\ / \ +=============+ +==============+ | /\ / \ +==============+
|LASBR12(ePE1)| | / \ / \ |LASBR121(ePE1)| | / \ / \
+=============+ | / \ / \ +==============+ | / \ / \
| / \ / \ | / \ / \
| / + + \ | / + + \
| + | | \ | + | | \
| | | | \ | | | | \
v v v v \ v v v v \
+------+ +------+ +------+ +------+ +------+ +------+
+----|ASBR11| |ASBR12+---+ |ASBR13+---+ +----|ASBR11| |ASBR12+---+ |ASBR13+---+
| +------+ +------+ | +------+ | | +------+ +------+ | +------+ |
v v v v v v
+-------+ +-------+ +-------+ +-------+ +-------+ +-------+
skipping to change at page 21, line 7 skipping to change at page 21, line 7
o Suppose the hashing by the forwarding engine picks the second o Suppose the hashing by the forwarding engine picks the second
path in the flattened pathlist associated with the leaf "VPN- path in the flattened pathlist associated with the leaf "VPN-
IP2". IP2".
o Because the second path has the index "0", the label "VPN-L22" is o Because the second path has the index "0", the label "VPN-L22" is
pushed on the packet pushed on the packet
o Next the forwarding engine picks the second label from the o Next the forwarding engine picks the second label from the
Outlabel-Array associated with the flattened pathlist. Hence the Outlabel-Array associated with the flattened pathlist. Hence the
next label that is pushed is "LASBR12(ePE2)" next label that is pushed is "LASBR122(ePE2)"
o The forwarding engine now moves to the parent of the flattened o The forwarding engine now moves to the parent of the flattened
pathlist corresponding to the second path. The parent is the IGP pathlist corresponding to the second path. The parent is the IGP
label leaf corresponding to "ASBR12" label leaf corresponding to "ASBR12"
o So the packet is forwarded towards the ASBR "ASBR12" and the IGP o So the packet is forwarded towards the ASBR "ASBR12" and the IGP
label at the top will be "L12" label at the top will be "L12"
Based on the above steps, a packet arriving at iPE and destined to Based on the above steps, a packet arriving at iPE and destined to
the prefix VPN-L22 reaches its destination as follows the prefix VPN-L22 reaches its destination as follows
o iPE sends the packet along the shortest path towards ASBR12 with o iPE sends the packet along the shortest path towards ASBR12 with
the following label stack starting from the top: {L12, the following label stack starting from the top: {L12,
LASBR12(ePE2), VPN-L22}. LASBR122(ePE2), VPN-L22}.
o The penultimate hop of ASBR12 pops the top label "L12". Hence the o The penultimate hop of ASBR12 pops the top label "L12". Hence the
packet arrives at ASBR12 with the label stack {LASBR12(ePE2), packet arrives at ASBR12 with the label stack {LASBR122(ePE2),
VPN-L22} where "LASBR12(ePE2)" is the top label. VPN-L22} where "LASBR12(ePE2)" is the top label.
o ASBR12 swaps "LASBR12(ePE2)" with the label "LASBR22(ePE2)", o ASBR12 swaps "LASBR122(ePE2)" with the label "LASBR22(ePE2)",
which is the label advertised by ASBR22 for the ePE2 (the egress which is the label advertised by ASBR22 for the ePE2 (the egress
PE). PE).
o ASBR22 receives the packet with "LASBR22(ePE2)" at the top. o ASBR22 receives the packet with "LASBR22(ePE2)" at the top.
o Hence ASBR22 swaps "LASBR22(ePE2)" with the IGP label for ePE2 o Hence ASBR22 swaps "LASBR22(ePE2)" with the IGP label for ePE2
advertised by the next-hop towards ePE2 in domain 2, and sends advertised by the next-hop towards ePE2 in domain 2, and sends
the packet along the shortest path towards ePE2. the packet along the shortest path towards ePE2.
o The penultimate hop of ePE2 pops the top label. Hence ePE2 o The penultimate hop of ePE2 pops the top label. Hence ePE2
skipping to change at page 29, line 33 skipping to change at page 29, line 33
Special thanks to Neeraj Malhotra, Yuri Tsier for the valuable Special thanks to Neeraj Malhotra, Yuri Tsier for the valuable
help help
Special thanks to Bruno Decraene for the valuable comments Special thanks to Bruno Decraene for the valuable comments
This document was prepared using 2-Word-v2.0.template.dot. This document was prepared using 2-Word-v2.0.template.dot.
Authors' Addresses Authors' Addresses
Ahmed Bashandy Ahmed Bashandy
Cisco Systems Arrcus
170 West Tasman Dr, San Jose, CA 95134, USA
Email: abashandy.ietf@gmail.com Email: abashandy.ietf@gmail.com
Clarence Filsfils Clarence Filsfils
Cisco Systems Cisco Systems
Brussels, Belgium Brussels, Belgium
Email: cfilsfil@cisco.com Email: cfilsfil@cisco.com
Prodosh Mohapatra Prodosh Mohapatra
Sproute Networks Sproute Networks
Email: mpradosh@yahoo.com Email: mpradosh@yahoo.com
 End of changes. 19 change blocks. 
35 lines changed or deleted 41 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/