Summary
This section describes PCEP configuration. Traffic Dictator uses PCEP to advertise SR-TE and RSVP-TE policies.
Basic PCEP configuration
The minimal PCEP configuration requires at least one neighbor. Both IPv4 and IPv6 are supported. Example configuration:
router pcep ! neighbor 192.168.0.101
Verify neighbor state
TD1#show pcep summary PCEP summary information Neighbor V Session ID SRP ID MsgRcvd MsgSent InQ OutQ Up/Down State 192.168.0.101 1 0/1 4 33 30 0 0 0:12:05 SessionUp
For more detailed information, run “show pcep neighbors”:
TD1#show pcep neighbors
PCEP neighbor is 192.168.0.101, port 35273
PCEP version 1
Last read 0:00:19, last write 0:00:24
Hold time is 120, keepalive interval is 30 seconds
Configured hold time is 120, keepalive interval is 30 seconds
Hold timer is active, time left 0:01:41
Keepalive timer is active, time left 0:00:06
Connect timer is inactive
Idle hold timer is inactive
PCEP state is SessionUp, up for 0:12:26
Number of transitions to SessionUp: 1
Last state was KeepWait
Local session ID: 0, remote session ID: 1
Current SRP ID: 4
Negotiated capabilities:
disjoint, sr-policy
Sent Rcvd
Opens: 1 1
Keepalives: 26 22
PCRequests: 0 0
PCReplies: 0 0
Notifications: 0 0
Errors: 0 0
Closes: 0 0
PMRequests: 0 0
PMReplies: 0 0
PCReports: 0 11
PCUpdates: 2 0
PCInitiates: 1 0
StartTLS: 0 0
Total messages: 30 34
NLRI statistics:
Sent Rcvd
IPv4 SR-TE: 1 0
IPv6 SR-TE: 0 0
IPv4 RSVP-TE: 0 0
Local IP is 192.168.0.1
TTL is 255
SR policy capability
Note “sr-policy” among negotiated capabilities in the previous output. This must be negotiated in Open messages in order for TD to be able to advertise SR-TE color. If the neighbor doesn’t negotiate this capability, TD will not advertise color and, depending on PCC implementation, the policy will be either without color or with color 4294967295.
Check PCEP routing table
SR-TE LSP
TD1#show pcep ipv4 sr-te
PCEP SR-TE routing table information
Status codes: * acked, > up/active, + - inserted, z - zombie
NLRI PLSP-ID Oper status
*>+ [96][16777234][109][9.9.9.9] 1 Active (2)
TD1#show pcep ipv4 sr-te detail
PCEP SR-TE routing table information
PCEP routing table entry for [96][16777234][109][9.9.9.9]
Policy name: R1_R9_EP_STRICT_IPV4
Headend: 1.1.1.1
Endpoint: 9.9.9.9, Color 109
Install peer: 192.168.0.101
Last modified: February 04, 2025 16:00:20
Route acked by PCC, PLSP-ID 1
LSP-ID Oper status
4 Active (2)
Metric type igp, metric 30
Binding SID: 15008
Segment list: [16002, 16009]
RSVP-TE LSP
TD1#show pcep ipv4 rsvp-te
PCEP RSVP-TE routing table information
Status codes: * acked, > up/active, + - inserted, z - zombie
NLRI PLSP-ID Oper status
*>+ [16777234][9.9.9.9] 3 Active (2)
TD1#show pcep ipv4 rsvp-te detail
PCEP RSVP-TE routing table information
PCEP routing table entry for [16777234][9.9.9.9]
Policy name: R1_R9_EP_STRICT_IPV4
Headend: 1.1.1.1
Endpoint: 9.9.9.9
Install peer: 192.168.0.101
Last modified: February 04, 2025 17:04:59
Route acked by PCC, PLSP-ID 3
LSP-ID Oper status
0 Down (0)
2 Active (2)
Metric type igp, metric 40
RSVP ERO: ['10.100.3.5', '10.100.9.8', '10.100.12.10', '10.100.21.9']
Unlike BGP, PCEP is a stateful protocol which means the PCC (router) acknowledges LSP and updates Oper status using PCReport messages. In the outputs above, LSPs have been acknowledged and Oper status is Active. Depending on PCC implementation, you might see (or not) multiple LSP-ID with different status.
Clear or shutdown BGP neighbors
TD1#conf TD1(config)#router pcep TD1(config-router-pcep)#neighbor 192.168.0.101 TD1(config-router-pcep-nbr)#shut TD1(config-router-pcep-nbr)#do sh pcep su PCEP summary information Neighbor V Session ID SRP ID MsgRcvd MsgSent InQ OutQ Up/Down State 192.168.0.101 1 1/0 1 0 1 0 0 Never Idle(Admin)
Reset PCEP session
TD1#clear pcep ? <ipv4|ipv6|*> Reset PCEP sessions
LSP deletion and session reset
According to [RFC8281], in order to delete the LSP, PCE should sends PCInitiate with relevant PLSP-ID, and PLSP-ID 0 informs the PCC to delete all LSP.
Since this could lead to accidental withdrawal of all LSP if just one LSP wasn’t acked by PCC for some reason, TD does not delete LSP for which PCC did not assign PLSP-ID (which could happen due to bug or unsupported feature on PCC). Instead, such LSP are marked as zombies and will rot in the routing table until the PCEP session is shutdown or cleared.
Another problem is that if the PCEP session goes down, existing PCC implementations don’t immediately delete all LSP advertised by dead PCE, like any normal routing protocol would do in this situation. This can not only lead to stale LSP, but also when the session comes up again and PCE advertises the LSP, PCC would reject them with “Symbolic path in use” error.
In order to prevent this, when you shutdown or clear a PCEP session, TD always sends PCInitaite with PLSP-ID 0 to delete all LSP, before closing the session.
Advanced PCEP neighbor configuration
Traffic Dictator has some other configuration options for BGP session.
Adjust keepalive and hold timers (default are 30 and 120):
TD1(config-router-pcep-nbr)#timers 10 40
Enable passive mode (only accept connections but don’t initiate session):
TD1(config-router-pcep-nbr)#passive