This chapter provides information to configure MPLS and RSVP.
The Path Computation Element Protocol (PCEP) is one of several protocols used for communication between a Wide-Area Network (WAN) Software-Define Networking (SDN) controller and network elements.
The Nokia WAN SDN Controller is known as the Network Services Platform (NSP). The NSP is a set of applications which are built on a common framework that hosts and integrates them by providing common functions. The applications are developed in a Java environment.
The NSP provides two major functions:
The network discovery and control implements a common set of standards-based south-bound interfaces to the network elements for both topology discovery and tunnel and flow programming. It is a virtual SR OS (vSROS) image which applies the south-bound interfaces to the network elements and the adaptation layer to the applications. The south-bound interfaces include IGP and BGP-LS for topology discovery, PCEP for handling path computation requests and LSP state updates with the network elements, and forwarding plane programming protocols such as Openflow, BGP flowspec, and I2RS.
The above NSP functions are provided in a number of modules which can be used together or separately as illustrated in Figure 53.
The two main features of the NSP are as follows:
The NRC-P implements the stateful Path Computation Element (PCE) for packet networks. Figure 54 illustrates the NRC-P architecture and its main components.
The NRC-P has the following architecture:
The PCE module uses PCEP to communicate with its clients, such as the PCE Client (PCC). It also uses the PCEP to communicate with other PCEs to coordinate inter-domain path computation. Each router acting as a PCC initiates a PCEP session to the PCE in its domain.
When the user enables PCE control for one or more segment routing or RSVP LSPs, the PCE owns the path updating and periodic re-optimization of the LSP. In this case, the PCE acts in an active stateful role. The PCE can also act in a stateful passive role for other LSPs on the router by discovering them and taking into account their resource consumption when computing the path for the LSPs it has control ownership of.
The following is a high-level description of the PCE and PCC capabilities:
The following PCE parameters cannot be modified while the PCEP session is operational:
The unknown-message-rate PCE parameter can be modified while the PCEP session is operational.
The following PCC parameters cannot be modified while the PCEP session is operational:
The following PCC parameters can be modified while the PCEP session is operational:
The base implementation of PCE uses the PCEP extensions defined in RFC 5440 [pce-pcep].
The main functions of the PCEP are:
Table 34 lists the messages and objects that are supported in SR OS Release 14.0.
TLV, Object, or Message | Contained in Object | Contained in Message |
OPEN Object | N/A | OPEN, PCErr |
Request Parameter (RP) Object | N/A | PCReq, PCRep, PCErr, PCNtf |
NO-PATH Object | N/A | PCRep |
END-POINTS Object | N/A | PCReq |
BANDWIDTH Object | N/A | PCReq, PCRep, PCRpt 1 |
METRIC Object | N/A | PCReq, PCRep, PCRpt 1 |
Explicit Route Object (ERO) | N/A | PCRep |
Reported Route Object (RRO) | N/A | PCReq |
LSPA Object | N/A | PCReq, PCRep, PCRpt 1 |
Include Route Object (IRO) | N/A | PCReq, PCRep |
SVEC Object | N/A | PCReq |
NOTIFICATION Object | N/A | PCNtf |
PCEP-ERROR Object | N/A | PCErr |
LOAD-BALANCING Object | N/A | PCReq |
CLOSE Object | N/A | CLOSE |
Note:
The behavior and limitations of the implementation of the objects in Table 34 are as follows:
The following features are not supported in the SR OS:
The PCEP protocol operates over TCP using destination TCP port 4189. The PCC always initiates the connection. Once the user configures the PCEP local address and the peer address on the PCC, the PCC initiates a TCP connection to the PCE. Once a connection is established, the PCC and PCE exchange OPEN messages, which initializes the PCEP session and exchanges the session parameters to be negotiated.
The PCC always checks first if the remote PCE address is reachable out-of-band via the management port. If not, it will try to reach the remote PCE address in-band. When the session comes up out-of-band, the system IP address is always used; the local address configured by the user is ignored and is only used for an in-band session.
A keep-alive mechanism is used as an acknowledgment of the acceptance of the session within the negotiated parameters. It is also used as a maintenance function to detect whether or not the PCEP peer is still alive.
The negotiated parameters include the Keepalive timer and the DeadTimer, and one or more PCEP capabilities such as support of Stateful PCE and the SR-TE LSP Path type.
The PCEP session initialization steps are illustrated in Figure 55.
If the session to the PCE times out, the router acting as a PCC keeps the last successfully-programmed path provided by the PCE until the session to the PCE is re-established. Any subsequent change to the state of an LSP is synchronized at the time the session is re-established.
When a PCEP session to a peer times out or closes, the rate at which the PCEP speaker attempts the establishment of the session is subject to an exponential back-off mechanism.
The following PCEP parameters are user-configurable on both the PCC and PCE. On the PCE, the configured parameter values are used on sessions to all PCCs.
The main function introduced by stateful PCE over the base PCE implementation is the ability to synchronize the LSP state between the PCC and the PCE. This allows the PCE to have all the required LSP information to perform re-optimization and updating of the LSP paths.
Table 35 describes the messages and objects supported by stateful PCE in the SR OS.
TLV, Object, or Message | Contained in Object | Contained in Message |
Path Computation State Report (PCRpt) | N/A | New message |
Path Computation Update Request (PCUpd) | N/A | New message |
Stateful PCE Capability TLV | OPEN | OPEN |
Stateful Request Parameter (SRP) Object | N/A | PCRpt 1, PCErr |
LSP Object | ERO | PCRpt 1, PCReq, PCRep |
LSP Identifiers TLV | LSP | PCRpt 1 |
Symbolic Path Name TLV | LSP, SRP | PCRpt 1 |
LSP Error Code TLV | LSP | PCRpt 1 |
RSVP Error Spec TLV | LSP | PCRpt 1 |
Note:
The behavior and limitations of the implementation of the objects in Table 35 are as follows:
In a future release, when the stateful PCE supports LSP initiation, the extensions described in Table 36 are required.
TLV, Object, or Message | Contained in Object | Contained in Message |
PCE LSP Initiate Message (PCInitiate) | N/A | New message |
PCC LSP Create Flag (C-flag) | LSP | PCRpt 1 |
Note:
In order for the PCE and PCC to manage the path of an SR-TE LSP, they both implement the following extensions to PCEP in support of segment routing.
Table 37 describes the segment routing extention objects and TLVs supported in the SR OS.
TLV, Object, or Message | Contained in Object | Contained in Message |
SR PCE CAPABILITY TLV | OPEN | OPEN |
Path Setup Type (PST) TLV | SRP | PCReq, PCRep, PCRpt 1 |
SR-ERO Sub-object | ERO | PCRep, PCRpt 1 |
SR-RRO Sub-object | RRO | PCReq, PCRpt 1 |
Segment-ID (SID) Depth Value in METRIC Object | METRIC | PCReq, PCRpt 1 |
Note:
An LSP that is configured on the router is referred to as a PCC-initiated LSP. An LSP that is not configured on the router, but is instead created by the PCE at the request of an application or a service instantiation, is referred to as a PCE-initiated LSP.
The SR OS support three different modes of operations for PCC-initiated LSPs which are configurable on a per-LSP basis.
The following is the procedure for configuring and programming a PCC-initiated SR-TE LSP when control is delegated to the PCE.
![]() | Note: For the PCE to be able to use the SRLG path diversity and admin-group constraints in the path computation, the user must configure the SRLG and admin-group membership against the MPLS interface and make sure that the traffic-engineering option is enabled in IGP. This causes IGP to flood the link SRLG and admin-group membership in its participating area, and for PCE to learn it in its TE database. |
The above procedure is followed when the user performs a no shutdown command on a PCE-controlled or PCE-computed LSP. The starting point is an LSP which is administratively down with no active path. For an LSP with an active path, the following items may apply:
The PCE path profile defined in draft-alvarez-pce-path-profiles is used to request path diversity or a disjoint for two or more LSPs originating on the same or different PE routers. It is also used to request that paths of two unidirectional LSPs between the same two routers use the same TE links. This is referred to as the bi-directionality constraint.
Path profiles are defined by the user directly on the NRC-P Policy Manager with a number of LSP path constraints, which are metrics with upper bounds specified, and with an objective, which are metrics optimized with no bound specified. The NRC-P Policy Manager allows the following PCE constraints to be configured within each PCE Path Profile:
In addition, the user can specify in the PCE Path Profile which PCE objective to use to optimize the path of the LSP.
The CSPF algorithm will optimize this objective. If a constraint is provided for the same metric, then the CSPF algorithm makes sure that the selected path achieves a lower or equal value to the bound specified in the constraint.
For hop-count metrics, if a constraint is sent in a METRIC object, and is also specified in a PCE profile referenced by the LSP, the constraint in the METRIC object is used.
For IGP and TE metrics, if an objective is sent in a METRIC object, and is also specified in a PCE profile referenced by the LSP, the objective in the Path Profile is used.
The constraints in the Bandwidth object and the LSPA object, specifically the include/exclude admin-group constraints and setup and hold priorities, are not supported in the PCE profile.
In order to indicate the path diversity and bi-directionality constraints to the PCE, the user must configure the profile ID and path group ID of the PCE path that the LSP belongs to. The CLI for this is described in the Configuring and Operating SR-TE section. The path group ID does not need to be defined in the PCE as part of the path profile configuration, and identifies implicitly the set of paths which must have the path diversity constraint applied.
The user can only associate a single path group ID with a specific PCE path profile ID for a given LSP. However, the same path group ID can be associated with multiple PCE profile IDs for the same LSP.
The path profiles are inferred using the path ID in the path request by the PCC. When the PE router acting as a PCC wants to request path diversity from a set of other LSPs belonging to a path group ID value, it adds a new path profile object into the PCReq message. The object contains the path profile ID and the path group ID as an extended ID field. In other words, the diversity metric is carried in an opaque way from PCC to PCE.
The bi-directionality constraint operates the same way as the diversity constraint. The user can configure a PCE profile with both the path diversity and bi-directionality constraints. PCE will check if there is an LSP in the reverse direction which belongs to the same path group ID as an originating LSP it is computing the path for, and will enforce the constraint.
In order to for PCE to be aware of the path diversity and bi-directionality constraints for an LSP which is delegated, but for which there is no prior state in the NRC-P LSP database, the path profile object is included in the PCRpt message with the P-flag set in the common header to indicate that the object must be processed. This is proprietary to Nokia.
Table 38 describes the new objects introduced in the PCE path profile.
TLV, Object, or Message | Contained in Object | Contained in Message |
PATH-PROFILE-CAPABILITY TLV | OPEN | OPEN |
PATH-PROFILE Object | N/A | PCReq, PCRpt 1 |
Note:
A path profile object can contain multiple TLVs containing each profile-id and extend-id, and should be processed properly. If multiple path profile objects are received, the first object is interpreted and the others are ignored. The PCC and the PCE support all PCEP capability TLVs defined in this chapter and will always advertise them. If the OPEN object received from a PCEP speaker does not contain one or more of the capabilities, the PCE or PCC will not use them during that PCEP session.