Table 2. Feature History Table
Feature Name
|
Release Information
|
Feature Description
|
Bandwidth Remaining Ratio at Parent Level
|
Release 7.10.1
|
You can now provide preference to a specific user assigned to a subinterface. With this feature, the bandwidth remaining ratio
(BWRR) is applied at the parent traffic policy level to control the low-priority traffic at the subinterface level.
During congestion, the subinterface with the higher BWRR gets more bandwidth allocation that allows traffic to flow.
Earlier, the BWRR in H-QoS was supported only at the child policy level.
Supported on the following Cisco NCS 540 variants:
-
N540-ACC-SYS
-
N540X-ACC-SYS
-
N540-24Z8Q2C-SYS
|
Hierarchical QoS (H-QoS) allows you to specify QoS behavior at multiple policy levels, and starting from Cisco IOS XR Release 7.10.1 you can allocate weights corresponding to the bandwidth remaining ratio (BWRR) at the parent traffic policy level. The bandwidth
remaining option specifies a weight at parent policy level for the subinterface. After the priority-queue is serviced, the
leftover bandwidth is distributed as per BWRR. For more information on BWRR, see Bandwidth Remaining.
You can configure the BWRR on parent traffic policy on the subinterfaces belonging to the same physical interface. You can
configure the parent policy of the subinterfaces, with different weights. Subinterfaces with more weight get more bandwidth.
For example, consider the use case where three subinterfaces belonging to same physical interface (1G) configured with H-QoS
policy. All three subinterface policies are configured with 500 Mbps parent shaper each. When all three try to use the assigned
bandwidth, it requires 1.5G in total bandwidth exceeding 1G and it results in congestion. If on these three subinterfaces
the BWRR weights are configured as 20, 40, and 60 each, then the subinterface with higher BWRR allows more traffic to flow.
Restrictions and Limitations
Configuring BWRR at H-QoS
Before you configure H-QoS, you must enable the H-QoS profile on the router. After enabling H-QoS profile, reload the router,
for more information see Configuring Hierarchical Queuing.
In the following example you’ll create three traffic policies with BWRR as 20, 40, and 60, respectively. These policies will
be applied to a 10G subinterface, with BWRR applied to each parent 1, 2, and 3. The subinterface parent 3, has more weightage
of 60 than the other two parent subinterfaces.
Configuration of a parent traffic policy 1 is as follows:
Router# configure
Router(config)# policy-map hqos_bw_remaining_ratio_parent_1
Router(config-pmap)# class class-default
Router(config-pmap-c)# service-policy hqos_child_1
Router(config-pmap-c)# bandwidth remaining ratio 20
Router(config-pmap)# exit
Router(config)# commit
Configuration of a parent traffic policy 2 is as follows:
Router# configure
Router(config)# policy-map hqos_bw_remaining_ratio_parent_2
Router(config-pmap)# class class-default
Router(config-pmap-c)# service-policy hqos_child_2
Router(config-pmap-c)# bandwidth remaining ratio 40
Router(config-pmap)# exit
Router(config)# commit
Configuration of a parent traffic policy 3 is as follows:
Router# configure
Router(config)# policy-map hqos_bw_remaining_ratio_parent_3
Router(config-pmap)# class class-default
Router(config-pmap-c)# service-policy hqos_child_3
Router(config-pmap-c)# bandwidth remaining ratio 60
Router(config-pmap)# exit
Router(config)# commit
In the following example, the policy maps are assigned to the subinterfaces.
Router# configure
Router(config)# interface TenGigE0/0/0/20
Router(config-if)# service-policy output shaper_verification_parent
Router(config-if)# interface TenGigE0/0/0/20.103
Router(config-subif)# service-policy output hqos_bw_remaining_ratio_parent_1
Router(config-subif)# interface TenGigE0/0/0/20.1
Router(config-subif)# service-policy output hqos_bw_remaining_ratio_parent_2
Router(config-subif)# interface TenGigE0/0/0/20.101
Router(config-subif)# service-policy output hqos_bw_remaining_ratio_parent_3
Running Configuration
/* Configuration of a Parent Traffic Policy 1*/
hqos_bw_remaining_ratio_parent_1
class class-default
service-policy hqos_child_1
bandwidth remaining ratio 20
!
end-policy-map
!
/* Configuration of a Parent Traffic Policy 2*/
hqos_bw_remaining_ratio_parent_2
class class-default
service-policy hqos_child_2
bandwidth remaining ratio 40
!
end-policy-map
!
/* Configuration of a Parent Traffic Policy 3*/
hqos_bw_remaining_ratio_parent_3
class class-default
service-policy hqos_child_3
bandwidth remaining ratio 60
!
end-policy-map
!
Verification
Verify the H-QoS traffic policy that is applied on the interface using the commands show qos interface interface-name output.
The following example shows the output of all three parent traffic policies, but the subinterface policy-map hqos_bw_remaining_ratio_parent_3 gets more bandwidth allocation that allows traffic to flow.
RP/0/RP0/CPU0:ios#show qos interface TenGigE0/0/0/20.103 output
NOTE:- Configured values are displayed within parentheses
Interface TenGigE0/0/0/20.103 ifh 0x8152 -- output policy
NPU Id: 0
Total number of classes: 9
Interface Bandwidth: 10000000 kbps
Policy Name: hqos_bw_remaining_ratio_parent_1
SPI Id: 0x0
VOQ Base: 1320
PFC enabled: 0
Accounting Type: Layer1 (Include Layer 1 encapsulation and above)
------------------------------------------------------------------------------
Level1 Class = class-default
Queue Max. BW. = no max (default)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 1 / (20)
RP/0/RP0/CPU0:ios#show qos interface TenGigE0/0/0/20.1 output
NOTE:- Configured values are displayed within parentheses
Interface TenGigE0/0/0/20.1 ifh 0x8152 -- output policy
NPU Id: 0
Total number of classes: 9
Interface Bandwidth: 10000000 kbps
Policy Name: hqos_bw_remaining_ratio_parent_2
SPI Id: 0x0
VOQ Base: 1320
PFC enabled: 0
Accounting Type: Layer1 (Include Layer 1 encapsulation and above)
------------------------------------------------------------------------------
Level1 Class = class-default
Queue Max. BW. = no max (default)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 1 / (40)
RP/0/RP0/CPU0:ios#show qos interface ten0/0/0/20.101 output
NOTE:- Configured values are displayed within parentheses
Interface TenGigE0/0/0/20.101 ifh 0x81a0 -- output policy
NPU Id: 0
Total number of classes: 9
Interface Bandwidth: 10000000 kbps
Policy Name: hqos_bw_remaining_ratio_parent_3 /* BWRR with more weightage */
SPI Id: 0x0
VOQ Base: 1296
PFC enabled: 0
Accounting Type: Layer1 (Include Layer 1 encapsulation and above)
------------------------------------------------------------------------------
Level1 Class = class-default
Queue Max. BW. = no max (default)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 1 / (60) /* BWRR with more weightage */