MPLS TE Load Balancing between IGP and TE

When you have a TE tunnel and use something like autoroute to use it in your routing table, you’ll notice that the router installs the tunnel as the next hop for the tailend router and any destinations behind it.







It’s impossible to load balance traffic between your IGP and a TE tunnel to the tailend router. You can’t do this because if you could, it would be impossible to route traffic down a TE tunnel that follows a suboptimal path. Here is an example:

Mpls Te Load Balancing Igp Te Two Paths

PE1 is the headend router. PE2 is the tailend router. To get from PE1 to PE2, we have three paths:

  • TE Tunnel:
    • PE1 > P1 > PE2
  • IGP:
    • PE1 > P1 > PE2
    • PE1 > CE2 > PE2

When we use the default IGP metric, these three paths have the same metric.

If PE1 didn’t prefer the TE tunnel, it would load balance traffic using these three paths. The headend router would send only 33% of the traffic through the TE tunnel.

If you want to load balance traffic to your tailend router, you’ll have to use multiple TE tunnels. This works and even supports unequal cost-load balancing.

What is possible is that you can load balance traffic between your IGP and TE tunnel to destinations behind the tailend router. In this lesson, I’ll demonstrate how this works.

Configuration

Here is our topology:

Mpls Te Igp Te Load Balancing Topology

PE1 is the headend router. PE2 is our tailend router. I configured an explicit path so the tunnel goes through P1. We have two links that are not enabled for MPLS:

  • PE1 – CE2
  • P1 – CE2

These two links are only advertised in the IGP (IS-IS). All links have the default IS-IS metric of 10. Our goal is to load balance traffic from PE1 to CE2’s loopback interface using the TE tunnel and IGP links.

All routers use IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.9(3)M6on all routers.

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

CE2

hostname CE2
!
ip cef
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.14.4 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/1
 ip address 192.168.34.4 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/2
 ip address 192.168.24.4 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
router isis
 mpls traffic-eng level-2
 net 49.0001.0004.0004.0004.0004.00
 is-type level-2-only
 metric-style wide
!
end

P1

hostname P1
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/2
 ip address 192.168.24.2 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0002.0002.0002.0002.00
 is-type level-2-only
 metric-style wide
!
mpls ldp router-id Loopback0 force
!
end

PE1

hostname PE1
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface Tunnel1
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 3.3.3.3
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 750
 tunnel mpls traffic-eng path-option 1 explicit name INCLUDE_P1
!
interface GigabitEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
interface GigabitEthernet0/1
 ip address 192.168.14.1 255.255.255.0
 ip router isis 
 isis circuit-type level-2-only
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0001.0001.0001.0001.00
 is-type level-2-only
 metric-style wide
!
ip explicit-path name INCLUDE_P1 enable
 next-address loose 192.168.12.2
!
mpls ldp router-id Loopback0 force
!
end

PE2

hostname PE2
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip router isis 
 isis circuit-type level-2-only
!
interface GigabitEthernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip router isis 
 mpls traffic-eng tunnels
 mpls ip
 isis circuit-type level-2-only
 ip rsvp bandwidth 1000000
!
router isis
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng level-2
 net 49.0001.0003.0003.0003.0003.00
 is-type level-2-only
 metric-style wide
!
mpls ldp router-id Loopback0 force
!
end

Let’s make sure the tunnel is up:

PE1#show mpls traffic-eng tunnels Tunnel 1

Name: PE1_t1                              (Tunnel1) Destination: 3.3.3.3
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit INCLUDE_P1 (Basis for Setup, path weight 10)

  Config Parameters:
    Bandwidth: 750      kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute:  enabled   LockDown: disabled  Loadshare: 750      bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  - 
  OutLabel : GigabitEthernet0/0, 16
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 3.3.3.3, Tun_Id 1, Tun_Instance 13
    RSVP Path Info:
      My Address: 192.168.12.1   
      Explicit Route: 192.168.12.2 2.2.2.2 
      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.12.1 192.168.12.2 192.168.23.2 192.168.23.3 
                    3.3.3.3 
  History:
    Tunnel:
      Time since created: 12 minutes, 7 seconds
      Time since path change: 11 minutes, 24 seconds
      Number of LSP IDs (Tun_Instances) used: 13
    Current LSP:
      Uptime: 11 minutes, 24 seconds

The tunnel is connected. You can see the explicit route and that autoroute is enabled. Let’s look at the routing table of PE1:

PE1#show ip route isis

Gateway of last resort is not set

      2.0.0.0/32 is subnetted, 1 subnets
i L2     2.2.2.2 [115/20] via 192.168.12.2, 00:12:02, GigabitEthernet0/0
      3.0.0.0/32 is subnetted, 1 subnets
i L2     3.3.3.3 [115/30] via 3.3.3.3, 00:09:50, Tunnel1
      4.0.0.0/32 is subnetted, 1 subnets
i L2     4.4.4.4 [115/20] via 192.168.14.4, 00:09:50, GigabitEthernet0/1
i L2  192.168.23.0/24 [115/20] via 192.168.12.2, 00:09:50, GigabitEthernet0/0
i L2  192.168.24.0/24 [115/20] via 192.168.14.4, 00:07:38, GigabitEthernet0/1
                      [115/20] via 192.168.12.2, 00:07:38, GigabitEthernet0/0
i L2  192.168.34.0/24 [115/20] via 192.168.14.4, 00:09:50, GigabitEthernet0/1

In the output above, we see:

  • We only use tunnel 1 to reach the tailend router (3.3.3.3). The metric is 30.
  • We use the direct IGP path to CE2 to reach the loopback interface of CE2 (4.4.4.4).  The metric is 20.

There are three paths to get from PE1 to CE2:

  • TE Tunnel:
    • PE1  > PE2 > CE2
  • IGP:
    • PE1 > CE2
    • PE1 > P1 > CE2

Let’s see if we can play with the IS-IS metric so that PE1 load balances traffic on these three paths to reach CE2. The metric of the TE tunnel is the same as the shortest IGP path. To get from PE1 to PE2, we must cross two GigabitEthernet links. That’s a metric of 20.

To get from PE2 to CE2’s loopback interface, we must cross one GigabitEthernet link (10) and the loopback of CE2 (10) for a total metric of 20. The total metric through the TE tunnel to CE2’s loopback is 40.

I’ll increase the metric on the direct link from PE1 to CE2 so that it is equal to the total metric of the TE tunnel:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 786 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

1441 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!