Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configure External Path Computation Components

This section outlines the steps to install the cPCE container and cPCEPAdaptor in a Linux server environment that is running Ubuntu or Red Hat Enterprise Linux (RHEL). The cPCE and cPCEPAdaptor containers are packaged in a Docker image and run in the Docker Engine on the Linux host.

Overview

In the Figure 1, R1 is the Path Computation Client (PCC). Traffic engineered tunnels are configured and delegated to cPCE. This section provides information on how you can configure the connections between the cPCE, cPCEPAdaptor and the BGP link-state sessions necessary for topology acquisition.

You can install both the cPCE and cPCEPAdaptor on same server or on different hosts or routers that support the docker environment. The cPCEPAdaptor manages the PCEP sessions with the PCCs. Theis section describes how you can configure the gRPC connection between one or more PCCs and a cPCEPAdaptor. The cPCEPAdapter requires a set of gRPC connection parameters to be configured for establishing and maintaining a gRPC channel with the cPCE path computation service.

Figure 1: Topology Topology

The PCC (R1) and cPCEPAdaptor communicate through standard PCEP messages. The cPCEPAdaptor and the cPCE communicate through gRPC messages. In this topology, IP address 10.1.255.1 is the loopback address or the router Id of the PCC (R1) router. The loopback address or the router Id of the PCC (R2) router is 10.1.255.2.

The cPCE requires a set of connection parameters to establish a gRPC channel with the cRPD for path computation service.

Configure cPCE

To configure cPCE:

  1. Set the root authentication password by entering a cleartext password, an encrypted password, or an SSH public key string (DSA or RSA).

    root@cRPD-cpce# set system root-authentication plain-text-password

  2. Specify the IP address and the port number to build the gRPC connection between cPCEPAdaptor and cPCE.
    [edit system services]

    root@cRPD-cpce# set extension-service request-response grpc clear-text port 50051

    root@cRPD-cpce# set extension-service request-response grpc clear-text address 0.0.0.0

    root@cRPD-cpce# set extension-service request-response grpc max-connections 30

  3. Configure a policy statement to import the BGP-LS acquired topology into the local traffic-engineering database.
    [edit policy-options]

    root@cRPD-cpce# set policy-statement bgpl2_rt_2_ted term 1 from family traffic-engineering

    root@cRPD-cpce# set policy-statement bgpl2_rt_2_ted term 1 then accept

    [edit protocols mpls]

    root@cRPD-cpce# set traffic-engineering database export policy bgpl2_rt_2_ted

    Configure if cPCE is catering to segment routing traffic-engineering paths.

    [edit protocols mpls]

    root@cRPD-cpce# set traffic-engineering database export l3-unicast-topology

  4. Configure the autonomous system number and establish reachability to the network. For example, a static route to Router R1.
    [edit routing-options]

    root@cRPD-cpce# set autonomous-system 65000

    root@cRPD-cpce# set static route 0.0.0.0/0 next-hop 172.17.0.1

  5. Configure topology acquisition using BGP-LS on cPCE. The PCC router should have IP reachability with the cPCEPAdaptor and cPCE for PCEP session and BGP-LS session establishment.
    [edit protocols bgp]

    root@cRPD-cpce# set group 65000 type internal

    root@cRPD-cpce# set group 65000 passive

    root@cRPD-cpce# set group 65000 family traffic-engineering unicast

    root@cRPD-cpce# set group 65000 allow 0.0.0.0/0

  6. Apply templates (optional) that can be applied to the cPCE controlled LSPs for computing paths and to enable specific timers. For example, optimize-timer.
    [edit protocols mpls]

    root@cRPD-cpce# set lsp-external-controller remote-pce pce-controlled-lsp * label-switched-path-template t1

    root@cRPD-cpce# set label-switched-path t1 template

    root@cRPD-cpce# set label-switched-path t1 optimize-timer 45

  7. Commit the configuration.

    root@cRPD-cpce# commit

Create and Configure cPCEPAdaptor

To configure cPCEPAdaptor:

  1. Configure cPCEPAdaptor.

    root@CPCE1-pcepAdaptor# set system root-authentication plain-text-password

  2. Configure the gRPC request response service on the adaptor by specifying IP address and the port number to establish the connection between the cPCEPAdaptor and cPCE.
    [edit system services]

    root@CPCE1-pcepAdaptor# set extension-service request-response grpc clear-text address 0.0.0.0

    root@CPCE1-pcepAdaptor# set extension-service request-response grpc clear-text port 50051

    root@CPCE1-pcepAdaptor# set extension-service request-response grpc max-connections 30

    [edit services]

    root@CPCE1-pcepAdaptor# set path-computation-adaptor pce cRPD-cpce ipv4-address 172.17.0.2

    root@CPCE1-pcepAdaptor# set path-computation-adaptor pce cRPD-cpce port 50051

    root@CPCE1-pcepAdaptor# set path-computation-adaptor pce cRPD-cpce login-id root

    root@CPCE1-pcepAdaptor# set path-computation-adaptor pce cRPD-cpce password xxxx

  3. Commit the configuration.

    root@CPCE1-pcepAdaptor# commit

Configure R1 as PCC

Establish a Path Computation Element Protocol (PCEP) connection with the cPCEPAdaptor or cPCE. R1 will also be configured to export the traffic-engineering topology to cPCE through BGP-LS.

  1. Configure the interfaces of the Router R1.
    [edit interfaces]

    root@R1# set ge-0/0/0 unit 0 family inet address 10.1.1.1/30

    root@R1# set ge-0/0/1 unit 0 family inet address 10.1.12.1/30

    root@R1# set ge-0/0/1 unit 0 family mpls

    root@R1# set lo0 unit 0 family inet address 10.1.255.1/32

  2. Configure the BGP-LS traffic engineering database import policy.
    [edit policy-options]

    root@R1 set policy-statement TED_to_BGP-LS term 1 from protocol isis

    root@R1 set policy-statement TED_to_BGP-LS term 1 from protocol ospf

    root@R1 set policy-statement TED_to_BGP-LS term 1 then accept

    [edit protocols]

    root@R1 set mpls traffic-engineering database import policy TED_to_BGP-LS

  3. Configure the router ID and assign an autonomous system number. .
    [edit routing-options]

    root@R1 set router-id 10.1.255.1

    root@R1 set autonomous-system 65000

  4. Configure BGP internal group, the link-state address-family and assign the export policy
    edit [policy-options]

    root@R1 set policy-statement export_TED then accept

    [edit protocols bgp]

    root@R1 set group 65000 type internal

    root@R1 set group 65000 local-address 10.1.255.1

    root@R1 set group 65000 family traffic-engineering unicast

    root@R1 set group 65000 export export_TED

    root@R1 set group 65000 allow 0.0.0.0/0

    root@R1 set group 65000 neighbor 172.17.0.2

  5. Specify the loopback address of the PCC router as the local address and the destination IP address of the host where cPCEPAdaptor instance is spawned. Configure the destination port for the PCC (R1) router that connects to the cPCEPAdaptor using PCEP and the PCE type.
    [edit protocols pcep]

    root@R1# set pce cPCE1 local-address 10.1.255.1

    root@R1# set pce cPCE1 destination-ipv4-address 172.17.0.3

    root@R1# set pce cPCE1 destination-port 4189

    root@R1# set pce cPCE1 pce-type active

    root@R1# set pce cPCE1 pce-type stateful

    root@R1# set pce cPCE1 lsp-provisioning

    root@R1# set pce cPCE1 spring-capability

  6. Configure IS-IS, Resource Reservation Protocol (RSVP), and segment routing to illustrate external control through cPCE of both traffic engineering (SR-TE) and RSVP-TE traffic engineered tunnels.

    [edit protocols rsvp]

    root@R1# set interface ge-0/0/1.0

    root@R1# set interface lo0.0

    [edit protocols isis]

    root@R1# set interface ge-0/0/1.0

    root@R1# set interface lo0.0 passive

    root@R1# set source-packet-routing node-segment ipv4-index 401

    root@R1# set traffic-engineering l3-unicast-topology

  7. Configure RSVP-TE label-switched path (LSP) and enable external control.
    [edit protocols mpls]

    root@R1# set lsp-external-controller pccd

    root@R1# set interface ge-0/0/1.0

    root@R1# set label-switched-path to-R2 to 10.1.255.2

    root@R1# set label-switched-path to-R2 lsp-external-controller pccd

  8. Configure SR-TE LSP and enable external control.
    [edit protocols source-packet-routing]

    root@R1# set lsp-external-controller pccd

    [edit protocols source-packet-routing]

    root@R1# set source-routing-path computels1 to 10.1.255.2

    root@R1# set source-routing-path computels1 lsp-external-controller pccd

    root@R1# set source-routing-path computels1 primary p1 compute compute1

    root@R1# set compute-profile compute1 maximum-computed-segment-lists 1

  9. Commit the configuration.

    root@R1# commit

Configure Router R2

  1. Configure interfaces of Router R2.
    [edit interfaces]

    root@R2# set ge-0/0/0 unit 0 family inet address 10.1.12.2/30

    root@R2# set ge-0/0/0 unit 0 family mpls

    root@R2# set lo0 unit 0 family inet address 10.1.255.2/32

  2. Configure the router ID.
    [edit routing-options]

    root@R2# set router-id 10.1.255.2

  3. Configure MPLS interface.
    [edit protocols mpls]

    root@R2# set interface ge-0/0/0.0

  4. Configure IS-IS, RSVP, and segment routing .

    [edit protocols rsvp]

    root@R2# set interface ge-0/0/0.0

    root@R2# set interface lo0.0

    [edit protocols isis]

    root@R2# set interface ge-0/0/0.0

    root@R2# set interface lo0.0 passive

    root@R2# set source-packet-routing node-segment ipv4-index 402

    root@R2# set traffic-engineering l3-unicast-topology

  5. Commit the configuration.

    root@R1# commit

Verify cPCEPAdaptor Status

  1. Verify the gRPC connection and registration status.
    root@CPCE1-pcepAdaptor# run show path-computation-adaptor pce status
    root@CPCE1-pcepAdaptor# run show path-computation-adaptor pce status
  2. Verify path computation client status. This command displays the list of PCC routers that established PCEP connection with the cPCEPAdaptor.
    root@CPCE1-pcepAdaptor# run show path-computation-adaptor pcc
  3. Verify the path computation client lsp information. This command displays the list of LSPs reported from a given PCC connected to the cPCEPAdaptor.
    root@CPCE1-pcepAdaptor# run show path-computation-adaptor pcc ip 10.1.255.1 lsp
  4. Verify the path computation client lsp information for segment routing.
    root@CPCE1-pcepAdaptor# run show path-computation-adaptor pcc ip 10.1.255.1 lsp-name computels1/p1

Verify BGP on cPCE

  1. Verify BGP configuration.
    [edit protocols]
    root@cRPD-cpce# run show bgp summary
  2. Verify LSP configuration.
    root@cRPD-cpce# run show mpls lsp

Verify PCC Status

  1. Verify the PCEP session status and LSP summary between the PCC (R1) and the connected PCEs.
    root@R1> show path-computation-client status
    root@R1> show mpls lsp ingress
    root@R1> show ospf neighbor
  2. Verify LSP configuration.
    [edit]
    root@R1# run show spring-traffic-engineering lsp
    root@R1# run show spring-traffic-engineering lsp detail