Explicit Routing
MPLS offers two options for selecting routing paths:
In explicit routing, the route the LSP takes is defined by the ingress node. The path consists of a series of hops defined by the ingress LSR. Each hop can be a traditional interface, an autonomous system, or an LSP. A hop can be strict or loose.
A strict hop must be directly connected (that is, adjacent) to the previous node in the path. A loose hop is not necessarily directly connected to the previous node; whether it is directly connected is unknown.
The sequence of hops comprising an explicit routing LSP may be chosen in either of the following ways:
- Through a user-defined configuration, resulting in configured explicit paths. When you create the explicit route, you must manually configure each hop in the path.
- Through a routing protocoldefined configuration, resulting in dynamic explicit paths. When the routing protocol (IS-IS or OSPF) creates the explicit path, it makes use of the topological information learned from a link-state database in order to compute the entire path, beginning at the ingress node and ending at the egress node.
Consider the MPLS domain shown in Figure 58. Without explicit path routing, the tunnel is created hop by hop along the following path:
LSR 1 > LSR 3 > LSR 4 > LSR 7
Suppose LSR 5 and LSR 6 are underused and LSR 4 is overused. In this case you might choose to configure the following explicit path because it forwards the data better than the hop-by-hop path:
LSR 1 > LSR 3 > LSR 5 > LSR 6 > LSR 7
![]()
Defining Configured Explicit Paths
You can create explicit routing paths manually by configuring an explicit path with a name and a series of addresses (hops) from ingress to egress.
To manually configure explicit routing:
- Access Explicit Path Configuration mode.
host1(config)#mpls explicit-path name xyzhost1(config-expl-path)#- Do one of the following to configure the hops in the LSP:
- Set the next hop (if need be) at a particular index in the explicit path.
- Add the next hop (if need be) after a particular index in the explicit path.
- Enable the explicit path.
NOTE: To prevent a partially configured explicit path from being used, do not enable it until you have finished configuring or modifying the path.
- (Optional) List the currently configured explicit path.
append-after
- Use to add a next hop after a particular index in the explicit path.
- Sequence (index) numbers after this index adjust automatically.
- Example
host1(config-expl-path)#append-after 5 next-address 192.168.47.22There is no no version. index
host1(config-expl-path)#index 5 next-address 172.18.100.5Use the no version to remove the next hop from the index. list
- Use to list the currently configured explicit path (optionally starting at a particular index defined with the index command).
- Example
host1(config-expl-path)#list 5There is no no version. mpls explicit-path
- Use to define an explicit path by name and also to enable or disable an explicit path.
- Also accepts the ip keyword instead of mpls for compatibility with nonE-series implementations.
- Examples
host1(config)#mpls explicit-path name xyzhost1(config)#ip explicit-path name xyz enableUse the no version to delete the specified explicit path. next-address
- Use to configure an IPv4 hop at the end of the explicit path.
- You can specify a loose node, which indicates that the node is not necessarily directly connected (adjacent) to the previous node in the path. If you do not specify loose, the configuration defaults to strict, indicating that the node is directly connected to the previous node.
- Example
host1(config-expl-path)#next-address 10.10.9.2There is no no version. Specifying Configured Explicit Paths on a Tunnel
After you have defined a configured explicit path, you can configure the path on a tunnel.
To configure explicit routing on a tunnel:
- Create an MPLS tunnel.
host1(config)#interface tunnel mpls:1- Set the path option.
host1(config-if)#tunnel mpls path-option 1 explicit name xyztunnel mpls path-option
- Use to specify the path options for the tunnel. You can configure one or more sets of path optionseach identified by a unique numberfor a given tunnel.
- Options with a lower number are preferred; path option 1 is the most preferred. If an LSP goes down on the currently used path option, the path option with the next highest preference is used.
- Example 1configured tunnel:
host1(config-if)#tunnel mpls path-option 1 explicit name xyzExample 2dynamic tunnel: host1(config-if)#tunnel mpls path-option 2 dynamic isisUse the no version to delete the path options. Configuring Dynamic Explicit Paths on a Tunnel
You can create explicit routing paths dynamically with a routing protocol. IS-IS and OSPF both currently support explicit routing.
To configure dynamic explicit routing:
- Create an MPLS tunnel.
host1(config)#interface tunnel mpls:bilbao5- Set the path option.
host1(config-if)#tunnel mpls path-option 2 dynamic isisTo configure MPLS dynamic explicit path routing, refer to the commands and guidelines in the previous section, Specifying Configured Explicit Paths on a Tunnel.
Monitoring Explicit Paths
For information about monitoring MPLS explicit routing, see the following sections in this chapter: