When you configure MPLS TE, your IGP (OSPF or IS-IS) floods two metrics for every link:
- IGP metric
- TE metric
Tunnels use the TE metric by default. Also, the TE metric is the same as the shortest path IGP metric by default.
For each tunnel, you can specify whether the path calculation has to use the IGP or TE metrics.
This can be useful in a scenario where you have two traffic types. Let’s say you have VoIP traffic and regular data traffic. You could use the IGP metric for tunnels that carry data traffic and the TE metric for tunnels that carry VoIP traffic.
Here’s an example:

In the picture above, we have two possible paths to get from PE1 to PE2:
- Through P1
- Through P2 and P3
By default, tunnels would use the shortest path through P1. Imagine that the path through P2 and P3 somehow has a lower delay than through P1, and we would like to use this path for VoIP traffic. We can change the TE metric on these interfaces to become the shortest path. That’s what we are going to do in this lesson.
- Configurations
- CE1
- CE2
- P1
- P2
- P3
- PE1
- PE2
Want to take a look for yourself? Here you will find the startup configuration of each device.
I use Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.9(3)M4.
Configuration
We’ll configure two tunnels:
- Tunnel 1 (Data traffic) uses the IGP metric.
- Tunnel 2 (VoIP traffic) uses the TE metric.
Tunnel 1 (Data)
We’ll start with the data tunnel. With the show mpls traffic-eng topology
command, you can see the metric of any interface in your MPLS TE topology. Here are the metrics of one of PE2’s interfaces:
PE1#show mpls traffic-eng topology 2.2.2.2
IGP Id: 0002.0002.0002.00, MPLS TE Id:2.2.2.2 Router Node (isis level-2) id 1
link[0]: Broadcast, DR: 0002.0002.0002.03, nbr_node_id:6, gen:95
frag_id 0, Intf Address:192.168.24.2
TE metric:10, IGP metric:10, attribute flags:0x0
[output omitted]
The default IS-IS IGP metric is 10. The TE metric is the same as the IGP metric, so it’s also 10.
We can see the total metric of a path when we look at our tunnel:
PE1#show mpls traffic-eng tunnels Tunnel 1
Name: PE1_t1 (Tunnel1) Destination: 6.6.6.6
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type dynamic (Basis for Setup, path weight 20)
Config Parameters:
Bandwidth: 750 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (interface)
AutoRoute: disabled LockDown: disabled Loadshare: 750 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: dynamic path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel : -
OutLabel : GigabitEthernet0/1, 16
RSVP Signalling Info:
Src 2.2.2.2, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 244
RSVP Path Info:
My Address: 192.168.23.2
Explicit Route: 192.168.23.3 192.168.36.3 192.168.36.6 6.6.6.6
Record Route: NONE
Tspec: ave rate=750 kbits, burst=1000 bytes, peak rate=750 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=750 kbits, burst=1000 bytes, peak rate=750 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 192.168.23.2 192.168.23.3 192.168.36.3 192.168.36.6
6.6.6.6
History:
Tunnel:
Time since created: 9 days, 20 hours, 14 minutes
Time since path change: 2 minutes, 46 seconds
Number of LSP IDs (Tun_Instances) used: 244
Current LSP:
Uptime: 2 minutes, 46 seconds
Prior LSP:
ID: path option 1 [174]
Removal Trigger: tunnel shutdown
In the output above, you see that we use the TE metric and that the total path metric is 20.
Let’s change this tunnel so that it uses the IGP metric instead:
PE1(config)#interface Tunnel 1
PE1(config-if)#tunnel mpls traffic-eng path-selection metric ?
igp Use IGP Metric
te Use TE Metric
I’ll select IGP:
PE1(config-if)#tunnel mpls traffic-eng path-selection metric igp
This tunnel now uses the IGP metric to calculate the shortest path. Nothing will change for this tunnel at this moment because it was already using the shortest path through P1.
Tunnel 2 (VoIP)
Let’s create the second tunnel. I’ll use the same configuration as tunnel one:
PE1(config)#interface Tunnel 2
PE1(config-if)#ip unnumbered Loopback0
PE1(config-if)#tunnel mode mpls traffic-eng
PE1(config-if)#tunnel destination 6.6.6.6
PE1(config-if)#tunnel mpls traffic-eng priority 7 7
PE1(config-if)#tunnel mpls traffic-eng bandwidth 750
PE1(config-if)#tunnel mpls traffic-eng path-option 1 dynamic
We know that by default, a MPLS TE tunnel uses the TE metric but let’s check it anyway:
PE1#show mpls traffic-eng tunnels Tunnel 2
Name: PE1_t2 (Tunnel2) Destination: 6.6.6.6
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type dynamic (Basis for Setup, path weight 20)
Config Parameters:
Bandwidth: 750 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: disabled LockDown: disabled Loadshare: 750 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: dynamic path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel : -
OutLabel : GigabitEthernet0/1, 16
RSVP Signalling Info:
Src 2.2.2.2, Dst 6.6.6.6, Tun_Id 2, Tun_Instance 1
RSVP Path Info:
My Address: 192.168.23.2
Explicit Route: 192.168.23.3 192.168.36.3 192.168.36.6 6.6.6.6
Record Route: NONE
Tspec: ave rate=750 kbits, burst=1000 bytes, peak rate=750 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=750 kbits, burst=1000 bytes, peak rate=750 kbits
Shortest Unconstrained Path Info:
Path Weight: 20 (TE)
Explicit Route: 192.168.23.2 192.168.23.3 192.168.36.3 192.168.36.6
6.6.6.6
History:
Tunnel:
Time since created: 41 seconds
Time since path change: 40 seconds
Number of LSP IDs (Tun_Instances) used: 1
Current LSP:
Uptime: 40 seconds
The output above shows that the tunnel uses the TE metric and that the total path metric is 20. Now let’s change the TE metric on our interfaces. Because MPLS TE tunnels are unidirectional, I would only have to change the TE metric on these interfaces:
- Unit 1: Introduction
- Unit 2: LDP (Label Distribution Protocol)
- Unit 3: MPLS VPN
- VRFs (Virtual Routing and Forwarding)
- MPLS L3 VPN Explained
- MPLS L3 VPN Configuration
- MPLS L3 VPN BGP Allow AS in
- MPLS L3 VPN BGP AS Override
- MPLS L3 VPN PE-CE RIP
- MPLS L3 VPN PE-CE EIGRP
- MPLS L3 VPN PE-CE OSPF
- MPLS L3 VPN PE-CE OSPF Default Route
- MPLS L3 VPN PE-CE OSPF Global Default Route
- MPLS L3 VPN PE-CE OSPF Sham Link
- VRF Lite Route Leaking
- MPLS VPN Extranet Route Leaking
- MPLS VPN VRF Export Map
- MPLS VPN VRF Import Map
- MPLS over FlexVPN
- Unit 4: MPLS L2 Encapsulation
- Unit 5: IPv6 MPLS
- Unit 6: MPLS Traffic Engineering (TE)
- Introduction to MPLS Traffic Engineering (TE)
- MPLS Traffic Engineering (TE) IS-IS Configuration
- MPLS Traffic Engineering (TE) OSPF Configuration
- MPLS TE RSVP-TE
- MPLS TE Static Routes
- MPLS TE Policy Based Routing (PBR)
- MPLS TE Autoroute Announce
- MPLS TE Autoroute Destination
- MPLS TE Autoroute Metric
- MPLS TE Unequal Cost Load Balancing
- MPLS TE Load Balancing between IGP and TE
- MPLS TE Forwarding Adjacency
- MPLS TE Path Options Explicit
- MPLS TE Class-Based Tunnel Selection (CBTS)
- MPLS TE Metric
- MPLS TE Setup and Hold Priority
- MPLS TE Attribute Flag and Affinity
- MPLS TE Reoptimization
- MPLS TE Fast Reroute (FRR)
- MPLS TE Fast Reroute Path Link Protection
- MPLS TE Fast Reroute Path Node Protection
- MPLS TE FRR RSVP Hello Support
- MPLS TE DiffServ Aware (DS-TE) Traditional
- MPLS TE Diffserv-Aware (DS-TE) IETF Mode
- MPLS VPN over MPLS TE Tunnels
- MPLS TE Per VRF TE tunnel