Configuring PCEP on a PE Router (from the CLI)
A Path Computation Client (PCC) supports the configurations related to the Path Computation Element (PCE) and communicates with the NorthStar Controller, which by default is configured to accept a Path Computation Element Protocol (PCEP) connection from any source address. However, you must configure PCEP on each PE router to configure the router as a PCC and establish a connection between the PCC and the NorthStar Controller. A PCC initiates path computation requests, which are then executed by the NorthStar Controller.
Configuring a PE Router as a PCC
Each PCC in the network that the NorthStar Controller can access must be running a Junos OS release that is officially supported by the NorthStar Controller as designated in the NorthStar Controller Release Notes (jinstall 32 bit).
For a PCEP connection, the PCC can connect to the NorthStar Controller using an in-band or out-of-band management network, provided that IP connectivity is established between the Path Computation Server (PCS) and the specified PCEP local address. In some cases, an additional static route might be required from the NorthStar Controller to reach the PCC, if the IP address is unreachable from the NorthStar Controller default gateway.
To configure a PE router as a PCC:
Enable external control of LSPs from the PCC router to the NorthStar Controller.
[edit protocols] user@PE1# set mpls lsp-external-controller pccd
Specify the loopback address of the PCC router as the local address, for example:
[edit protocols] user@PE1# set pcep pce northstar1 local-address 10.0.0.101
Note:As a best practice, the router ID is usually the loopback address, but it is not necessarily configured that way.
Specify the NorthStar Controller (northstar1) as the PCE that the PCC connects to, and specify the NorthStar Controller host external IP address as the destination address.
[edit protocols] user@PE1# set pcep pce northstar1 destination-ipv4-address 10.99.99.1
Configure the destination port for the PCC router that connects to the NorthStar Controller (PCE server) using the TCP-based PCEP.
[edit protocols] user@PE1# set pcep pce northstar1 destination-port 4189
Configure the PCE type.
[edit protocols] user@PE1# set pcep pce northstar1 pce-type active user@PE1# set pcep pce northstar1 pce-type stateful
Enable LSP provisioning.
[edit protocols] user@PE1# set pcep pce northstar1 lsp-provisioning
To verify that PCEP has been configured on the router, open a telnet session to access the router, and run the following commands:
user@PE1> show configuration protocols mpls
Sample output:
lsp-external-controller pccd;
user@PE1> show configuration protocols pcep
Sample output:
pce northstar1 { local-address 10.0.0.101; destination-ipv4-address 10.99.99.1; destination-port 4189; pce-type active-stateful; lsp-provisioning; }
Setting the PCC Version for Non-Juniper Devices
The PCEP protocol used by the Junos OS and NorthStar Controller supports PCEP Extensions for establishing relationships between sets of LSPs (draft-minei-pce-association-group-00) which defines the format and usage of AssociationObject, the optional object that makes association between LSP groups possible. There are later versions of this draft that might be supported by other equipment vendors, which introduces the possibility of mismatch between AssociationObject formats. Such a mismatch could cause non-Juniper PCCs to discard LSP provisioning requests from NorthStar. To prevent this, we recommend that you configure all non-Juniper PCCs to omit AssociationObject altogether.
The result of omitting AssociationObject in non-Juniper PCC configuration is that NorthStar cannot associate groups of LSPs on those devices. For example, you would not be able to associate a primary LSP with secondary LSPs or a primary LSP with standby LSPs. This does not affect NorthStar’s ability to create associations between LSP groups on Juniper PCCs.
Omitting AssociationObject on non-Juniper PCCs involves updating the pcc_version.config file on the NorthStar server and activating the update on the non-Juniper PCCs, using the following procedure:
Edit the pcc_version.config file on the NorthStar server to include the IP addresses of all non-Juniper PCCs. For each IP address, specify 3 as the PCC version. PCC version 3 omits AssociationObject.
The pcc_version.config file is located in /opt/pcs/db/config/. The syntax of the configuration is ver=ip_address:pcc_version.
For example:
[root@northstar]# cat /opt/pcs/db/config/pcc_version.config ver=192.168.2.100:3 ver=192.168.2.200:3 ver=192.168.2.215:3
At the PCEP CLI (pcep_cli command at the NorthStar Linux shell), execute the set pcc-version command to activate the change in PCC version.
Executing this command restarts the PCEP sessions to the non-Juniper PCCs, applying the new PCC version 3. You can then provision LSPs from the NorthStar UI.