Traditional DS-TE
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 basic DS-TE so that the interfaces along the two bidirectional paths, CSR8-CSR6-XR12-XR11 and CSR8-CSR9-CSR10-XR11, have 10 mbps priority bandwidth available as a subpool.
Configure two TE tunnels on R8 to XR11 that each request 8 mbps of priority bandwidth.
Answer
#CSR8
int GigabitEthernet2.568
ip rsvp bandwidth 1000000 sub-pool 10000
int GigabitEthernet2.589
ip rsvp bandwidth 1000000 sub-pool 10000
#CSR9
int GigabitEthernet2.590
ip rsvp bandwidth 1000000 sub-pool 10000
int GigabitEthernet2.589
ip rsvp bandwidth 1000000 sub-pool 10000
#CSR10
int GigabitEthernet2.590
ip rsvp bandwidth 1000000 sub-pool 10000
int GigabitEthernet2.501
ip rsvp bandwidth 1000000 sub-pool 10000
#CSR6
int GigabitEthernet2.568
ip rsvp bandwidth 1000000 sub-pool 10000
int GigabitEthernet2.562
ip rsvp bandwidth 1000000 sub-pool 10000
#XR12
rsvp
int GigabitEthernet0/0/0/0.562
bandwidth 1 gbps sub-pool 10 mbps
int GigabitEthernet0/0/0/0.512
bandwidth 1 gbps sub-pool 10 mbps
#XR11
rsvp
int GigabitEthernet0/0/0/0.501
bandwidth 1 gbps sub-pool 10 mbps
int GigabitEthernet0/0/0/0.512
bandwidth 1 gbps sub-pool 10 mbps
#CSR8
int tun0
description TUN1_TO_XR11
tunn dest 11.11.11.11
ip unn lo0
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng path-option 1 dynamic
tunnel mpls traffic-eng bandwidth sub-pool 8000
!
int tun1
description TUN2_TO_XR11
tunn dest 11.11.11.11
ip unn lo0
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng path-option 1 dynamic
tunnel mpls traffic-eng bandwidth sub-pool 8000
Explanation
Cisco’s proprietary “traditional DS-TE” was created before the IETF version. With “traditional” DS-TE, you simply have one additional pool for bandwidth allocation, which is a sub-pool of the global pool. This means that any sub pool reservation also equally takes away from the global available bandwidth. Also, global bandwidth can use up any unused available sub pool bandwidth. For this reason, you would need to ensure your TE tunnels using sub pool bandwidth have a low setup/hold priority.
The sub pool is simply an additional pool that is advertised in the IGP along with the global pool. We can see these values using “show mpls traffic-eng topology.”

We assign the sub-pool using the following command on IOS-XE and IOS-XR:
#IOS-XE
int Gi1
ip rsvp bandwidth global-in-kbps sub-pool sub-in-kbps
#XR12
rsvp
int GigabitEthernet0/0/0/0.562
bandwidth global-bw rate sub-pool sub-bw rate
A TE tunnel can only use sub-pool bandwidth or global bandwidth. It wouldn’t make sense for a TE tunnel to use both anyways, since using sub-pool bandwidth also uses up global bandwidth.
#IOS-XE
int tun0
tunnel mpls traffic-eng bandwidth sub-pool 8000
#IOS-XR
interface tunnel-te0
signalled-bandwidth sub-pool 8000
Verification
We have configured two TE tunnels on R8, and each requests 8mbps of sub-pool bandwidth. This might be a LLQ pool in a real network. Because all interfaces only have 10mbps of available sub-pool bandwidth, the two TE tunnels must take separate paths.
On R8, notice that the two TE tunnels are using completely separate paths:

Additionally, we can see that the routers for which these tunnels pass through only have 2mbps of sub pool left at priority level 7. Also notice that 8mbps has been subtracted from the global pool as well:


A TE tunnel can request global bandwidth that uses up the sub pool. For example, on R8 we’ll configure a third tunnel that requests 991000 kbps. This can only be achieved over the IGP shortest paths if we can use up any unused sub pool bandwidth.
#R8
interface Tunnel2
description TUN3_TO_XR11
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 11.11.11.11
tunnel mpls traffic-eng bandwidth 991000
tunnel mpls traffic-eng path-option 1 dynamic
The dynamic path crosses over the XR12-XR11 link which already had 8mbps of sub pool bandwidth reserved. The third TE tunnel used up 1mbps of this remaining bandwidth:

Last updated