DiffServ TE

DiffServ TE

The MPLS TE Basics article showed how MPLS TE sets up an LSP along links with available resources, thus ensuring bandwidth is always available for a particular flow and avoiding congestion. Optimization is achieved by allowing LSPs not to follow the shortest paths, if resources are not sufficient along the shortest path. However, MPLS TE does not take into account QoS (Class of Service CoS or IP DSCP).

MPLS DiffServ TE (DS-TE) makes MPLS TE (also called aggregate MPLS TE) QoS aware, allowing resource reservation with QoS granularity. DS-TE delivers QoS guarantees for sensitive traffic like Voice. To achieve QoS optimization, traffic engineering is done at per-class level instead of at aggregate (global) level. By mapping the traffic from a given DiffServ class-of-service on a separate LSP, it allows this traffic to utilize resources available to the given class on paths that meet constraints which are specific to the given class.

The DiffServ-TE Solution

The fundamental requirement of DS-TE is to be able to enforce different bandwidth constraints for different sets of DS-TE tunnels. RFC3564 introduces the concept of Class Types. The concept of class-type corresponds to prior concept of bandwidth pool.

1. Class Types (CT)

DS-TE must be able to keep track of the available bandwidth for each classes of traffic. For the purpose of keeping track of available bandwidth for each type of traffic, Class Types are defined. There are no rules that govern what traffic maps to which CT. A given DS-TE tunnel belongs to the same CT on all links.

Eight CTs are defined CT0 through CT7. A DS-TE LSP can only carry traffic from one CT. Suppose a network supports voice and data traffic with voice being EF PHB (EF queue) and data being best-effort (BE queue), CT1 can be mapped to EF queue while CT0 can be mapped to BE queue. Separate TE LSPs are established with separate bandwidth requirements from CT0 and from CT1.

All aggregate (previously known as bandwidth global pool) MPLS TE traffic is mapped to CT0 by default. Cisco IOS allows only two class-types to be defined - CT 0 & 1. CT1 is also known as bandwidth sub-pool.

2. CSPF in DS-TE

In aggregate MPLS TE, CSPF computes a path based on user-defined constraints such as bandwidth and link attributes (setup and hold priority). DS-TE adds available bandwidth at each of the 8 CTs as a constraint that can be applied to a path. Therefore, CSPF is enhanced to take into account a CT-specific bandwidth at a given priority as a constraint when computing a path.

This means, ideally, the IGP must carry bandwidth information of 8 CTs at 8 priority level (i.e. 64 values) for each link in LSAs. However, only 8 values are advertised. A TE class is defined which is a combination of CT and setup priority. The IGPs advertise the available bandwidth for each of the TE classes defined. DS-TE supports a maximum of 8 TE classes, TE0 through TE7, which are chosen from a possible 64 different CT-priority combination through configuration. The combinations chosen depends on the classes and priorities the network support.

The IGP carries the TE class information in Unreserved Bandwidth sub-TLV which is present in Link Information TLV of TE LSA. CSPF uses this information including user-defined constraints to calculate a path. This information is passed to RSVP for signaling.

The following figure shows a packet capture of TE LSA depicting Unreserved Bandwidth sub-TLV.

The below table shows the default TE class definition in Cisco IOS:

This default behavior can be changed using the following configuration commands:

TE Class Definition in Cisco IOS

mpls traffic-eng tunnels
mpls traffic-eng ds-te mode ietf
mpls traffic-eng ds-te te-classes
 te-class 0 class-type 1 priority 0
 te-class 1 class-type 1 priority 1
 te-class 2 class-type 0 priority 2
 te-class 7 class-type 0 priority 7
!

In DS-TE, the user-defined constraints are configured as below. Class-type 1 can also be set by using sub-pool keyword with the bandwidth command.

User-defined Constraints for DS-TE

interface Tunnel 30
 ip unnumbered Loopback 0
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng path-option 2 dynamic
 tunnel mpls traffic-eng bandwidth 1000 class-type 1
 tunnel destination 5.5.5.5
!

3. RSVP in DS-TE

Once path is calculated, it is signaled using RSVP-TE and admission control is performed at each hop. RFC 4124 defines a new RSVP object for carrying CT information. This object is called CLASSTYPE object. It is carried in RSVP PATH messages including the SESSION TEMPLATE and LABEL REQUEST objects to establish a TE LSP. The CLASSTYPE object carries CT values from 1 through 7; 0 is the default for global TE tunnel.

If the LSP is to be established for CT value of 0, the CLASSTYPE object is not carried in the PATH message. This allows backward compatibility with non-DS-TE capable/configured LSRs.

Each LSR along the path records the CLASSTYPE object. During the establishment of LSP for a particular CT, the LSR performs admission control over the bandwidth available for that particular CT. If an LSR does not support DS-TE extensions for RSVP i.e. CLASSTYPE object, it rejects the path establishment.

The following figure shows a sample packet capture of CLASSTYPE object in RSVP PATH message.

4. Bandwidth Constraint Models

The percentage of link's bandwidth that a CT can take up is called Bandwidth Constraint (BC). A BC Model defines a set of rules-

    • the maximum number of BCs
    • which CTs each BC applies to and how

A CT can be applied to either a BC or a set of BCs. Several BC models exist; the most common are-

Maximum Allocation Model (MAM)

This model maps one BC to one CT i.e. BC n defines the maximum amount of reservable bandwidth for CT n. The use of pre-emption does not affect the amount of bandwidth that a CT receives. This model does not allow sharing of unused bandwidth by other CT.

For example, consider the network shown in Figure 1.

All links are 10Mbps and hence the maximum reservable bandwidth is 10Mbps. Suppose 9Mbps is reserved for CT0 and 1 Mbps for CT1. If LSP1 is setup for 8Mbps from CT0, it follows the shortest path PE1-P2-PE5. Now, if another LSP2 is to be setup from CT0 for 2Mbps, it does not follow the shortest path as 1Mbps of the remaining bandwidth is reserved for CT1. So, LSP2 is forced to follow the non-optimal path PE1-P3-P4-PE5. Hence, each CT will always receive their bandwidth without the need for pre-emption. An LSP3 of 1Mbps from CT1 will follow the shortest path, if setup.

The available bandwidth in MAM model is accounted in a similar way, as for aggregate TE, except that it is done on a per-CT basis.

Russian Dolls Model (RDM)

This model improves bandwidth efficiency over MAM model by allowing CTs to share bandwidth. In this model, CT7 has strictest QoS requirements and CT0 has best-effort QoS requirements. BC7 has a fixed percentage of link bandwidth that is reserved for CT7 only. BC6 accommodates traffic from CT7 and CT6, BC5 accommodates CT7, CT6 and CT5, and so on. So, BC0 represents the entire link bandwidth and is shared among all CTs.

For example, consider the network shown in Figure 2.

The total bandwidth available on each link is 10Mbps. In other words, BC0 is allocated 10Mbps and BC1 is, suppose, allocated 1Mbps. If LSP1 is setup for 8Mbps from CT0, it follows the shortest path PE1-P2-PE5. The remaining 2Mbps can be used for CT0 or CT1. If another LSP2 is to be setup for 2Mbps from CT0, it will follow the shortest path PE1-P2-PE5.

Now if an LSP3 is to be setup for 1Mbps from CT1, it will pre-empt one of the CT0 LSPs on the shortest path, otherwise bandwidth is not guaranteed. The pre-emption is based on setup (and holding priority). 0 is the best priority, while 7 is the worst priority. LSP1 will now re-establish through the non-optimal path PE1-P3-P4-PE5.

The BC model and the bandwidth allocation for each BC is advertised by IGPs in Bandwidth Constraint sub-TLV. Thus, the BC model determines the available bandwidth for each CT at each priority level.

5. DiffServ for DS-TE

After LSPs are setup for each CT, the correct scheduler queue must be mapped for each LSP. RFC 3270 defines a solution using two types of LSPs:

    • EXP-inferred LSP (E-LSP): Set the EXP bits appropriately at the LSP ingress. This allows 8 PHBs due to 3 bit field of EXP. The EXP field conveys to the LSR the PHB to be applied to the packet about packet's queuing treatment and drop precedence.
    • LSP-inferred LSP (L-LSP): Encode the scheduling behavior in the label installed for the LSP and use the EXP field to convey the drop precedence for the traffic. Any number of PHBs can be supported in this way.

Thus, DiffServ provides correct scheduling behavior for each traffic type. Cisco IOS only supports E-LSPs.

6. DS-TE Modes

MPLS networks may accomplish DS-TE in 3 different combinations or modes with the addition of IETF-standard. These modes are-

    • Pre-standard mode: This is the default mode in Cisco IOS. This mode describes networks that already operate DS-TE prior to 12.2(33)SRB IOS release. It does not support MAM model.
    • Migration mode: The networks that wish to upgrade to IETF-standard must first configure the routers to migration mode. This allows the tunnel to continue to operate without being torn down. Further, the IGP and RSVP-TE will continue to signal as in pre-standard mode, but the routers will add TE class mapping and continue to accept advertisements in pre-standard and IETF-standard form.
    • Liberal IETF mode: The networks that are in migration mode can then move into IETF formats by re-configuring the routers into this mode; thus allowing the routers to generate IGP advertisements and RSVP-TE signaling according to IETF standard. This mode also allows backward compatibility with previous two modes.

The following table demonstrates few key differences between pre-standard and standard DS-TE modes.

Deploying DS-TE: Sample Scenario

We will investigate DS-TE configuration and setup for the network in Figure 3. All links represent {cost, bandwidth} in the figure.

BC-model: Maximum Allocation Model (MAM)

We will investigate the behavior of MAM model in our network. All routers in the network must be configured to support MAM model. We will also manually map Class-Type - Priority to TE Classes. This must be same on all routers.

Class Types and TE Classes

mpls traffic-eng tunnels
mpls traffic-eng ds-te te-classes
 te-class 0 class-type 0 priority 0
 te-class 1 class-type 1 priority 7
!
mpls traffic-eng ds-te mode ietf
mpls traffic-eng ds-te bc-model mam

This can be verified using show mpls traffic-eng ds-te te-class command.

show mpls traffic-eng te-class

PE1# show mpls traffic-eng ds-te te-class
DS-TE Mode: IETF
TE-Class        Class-Type      Priority
   0            0               0
*  1            1               7
* - default setting
Class-Type: 0 = Global-pool, 1 = Sub-pool

Next step is to enable traffic-eng and reserve bandwidth using RSVP on all links that must support MPLS TE on all routers in the network. Also, enable IGP to support MPLS TE. The bc0 keyword defines the global pool, while bc1 keyword defines the sub-pool.

The ip rsvp bandwidth mam max-reservable-bw bc0 9000 bc1 1000 command advertises that it has reserved 9000Kbps for CT0 traffic and 1000Kbps for CT1 traffic. The total reservable bandwidth on the link is 10000Kbps.

Reserving bandwidth using RSVP on PE1

interface Loopback 0
 ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet1/0
 bandwidth 10000
 ip address 10.12.1.1 255.255.255.0
 ip ospf cost 10
 mpls traffic-eng tunnels
 ip rsvp bandwidth mam max-reservable-bw 10000 bc0 9000 bc1 1000
!
interface FastEthernet1/1
 bandwidth 10000
 ip address 10.13.1.1 255.255.255.0
 ip ospf cost 10
 mpls traffic-eng tunnels
 ip rsvp bandwidth mam max-reservable-bw 10000 bc0 9000 bc1 1000
!
router ospf 1
 router-id 1.1.1.1
 passive-interface Loopback0
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

Once IGP is enabled for MPLS TE, available bandwidth information for each TE class on each link is advertised in TE LSAs. Each router in the network has a similar TE database.

TE Database on PE1

PE1# show ip ospf database
            OSPF Router with ID (1.1.1.1) (Process ID 1)
                Router Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         1030        0x80000004 0x00F895 3
2.2.2.2         2.2.2.2         1994        0x80000004 0x000762 3
3.3.3.3         3.3.3.3         60          0x80000003 0x00B099 3
4.4.4.4         4.4.4.4         20          0x80000003 0x001CE0 3
5.5.5.5         5.5.5.5         19          0x80000004 0x00A35D 3
                Net Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum
10.12.1.1       1.1.1.1         89          0x80000003 0x00DB34
10.13.1.1       1.1.1.1         1030        0x80000001 0x000607
10.25.1.1       2.2.2.2         2025        0x80000001 0x00DD13
10.34.1.1       3.3.3.3         60          0x80000001 0x0043A0
10.45.1.2       5.5.5.5         19          0x80000001 0x00BC0B
                Type-10 Opaque Link Area Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum Opaque ID
1.0.0.0         1.1.1.1         347         0x80000003 0x0054D3 0
1.0.0.0         2.2.2.2         1994        0x80000002 0x005AC6 0
1.0.0.0         3.3.3.3         1020        0x80000001 0x0060B9 0
1.0.0.0         4.4.4.4         54          0x80000001 0x0064AD 0
1.0.0.0         5.5.5.5         32          0x80000002 0x0066A2 0
1.0.0.2         1.1.1.1         347         0x80000003 0x00ACCC 2
1.0.0.2         2.2.2.2         1994        0x80000002 0x00AEC6 2
1.0.0.2         3.3.3.3         1020        0x80000001 0x00C2AD 2
1.0.0.2         4.4.4.4         53          0x80000001 0x0098A9 2
1.0.0.2         5.5.5.5         32          0x80000002 0x00C688 2
1.0.0.3         1.1.1.1         347         0x80000003 0x00D2A3 3
1.0.0.3         2.2.2.2         1994        0x80000002 0x00F862 3
1.0.0.3         3.3.3.3         993         0x80000001 0x008EB7 3
1.0.0.3         4.4.4.4         20          0x80000001 0x009892 3
1.0.0.3         5.5.5.5         32          0x80000002 0x00968E 3
!--- The following output shows link information advertised by this router.
PE1# show ip ospf database opaque-area adv-router 1.1.1.1
            OSPF Router with ID (1.1.1.1) (Process ID 1)
                Type-10 Opaque Link Area Link States (Area 0)
  LS age: 512
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.0
  Opaque Type: 1
  Opaque ID: 0
  Advertising Router: 1.1.1.1
  LS Seq Number: 80000003
  Checksum: 0x54D3
  Length: 28
  Fragment number : 0
    MPLS TE router ID : 1.1.1.1
    Number of Links : 0
  LS age: 512
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.2
  Opaque Type: 1
  Opaque ID: 2
  Advertising Router: 1.1.1.1
  LS Seq Number: 80000003
  Checksum: 0xACCC
  Length: 140
  Fragment number : 2
    Link connected to Broadcast network
      Link ID : 10.12.1.1
      Interface Address : 10.12.1.1
      Admin Metric : 10
      Maximum bandwidth : 1250000
      Maximum reservable bandwidth : 1250000
      Number of TE Class : 8
      TE-Class [0] : 1125000
      TE-Class [1] : 125000
      TE-Class [2] : 0
      TE-Class [3] : 0
      TE-Class [4] : 0
      TE-Class [5] : 0
      TE-Class [6] : 0
      TE-Class [7] : 0
      Affinity Bit : 0x0
      IGP Metric : 10
      Bandwidth Constraints: 1125000 125000 -135335408
    Number of Links : 1
  LS age: 512
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.3
  Opaque Type: 1
  Opaque ID: 3
  Advertising Router: 1.1.1.1
  LS Seq Number: 80000003
  Checksum: 0xD2A3
  Length: 140
  Fragment number : 3
    Link connected to Broadcast network
      Link ID : 10.13.1.1
      Interface Address : 10.13.1.1
      Admin Metric : 10
      Maximum bandwidth : 1250000
      Maximum reservable bandwidth : 1250000
      Number of TE Class : 8
      TE-Class [0] : 1125000
      TE-Class [1] : 125000
      TE-Class [2] : 0
      TE-Class [3] : 0
      TE-Class [4] : 0
      TE-Class [5] : 0
      TE-Class [6] : 0
      TE-Class [7] : 0
      Affinity Bit : 0x0
      IGP Metric : 10
      Bandwidth Constraints: 1125000 125000 -135335408
    Number of Links : 1

Let's start by sending three reservations across these links: a reservation of 8Mbps with setup priority 0 from CT0, a reservation of 2Mbps with setup priority 0 from CT0 and a reservation of 1Mbps with setup priority 7 (default) from CT1, in that order.

After the first reservation, the router advertises the bandwidth available as shown in following output. Note the path taken for Tunnel 10 is the shortest path.

Link reservations after Tunnel 10 is setup

interface Tunnel 10
 ip unnumbered Loopback 0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 0 0
 tunnel mpls traffic-eng bandwidth 8000 class-type 0
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 10
Name: PE1_t10                             (Tunnel10) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
  Config Parameters:
    Bandwidth: 8000     kbps (CT0)  Priority: 0  0   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 8000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/0, 16
  Next Hop : 10.12.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 10, Tun_Instance 16
    RSVP Path Info:
      My Address: 10.12.1.1
      Explicit Route: 10.12.1.2 10.25.1.1 10.25.1.2 5.5.5.5
      Record   Route:
      Tspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
    RSVP Resv Info:
      Record   Route:  10.25.1.1 10.25.1.2
      Fspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 13 hours, 21 minutes
      Time since path change: 12 hours, 44 minutes
      Number of LSP IDs (Tun_Instances) used: 16
    Current LSP: [ID: 16]
      Uptime: 12 hours, 44 minutes
    Prior LSP: [ID: 15]
      ID: path option unknown
      Removal Trigger: tunnel shutdown
!--- Note that 89% of Fa 1/0 interface bandwidth is reserved for BC0 (CT0)
PE1# show mpls traffic-eng link-management interfaces fastEthernet 1/0
System Information::
    Links Count:          2
Link ID::  Fa1/0 (10.12.1.1)
    Local Intfc ID:         2
    Link Status:
      SRLGs:                None
      Intfc Switching Capability Descriptors:
         Default:           Intfc Switching Cap psc1, Encoding ethernet
      Link Label Type:      Packet
      Physical Bandwidth:   10000 kbits/sec
      BCID:                 MAM
      Max link Reservable   10000 kbits/sec (reserved: 0% in, 80% out)
      Max Res BC0 BW:       9000 kbits/sec (reserved: 0% in, 89% out)
      Max Res BC1 BW:       1000 kbits/sec (reserved: 0% in, 0% out)
      MPLS TE Link State:   MPLS TE on, RSVP on, admin-up, flooded, allocated
      Inbound Admission:    reject-huge
      Outbound Admission:   allow-if-room
      Link MTU:             IP 1500, MPLS 1500
      Admin. Weight:        10 (IGP)
      IGP Neighbor Count:   1
      Neighbor:             ID 10.12.1.1, IP 0.0.0.0 (Up)
    Flooding Status for each configured area [1]:
      IGP Area[1]:  ospf 1  area 0:  flooded
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                1000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                9000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Note that only 1Mbps is left for CT0 on the link after reserving 8Mbps. However, 1Mbps for CT1 is intact.

The next reservation to come across takes 2Mbps from CT0. The available bandwidth on the interface is now as follows:

Link reservations after Tunnel 20 is setup

interface Tunnel 20
 ip unnumbered Loopback 0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 0 0
 tunnel mpls traffic-eng bandwidth 2000 class-type 0
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 20
Name: PE1_t20                             (Tunnel20) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 30)
  Config Parameters:
    Bandwidth: 2000     kbps (CT0)  Priority: 0  0   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 2000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/1, 17
  Next Hop : 10.13.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 20, Tun_Instance 106
    RSVP Path Info:
      My Address: 10.13.1.1
      Explicit Route: 10.13.1.2 10.34.1.1 10.34.1.2 10.45.1.1
                      10.45.1.2 5.5.5.5
      Record   Route:
      Tspec: ave rate=2000 kbits, burst=1000 bytes, peak rate=2000 kbits
    RSVP Resv Info:
      Record   Route:  10.34.1.1 10.45.1.1 10.45.1.2
      Fspec: ave rate=2000 kbits, burst=1000 bytes, peak rate=2000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 53 minutes, 22 seconds
      Time since path change: 28 minutes, 9 seconds
      Number of LSP IDs (Tun_Instances) used: 106
    Current LSP: [ID: 106]
      Uptime: 28 minutes, 9 seconds
    Prior LSP: [ID: 97]
      ID: path option unknown
      Removal Trigger: path error
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                1000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                7000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Notice the path taken from Tunnel 20- it follows the non-optimal path PE1-P3-P4-PE5. Although, 2Mbps is still available through the shortest path, 1Mbps is reserved for CT1. This LSP cannot use that bandwidth. Hence, it needs to take the non-optimal path. Thus, the available bandwidth on non-optimal path is reduced to 7Mbps for CT0.

The last reservation to come across takes 1Mbps from CT1. The available bandwidth on the interface is as below:

Link reservations after Tunnel 30 is setup

interface Tunnel 30
 ip unnumbered Loopback 0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 1000 class-type 1
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 30
Name: PE1_t30                             (Tunnel30) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
  Config Parameters:
    Bandwidth: 1000     kbps (CT1)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 1000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/0, 17
  Next Hop : 10.12.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 30, Tun_Instance 10
    RSVP Path Info:
      My Address: 10.12.1.1
      Explicit Route: 10.12.1.2 10.25.1.1 10.25.1.2 5.5.5.5
      Record   Route:
      Tspec: ave rate=1000 kbits, burst=1000 bytes, peak rate=1000 kbits
    RSVP Resv Info:
      Record   Route:  10.25.1.1 10.25.1.2
      Fspec: ave rate=1000 kbits, burst=1000 bytes, peak rate=1000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 3 minutes, 5 seconds
      Time since path change: 6 seconds
      Number of LSP IDs (Tun_Instances) used: 10
    Current LSP: [ID: 10]
      Uptime: 6 seconds
PE1# show ip rsvp interface
interface    rsvp       allocated  max      flow max bc0 max  bc1 max
Fa1/0        ena   9M         10M      10M      9M       1M
Fa1/1        ena   2M         10M      10M      9M       1M
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                1000   kbits/sec
    TE-Class[1]:                   0   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.1
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      9000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                7000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Notice the path taken for Tunnel 30 is again the shortest path PE1-P2-PE5. This is due to the fact that there was 1Mbps reserved for CT1. Also note that there is no bandwidth available for CT1 on the shortest path.

The following output shows bandwidth reserved and available on each interfaces on PE1 router after all LSPs are established.

Available bandwidth summary

PE1# show mpls traffic-eng link-management bandwidth-allocation summary
interface     Intf Max    BC0 Max     BC0 Avail   BC1 Max     BC1 Avail
              kbps        kbps        kbps        kbps        kbps
Fa1/0         10000       9000        1000        1000        0
Fa1/1         10000       9000        7000        1000        1000

BC-model: Russian Dolls Model (RDM)

This time we will investigate RDM model for the network in Figure 3. RDM is the default on Cisco IOS routers. Also, the class-types and priorities are mapped to TE classes on all routers. MAM model configuration can be removed using no mpls traffic-eng ds-te bc-model mam command.

Class Types and TE Classes

mpls traffic-eng tunnels
mpls traffic-eng ds-te mode ietf
!
mpls traffic-eng ds-te te-classes
 te-class 0 class-type 0 priority 7
 te-class 1 class-type 1 priority 0
!

In RDM, the link bandwidth is reserved using ip rsvp bandwidth rdm bc0 10000 bc1 1000 command. The bc0 keyword indicates the entire link bandwidth (i.e. CT0 + CT1 or global-pool) while the bc1 keyword indicates link bandwidth reserved for CT1.

Once IGP is enabled and the routers exchange their LSDB and TE databases, each router has complete information of the topology including available bandwidth for each TE class on each link.

The following packet capture shows the link information carried in Unreserved Bandwidth sub-TLV of TE LSA. Also notice the Bandwidth Constraint sub-TLV.

The following output shows link information advertised by PE5 router.

Link information advertised by PE5 router

PE1# show ip ospf database opaque-area adv-router 5.5.5.5
            OSPF Router with ID (1.1.1.1) (Process ID 1)
                Type-10 Opaque Link Area Link States (Area 0)
  LS age: 959
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.0
  Opaque Type: 1
  Opaque ID: 0
  Advertising Router: 5.5.5.5
  LS Seq Number: 80000001
  Checksum: 0x68A1
  Length: 28
  Fragment number : 0
    MPLS TE router ID : 5.5.5.5
    Number of Links : 0
  LS age: 959
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.2
  Opaque Type: 1
  Opaque ID: 2
  Advertising Router: 5.5.5.5
  LS Seq Number: 80000001
  Checksum: 0xBD09
  Length: 140
  Fragment number : 2
    Link connected to Broadcast network
      Link ID : 10.25.1.1
      Interface Address : 10.25.1.2
      Admin Metric : 10
      Maximum bandwidth : 1250000
      Maximum reservable bandwidth : 1250000
      Number of TE Class : 8
      TE-Class [0] : 1250000
      TE-Class [1] : 125000
      TE-Class [2] : 0
      TE-Class [3] : 0
      TE-Class [4] : 0
      TE-Class [5] : 0
      TE-Class [6] : 0
      TE-Class [7] : 0
      Affinity Bit : 0x0
      IGP Metric : 10
      Bandwidth Constraints: 1250000 125000 -135335408
    Number of Links : 1
  LS age: 944
  Options: (No TOS-capability, DC)
  LS Type: Opaque Area Link
  Link State ID: 1.0.0.3
  Opaque Type: 1
  Opaque ID: 3
  Advertising Router: 5.5.5.5
  LS Seq Number: 80000001
  Checksum: 0x8D0F
  Length: 140
  Fragment number : 3
    Link connected to Broadcast network
      Link ID : 10.45.1.2
      Interface Address : 10.45.1.2
      Admin Metric : 10
      Maximum bandwidth : 1250000
      Maximum reservable bandwidth : 1250000
      Number of TE Class : 8
      TE-Class [0] : 1250000
      TE-Class [1] : 125000
      TE-Class [2] : 0
      TE-Class [3] : 0
      TE-Class [4] : 0
      TE-Class [5] : 0
      TE-Class [6] : 0
      TE-Class [7] : 0
      Affinity Bit : 0x0
      IGP Metric : 10
      Bandwidth Constraints: 1250000 125000 -135335408
    Number of Links : 1

Before any reservations are made, the available bandwidth on links for PE1 is as below:

Link reservations before any LSPs are setup

PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:               10000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:               10000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Again, let's start by sending three reservations across the links: first reservation of 8Mbps with setup priority 7 from CT0, second reservation of 2Mbps with setup priority 7 from CT0, and third reservation of 1Mbps with setup priority 0 from CT1, in this order.

After the first reservation, the router advertises the bandwidth available as shown in following output. Note the path taken for Tunnel 10 is the shortest path.

Link reservations after Tunnel 10 is setup

interface Tunnel10
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 5.5.5.5
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 8000 class-type 0
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 10
Name: PE1_t10                             (Tunnel10) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
  Config Parameters:
    Bandwidth: 8000     kbps (CT0)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 8000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/0, 16
  Next Hop : 10.12.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 10, Tun_Instance 22
    RSVP Path Info:
      My Address: 10.12.1.1
      Explicit Route: 10.12.1.2 10.25.1.1 10.25.1.2 5.5.5.5
      Record   Route:   NONE
      Tspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 23 minutes, 31 seconds
      Time since path change: 3 seconds
      Number of LSP IDs (Tun_Instances) used: 22
    Current LSP: [ID: 22]
      Uptime: 3 seconds
    Prior LSP: [ID: 21]
      ID: path option unknown
      Removal Trigger: path error
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                2000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:               10000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Notice the path taken for Tunnel 10 is the shortest path PE1-P2-PE5. This is because there are no other LSPs setup. Notice the available bandwidth for TE Class 0 on Fa 1/0 interface has reduced to 2Mbps.

The next reservation to come across is 2Mbps with setup priority 7 from CT0. The following output shows the link reservation after this LSP is setup:

Link reservation after Tunnel 20 is setup

interface Tunnel20
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 5.5.5.5
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth 2000 class-type 0
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 20
Name: PE1_t20                             (Tunnel20) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
  Config Parameters:
    Bandwidth: 2000     kbps (CT0)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 2000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/0, 17
  Next Hop : 10.12.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 20, Tun_Instance 5
    RSVP Path Info:
      My Address: 10.12.1.1
      Explicit Route: 10.12.1.2 10.25.1.1 10.25.1.2 5.5.5.5
      Record   Route:   NONE
      Tspec: ave rate=2000 kbits, burst=1000 bytes, peak rate=2000 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=2000 kbits, burst=1000 bytes, peak rate=2000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 1 minutes, 26 seconds
      Time since path change: 6 seconds
      Number of LSP IDs (Tun_Instances) used: 5
    Current LSP: [ID: 5]
      Uptime: 6 seconds
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                   0   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:               10000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Notice that again the path taken for Tunnel 20 is the shortest path. This is because there was 2Mbps bandwidth available which could be used by CT0 or CT1 or both. Also note that the available bandwidth is 0Mbps for TE class 0 after second reservation is made.

And the last reservation to come across is 1Mbps with setup priority 0 from CT1. The following output shows the link reservation after this LSP is setup:

Tunnel 30 is setup

interface Tunnel30
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 5.5.5.5
 tunnel mpls traffic-eng priority 0 0
 tunnel mpls traffic-eng bandwidth 1000 class-type 1
 tunnel mpls traffic-eng path-option 2 dynamic
!
PE1# show mpls traffic-eng tunnels tunnel 30
Name: PE1_t30                             (Tunnel30) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 20)
  Config Parameters:
    Bandwidth: 1000     kbps (CT1)  Priority: 0  0   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 1000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/0, 18
  Next Hop : 10.12.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 30, Tun_Instance 5
    RSVP Path Info:
      My Address: 10.12.1.1
      Explicit Route: 10.12.1.2 10.25.1.1 10.25.1.2 5.5.5.5
      Record   Route:   NONE
      Tspec: ave rate=1000 kbits, burst=1000 bytes, peak rate=1000 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=1000 kbits, burst=1000 bytes, peak rate=1000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 1 minutes, 6 seconds
      Time since path change: 9 seconds
      Number of LSP IDs (Tun_Instances) used: 5
    Current LSP: [ID: 5]
      Uptime: 9 seconds

Interestingly, the path taken for Tunnel 30 is also the shortest path. However, we saw from the output for Tunnel 20 that there was no bandwidth available for BC0 which accommodates CT0 and CT1. The reason Tunnel 30 could take the shortest path was because it pre-empted Tunnel 10. Tunnel 10 now takes the non-optimal path PE1-P3-P4-PE5.

Tunnel 30 pre-empts Tunnel 10

PE1# show mpls traffic-eng tunnels tunnel 10
Name: PE1_t10                             (Tunnel10) Destination: 5.5.5.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 30)
  Config Parameters:
    Bandwidth: 8000     kbps (CT0)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 8000     bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled
  InLabel  :  -
  OutLabel : FastEthernet1/1, 16
  Next Hop : 10.13.1.2
  RSVP Signalling Info:
       Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 10, Tun_Instance 24
    RSVP Path Info:
      My Address: 10.13.1.1
      Explicit Route: 10.13.1.2 10.34.1.1 10.34.1.2 10.45.1.1
                      10.45.1.2 5.5.5.5
      Record   Route:   NONE
      Tspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=8000 kbits, burst=1000 bytes, peak rate=8000 kbits
  Shortest Unconstrained Path Info:
    Path Weight: 20 (TE)
    Explicit Route: 10.12.1.1 10.12.1.2 10.25.1.1 10.25.1.2
                    5.5.5.5
  History:
    Tunnel:
      Time since created: 29 minutes, 1 seconds
      Time since path change: 30 seconds
      Number of LSP IDs (Tun_Instances) used: 24
    Current LSP: [ID: 24]
      Uptime: 30 seconds
    Prior LSP: [ID: 23]
      ID: path option unknown
      Removal Trigger: path error
PE1# show mpls traffic-eng link-management advertisements
Flooding Status:      ready
Configured Areas:     1
IGP Area[1] ID::  ospf 1  area 0
  System Information::
    Flooding Protocol:    OSPF
  Header Information::
    IGP System ID:        1.1.1.1
    MPLS TE Router ID:    1.1.1.1
    Flooded Links:        2
  Link ID::  0 (FastEthernet1/0)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.12.1.1
    Designated Router:    10.12.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                7000   kbits/sec
    TE-Class[1]:                   0   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec
  Link ID::  1 (FastEthernet1/1)
    Link Subnet Type:     Broadcast
    Link IP Address:      10.13.1.1
    Designated Router:    10.13.1.2
    TE metric:            10
    IGP metric:           10
    SRLGs:
    Physical Bandwidth:   10000 kbits/sec
    Max Res. BW:          10000 kbits/sec
    Max Res. BC0 BW:      10000 kbits/sec
    Max Res. BC1 BW:      1000 kbits/sec
    Downstream::
    Reservable Bandwidth per TE-Class
    TE-Class[0]:                2000   kbits/sec
    TE-Class[1]:                1000   kbits/sec
    TE-Class[2]:                   0   kbits/sec
    TE-Class[3]:                   0   kbits/sec
    TE-Class[4]:                   0   kbits/sec
    TE-Class[5]:                   0   kbits/sec
    TE-Class[6]:                   0   kbits/sec
    TE-Class[7]:                   0   kbits/sec

Notice TE Class 0 indicates available bandwidth of 7Mbps. This is the remaining bandwidth after reserving 2Mbps for Tunnel 20 and 1Mbps for Tunnel 10. When 1Mbps is reserved from CT1 (sub-pool), it is also deducted from BC0 (global-pool) as the sub-pool is a subset of the global pool.

The following output shows the bandwidth available on all interfaces after three LSPs are setup:

Remaining bandwidth on all interfaces on PE1

PE1# show mpls traffic-eng link-management bandwidth-allocation summary
interface     Intf Max    Intf Avail  BC1 Max     BC1 Avail
              kbps        kbps        kbps        kbps
Fa1/0         10000       7000        1000        0
Fa1/1         10000       2000        1000        1000

Forwarding Traffic over DS-TE Tunnel

Until now, we have setup DS-TE tunnels that reserve bandwidth over the links. However, there is no traffic flowing through these TE tunnels. Also, no DiffServ is configured for the traffic to be flowing through these tunnels. These will be discussed in the next article Forwarding traffic over TE tunnels using Class-based Tunnel Selection (CBTS).