Per-Tunnel QoS

Table 1. Feature History

Feature Name

Release Information

Description

Per-Tunnel QoS

Cisco SD-WAN Release 20.1.1

This feature lets you apply a Quality of Service (QoS) policy on individual tunnels, ensuring that branch offices with smaller throughput are not overwhelmed by larger aggregation sites.

This feature is only supported for hub-to-spoke network topologies.

Information about Per-Tunnel QoS

Overview of Per-Tunnel QoS

Use the Per-tunnel QoS feature to configure a Cisco vEdge device as a spoke and apply a quality of service (QoS) policy on a hub on a per-spoke instance in the egress direction. Only Cisco IOS XE SD-WAN devices can be configured as hubs but both Cisco IOS XE SD-WAN devices and Cisco vEdge device can be configured as spokes.

Per-tunnel QoS can only be applied on hub-to-spoke network topologies. Per-tunnel QoS on a hub lets you shape tunnel traffic to individual spokes. It also differentiates individual data flows going through the tunnel or the spoke for policing.

Benefits of Per-Tunnel QoS

Before the introduction of Per-tunnel QoS feature on Cisco SD-WAN, QoS on a hub could be configured to measure only the aggregate outbound traffic for all spokes. Per-tunnel QoS for Cisco SD-WAN provides the following benefits.

  • A QoS policy is configurable on the basis of session groups, thus providing the capability of regulating traffic from hub to spokes at a per-spoke level.

  • The hub cannot send excessive traffic to a small spoke and overrun it.

  • The maximum outbound bandwidth and QoS queue are set up automatically when each spoke registers with an Overlay Management Protocol (OMP) message.

  • The amount of outbound hub bandwidth that a “greedy” spoke can consume can be limited; therefore, the traffic can’t monopolize a hub’s resources and starve other spokes.

  • Multiple policies (MPoL) are supported. This enables underlay and TLOC extension traffic to coexist with the overlay tunnel traffic.

Supported Platforms

Per-Tunnel QoS for Hub

The following series of platforms can be configured as hubs for the per-tunnel QoS in Cisco SD-WAN.

  • Cisco 1000 Series Aggregation Services Routers

  • Cisco 1000 Series Integrated Services Routers

  • Cisco ISR 1100 and ISR 1100X Series Integrated Services Routers

  • Cisco 4000 Series Integrated Services Routers

  • Cisco Cloud Services Router 1000V Series

  • Cisco Catalyst 8000 Edge Platforms Family

Per-Tunnel QoS for Spokes

The following series of IOS XE SD-WAN devices can be configured as spokes for per-tunnel QoS in Cisco SD-WAN.

  • Cisco 1000 Series Aggregation Services Routers

  • Cisco 1000 Series Integrated Services Routers

  • Cisco ISR 1100 and ISR 1100X Series Integrated Services Routers

  • Cisco 4000 Series Integrated Services Routers

  • Cisco Cloud Services Router 1000V Series

  • Cisco Catalyst 8000 Edge Platforms Family

Additionally, all Cisco vEdge devices can be configured as spokes for per-tunnel QoS in Cisco SD-WAN.

  • vEdge 100

  • vEdge 100b

  • vEdge 100m

  • vEdge 100wm

  • vEdge1000

  • vEdge 2000

  • vEdge 5000

  • vEdge Cloud Router

  • Cisco 1000 Series Integrated Services Routers (ISRs)

    • ISR1100-4G

    • ISR1100-6G

    • ISR1100-4GLTENA and ISR1100-4GLTEGB

Restrictions for Per-Tunnel QoS

The following restrictions apply to the Per-tunnel QoS feature in Cisco SD-WAN.

  • Only hub-to-spoke network topology is supported for configuring per-tunnel QoS. Spoke-to-spoke network topology isn't supported.

  • Only Cisco IOS XE SD-WAN devices are supported as hubs for per-tunnel QoS. However, both Cisco IOS XE SD-WAN devices and Cisco vEdge devices are supported as spokes in the hub-to-spoke topology supported for per-tunnel QoS.

  • In Cisco IOS XE Release 17.2.1r, per-tunnel QoS can only be configured using the Cisco VPN Interface Ethernet template in Cisco vManage 20.1.1.

  • Per-tunnel QoS with loopback WAN for non-binding mode isn’t supported on the hub.

How Per-Tunnel QoS Works in Hub-to-Spoke Topologies

In Cisco SD-WAN Release 20.1.x, the Per-Tunnel QoS feature is supported on hub-to-spoke network topologies only. Per-tunnel QoS is not supported for spoke-to-spoke topology.

  • Per-tunnel QoS is applied to routers with the hub role on a per-session basis.

  • Routers that are assigned the spoke role publish the downstream-bandwidth information per TLOC route through OMP.

  • Overlay and underlay tunnels share the same QoS policy and the bandwidth remaining is configurable for both underlay and overlay tunnels.

  • The bandwidth remaining ratio is automatically calculated on each session based on the remote downstream bandwidth.

Configure Per Tunnel QoS Using Cisco vManage

To configure per-tunnel QoS, perform the following tasks in the order specified.

Step 1: Configure QoS Map

A QoS map can be added to a localized data policy. For more details on the various QoS parameters, see QoS parameters section in the Policies Guide. To configure QoS map:

  1. From the Cisco vManage menu, choose Configuration > Policies.

  2. Click Localized Policy and then click Add Policy.

  3. From the list type shown in the left pane, choose Class Map. The list displays existing class maps. Choose a class map from the list and click Next.

    OR

    Create a new class map:

    1. Click Add New Class Map.

    2. Enter a name for the class map.

    3. From the Queue drop-down list, choose a number (from 0-7).

    4. Click Save and then click Next.

  4. Click the Add QoS Map and choose Create New.

  5. Enter a name and description for the map.

  6. Click Add Queue, enter the requested details, and click Save Queue.

  7. Click Save Policy.

Step 2: Choose the QoS Map to be Added to the Feature Template

Per-tunnel QoS can only be configured through the Cisco VPN Interface Ethernet template. To enable per-tunnel QoS on other WAN interface types, use the global CLI add-on template.

  1. From the Cisco vManage menu, choose Configuration > Templates.

  2. Click Feature Templates and then click Add Template.


    Note

    In Cisco vManage Release 20.7.x and earlier releases, Feature Templates is called Feature.


  3. Choose a device from the list on the left. Feature templates applicable to the device are shown in the right pane.

  4. Choose the Cisco VPN Interface Ethernet template.

  5. Enter a name and description for the feature template.

  6. Choose the ACL/QoS option.

  7. Enter the requested details.

    • Shaping Rate: Choose Global from the drop-down list and enter a shaping rate in kbps.

    • QoS Map: Choose Global from the drop-down list and enter the name of the QoS map that you want to include in the feature template.

  8. Click Save.

Step 3: Attach the Localized QoS Policy and the Feature Template to the Device Template

  1. Attach the localized policy created in Step 1 to the device template.

  2. Attach the feature template created in Step 2 to the device template. See Create Device Templates from Feature Templates for more details.


Note

Ensure that you attach the localized policy and the feature template to the same device template.


Step 4 Configure Hub Role for Per-Tunnel QoS

  1. From the Cisco vManage menu, choose Configuration > Templates.

  2. Click Feature Templates. All the features templates are listed.


    Note

    In Cisco vManage Release 20.7.x and earlier releases, Feature Templates is called Feature.


  3. For the Cisco VPN Interface template that you want to add per-tunnel QoS policy to, click ... and choose Edit.

    Alternatively, you can create a new Cisco VPN Interface Ethernet template following the instructions in the previous sections and then proceed with the steps below.

  4. When the template opens, click the Tunnel option at the top of the page.

  5. From the Tunnel Interface drop-down list, choose Global and choose On.

    A new set of fields display below the Tunnel Interface option. These new fields are specific to per-tunnel QoS and display only when you choose the On option.

  6. From the Per-tunnel Qos drop-down list, choose Global and then choose On.

    The Per-tunnel QoS Aggregator field appears after you set Per-tunnel Qos to On. If this field is set to Off, which is the default behavior, it means that the device selected in the template is assigned the spoke role. If the field is set to On, it means that the device is assigned the hub role.

  7. Choose Global from the Per-tunnel QoS Aggregator drop-down menu, and choose On. The device has now been assigned the role of a hub.

    When you choose the On option, the Tunnel Bandwidth Percent field displays.

  8. You can either leave the Tunnel Bandwidth Percent value at default (50) or choose Global from the drop-down menu to enter a value based on your network requirement.

    The remaining fields under the Tunnel section are not specific to per-tunnel QoS. You can either leave the values at default or enter values specific to your network.

  9. Click Update. The feature template updates with per-tunnel QoS configuration.

Step 5: Configure Spoke Role for Per-Tunnel QoS

  1. From the Cisco vManage menu, choose Configuration > Templates.

  2. Click Feature Templates. All the features templates are listed.


    Note

    In Cisco vManage Release 20.7.x and earlier releases, Feature Templates is called Feature.


  3. For the Cisco VPN Interface Template that you want to add the per-tunnel QoS policy to, click ... and choose Edit.

    OR

    Create a new Cisco VPN Interface Ethernet template following the instructions in the previous sections and then proceed with the steps below.

  4. When the template opens, click Tunnel.

  5. From the Tunnel Interface drop-down list, choose Global and choose the On option.

    A new set of fields display below the Tunnel Interface option. These new fields are specific to per-tunnel QoS and display only when you choose the On option.

  6. From the Per-tunnel Qos drop-down menu, choose Global and choose the On option.

    The Per-tunnel QoS Aggregator field displays after you set Per-tunnel Qos to On. This field is set to off by default. If this field is set to Off, it means that the device selected in the template is assigned the spoke role.

  7. The downstream bandwidth needs to be configured for the device to effectively take the spoke role. To configure the downstream bandwidth, click Basic Configuration at the top of the page.

  8. Scroll down to the Bandwidth Downstream Field and choose Global from the drop-down menu.

  9. Enter a value for the downstream bandwidth and click Update at the bottom of the page.

Configure Per Tunnel QoS Using the CLI

This topic shows the task flow for configuring per-tunnel QoS using CLI templates with the help of examples.

Example: Create QoS MaP

class-map match-any SDWAN_underlay
 match any
!
class-map match-all Queue0
 match qos-group 0
!
class-map match-all Queue1
 match qos-group 1
!
class-map match-all Queue3
 match qos-group 3
 !
policy-map qos_policy_4class_cedge
class Queue0
  priority level 1
  police rate percent 25
class Queue1
  bandwidth remaining ratio 20
class Queue3
  bandwidth remaining ratio 15
class class-default
 bandwidth remaining ratio 40
!

Example: Apply a QoS Map to an Ethernet Interface

policy-map per_tunnel_qos_policy_GigabitEthernet0/0/1
 class SDWAN_underlay
  bandwidth remaining percent 50
  service-policy qos_policy_4class_cedge
!
policy-map shape_GigabitEthernet0/0/1
 class class-default
  shape average 10000000
  service-policy qos_policy_4class_cedge_GigabitEthernet0/0/1
!
interface GigabitEthernet0/0/1
  service-policy output shape_ GigabitEthernet0/0/1
!

Example: Configure a Device as a Hub


sdwan
 interface GigabitEthernet0/0/1
  tunnel-interface
   encapsulation ipsec
   color public-internet restrict
   tunnel-qos hub
  exit
 exit

Example: Configure a Device as a Spoke


sdwan
 interface GigabitEthernet0/0/2
  tunnel-interface
   encapsulation ipsec
   color public-internet restrict
   tunnel-qos spoke
  exit
  bandwidth-downstream 50000
 exit

Verify Per-Tunnel QoS Configuration

Run the show sdwan running-config command to verify the per-tunnel QoS configuration on a Cisco IOS XE SD-WAN device configured as a hub.


Device# show sdwan running-config
class-map match-any Queue0
 match qos-group 0
!
class-map match-any Queue1
 match qos-group 1
!
class-map match-any Queue3
 match qos-group 3
!
class-map match-any SDWAN_underlay
 match any
!
policy-map per_tunnel_qos_policy_GigabitEthernet0/0/1
 class SDWAN_underlay
  bandwidth remaining percent 50
  service-policy qos_policy_4class_cedge
 !
!
policy-map qos_policy_4class_cedge
 class Queue0
  priority level 1
  police rate percent 25
  !
 !
 class Queue1
  bandwidth remaining ratio 20
!
 class class-default
  bandwidth remaining ratio 40
!
 class Queue3
  bandwidth remaining ratio 15
 !
!
policy-map shape_GigabitEthernet0/0/1
 class class-default
  service-policy per_tunnel_qos_policy_GigabitEthernet0/0/1
  shape average 100000000
 !
!
interface GigabitEthernet0/0/1
 description INET Transports
 service-policy output shape_GigabitEthernet0/0/1
!
sdwan
 interface GigabitEthernet0/0/1
  tunnel-interface
   encapsulation ipsec weight 1
   no border
   color public-internet restrict
   tunnel-qos hub
  exit
 exit
!

Run the show sdwan running-config sdwan command to verify the per-tunnel QoS configuration on a Cisco IOS XE SD-WAN device configured as a spoke.

Device# show sdwan running-config sdwan
sdwan
 interface GigabitEthernet0/0/1
  tunnel-interface
   encapsulation ipsec weight 1
   color public-internet restrict
   tunnel-qos spoke
  exit
  bandwidth-downstream 50000
exit

Run the show running-config command to verify the per-tunnel QoS configuration on a Cisco vEdge device configured as a spoke.


Device# show running-config
vpn 0
interface ge0/0
  tunnel-interface
   tunnel-qos spoke
!
bandwidth-downstream 50000
!

Monitor Per-Tunnel QoS

Use the following monitoring commands to monitor the performance of per-tunnel QoS.

  • show platform software sdwan qos template —Displays the child templates used for per-tunnel QoS

  • show platform software sdwan qos policy —Displays per-tunnel QoS policy instance parameters like policy template, bandwidth, and bandwidth remaining-ratio

  • show platform software sdwan qos target —Displays per-tunnel QoS policy target database per sd-wan session and tunnel interface

  • show policy-map interface GigabitEthernet 0/0/1 —Displays the statistics status and the configured policy maps on the specified interface

  • show policy-map multipoint Tunnel 10 10.10.10.20 —Displays the per-tunnel QoS statistics on the tunnel ID specified