Topology
Figure 6-8 displays a sample BGP LS EPE configuration topology.
Figure 6-8: BGP LS EPE configuration topology
Configuration for BGP LS EPE
R1
R1#configure terminal | Enter configure mode. |
R1(config)#interface lo | Enter interface mode. |
R1(config-if)#ip address 11.11.11.1/32 secondary | Configure the IP address of the interface. |
R1(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R1(config-if)# prefix-sid index 10 no-php | Configure prefix SID index value. |
R1(config-if)#exit | Exit interface mode. |
R1(config)#interface eth1 | Enter interface mode. |
R1(config-if)#ip address 61.1.1.1/24 | Configure the IP address of the interface. |
R1(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R1(config-if)#isis network point-to-point | ISIS network type as point-to-point |
R1(config-if)#label-switching | Enable label switching. |
R1(config)#router isis 1 | Set the routing process ID . |
R1(config-router)#is-type level-1 | Configure is-type. |
R1(config-router)#metric-style wide level-1 | Configure metric style as wide. |
R1(config-router)# net 49.0001.0000.0000.0011.00 | Configure Network entity title (NET). |
R1(config-router)#mpls traffic-eng router-id 11.11.11.1 | Enable MPLS Traffic Engineering under router process. |
R1(config-router)#mpls traffic-eng level-1 | Enable MPLS Traffic Engineering as level-1. |
R1(config-router)# capability cspf | Enable CSPF capability under ISIS 1 process. |
R1(config-router)#segment-routing mpls | Enable segment routing under router process. |
R1(config-router)#exit | Exit router mode. |
R1(config)# pce configuration 100 | Configure Path Computation Client with entity 100 |
R1(config-pcep)#capability | Enter capabilities submode |
R1(config-pcep-cap)#segment-routing pcep | Segment routing capability for PCE |
R1(config-pcep-cap)# pce instantiation | PCE Initiated LSP Instantiation |
R1(config-pcep-cap)# exit-capability | Exit from PCEP Entity Capability mode |
R1(config-pcep)# update-source 11.11.11.1 | Source of routing updates |
R1(config-pcep)# peer-address ipv4 33.33.33.33 | Configure peer address |
R1(config-pcep)# exit | Exit PCEP mode. |
R1(config)#segment-routing | Configuring segment-routing |
R1(config-sr)#traffic-engineering | Segment Routing traffic engineering |
R1(config-sr-te)#policy policy-to-R4 | Policy configuration with name |
R1(config-sr-pol)#color 1 end-point 4.1.1.2 | SR-policy color and end-point |
R1(config-sr-pol-cp)#candidate-path 100 | SR policy candidate path |
R1(config-sr-pol-cp)#preference 100 | Candidate Path preference |
R1(config-sr-pol-cp)# dynamic-path pcep | Dynamic path as pcep |
R1(config-sr-pol-cp)#exit-pol-cp | Exit from SR policy candidate path configuration mode |
R1(config-sr-pol)#pce entity 100 | Assign the PCE entity 100 to the SR policy |
R1(config-sr-pol)#exit-sr-pol | Exit from SR policy configuration mode |
R1(config-sr-te)#exit-te | Exit from traffic engineering configuration mode |
R2
R2#configure terminal | Enter configure mode. |
R2(config)#interface lo | Enter interface mode. |
R2(config-if)#ip address 21.21.21.21/32 secondary | Configure the IP address of the interface. |
R2(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R2(config-if)# prefix-sid index 20 no-php | Configure prefix SID index value. |
R2(config-if)#exit | Exit interface mode. |
R2(config)#interface eth1 | Enter interface mode. |
R2(config-if)#ip address 61.1.1.2/24 | Configure the IP address of the interface. |
R2(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R2(config-if)#isis network point-to-point | ISIS network type as point-to-point |
R2(config-if)#label-switching | Enable label switching. |
R2(config)#interface eth2 | Enter interface mode. |
R2(config-if)#ip address 12.1.1.1/24 | Configure the IP address of the interface. |
R2(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R2(config-if)#label-switching | Enable label switching. |
R2(config-if)#isis network point-to-point | ISIS network type as point-to-point |
R2(config-if)#exit | Exit interface mode. |
R2(config)#router isis 1 | Set the routing process ID . |
R2(config-router)#is-type level-1 | Configure is-type. |
R2(config-router)#metric-style wide level-1 | Configure metric style as wide. |
R2(config-router)# net 49.0001.0000.0000.0022.00 | Configure Network entity title (NET). |
R2(config-router)#mpls traffic-eng router-id 21.21.21.21 | Enable MPLS Traffic Engineering under router process. |
R2(config-router)#mpls traffic-eng level-1 | Enable MPLS Traffic Engineering as level-1. |
R2(config-router)# capability cspf | Enable CSPF capability under ISIS 1 process. |
R2(config-router)#segment-routing mpls | Enable segment routing under router process. |
R2(config-router)#exit | Exit router mode. |
R3
R3#configure terminal | Enter configure mode. |
R3(config)#interface lo | Enter interface mode. |
R3(config-if)#ip address 31.31.31.31/32 secondary | Configure the IP address of the interface. |
R3(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R3(config-if)# prefix-sid index 30 no-php | Configure prefix SID index value. |
R3(config-if)#exit | Exit interface mode. |
R3(config)#interface eth1 | Enter interface mode. |
R3(config-if)#ip address 4.1.1.1/24 | Configure the IP address of the interface. |
R3(config-if)#label-switching | Enable label switching. |
R3(config)#interface eth2 | Enter interface mode. |
R3(config-if)#ip address 12.1.1.2/24 | Configure the IP address of the interface. |
R3(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R3(config-if)#label-switching | Enable label switching. |
R3(config-if)#isis network point-to-point | ISIS network type as point-to-point |
R3(config-if)#exit | Exit interface mode. |
R3(config)#interface eth3 | Enter interface mode. |
R3(config-if)#ip address 9.1.1.1/24 | Configure the IP address of the interface towards PCE |
R3(config-if)#ip router isis 1 | Make the interface part of the router ISIS 1 instance. |
R3(config-if)#label-switching | Enable label switching. |
R3(config-if)#isis network point-to-point | Network type as point-to-point |
R3(config-if)#exit | Exit interface mode. |
R3(config)#router isis 1 | Set the routing process ID . |
R3(config-router)#is-type level-1 | Configure is-type. |
R3(config-router)#distribute bgp-ls | Link State distribution to BGP |
R3(config-router)#metric-style wide level-1 | Configure metric style as wide. |
R3(config-router)# net 49.0001.0000.0000.0033.00 | Configure Network entity title (NET). |
R3(config-router)#mpls traffic-eng router-id 31.31.31.31 | Enable MPLS Traffic Engineering under router process. |
R3(config-router)#mpls traffic-eng level-1 | Enable MPLS Traffic Engineering as level-1. |
R3(config-router)# capability cspf | Enable CSPF capability under ISIS 1 process. |
R3(config-router)#segment-routing mpls | Enable segment routing under router process. |
R3(config-router)#exit | Exit router mode. |
R3(config)# router bgp 1000 | Configure router BGP in AS 1000 |
R3(config-router)# bgp router-id 31.31.31.31 | Router identifier for BGP |
R3(config-router)# neighbor 9.1.1.2 remote-as 100 | Configure neighbor in remote-as 100 |
R3(config-router)# neighbor 4.1.1.2 remote-as 2000 | Configure neighbor in remote-as 2000 |
R3(config-router)# address-family link-state link-state | Enter link-state Address family mode |
R3(config-router-af)# neighbor 9.1.1.2 activate | Activate PCE neighbor |
R3(config-router-af)# exit-address-family | Exit from Address Family configuration mode |
R3(config-router)# address-family ipv4 unicast | Enter link-state Address family mode |
R3(config-router-af)# neighbor 4.1.1.2 activate | Activate EPE neighbor |
R3(config-router-af)# exit-address-family | Exit from Address Family configuration mode |
R3(config-router)# egress-engineering | Enter Egress Engineering mode |
R3(config-router-af)# neighbor 4.1.1.2 peer-node | Enable peer-node SID for EPE neighbor |
R3(config-router-af)# exit-address-family | Exit from Address Family configuration mode |
R3(config-router)#exit | Exit router mode. |
R4
R4#configure terminal | Enter configure mode. |
R4(config)#interface lo | Enter interface mode. |
R4(config-if)#ip address 41.41.41.41/32 secondary | Configure the IP address of the interface. |
R4(config-if)#exit | Exit interface mode. |
R4(config)#interface eth1 | Enter interface mode. |
R4(config-if)#label-switching | Enable label switching. |
R4(config-if)#exit | Exit interface mode. |
R4(config)# router bgp 2000 | Configure router BGP in AS 2000 |
R4(config-router)# neighbor 4.1.1.1 remote-as 1000 | Configure neighbor in remote-as 1000 |
R4(config-router)# address-family ipv4 unicast | Enter link-state Address family mode |
R4(config-router-af)# neighbor 4.1.1.1 activate | Activate ipv4 EBGP neighbor |
R4(config-router-af)# exit-address-family | Exit from Address Family configuration mode |
R4(config-router)#exit | Exit router mode. |
Validation
R3
R3#show clns neighbors
Total number of L1 adjacencies: 2
Total number of L2 adjacencies: 0
Total number of adjacencies: 2
Tag 1: VRF : default
System Id Interface SNPA State Holdtime Type Protocol
0000.0000.3333 xe9 0032.1748.f810 Up 27 L1 IS-IS
0000.0000.0022 xe20 e8c5.7a7a.136c Up 23 L1 IS-IS
R3#show bgp neighbors
BGP neighbor is 4.1.1.2, remote AS 2000, local AS 1000, external link
BGP version 4, local router ID 31.31.31.31, remote router ID 4.4.4.4
BGP state = Established, up for 00:17:08
Last read 00:00:11, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 44 messages, 0 notifications, 0 in queue
Sent 43 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 3, neighbor version 3
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
2 accepted prefixes
5 announced prefixes
Connections established 1; dropped 0
Local host: 4.1.1.1, Local port: 59946
Foreign host: 4.1.1.2, Foreign port: 179
Nexthop: 4.1.1.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
BGP neighbor is 9.1.1.2, remote AS 100, local AS 1000, external link
BGP version 4, local router ID 31.31.31.31, remote router ID 2.2.2.2
BGP state = Established, up for 00:17:07
Last read 00:00:03, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
4-Octet ASN Capability: received
Address family IPv4 Unicast: advertised and received
Address family Link-State Link-State: advertised and received
Received 41 messages, 0 notifications, 0 in queue
Sent 138 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 3, neighbor version 3
Index 2, Offset 0, Mask 0x4
Extended Nexthop Encoding: received
Community attribute sent to this neighbor (both)
5 accepted prefixes
2 announced prefixes
For address family: Link-State Link-State
BGP table version 17, neighbor version 17
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
0 accepted prefixes
31 announced prefixes
Connections established 1; dropped 0
Local host: 9.1.1.1, Local port: 58018
Foreign host: 9.1.1.2, Foreign port: 179
Nexthop: 9.1.1.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
R3#show bgp link-state link-state summary
BGP router identifier 31.31.31.31, local AS number 1000
BGP table version is 17
2 BGP AS-PATH entries
0 BGP community entries
Neighbor V AS MsgRcv MsgSen TblVer InQ OutQ Up/Down State/PfxRcd
9.1.1.2 4 100 41 138 17 0 0 00:17:11 0
Total number of neighbors 1
Total number of Established sessions 1
R3#
R3#show bgp epe
EPE Details for EBGP peers:
===== Peer : 4.1.1.2 =====
epe->sid_type = Peer-node-SID
in-label = 24320
nexthop = 4.1.1.2
out_intf = xe4
R3#show bgp link-state link-state
BGP router identifier 31.31.31.31, local AS number 1000
Origin codes: i - IGP, e - EGP
Prefix codes: E link, V node, T IP reacheable route, I Identifier
N local node, R remote node, L link, P prefix
L1/L2 ISIS level-1/level-2, O OSPF, a area-ID,
c confed-ID/ASN, b bgp-identifier, r router-ID,
i if-address, n nbr-address, o OSPF Route-type,
p IP-prefix, d designated router address, s ISO-ID
[V][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]]/208
[V][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0011.00]]/208
[V][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]]/208
[V][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]]/208
[V][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.3333.00]]/208
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][R[c1000][b31.31.31.31][s0000.0000.2345.00]][L[i12.1.1.2][n12.1.1.1]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][R[c1000][b31.31.31.31][s0000.0000.3333.00]][L[i9.1.1.1][n9.1.1.2]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0011.00]][R[c1000][b31.31.31.31][s0000.0000.0022.00]][L[i61.1.1.1][n61.1.1.2]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]][R[c1000][b31.31.31.31][s0000.0000.0011.00]][L[i61.1.1.2][n61.1.1.1]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]][R[c1000][b31.31.31.31][s0000.0000.0033.00]][L[i12.1.1.1][n12.1.1.2]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][R[c1000][b31.31.31.31][s0000.0000.0022.00]][L[i12.1.1.2][n12.1.1.1]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][R[c1000][b31.31.31.31][s0000.0000.3333.00]][L[i9.1.1.1][n9.1.1.2]]/328
[E][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.3333.00]][R[c1000][b31.31.31.31][s0000.0000.0033.00]][L[i9.1.1.2][n9.1.1.1]]/328
[E][B][I0x3e8][N[c1000][b31.31.31.31][b31.31.31.31][c1000]][R[c1000][b31.31.31.31][b4.4.4.4][c2000]][L[i4.1.1.1][n4.1.1.2]]/344
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p4.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p9.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p12.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p7.7.7.7/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p31.31.31.31/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0001.00]][P[p33.33.33.33/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0011.00]][P[p61.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0011.00]][P[p11.11.11.1/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]][P[p12.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]][P[p61.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0022.00]][P[p21.21.21.21/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][P[p4.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][P[p9.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][P[p12.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.0033.00]][P[p31.31.31.31/32]]/248
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.3333.00]][P[p9.1.1.0/24]]/240
[T][L1][I0x1][N[c1000][b31.31.31.31][s0000.0000.3333.00]][P[p33.33.33.33/32]]/248
NLRIs, Total: 31, Node: 5, Link: 9, Prefix: 17
R3#
R3#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
O - OSPF/OSPF6 SR, i - ISIS SR, k - SR CLI
P - SR Policy, U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
B> 4.1.1.2/32 16 24320 3 N/A xe4 4.1.1.2 LSP_DEFAULT
i> 31.31.31.31/32 1 16030 Nolabel N/A N/A 127.0.0.1 LSP_DEFAULT
i> 21.21.21.21/32 8 16020 16020 N/A xe20 12.1.1.1 LSP_DEFAULT
i> 11.11.11.1/32 7 16010 16010 N/A xe20 12.1.1.1 LSP_DEFAULT
i> 33.33.33.33/32 9 16107 3 N/A xe9 9.1.1.2 LSP_DEFAULT
i> 9.1.1.2/32 2 24960 3 N/A xe9 9.1.1.2 LSP_DEFAULT
i> 12.1.1.1/32 3 24961 3 N/A xe20 12.1.1.1 LSP_DEFAULT
R3#
R3#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
(m) - FTN mapped over multipath transport
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
i> 11.11.11.1/32 1 6 0 Yes LSP_DEFAULT 16010 xe20 No 12.1.1.1
i> 21.21.21.21/32 2 9 0 Yes LSP_DEFAULT 16020 xe20 No 12.1.1.1
i> 33.33.33.33/32 3 25 0 Yes LSP_DEFAULT 3 xe9 No 9.1.1.2
R3#
R3#
R1
R1#show clns neighbors
Total number of L1 adjacencies: 1
Total number of L2 adjacencies: 0
Total number of adjacencies: 1
Tag 1: VRF : default
System Id Interface SNPA State Holdtime Type Protocol
0000.0000.0022 xe6 e8c5.7a7a.1366 Up 26 L1 IS-IS
R1#show pcep peer
===========================================
Path Computation Client Connection Details :
===========================================
PCEP entity id : 100
================================================
Peer Info
---------------------------------------------
PCE Server IP : 33.33.33.33
PCEP Source IP : 11.11.11.1
PCEP Local session-id : 3
PCEP Remote session-id : 0
Session Connect Retry : 0
Session Connect due in : 0 sec
OpenRetry : 0
Open wait due in : 0 sec
Keep wait due in : 0 sec
Keep alive timer due in : 3 sec
Peer Keep-alive value : 30 sec
Peer Dead timer value : 120 sec
Peer Dead timer due in : 111 sec
Peer Overloaded : No
Peer Overload due in : 0 sec
LocalOK : 1
RemoteOK : 1
Max unknown messages : 0
FSM State : Up
Total FSM State changes : 4
Peer Up time : 00:02:26
Flap Limit Timer value : 300 Sec
Local Capabilities :
Stateful PCE Capability : Yes
LSP Instantiation : Yes
SR PCE Capability : Yes
Remote Capabilities :
Stateful PCE Capability : Yes
LSP Update Capability : Yes
LSP Instantiation : Yes
SR PCE Capability : Yes
R1#
Policy should be UP with the EPE label
R1#show segment-routing policy detail
Policy-Name: policy-to-R4 Color 1 End-point 4.1.1.2 Tunnel-ID: 1
Admin-Status: UP Oper-Status: UP for 00:01:41
State Transition Count: 1
CSPF Retry Limit: 100 CSPF Retry Interval: 10
PCE Entity ID: 100
Binding SID :
BSID: 24960
Alloc mode: Dynamic
Oper State: Programmed
CP ID: 1, Active
Preference: 100 Path Type: Dynamic(pcep) CP Origin: Local
CP state: Valid
Segment List:
Total no. of segments: 2
Segment0[LABEL]: Label :16030
Segment1[LABEL]: Label :24320
Out-if: xe6 Out-label-stack: 16030/24320
Computed TE Metric: 20
Attributes:
Configured:
Affinity:
Metric-type: TE
IP Constraints:
R1#
Similarly, Peer-Adjacency SID and Peer-SET SIDs can be configured using the following CLI:
Neighbor <A.B.C.D> peer-adj hop-address <A.B.C.D>
Neighbor <A.B.C.D> peer-set <NAME>
Peer-node and peer-adj SIDs can have backups which are configured via the following CLI:
Suppose we have 2 EBGP peers who have EPE configured:
Neighbor <A.B.C.D> peer-node
Neighbor <P.Q.R.S> peer-node
Neighbor <A.B.C.D> peer-adj hop-address <A.B.C.D>
Neighbor <P.Q.R.S> peer-adj hop-address <P.Q.R.S>
The backup for a peer-node SID can be a peer-node or peer-adj of the other peer and similarly, the backup of peer-adj SID can be a peer-node or peer-adj SID.
Neighbor <A.B.C.D> peer-node backup backup-type peer-node backup-peer <P.Q.R.S>
Neighbor <A.B.C.D> peer-node backup backup-type peer-adj backup-peer <P.Q.R.S> hop-address <P.Q.R.S>
Neighbor <A.B.C.D> peer-adj hop-address <A.B.C.D> backup backup-type peer-node backup-peer <P.Q.R.S>
Neighbor <A.B.C.D> peer-adj hop-address <A.B.C.D> backup backup-type peer-adj backup-peer <P.Q.R.S> hop-address <P.Q.R.S>