The following configurations are examples to guide you in a multiple SR-PCE setup for HA. Please modify accordingly.
Sample SR-PCE configurations
Sample redundant SR-PCE configuration (on PCE with Cisco IOS-XR 7.x.x)
pce
address ipv4 192.168.0.7
state-sync ipv4 192.168.0.6
api
sibling ipv4 192.168.0.6
Sample PCE configuration for enabling gRPC API on XR 25.2.1.x (IPv4 deployment)
conf t
lslib-server
!
grpc
port 57400
no-tls
address-family ipv4
service-layer
!
!
pce
distribute link-state
!
!
linux networking
vrf default
address-family ipv4
default-route software-forwarding
!
address-family ipv6
default-route software-forwarding
!
!
!
commit

Note
|
For secure gRPC deployment, remove no-tls .
Configure distribute link-state on all PCEs to inject SR policies into BGP-LS.
.
|
Sample PCE configuration for enabling gRPC API on XR 25.2.1.x (IPv6 deployment)
conf t
lslib-server
!
grpc
port 57400
no-tls
address-family ipv6
service-layer
!
!
pce
distribute link-state
!
!
linux networking
vrf default
address-family ipv4
default-route software-forwarding
!
address-family ipv6
default-route software-forwarding
!
!
!
commit

Note
|
For secure gRPC deployment, remove no-tls .
Configure distribute link-state on all PCEs to inject SR policies into BGP-LS.
|
To verify whether the topology is published in gRPC
sh lslib server topology-db
To verify the SR-MPLS LSP published in gRPC
show lslib server topology-db detail protocol sr
Sample redundant SR-PCE configuration (PCC)
segment-routing
traffic-eng
pcc
source-address ipv4 192.0.2.1
pce address ipv4 192.0.2.6
precedence 200
!
pce address ipv4 192.0.2.7
precedence 100
!
report-all
redundancy pcc-centric
Sample redundant SR-PCE configuration (on PCC) for RSVP-TE

Note
|
Loopback0 represents the TE router ID.
|
ipv4 unnumbered mpls traffic-eng Loopback0
!
mpls traffic-eng
pce
peer source ipv4 209.165.255.1
peer ipv4 209.165.0.6
precedence 200
!
peer ipv4 209.165.0.7
precedence 100
!
stateful-client
instantiation
report
redundancy pcc-centric
autoroute-announce
!
!
auto-tunnel pcc
tunnel-id min 1000 max 1999
!
!
Telemetry configuations
Sample SR-TM configuation
telemetry model-driven
destination-group crosswork
address-family ipv4 198.18.1.219 port 9010
encoding self-describing-gpb
protocol tcp
!
!
sensor-group SRTM
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/afs/af/counters/tunnels
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/vrf-table/default-vrf/afs/af/counters/prefixes
!
subscription OE
sensor-group-id SRTM sample-interval 60000
destination-id crosswork
source-interface Loopback0
!
traffic-collector
interface GigabitEthernet0/0/0/3
!
statistics
history-size 10

Note
|
The destination address uses the southbound data interface (eth1) address of the Crosswork Data Gateway VM.
|
It is required to push sensor path on telemetry configuration via NSO to get prefix and tunnel counters. It is assumed that
the Traffic Collector has been configured with all the traffic ingress interface. This configuration is needed for demands
in the Bandwidth on Demand feature pack to work.
Telemetry sensor path
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/afs/af/counters/tunnels/tunnel
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/vrf-table/default-vrf/afs/af/counters/prefixes/prefix
Telemetry configuration pushed by Crosswork Network Controller to all the headend routers via NSO
telemetry model-driven
destination-group CW_43dc8a5ea99529715899b4f5218408a785e40fce
vrf default
address-family ipv4 172. 19.68.206 port 31500
encoding self-describing-gpb
protocol top
!
!
destination-group CW_4b3c69a200668b0a8dc155caff295645c684a8f8
vrf default
address-family ipv4 172. 19.68.206 port 31500
encoding self-describing-gpb
protocol top
!
!
sensor-group CW_43dc8a5ea99529715899b4f5218408a785e40fce
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/afs/af/counters/tunnels/tunnel
!
sensor-group CW_4b3c69a200668b0a8dc155caff295645c684a8f8
sensor-path Cisco-IOS-XR-infra-tc-oper:traffic-collector/vrf-table/default-vrf/afs/af/counters/prefixes/prefix
!
subscription CW_43dc8a5ea99529715899b4f5218408a785e40fce
sensor-group-id CW_43dc8a5ea99529715899b4f5218408a785e40fce sample-interval 300000
destination-id CW_43dc8a5ea99529715899b4f5218408a785e40fce
!
subscription CW_4b3c69a200668b0a8dc155caff295645c684a8f8
sensor-group-id CW_4b3c69a200668b%a8dc155caff295645c684a8f8 sample-interval 300000
destination-id CW_463c69a200668b0a8dc155caff295645c684a8f8
!
!
Traffic Collector configurations
Traffic Collector configurations (all Ingress traffic interface to be added below in the Traffic Collector)
RP/0/RSP0/CPU0:PE1-ASR9k#sh running-config traffic-collector
Fri May 22 01:14:35.845 PDT
traffic-collector
interface GigabitEthernet0/0/0/0
!
statistics
history-size 1
collection-interval 1
history-timeout 1
history-minute-timeout
!
!
Add BGP neighbor next-hop-self for all the prefix (to show TM rate counters)bgp router-id 5.5.5.5
address-family ipv4 unicast
network 5.5.5.5/32
redistribute static
!
address-family link-state link-state
!
neighbor 1.1.1.1
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
next-hop-self
!
!
Traffic collector tunnel and prefix counters
RP/0/RSP0/CPU0:PE1-ASR9k#show traffic-collector ipv4 counters prefix
Fri May 22 01:13:51.458 PDT
Prefix Label Base rate TM rate State
(Bytes/sec) (Bytes/sec)
----------------- ------------- --------------- -------------- -----------------
1.1.1.1/32 650001 3 0 Active
2.2.2.2/32 650002 3 0 Active
3.3.3.3/32 650003 6 0 Active
4.4.4.4/32 650004 1 0 Active
6.6.6.6/32 650200 6326338 6326234 Active
7.7.7.7/32 650007 62763285 62764006 Active
8.8.8.8/32 650008 31129168 31130488 Active
9.9.9.9/32 650009 1 0 Active
10.10.10.10/32 650010 1 0 Active
RP/0/RSP0/CPU0:PE1-ASR9k#stt
RP/0/RSP0/CPU0:PE1-ASR9k#show traffic-collector ipv4 counters tunnel
Fri May 22 01:13:52.169 PDT
RP/0/RSP0/CPU0:PE1-ASR9k#]