Bandwidth on Demand (BWoD)

Bandwidth on Demand (BWoD) provides a bandwidth-aware Path Computation Element (PCE) in conjunction with SR-PCE for segment routing policies (SR policies). BWoD policies can be PCC-initiated (PCE-delegated) or PCE-initiated. BWoD is designed to deliver soft bandwidth guarantee services over SR policies. BWoD monitors network conditions and re-optimizes BWoD paths to prevent total BWoD traffic on any interface from exceeding the configured threshold percent.

BWoD does not track total interface utilization, and therefore, interfaces can still be congested if the combined BWoD traffic and non-BWoD traffic exceed the interface capacity. In addition, BWoD does not enforce the total amount of traffic entering BWoD SR policy. BWoD policies may traverse Equal Cost Multi-Path (ECMP) and assume even traffic distribution over these paths. However, actual ECMP distribution can be uneven, especially with large flows.


Note


Functionality described within this section is only available with certain licensing options.


This section contains the following topics:

BWoD Important Notes

Consider the following information when using BWoD:

  • You must have the Advanced RTM license package to use BWoD.

  • Role-based Access Control (RBAC) and task permissions have been introduced in this release. To provision a BWoD policy, you must have write-access to the head-end device based on Device Access Groups and assigned roles. Only BWoD admin users can modify BWoD configuration settings. For more information on RBAC and user roles, see the Cisco Crosswork Network Controller Administration Guide.

  • If BWoD cannot find a path for a policy that guarantees its requested bandwidth, BWoD will attempt to find a best effort path if this option is enabled.

  • BWoD will disable itself when an unexpected error is encountered to avoid network disruption.

  • BWoD temporarily pauses operation whenever the Optimization Engine model is unavailable due to an Optimization Engine restart or a rebuild of the topology from Topology Services. Any requests to BWoD during this time are rejected. When the model becomes available and BWoD receives two traffic updates from the Optimization Engine, BWoD will resume normal operation.

  • If the Policy Violation advanced field is set to Strict, then the SR Policy Traffic option should be set to Max Measured Requested.

  • After a switchover in a High Availability setup, BWoD policies created after the last cluster data synchronization will not be manageable and are considered orphaned TE policies. Crosswork will display an alarm when it finds orphan TE policies (Administration > Alarms). You can use APIs to help clear these orphan policies so that they are manageable. For more information, see API documentation on Devnet.

PCC-Initiated BWoD SR-TE Policies

When enabled, BWoD automatically connects to all SR-PCE providers configured in Crosswork. A persistent connection is made to the SR-PCE BWoD Rest API, which is registered as a PCE for bandwidth-constrained SR-TE policies.

The following figure shows the PCC-initiated workflow for BWoD:

Figure 1. PCC-Initiated BWoD SR-TE Policies
PCC-Initiated BWoD SR-TE Policies
Callout No. Description

1

A BWoD policy is configured on a PCC via the CLI. For example:
segment-routing
 traffic-eng
  policy bwod
   bandwidth 900
   color 100 end-point ipv4 1.1.1.2
   candidate-paths
    preference 100
     dynamic
      pcep
      !
      metric
       type te
      !
     !
     constraints
      affinity
       exclude-any
        name RED
       !
      !
     !
    !
   !

2

The bandwidth statement is added to a PCE-delegated SR policy to create a BWoD policy. Once committed, the PCC delegates the path compute to SR-PCE.

3, 4

SR-PCE then sub-delegates the policy to BWoD, which attempts to compute a path that meets the bandwidth constraint.

5, 6

If a bandwidth-compliant path is found, the segment list is returned to SR-PCE, which forwards it over PCEP to the PCC, and the PCC instantiates it. If BWoD is unable to compute a bw-compliant path for the policy or doing so will force an existing BWoD policy to not have a bw-compliant path, best effort paths may be computed by BWoD, which attempts to minimize violations. This occurrence will also trigger BWoD to issue an event to the COE events UI indicating which BWoD policies are now on best-effort paths.

7

A BWoD SR-TE policy is instantiated.

Provision an SR-TE Policy to Maintain Intent-Based Bandwidth Requirements Example

This example demonstrates
  • how to enable and configure Bandwidth on Demand (BWoD)

  • how to create BWoD policies

  • how BWoD calculates paths, and

  • how BWoD calculates new policies when the Policy violation option is set to Loose or Strict.

In particular, three BWoD policies will be created using the same headend (L1-NCS5501.cisco.sjc20.com) and endpoint (L5-8201-1-crosswork.cisco.com) with a bandwidth requirement of 700 and 1000 Mbps, while keeping the utilization at 80%. In this example, all interfaces have the capacity of 1 Gbps.

Figure 2. Initial BWoD Topology Example

Initial BWoD Topology

Procedure


Step 1

Enable and configure BWoD.

  1. From the main menu, choose Services & Traffic Engineering > Bandwidth on Demand > Configuration.

  2. Toggle the Enable switch to True, enter 80 in the Link utilization field, and confirm that Advance > Policy violations is set to Loose. To find descriptions of other options, simply hover the mouse over Info icon.

  3. Click Commit changes.

Step 2

Create the first PCE-initiated BWoD SR-TE policy.

  1. From the main menu, choose Traffic Engineering > SR-TE tab and click Create > PCE init.

  2. Enter the required policy details. In this example, we are creating a policy with these values:

    • Headend: L1-NCS5501.cisco.sjc20.com

    • Endpoint: L5-8201-1-crosswork.cisco.com

    • Color: 70000

    Example:

    Figure 3. Policy Details


  3. In the Policy path area, click Bandwidth on demand, and enter the required policy path details. In this example, we use these values:

    • Path name: bwod-70000

    • Optimization objective: Interior gateway protocol (IGP) metric

    • Bandwidth: 7000 Mbps

    Example:

    Figure 4. Policy Path Details

    Policy Details
  4. Click Preview. BWoD only takes into account current interface utilization that has been reserved by another BWoD policy. Otherwise, BWoD only considers the capacity of the interface in its calculations. In this example, all interfaces have the capacity of 1 Gbps. Since there are no existing BWoD policies, BWoD considers the capacity of all nodes and takes the shortest route.

    Example:

    Figure 5. First BWoD Policy (bwod-70000)

    Preview of bwod-70000 Policy
  5. If you are satisfied with the proposed BWoD SR-TE policy deployment, click Provision.

Step 3

Verify that the new BWoD SR-TE policy has been created.

  1. From the main menu, choose Traffic Engineering > SR-TE.

  2. Select the new BWoD SR-TE policy and view the SR policy details (click and choose View).

Step 4

Create a second BWoD policy. In this example, we use these values:

  • Headend: L1-NCS5501.cisco.sjc20.com

  • Endpoint: L5-8201-1-crosswork.cisco.com

  • Color: 70001

  • Path name: bwod-70001

  • Optimization objective: Interior gateway protocol (IGP) metric

  • Bandwidth: 700 Mbps

BWoD considers the existing BWoD policy (bwod-70000) and its bandwidth requirement into its interface capacity calculations. So, a new path is created for the bwod-70001 policy.
Figure 6. New bwod-70001 Policy

New bwod-70001 Policy

Step 5

Create a third BWoD policy. In this example, we use these values:

  • Headend: L1-NCS5501.cisco.sjc20.com

  • Endpoint: L5-8201-1-crosswork.cisco.com

  • Color: 70002

  • Path name: bwod-70002

  • Optimization objective: Interior gateway protocol (IGP) metric

  • Bandwidth: 1000 Mbps

Since BWoD takes into account all previous BWoD policy requirements and the BWoD policy violation option was set to Loose, BWoD creates a best effort path for the bwod-70002 policy. You will receive this message when you provision the new policy:
Figure 7. Best Effort Message

Best Effort Message

Note that existing paths for bwod-7000 and bwod-70001 are moved to accommodate the new bwod-70002 policy.

Example:

Figure 8. BWoD Policies with Loose Option

bwod-70002 Policies

Step 6

Change the BWoD policy violation option to Strict (Services & Traffic Engineering > Bandwidth on Demand > Configuration > Advanced).

Step 7

Create a fourth BWoD policy. In this example, we use these values:

  • Headend: L1-NCS5501.cisco.sjc20.com

  • Endpoint: L5-8201-1-crosswork.cisco.com

  • Color: 70003

  • Path name: bwod-70003

  • Optimization objective: Interior gateway protocol (IGP) metric

  • Bandwidth: 1000 Mbps

Since the BWoD policy violation option is set to Strict, BWoD is not be able to overwrite existing BWoD policies, and the request for additional 1000 Mbps policy results in a "No solution found" message.
Figure 9. No Solution Found

No Solution Found

Configure Bandwidth on Demand

There are two main steps in using Bandwidth on Demand (BWoD):

  1. Enable and configure BWoD options.

  2. Create BWoD SR policies. As long as BWoD is enabled, you can create multiple BWoD SR policies.

Procedure


Step 1

From the main menu, choose Services & Traffic Engineering > Bandwidth on Demand > Configuration.

Step 2

Toggle the Enable switch to True.

Step 3

Configure additional options. Hover the mouse pointer over Info icon to view a description of each field.

Step 4

Click Commit changes to save the configuration.

Step 5

To create BWoD SR policies, choose Traffic Engineering > Traffic Engineering.

Step 6

From the SR Policy table, choose Create > PCE Init.

Step 7

In addition to entering the required SR policy details, click the Bandwidth on demand option and enter the required bandwidth.

Step 8

If applicable, enter a Flexible Algorithm constraint in the SID Algorithm field. The values correspond to the Flexible Algorithm that are defined on the device and the 128-255 range is enforced by Cisco IOS XR. Cisco Crosswork will try to find a path with this SID. If a path with the SID constraint cannot be found, the provisioned policy will remain operationally down until the conditions are met.

Step 9

Click Preview to view the proposed SR policy.

Step 10

Click Provision to commit the SR policy.


Troubleshoot BWoD

The following are some of the most common error conditions for BWoD and some possible corrective actions that may fix the issue.

Table 1. Errors

Error Event Message

Possible Causes and Recommended Corrective Action

OptimaModelError

The network model used by BWoD from the Optimization Engine is corrupt or is missing key data needed to properly support BWoD. Possible causes include network discovery issues or synchronization problems between the Optimization Engine and Topology Services. Try restarting the Optimization Engine pod to rebuild the model.

This error can also occur if the time required to discover a policy and add it to the model after it has been deployed exceeds the Deployment Timeout option set for BWoD. The default is 30 seconds, sufficient for small to medium-sized networks. However, larger networks may require additional time.

NATSTimedOutError

The deployment of a bandwidth policy through SR-PCE exceeds the Deployment Timeout option set for BWoD. Increase the Deployment Timeout option to allow for additional time for deployments in larger networks.

Traceback or other errors found in the log file

Please contact your Cisco service representative.