In the previous video we started to discuss the theory of Traffic Engineering in Multi Domain Segment Routing Network. Now let’s go over the details of the implementation and troubleshooting points.

Multi Domain Segment Routing Topology

This is the Topology in which I am going to implement segment routing Multi Domain with PCE component. As you see, I have added the roles of RR and PCE in P routers. This is because I could not load many routers in my server.

multi domain segment routing topology
multi domain segment routing topology

I have two domains with AS-65001 and AS-65002. An isolated ISIS is configured in each domain. In each domain there is a PE router that is connected to customer networks. Here, PE1 and PE2 routers are connected to RAYKA customers. addresses 1.1.1.1 and 2.2.2.2 are the IP of PE router. 11.11.11.11 is the address of the route reflector and PCE in domain1. 12.12.12.12 is the address of the router reflector in domain2. two domains are connected to each other through ASBR routers with the addresses 3.3.3.3 and 4.4.4.4.

We will add RAYKA customer in PE2 in GOLD SLA with color 10. Then we configure an ODN policy in PE1 for GOLD traffic with color 10 to route traffic on the path with lowest TE metric and with the help of PCE.

Multi Domain Segment Routing Configuration Example

Now let’s review what I have already configured in this topology. I have displayed here the configuration of PE1, PE2, P1_RR_PCE and also ASBR1. All the configuration are dispalyed except IP Addressing which is shown in the topology itself.

Multi Domain Segment Routing ODN Policy
Multi Domain Segment Routing ODN Policy

let’s first check the configuration  of PE1 router. The first part of PE1 configuration is to enable ISIS, MPLS TE and segment routing. The only new point to notice, is the value of instance-id when distributing link-state information. each domain must have its own instance-id. I configured an instance-id of 101 for domain1 and an instance-id  of 102 for doamin2.

!!! PE1
mpls oam
!
mpls traffic-eng
!         
router isis DOMAIN1
 is-type level-2-only
 net 49.0001.0000.0000.0001.00
 distribute link-state instance-id 101
 address-family ipv4 unicast
  metric-style wide
  mpls traffic-eng level-2-only
  mpls traffic-eng router-id Loopback0
  segment-routing mpls sr-prefer
 !
 interface Loopback0
  address-family ipv4 unicast
   prefix-sid absolute 16001
  !
 !
 interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast

Next, the configuration of customer VRF and BGP is displayed. The only BGP neighborship in PE1 is the neighborship with route-reflector. Both the VPNV4 address family and the Link-State address family are activated with route-reflector. VPNV4 address family is required to advertise customer routes. But any router in the domain can be selected to send Link-State information to the route reflector.

!!! PE1
vrf RAYKA
 address-family ipv4 unicast
  import route-target
   1:1
  !
  export route-target
   1:1
!
route-policy PASS
  pass
end-policy
!
router bgp 65001
 bgp router-id 1.1.1.1
 address-family ipv4 unicast
 !
 address-family vpnv4 unicast
 !
 address-family link-state link-state
 !
 neighbor 11.11.11.11
  remote-as 65001
  update-source Loopback0
  address-family vpnv4 unicast
  !
  address-family link-state link-state

In the third section of the PE1 configuration, the ODN policy is configured. The difference in this ODN policy is that we request “PCE” to dynamically calculate the best path for traffic belonging to customers with GOLD SLA and color 10. The PE1 router is configured as a PCC and the address of the PCE router is also specified here.

!!! PE1
segment-routing
 traffic-eng
  on-demand color 10
   dynamic
    pcep
    !
    metric
     type te
    !
   !
  !
  pcc
   source-address ipv4 1.1.1.1
   pce address ipv4 11.11.11.11

Then the configuration of P1 is displayed. As you know the roles of route-reflector and also PCE are also configured in P1 router in order to reduce the number of routers.

In P1, first, ISIS, MPLS TE and segment routing are configured. Nothing new to explain.

!!! P1_RR_PCE
mpls oam
!
mpls traffic-eng
!
router isis DOMAIN1
 is-type level-2-only
 net 49.0001.0000.0000.0011.00
 address-family ipv4 unicast
  metric-style wide
  mpls traffic-eng level-2-only
  mpls traffic-eng router-id Loopback0
  segment-routing mpls sr-prefer
 !
 interface Loopback0
  address-family ipv4 unicast
   prefix-sid absolute 16011
  !
 !
 interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast
  !
 !
 interface GigabitEthernet0/0/0/1
  point-to-point
  address-family ipv4 unicast

Then BGP configuration is displayed. P1 has BGP neighborship with PE1, with ASBR1 and also with route-reflector in domain2. PE1 is configured as route-reflector server with PE1 and ASBR1. Both VPNV4 and Link-State address family is configured with PE1 and route-reflector in domain2 but with ASBR only Link-State neighborship is configured.

!!! P1_RR_PCE
route-policy PASS
  pass
end-policy
!
router bgp 65001
 bgp router-id 11.11.11.11
 address-family ipv4 unicast
 !
 address-family vpnv4 unicast
  retain route-target all
 !
 address-family link-state link-state
 !
 neighbor 1.1.1.1
  remote-as 65001
  update-source Loopback0
  address-family vpnv4 unicast
   route-policy PASS in
   route-reflector-client
   route-policy PASS out
  !
  address-family link-state link-state
   route-reflector-client
  !
 !
 neighbor 3.3.3.3
  remote-as 65001
  update-source Loopback0
  address-family link-state link-state
   route-reflector-client
  !
 !
 neighbor 12.12.12.12
  remote-as 65002
  ebgp-multihop 255
  update-source Loopback0
  address-family vpnv4 unicast
   route-policy PASS in
   route-policy PASS out
  !
  address-family link-state link-state
   route-policy PASS in
   route-policy PASS out

Next, P1 is configured as PCE which is only two-lines configuration.

!!! P1_RR_PCE
pce
 address ipv4 11.11.11.11

Then the configuration of ASBR is displayed.  ASBR has BGP IPV4 address-family neighborship with ASBR in Domain2. The only IP Address which is advertised between domains is the IP address of route-reflector. In ASBR we have also BGP neighborship with route-reflector to advertise Link-State Information.

!!! ASBR1
mpls oam  
!
mpls traffic-eng
!
router isis DOMAIN1
 is-type level-2-only
 net 49.0001.0000.0000.0003.00
 address-family ipv4 unicast
  metric-style wide
  mpls traffic-eng level-2-only
  mpls traffic-eng router-id Loopback0
  redistribute bgp 65001 level-2
  segment-routing mpls sr-prefer
 !
 interface Loopback0
  address-family ipv4 unicast
   prefix-sid absolute 16003
  !
 !
 interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast
!!! ASBR1
route-policy PASS
  pass
end-policy
!
route-policy RRs_Doamin1_to_Domain2
  if destination in (11.11.11.11/32) then
    pass
  endif   
end-policy
!
router bgp 65001
 bgp router-id 3.3.3.3
 address-family ipv4 unicast
  redistribute isis DOMAIN1 route-policy RRs_Doamin1_to_Domain2
 !
 address-family link-state link-state
 !
 neighbor 10.3.4.4
  remote-as 65002
  egress-engineering
  address-family ipv4 unicast
   route-policy PASS in
   route-policy PASS out
  !
 !
 neighbor 11.11.11.11
  remote-as 65001
  update-source Loopback0
  address-family link-state link-state

BGP egress-engineering is another point that I have configured in ASBR1. It creates an Adjacency-SID for the link between two ASBRs. It is required to configure so source PE routers can choose which links between domains will be used to route traffic.  Even if we have one link between two domains, it is required to enable BGP egress-engineering to create Adj-SID since ISIS or OSPF does not create adj-SID for this link.

In PE2 router, I have distributed link-state information with instance id 102. vrf RAYKA is created in PE2 router since this customer is connected to PE2 router. Interface loopback 1 interface with IP Address 192.168.2.1 is added in vrf RAYKA to simulate network customer.

!!! PE2
mpls oam
!
mpls traffic-eng
!
 interface GigabitEthernet0/0/0/1
  admin-weight 5
!
router isis DOMAIN2
 is-type level-2-only
 net 49.0001.0000.0000.0002.00
 distribute link-state instance-id 102
 address-family ipv4 unicast
  metric-style wide
  mpls traffic-eng level-2-only
  mpls traffic-eng router-id Loopback0
  segment-routing mpls sr-prefer
 !
 interface Loopback0
  address-family ipv4 unicast
   prefix-sid absolute 16002
  !
 !
 interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast

In PE2 we have a BGP neighborship with route reflector. The BGP VPNV4 address family is to advertise the customer route with GOLD SLA with color 10. The link-state address family is used to announce topology information of domain2 to the route reflector in order to announce it to domain1. This is because router PE2 was chosen to be responsible for advertising topology information. but any router can play this role in the domain.

!!! PE2
vrf RAYKA
 address-family ipv4 unicast
  import route-target
   1:1
  !
  export route-target
   1:1
!
interface Loopback1
 vrf RAYKA
 ipv4 address 192.168.2.1 255.255.255.0
!         
extcommunity-set opaque GOLD
  10
end-set
!
route-policy vpnv4
  if destination in (192.168.2.0/24) then
    set extcommunity color GOLD
  endif
end-policy
!
router bgp 65002
 bgp router-id 2.2.2.2
 address-family ipv4 unicast
 !
 address-family vpnv4 unicast
 !
 address-family link-state link-state
 !
 neighbor 12.12.12.12
  remote-as 65002
  update-source Loopback0
  address-family vpnv4 unicast
   route-policy vpnv4 out
  !
  address-family link-state link-state
  !
 !
 vrf RAYKA
  rd 1:1
  address-family ipv4 unicast
   redistribute connected

Multi Domain Segment Routing Monitoring & Troubleshooting

Now let’s look at the result of the configuration. in PE1 with command “show I route”, you can make sure that it does not know routing information of any IP address in domain2 except the IP address of route reflector.

!!! PE1
RP/0/RP0/CPU0:PE1#show ip route 2.2.2.2
Fri Sep  3 14:37:10.435 UTC

% Network not in table

RP/0/RP0/CPU0:PE1#show ip route 12.12.12.12
Fri Sep  3 14:37:18.483 UTC

Routing entry for 12.12.12.12/32
  Known via "isis DOMAIN1", distance 115, metric 20, type level-2
  Installed Aug 31 13:52:31.383 for 3d00h
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 20
  No advertising protos. 

In PE1 you can use the commands “show bgp vpnv4 unicast Summary” and “show bgp vpnv4 unicast” to ensure that the only customer route learned in the PE1 router is 192.168.2.0/24 that is connected to the PE2 router in domain2. This route belongs to GOLD SLA since PE1 has learned with color 10. It has learned from route-reflector in domain2 since we have not advertised the IP address of PE2 router but we can easily advertise the IP address of PE routers between domains in addition to route-reflector if we wish.

RP/0/RP0/CPU0:PE1#show bgp vpnv4 unicast summary 
Fri Sep  3 14:38:22.983 UTC
BGP router identifier 1.1.1.1, local AS number 65001
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0   RD version: 0
BGP main routing table version 58
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

BGP is operating in STANDALONE mode.


Process       RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer
Speaker              58         58         58         58          58           0

Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd
11.11.11.11       0 65001    4579    4547       58    0    0    1d18h          1
RP/0/RP0/CPU0:PE1#show bgp vpnv4 unicast         
Fri Sep  3 14:39:30.837 UTC
BGP router identifier 1.1.1.1, local AS number 65001
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0   RD version: 0
BGP main routing table version 58
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf RAYKA)
*> 192.168.1.0/24     0.0.0.0                  0         32768 ?
*>i192.168.2.0/24     12.12.12.12 C:10
                                                    100      0 65002 ?

Processed 2 prefixes, 2 paths

In PE1, P1 and PCE you can check BGP link-state information with command “show bgp link-state link-state”.

RP/0/RP0/CPU0:P1_RR_PCE(config-bgp-nbr-af)#do sho bgp link-state link-state 
Wed Sep  1 21:21:22.394 UTC
BGP router identifier 11.11.11.11, local AS number 65001
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0   RD version: 191
BGP main routing table version 191
BGP NSR Initial initsync version 1 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Prefix codes: E link, V node, T IP reacheable route, u/U unknown
              I Identifier, N local node, R remote node, L link, P prefix
              L1/L2 ISIS level-1/level-2, O OSPF, D direct, S static/peer-node
              a area-ID, l link-ID, t topology-ID, s ISO-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
   Network            Next Hop            Metric LocPrf Weight Path
*>i[V][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0001.00]]/328
                      1.1.1.1                       100      0 i
*>i[V][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0003.00]]/328
                      1.1.1.1                       100      0 i
*>i[V][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]]/328
                      1.1.1.1                       100      0 i
*> [V][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]]/328
                      12.12.12.12                            0 65002 i
*> [V][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0004.00]]/328
                      12.12.12.12                            0 65002 i
*> [V][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]]/328
                      12.12.12.12                            0 65002 i
*>i[E][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0001.00]][R[c65001][b0.0.0.0][s0000.0000.0011.00]][L[i10.1.11.1][n10.1.11.11]]/696
                      1.1.1.1                       100      0 i
*>i[E][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0003.00]][R[c65001][b0.0.0.0][s0000.0000.0011.00]][L[i10.3.11.3][n10.3.11.11]]/696
                      1.1.1.1                       100      0 i
*>i[E][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]][R[c65001][b0.0.0.0][s0000.0000.0001.00]][L[i10.1.11.11][n10.1.11.1]]/696
                      1.1.1.1                       100      0 i
*>i[E][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]][R[c65001][b0.0.0.0][s0000.0000.0003.00]][L[i10.3.11.11][n10.3.11.3]]/696
                      1.1.1.1                       100      0 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]][R[c65002][b0.0.0.0][s0000.0000.0012.00]][L[i10.2.12.2][n10.2.12.12]]/696
                      12.12.12.12                            0 65002 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]][R[c65002][b0.0.0.0][s0000.0000.0012.00]][L[i10.12.2.2][n10.12.2.12]]/696
                      12.12.12.12                            0 65002 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0004.00]][R[c65002][b0.0.0.0][s0000.0000.0012.00]][L[i10.4.12.4][n10.4.12.12]]/696
                      12.12.12.12                            0 65002 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][R[c65002][b0.0.0.0][s0000.0000.0002.00]][L[i10.2.12.12][n10.2.12.2]]/696
                      12.12.12.12                            0 65002 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][R[c65002][b0.0.0.0][s0000.0000.0002.00]][L[i10.12.2.12][n10.12.2.2]]/696
                      12.12.12.12                            0 65002 i
*> [E][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][R[c65002][b0.0.0.0][s0000.0000.0004.00]][L[i10.4.12.12][n10.4.12.4]]/696
                      12.12.12.12                            0 65002 i
*>i[E][B][I0x0][N[c65001][b0.0.0.0][q3.3.3.3]][R[c65002][b0.0.0.0][q4.4.4.4]][L[i10.3.4.3][n10.3.4.4]]/664
                      3.3.3.3                       100      0 i
*> [E][B][I0x0][N[c65002][b0.0.0.0][q4.4.4.4]][R[c65001][b0.0.0.0][q3.3.3.3]][L[i10.3.4.4][n10.3.4.3]]/664
                      12.12.12.12                            0 65002 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0001.00]][P[p10.1.11.0/24]]/392
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0001.00]][P[p1.1.1.1/32]]/400
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0003.00]][P[p10.3.11.0/24]]/392
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0003.00]][P[p3.3.3.3/32]]/400
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0003.00]][P[p12.12.12.12/32]]/400
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]][P[p10.1.11.0/24]]/392
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]][P[p10.3.11.0/24]]/392
                      1.1.1.1                       100      0 i
*>i[T][L2][I0x65][N[c65001][b0.0.0.0][s0000.0000.0011.00]][P[p11.11.11.11/32]]/400
                      1.1.1.1                       100      0 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]][P[p10.2.12.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]][P[p10.12.2.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0002.00]][P[p2.2.2.2/32]]/400
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0004.00]][P[p10.4.12.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0004.00]][P[p4.4.4.4/32]]/400
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0004.00]][P[p11.11.11.11/32]]/400
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][P[p10.2.12.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][P[p10.4.12.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][P[p10.12.2.0/24]]/392
                      12.12.12.12                            0 65002 i
*> [T][L2][I0x66][N[c65002][b0.0.0.0][s0000.0000.0012.00]][P[p12.12.12.12/32]]/400
                      12.12.12.12                            0 65002 i
          
Processed 36 prefixes, 36 paths

As you see there are many information regarding link and topology information in both domains which we are not going to analyze them in detail.

We have PCEP neighborship between PE1 and PCE. In PCE, we can check the PCEP connection with the command “show pce ipv4 peer summary|details”. It indicates that there is an UP connection to the PE1 router and also shows the number of messages that have been transmitted between these two routers.

RP/0/RP0/CPU0:P1_RR_PCE(config-bgp-nbr-af)#do show pce ipv4 peer summary       
Fri Sep  3 14:41:17.844 UTC

Peer database summary:
----------------------
PCEP peers: 
 All peers:          1
  Up:                1
  Down:              0


RP/0/RP0/CPU0:P1_RR_PCE(config-bgp-nbr-af)#do show pce ipv4 peer detail 
Fri Sep  3 14:41:25.968 UTC

PCE's peer database: 
--------------------
Peer address: 1.1.1.1
  State: Up
  Capabilities: Stateful, Segment-Routing, Update, Instantiation
  PCEP has been up for: 2d00h
  PCEP session ID: local 0, remote 0
  Sending KA every 30 seconds
  Minimum acceptable KA interval: 20 seconds
  Peer timeout after 120 seconds
  Maximum SID Depth: 10
  Statistics:
    Keepalive messages: rx  5826 tx  5829
    Request messages:   rx     0 tx     0
    Reply messages:     rx     0 tx     0
    Error messages:     rx     0 tx     0
    Open messages:      rx     1 tx     1
    Report messages:    rx    40 tx     0
    Update messages:    rx     0 tx    10
    Initiate messages:  rx     0 tx     0
  Last PCError:
    Received: None
    Sent: None

Let us check the result of the egress engineering in ASBR with the command “show bgp egress engineering”. It shows that adj-SID 24002 is generated for the link between ASBR1 and ASBR2. in PE1 it refers to the Adj-SID of 24002 when it wants to point to this link in its traffic engineering policy.

RP/0/RP0/CPU0:ASBR1#show bgp egress-engineering 
Fri Sep  3 14:42:23.522 UTC

 Egress Engineering Peer Set: 10.3.4.4/32 (0x7fa9eb492e80)
        Nexthop: 10.3.4.4
        Version: 2, rn_version: 2
          Flags: 0x00000006
      Local ASN: 65001
     Remote ASN: 65002
      Local RID: 3.3.3.3
     Remote RID: 4.4.4.4
  Local Address: 10.3.4.3
      First Hop: 10.3.4.4
           NHID: 4
            IFH: 0x1000048
          Label: 24002, Refcount: 3
        rpc_set: 0x7fa9e43cdcf8, ID: 1

And what is the most important is to check segment routing traffic engineering  policy and also the result of policy. With command “show running-config segment-routing” we can check our segment-routing traffic engineering policy.  As you can see a policy is created for color 10 customers to choose best path with lowest TE metric but with the help of PCE component. The address of PCE router is also given in the configuration.

RP/0/RP0/CPU0:PE1#show runn segment-routing 
Fri Sep  3 14:43:15.908 UTC
segment-routing
 traffic-eng
  on-demand color 10
   dynamic
    pcep
    !
    metric
     type te
    !
   !
  !
  pcc
   source-address ipv4 1.1.1.1
   pce address ipv4 11.11.11.11
   !
   report-all

The result of policy can be checked with command “show segment-routing traffic-eng policy”. the policy is matched with one route with color 10 so it has created dynamic path matching the policy. As you can see it is up. If we check the path label stack, first label is 16003 which points to the SID of router ASBR1. So traffic belonging to GOLD customers, first will be forwarded to ASBR1 based on best IGP path. Then label 24002 is the next label which points to Adj-SID of the link between ASBR1 and ASBR2  and it is created by BGP egress-engineering feature. then label 16012 which point to route-reflector in domain2 which has advertised the route. Next-hop is route-reflector of domain2 since we have not advertised the IP address of PE routers between domains. but we can easily advertise the IP address of PE routers between domains in addition to route-reflector.

RP/0/RP0/CPU0:PE1#show segment-routing traffic-eng policy 
Fri Sep  3 14:43:56.755 UTC

SR-TE policy database
---------------------

Color: 10, End-point: 12.12.12.12
  Name: srte_c_10_ep_12.12.12.12
  Status:
    Admin: up  Operational: up for 1d18h (since Sep  1 20:27:38.804)
  Candidate-paths:
    Preference: 200 (BGP ODN) (shutdown)
      Requested BSID: dynamic
      PCC info:
        Symbolic name: bgp_c_10_ep_12.12.12.12_discr_200
        PLSP-ID: 11
      Dynamic (invalid)
        Metric Type: TE,   Path Accumulated Metric: 0 
    Preference: 100 (BGP ODN) (active)
      Requested BSID: dynamic
      PCC info:
        Symbolic name: bgp_c_10_ep_12.12.12.12_discr_100
        PLSP-ID: 10
      Dynamic (pce 11.11.11.11) (valid)
        Metric Type: TE,   Path Accumulated Metric: 30 
          16003 [Prefix-SID, 3.3.3.3]
          24002 [Adjacency-SID, 10.3.4.3 - 10.3.4.4]
          16012 [Prefix-SID, 12.12.12.12]
  Attributes:
    Binding SID: 24007
    Forward Class: Not Configured
    Steering BGP disabled: no
    IPv6 caps enable: yes

Segment Routing ODN

cisco dcould Multi Domain Configuration Example

segmen-routing website Multi Domain ODN

Notice: Correction

I have found some mistakes some of the most important changes are as follows:

  1. in addition to RRs Loopback IP address, Loopback IP address of PE routers are also advertised between Domains
  2. in RR, we use next-hop-unchanged command. so from PE point of view, next-hop will be PE routers of the next domain and not RR. it is necessary for VPN communication

I have Implemented the scenario once agaian with omre complete topology. the topology is as follows. 

you can download the cofiguration of all devices here.

Multi-Domain Segment Routing TE with PCE
Multi-Domain Segment Routing TE with PCE
Back to: Segment Routing > Segment Routing Multi Domain

Leave a Reply

Your email address will not be published. Required fields are marked *


Post comment