Configuring Modular QoS on Link Bundles

A link bundle is a group of one or more ports that are aggregated together and treated as a single link. This module describes QoS on link bundles.

Feature History for Configuring Modular QoS on Link Bundles

Release

Modification

Release 5.0.0

This feature was introduced.

Link Bundling Overview

The Link Bundling feature allows you to group multiple point-to-point links together into one logical link and provide higher bidirectional bandwidth, redundancy, and load balancing between two routers. A virtual interface is assigned to the bundled link. The component links can be dynamically added and deleted from the virtual interface.

The virtual interface is treated as a single interface on which one can configure an IP address and other software features used by the link bundle. Packets sent to the link bundle are forwarded to one of the links in the bundle.

A link bundle is simply a group of ports that are bundled together and act as a single link. The advantages of link bundles are as follows:

  • Multiple links can span several line cards and SPAs to form a single interface. Thus, the failure of a single link does not cause a loss of connectivity.

  • Bundled interfaces increase bandwidth availability, because traffic is forwarded over all available members of the bundle. Therefore, traffic can move onto another link if one of the links within a bundle fails. You can add or remove bandwidth without interrupting packet flow..

All links within a bundle must be of the same type. For example, a bundle can contain all Ethernet interfaces, or it can contain all POS interfaces, but it cannot contain Ethernet and POS interfaces at the same time.


Note

POS interfaces are not supported in Release 5.0.0.

Cisco IOS XR software supports these methods of forming bundles of Ethernet interfaces:

  • IEEE 802.3ad—Standard technology that employs a Link Aggregation Control Protocol (LACP) to ensure that all the member links in a bundle are compatible. Links that are incompatible or have failed are automatically removed from a bundle.

  • EtherChannel —Cisco proprietary technology that allows the user to configure links to join a bundle, but has no mechanisms to check whether the links in a bundle are compatible.POS Channel applies to POS interfaces.

Load Balancing

Load balancing is supported on all links in the bundle. Load balancing function is a forwarding mechanism to distribute traffic over multiple links based on Layer 3 routing information in the router. There are two types of load balancing schemes:

  • Per-Destination Load Balancing

  • Per-Packet Load Balancing

When a traffic stream arrives at the router, per-packet load balancing allows the traffic to be evenly distributed among multiple equal cost links. Per-packet schemes make routing decision based on round-robin techniques, regardless of the individual source-destination hosts.

Only Per-Destination Load Balancing is supported.

Per-destination load balancing allows the router to distribute packets over one of the links in the bundle to achieve load sharing. The scheme is realized through a hash calculating based on the source-destination address and user sessions.

When the per-destination load balancing is enabled, all packets for a certain source-destination pair will go through the same link, though there are multiple links available. In other words, per-destination load balancing can ensure that packets for a certain source-destination pair could arrive in order.

QoS and Link Bundling

All Quality of Service (QoS) features, currently supported on Layer 3 physical interfaces, are also supported on all Link Bundle interfaces. All QoS features currently supported on Layer 3 physical sub interfaces are also supported on bundle VLANs.

QoS is configured on Link Bundles in primarily the same way that it is configured on individual interfaces. However, there are some important restrictions that should be noted:

  • Parameters for QoS actions can only be specified as percentages.

  • WRED and queue limit parameters can only be configured in time units.

These guidelines describe the characteristics of QoS behavior on bundle interfaces:

  • QoS features are configured only on the Link Bundle interfaces, never on individual members.

  • For egress QoS policies, a unique set of queues defined by the policy are assigned to each physical interface on each linecard hosting a member link. As a result, for queuing actions (e.g. shaping), egress QoS policy acts on the bandwidth provided by the individual member interfaces. This means that the actual shape rate experienced by a traffic class may be less than the configured value (as a percentage of the bundle bandwidth), if its traffic is not load-balanced evenly across all member links. For policer actions, egress QoS policy acts on the aggregate bandwidth provided by the interfaces on that linecard.

Example 2 : Output QoS policy supported on link bundles

When a member link is added to a bundle with output QoS configured, the policy-map of the bundle is applied to the member link.

Example 2 shows the output QoS policy supported on link bundles.


policy-map out-sample
  class voice
    priority level 1
    police rate percent 10
  class premium
    bandwidth percent 30
    queue-limit 100 ms
  class class-default
    queue-limit 100 ms

Aggregate Bundle QoS Mode

Aggregated Bundle QoS allows the shape, bandwidth, police rates, and burst values to be distributed between the active members of a bundle where a QoS policy-map is applied. For instance, consider that the traffic is load-balanced among the members of the bundle. In aggregate mode, the bundle ethernet traffic is shaped to 10 Mbps to match the configuration of QoS policy.

When the policy is applied on a member of the bundle, a ratio can be calculated based on the total bandwidth of the bundle to that of the bandwidth of a member in the bundle. For example, if the bandwidth of the bundle is 20 Gbps, and the bandwidth of a member in the bundle is 10 Gbps, then the ratio will be 2:1.

A change in the bundle (with a member down, added, removed or activated) or mode results in the automatic recalculation of QoS rate.

The user QoS policy is invalid when applied to the bundle interface under the following scenarios:

  • A 10 Gbps interface and 40 Gbps interface are part of a bundle, and the 40 Gbps interface is inactive. Currently, QoS policy is also programmed on non-active members. When programming the 40Gbps bundle member, the bundle bandwidth is 10 Gpbs, but the member bandwidth is 40 Gbps. The ratio of bundle bandwidth to member bandwidth does not work for this member.

  • Consider a shape of 15 Gbps. This action is valid on bundles with multiple 10G active members, but invalid when only one member is active and that member is in QoS inconsistent state. To view inconsistency details for the QoS policy, run the show qos inconsistency command in EXEC mode. This scenario is also applicable during the reload of a router where only few interfaces in line cards (LC) becomes available before the rest of the interfaces in all LCs.

  • A failure in the hardware when programming a rate change during the bundle bandwidth change or when a new member is added to the bundle.

  • If an interface has the QoS policy configured to an absolute value, you cannot change the aggregated bundle mode from enabled to disabled. You must modify the policy or remove it before attempting to disable the aggregate bundle mode.

  • An invalid policy combination, with the absolute values of port shaper less than the policy shape rate is accepted without an error in console or log file.

  • You apply QoS policy on bundle interfaces for BNG subscribers. In this case, there is no aggregation across bundle members, and the policy is applied individually. For the policy to work correctly, modify the rate according to the number of members in the bundle.

  • You apply QoS policy on PWHE and BVI interfaces. Both these interfaces don’t support bundle aggregate mode.

Load Balancing in Aggregate Bundle QoS

Load balancing requires a large number of flows in order to distribute the traffic among the members of the bundle. Ensure that load is balanced evenly among the members of the bundle before using the aggregate bundle QoS mode. If the under-lying traffic is only a few tunnels (GRE, TE-TUNNELS), it may be possible that the load balancing is not distributing the traffic evenly and may cause problems.

For example, consider bandwidth of a bundle is 20 Gbps, and the bandwidth of a member in the bundle is 10 Gbps. If the traffic is not load balanced, the aggregate traffic output may not reach 10 Mbps even when more than 10 Mbps is sent to the bundle-ether interface.

QoS Policy in Aggregate bundle mode

The following table shows the behavior of aggregate QoS policy mode to various actions:

Action

Behavior

Policing and Shaping / Bandwidth

Percentage: No change. The percentage is calculated based on parent max-rate / interface bandwidth

PPS / Absolute rate: Divide the rate based on bandwidth ratio

Burst-size: If time-units, no change. Convert time-units to bytes based on service-rate

If configured in absolute value, divide the absolute value based on bandwidth ratio

Wred / Queue-Limit Threshold

Time-Units: No Change. Use the service-rate to convert to bytes

Absolute value: Divide the absolute value based on bandwidth ratio

Enabling Aggregate Bundle QoS

To enable the aggregate bundle QoS, perform these steps:

SUMMARY STEPS

  1. configure
  2. hw-module all qos-mode aggregate-bundle-mode
  3. class class-name
  4. end or commit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

Example:


RP/0/RSP0/CPU0:router# configure

Enters global configuration mode.

Step 2

hw-module all qos-mode aggregate-bundle-mode

Example:


RP/0/RSP0/CPU0:router(config)# hw-module all qos-mode aggregate-bundle-mode

Enters policy map configuration mode.

When aggregated bundle mode changes, QoS polices on bundle interfaces and sub-interfaces are modified automatically. A reload of the line card is not required.

Step 3

class class-name

Example:


RP/0/RSP0/CPU0:router(config-pmap)# class class-default

Enters policy map class configuration mode.

Specifies the name of the class whose policy you want to create or change.

Step 4

end or commit

Example:


RP/0/RSP0/CPU0:router(config-pmap-c-police)# end

or


RP/0/RSP0/CPU0:router(config-pmap-c-police)# commit

Policing using Aggregate Bundle QoS

policy-map grand-parent
 class class-default
  service-policy parent
  police rate 200 mbps burst 1 kbytes 
 end-policy-map

policy-map parent
 class class-default
  service-policy child
  police rate 300 mbps 
 end-policy-map

policy-map child
 class 3play-voip
  police rate 10 mbps burst 10 kbytes peak-rate 20 mbps peak-burst 20 kbytes 
   conform-color red-cos 
   conform-action set precedence 1
   exceed-action set precedence 2
   violate-action drop

class 3play-video
  police rate 15 mbps burst 10 kbytes peak-rate 30 mbps peak-burst 20 kbytes 
   conform-color yellow-cos 
   conform-action set precedence 1
   exceed-action set precedence 2
   violate-action drop
  ! 
 ! 
 class 3play-premium
  police rate 25 mbps burst 10 kbytes peak-rate 35 mbps peak-burst 20 kbytes 
   conform-color green-cos 
   conform-action set precedence 1
   exceed-action set precedence 2
   violate-action drop
  ! 
 ! 
 class class-default
  police rate 6 mbps 
  ! 
 ! 
 end-policy-map
! 

Additional References

These sections provide references related to implementing QoS on Link Bundles.

Related Documents

QoS Commands

Modular Quality of Service Command Reference for Cisco NCS 6000 Series Routers

User groups and task IDs

“Configuring AAA Services on Cisco IOS XR Software” module of System Security Configuration Guide for Cisco NCS 6000 Series Routers

Standards

Standards

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

Technical Assistance

Description

Link

The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/cisco/web/support/index.html