Configuring an SR-MPLS TE Tunnel
An SR-MPLS TE tunnel is configured on a forwarder and then is delegated to the controller for management.
Usage Scenario
Pre-configuration Tasks
Before configuring an SR-MPLS TE tunnel, complete the following tasks:
Configure IS-IS to implement network layer connectivity for LSRs.
Set an LSR ID for each LSR.
Enable MPLS globally and on interfaces on all LSRs.
The forwarder delegates the SR-MPLS TE tunnel to the controller. The controller must be configured to calculate paths for the tunnel, generate label stacks, and maintain the tunnel.
- Enabling MPLS TE
- Globally Enabling the Segment Routing Capability
- Configuring the IS-IS SR-MPLS TE Capability and Topology Report Function
- Configuring an SR-MPLS TE Tunnel Interface
- (Optional) Configuring Administrative Group and Affinity Property
- (Optional) Configuring an SRLG
- (Optional) Configuring an Explicit Path for the Tunnel
- (Optional) Configuring CR-LSP Hop Limit
- (Optional) Configuring the Tunnel Bandwidth
- (Optional) Configuring the Tunnel Priority
- (Optional) Configuring the UCMP Function of the SR-MPLS TE Tunnel
- (Optional) Configuring the Enhanced HASH Mode of Segment Routing
- Verifying the SR-MPLS TE Tunnel Configuration
Enabling MPLS TE
Context
To configure an SR-MPLS TE tunnel, first enable the MPLS TE function, and then perform other related configurations, such as configuring the SR-MPLS TE tunnel interface and attributes.
Perform the following configurations on each node of the SR-MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run mpls
The MPLS view is displayed.
- Run mpls te
MPLS TE is enabled globally.
By default, MPLS TE is disabled globally.
- Run quit
Return to the system view.
- Run interface interface-type interface-number
The SR-MPLS TE interface view is displayed.
- On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations (for example, shutdown and description configurations). Alternatively, if configuration information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp and lacp system-id configurations), no configuration that is not supported after the working mode of the interface is switched can exist. If unsupported configurations exist on the interface, delete the configurations first and then run the undo portswitch command.
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to switch these interfaces to Layer 3 mode in batches.
- Run mpls
MPLS is enabled on the interface.
By default, MPLS is disabled on the interface.
- Run mpls te
MPLS TE is enabled on the interface.
By default, MPLS TE is disabled on the interface.
- Run commit
The configuration is committed.
Globally Enabling the Segment Routing Capability
Configuring the IS-IS SR-MPLS TE Capability and Topology Report Function
Context
Before an SR-MPLS TE tunnel is established, a device must assign labels, collect network topology information, and report the information to the controller so that the controller uses the information to calculate a path and a label stack for the path. SR-MPLS TE labels can be assigned by the controller or the extended IS-IS protocol on forwarders. Network topology information (including labels assigned by IS-IS) is collected by IS-IS and reported to the controller through IS-IS flooding or BGP-LS route advertisement.
Procedure
- Configure IS-IS SR-MPLS TE.
Perform the following steps on each node of an SR-MPLS TE tunnel:
- Configure the device to report topology information to the controller.
Perform the following steps on one or multiple nodes of an SR-MPLS TE tunnel:
If the controller is indirectly connected to a forwarder at Layer 3, BGP-LS must be configured on the forwarder and controller to report topology information to the controller.
If a controller is directly connected to a forwarder at Layer 3, assigned labels and network topology information can be reported to the controller using IS-IS, so BGP-LS does not need to be configured.
A forwarder can report network-wide topology information to the controller after they establish an IS-IS neighbor relationship or BGP-LS peer relationship. The following steps can be configured on one or multiple nodes, depending on the network scale.
- (Optional) Configure an adjacency SID.
After IS-IS SR is enabled, an adjacency SID is automatically generated. To disable the automatic generation of adjacency SIDs, run the segment-routing auto-adj-sid disable command. The automatically generated adjacency SID may change after a device restart. If an explicit path uses such an adjacency SID and the associated device is restarted, this adjacency SID must be reconfigured. You can also manually configure an adjacency SID to facilitate the use of an explicit path.
Configuring an SR-MPLS TE Tunnel Interface
Context
A tunnel interface must be created on the ingress node so that a tunnel can be established and forward data packets.
- Tunnel establishment: Tunnel constraints, bandwidth attributes, and advanced attributes can be configured on the tunnel interface to establish the tunnel.
- Tunnel management: Tunnel attributes can be modified on the tunnel interface to manage the tunnel.
Because SR-MPLS TE tunnels forward MPLS packets, not IP packets, IP forwarding-related commands run on the tunnel interface are invalid.
Perform the following configurations on the ingress node of an SR-MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run interface tunnel tunnel-number
A tunnel interface is created, and the tunnel interface view is displayed.
If the shutdown command is run on the tunnel interface, all LSPs established on the tunnel interface will be deleted.
- Run either of the following commands to assign an IP address to the tunnel interface:
Run ip address ip-address { mask | mask-length } [ sub ]
An IP address is configured for the tunnel interface.
The secondary IP address of the tunnel interface can be configured only after the primary IP address is configured.
Run ip address unnumbered interface interface-type interface-number
The tunnel interface is configured to borrow the IP address of another interface.
An MPLS TE tunnel can be established even if the tunnel interface is assigned no IP address. The tunnel interface must obtain an IP address before forwarding traffic. An MPLS TE tunnel is unidirectional and does not need a peer address. Therefore, there is no need to configure a separate IP address for the tunnel interface. Generally, a loopback interface is created on the ingress node and a 32-bit address that is the same as the LSR ID is assigned to the loopback interface. Then the tunnel interface borrows the IP address of the loopback interface.
- Run tunnel-protocol mpls te
MPLS TE is configured as a tunneling protocol.
- Run destination ip-address
A tunnel destination address is configured, which is usually the LSR ID of the egress node.
Various types of tunnels require specific destination addresses. If a tunneling protocol is changed from another protocol to MPLS TE, a configured destination address is deleted automatically and a new destination address needs to be configured.
- Run mpls te tunnel-id tunnel-id
A tunnel ID is configured.
- Run mpls te signal-protocol segment-routing
SR is configured as the signaling protocol of the tunnel.
By default, the signaling protocol used to set up a tunnel is RSVP-TE.
- Run mpls te pce delegate
SR-MPLS TE tunnel delegation to a PCE server is enabled.
By default, delegation to a PCE server is disabled on a tunnel interface.
- Run commit
The configuration is committed.
(Optional) Configuring Administrative Group and Affinity Property
Context
The affinity property, together with the link administrative group attribute, is used to determine the links used in CR-LSP path calculation.
- Hexadecimal number: A 32-bit hexadecimal number is set for each affinity property and link administrative group attribute, which causes planning and computational difficulties. This is the traditional configuration method.
- Name: Each affinity property and link administrative group can be named, which simplifies configuration and maintenance. This configuration method is recommended.
The change of the administrative group attribute takes effect only on the new CR-LSP. Existing CR-LSPs are unaffected.
If the affinity property of a tunnel is changed, the existing CR-LSPs for the tunnel are affected. The switch re-calculates paths for the tunnel.
The following procedures show how to configure an affinity property on the ingress node of the SR-MPLS TE tunnel and an administrative group attribute on each node participating in the tunnel path calculation.
(Optional) Configuring an SRLG
Context
A shared risk link group (SRLG) is a set of links which are likely to fail concurrently because they share a physical resource (for example, an optical fiber). In an SRLG, if one link fails, the other links in the SRLG also fail.
An SRLG enhances CR-LSP reliability on an MPLS TE network with CR-LSP hot standby enabled. Two or more links are at the same risk level if they share physical resources. For example, sub-interfaces share risks with their main interface. These sub-interfaces will go Down if the main interface goes Down. If the links of a primary tunnel and a backup tunnel are in the same SRLG, the links of the backup tunnel share risks with the links of the primary tunnel. The backup tunnel will go Down if the primary tunnel goes Down. After an SRLG is configured, CSPF must calculate a hot-standby CR-LSP according to the SRLG attribute. The link used by the primary path and the link used by the hot-standby CR-LSP cannot be in the same SRLG.
The configuration of SRLG takes effect only on the new CR-LSP. Existing CR-LSPs are unaffected.
Perform the following steps according to actual networking.
(Optional) Configuring an Explicit Path for the Tunnel
Context
Constraints such as explicit path attributes can be configured on the ingress node to accurately and flexibly establish tunnels.
-
You need to configure an explicit path before you can configure explicit path constraints.
An explicit path refers to a vector path on which a series of nodes are arranged in the sequence in which they are configured. The IP address of an interface on the egress is usually used as the destination address of the explicit path. Links or nodes can be specified for an explicit path so that a CR-LSP can be established over the specified path, facilitating resource allocation and efficiently controlling CR-LSP establishment.
Two adjacent nodes on an explicit path are connected in either of the following modes:
Strict: Adjacent hops must be directly connected. This mode strictly controls the path through which the LSP passes.
Loose: Other nodes may exist between adjacent hops.
The strict and loose modes are used either separately or in combination.
Applying the Explicit Path to a Tunnel
After an explicit path is configured as one of the constraints for tunnel establishment, path computation is based on the constraints to calculate a path over which a CR-LSP is established.
Disabling MBB for SR-MPLS TE Tunnels
If the SR-MPLS TE tunnel is not enabled with CSPF calculation and PCE delegation, after you configure the explicit path to enable SR-MPLS TE LSP Up, the LSP will enter in the MBB process when the label stack of the explicit path under the tunnel is deleted, the Main LSP remains Up and the Modify LSP is Down. Traffic will still be forwarded along the Main LSP, causing forwarding failure.
To address the preceding issue, you can disable MBB for SR-MPLS TE tunnels. In this way, when the label stack of an explicit path is deleted, the associated SR-MPLS TE tunnel is directly set to down, and no route can recurse to this tunnel.
(Optional) Configuring CR-LSP Hop Limit
Context
The hop limit is a condition for CR-LSP path selection and is used to specify the maximum number of hops along a CR-LSP.
Perform the following steps on the ingress node of an SR-MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run interface tunnel interface-number
The tunnel interface view is displayed.
- Run mpls te hop-limit hop-limit-value
The maximum number of hops along the CR-LSP is set. The hop-limit-value is an integer in the range from 1 to 32.
- Run commit
The configuration is committed.
(Optional) Configuring the Tunnel Bandwidth
Context
The bandwidth of a tunnel must be planned according to requirements of the services to be transmitted over the tunnel. Bandwidth attributes can be configured on the ingress to accurately and flexibly establish tunnels.
Perform the following steps on the ingress node of an SR-MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run interface tunnel tunnel-number
The tunnel interface view is displayed.
- Run mpls te bandwidth ct0 ct0-bw-value
A bandwidth constraint is configured for the tunnel.
By default, no bandwidth constraint is configured for a tunnel.
- Run commit
The configuration is committed.
(Optional) Configuring the Tunnel Priority
Context
In the process of establishing a CR-LSP, if no path with the required bandwidth exists, bandwidth preemption is implemented according to setup priority and holding priority.
Perform the following steps on the ingress node of an SR-MPLS TE tunnel.
Procedure
- Run system-view
The system view is displayed.
- Run interface tunnel interface-number
The tunnel interface view is displayed.
- Run mpls te priority setup-priority [ hold-priority ]
The setup and holding priorities are set for the tunnel.
Both the setup priority and the holding priority are in the range from 0 to 7. The smaller the value, the higher the priority.
By default, both the setup priority and the holding priority are 7. If only the setup priority value is set, the holding priority value is the same as the setup priority value.
The setup priority should not be higher than the holding priority.
- Run commit
The configuration is committed.
(Optional) Configuring the UCMP Function of the SR-MPLS TE Tunnel
When multiple SR-MPLS TE tunnels are directed to the downstream device, the load balancing weights can be configured to perform the Unequal Cost Multi-Path Load Balance (UCMP) on the SR-MPLS TE tunnels.
Procedure
- Run system-view
The system view is displayed.
- Run load-balance unequal-cost enable
The UCMP function is enabled.
This command can be configured only when the card interoperability mode is enhanced.
- Run interface tunnel tunnel-number
The SR-MPLS TE tunnel interface view is displayed.
- Run load-balance unequal-cost weight weight
The weight for an SR-MPLS TE tunnel before UCMP is carried out among tunnels is set.
- Run commit
The configuration is committed.
(Optional) Configuring the Enhanced HASH Mode of Segment Routing
Context
After the assign forward segment-routing enhanced label-stack-num { 4 | 5 | 6 } command is run to enable the segment routing enhanced mode and configure the label stack depth, the device can forward packets whose label stack depth is greater than 3. However, the device performs inner 5-tuple-based hash calculation only over packets whose label stack depth is 3 by default. After the enhanced hash mode of segment routing is configured, the device can perform inner 5-tuple-based hash calculation over packets whose label stack depth is 5.
Procedure
- Run system-view
The system view is displayed.
- Run assign forward segment-routing hash enhanced
The enhanced hash mode of segment routing is enabled.
- The enhanced hash mode of segment routing is mutually exclusive with the non-enhanced card interoperability mode. Before enabling the enhanced hash mode of segment routing, you need to run the set forward capability enhanced command to set the card interoperability mode to enhanced.
- The enhanced hash mode of segment routing is mutually exclusive with FCoE, IPv6 VXLAN, and VXLAN load balancing.
- Run commit
The configuration is committed.
Verifying the SR-MPLS TE Tunnel Configuration
Procedure
- Run the following commands to check the IS-IS TE status:
- display isis traffic-eng advertisements [ local | lsp-id ] [ level-1 | level-2 | level-1-2 ] [ process-id | vpn-instance vpn-instance-name ]
- display isis traffic-eng statistics [ process-id | vpn-instance vpn-instance-name ]
- Run the display bgp link-state unicast peer command check information about BGP-LS peers and their status.
- Run the display explicit-path [ [ name ] path-name ] [ verbose ] command to check configured explicit paths.
- Run the display mpls te tunnel [ destination ip-address ] [ lsp-id ingress-lsr-id session-id local-lsp-id ] [ lsr-role { all | egress | ingress | remote | transit } ] [ name tunnel-name ] [ { incoming-interface | interface | outgoing-interface } interface-type interface-number ] [ verbose ] command to check tunnel information.
- Run the display mpls te tunnel statistics or display mpls sr-te-lsp command to check tunnel or LSP statistics.
- Run the display mpls te tunnel-interface [ tunnel interface-number ] command to check information about a tunnel interface on the ingress.
- Run the display mpls te tunnel diagnostic command to check brief tunnel information.
- Run the display mpls te stitch-label-stack command to check information about the stitching label stack mapped to the stitching label.
When the label stack depth exceeds the upper limit supported by a forwarder, the controller needs to divide a label stack into multiple stacks for an entire path. The divided stacks are separately assigned to the ingress node and stitching nodes. You can view information about a stitching label stack on a stitching node.
- Enabling MPLS TE
- Globally Enabling the Segment Routing Capability
- Configuring the IS-IS SR-MPLS TE Capability and Topology Report Function
- Configuring an SR-MPLS TE Tunnel Interface
- (Optional) Configuring Administrative Group and Affinity Property
- (Optional) Configuring an SRLG
- (Optional) Configuring an Explicit Path for the Tunnel
- (Optional) Configuring CR-LSP Hop Limit
- (Optional) Configuring the Tunnel Bandwidth
- (Optional) Configuring the Tunnel Priority
- (Optional) Configuring the UCMP Function of the SR-MPLS TE Tunnel
- (Optional) Configuring the Enhanced HASH Mode of Segment Routing
- Verifying the SR-MPLS TE Tunnel Configuration