TE Tunnels with UCMP

Load mpls.te.base.config.with.ospf.cfg

#IOS-XE
config replace flash:mpls.te.base.config.with.ospf.cfg

#IOS-XR
configure
load bootflash:mpls.te.base.config.with.ospf.cfg
commit replace
y

Configure two TE tunnels from R8 to R2. One must go through R4, and one must go through XR12. Using signalled-bandwidth, configure a 2:1 load share ratio so that R4 receives twice as much traffic.

Do the same for R2 to R8, creating two TE tunnels. One must go through R1, and one must go through R6. Without using signalled-bandwidth, configure a 2:1 load share ratio so that R1 receives twice as much traffic.

Answer

Explanation

With TE tunnels you can easily preform UCMP. By default, UCMP will happen using signalled bandwidth. We can see this on R8. TE tun1 has twice as much signalled bandwidth as TE tun2. Both tunnels have autoroute announce configured. Tun1 receives a 2:1 load share:

If you do not want to use signalled BW on the TE tunnels, or you want to override the signalled BW, you can use the load-share option. We can see this on R2.

This should also work on IOS-XR, but on XRv it will give you a commit error if you try to use load-share on a TE tunnel. You can use unequal signaled-bandwidths on XRv, but it will not produce UCMP in the RIB.

Caveats

If you have multiple tunnels with signalled BW, but one tunnel has no signalled BW, all tunnels revert to ECMP. We can see this on R8 if we add one more tunnel to R2 but without any signalled BW.

When the load-share option and a signalled BW option are both on the tunnel, only the load-share option is used. We can test this on R2:

If we add a third tunnel to R2 that only uses signalled BW, the signalled BW is counted as a load-share value. Below we simply use a BW of 5 kbps. This gets added to the RIB as a 5:2:1 ratio with the two existing TE tunnels (which use load-share).

Last updated