Modular QoS Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Release

PDF

Modular QoS Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Release

buffer-extended hybrid mode

Want to summarize with AI?

Log in

Introduces buffer-extended hybrid mode for PFC, including threshold behavior, default and user-specified configuration options, supported traffic classes, and operational requirements for line card profiles.


A buffer-extended hybrid mode is a Priority Flow Control (PFC) operating mode that

  • divides High Bandwidth Memory (HBM) into two independent pools—one for lossless traffic and another for lossy traffic,

  • supports a combined HBM allocation of up to 8 GB across both pools on higher-capacity line cards, and

  • prevents lossy traffic from monopolizing buffer resources.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Buffer-extended hybrid mode

Release 25.3.1

With this release, you can configure buffer-extended hybrid mode for Priority Flow Control (PFC). This mode divides up to 8 GB of High Bandwidth Memory (HBM) into independent pools for lossy and lossless traffic. You can configure the percentage of HBM allocated to the lossy pool; the remaining capacity is allocated to the lossless pool. This flexible allocation improves buffer utilization and helps reduce tail drops for lossy traffic during congestion.

Supporting details for buffer-extended hybrid mode

In the absence of the buffer-extended hybrid mode, with both lossy and lossless traffic, lossy traffic classes experienced tail drops because the combined HBM usage exceeded the 4 GB limit.

The buffer-extended hybrid mode feature addresses this limitation.

  • Lossless traffic: Mapped to HBM pool 0.

  • Lossy traffic: Mapped to HBM pool 1.

  • Configuration knobs:

    • hbm-buffers-percentage to split the pools.

    • max-non-pfc-voqs to cap the number of lossy queues that can share HBM.

  • Telemetry: Pool statistics are visible in show controllers npu priority-flow-control outputs.

Lane traffic analogy for buffer-extended hybrid mode

The city builds an expressway with two separately managed holding areas. One area is reserved for priority vehicles, representing lossless traffic mapped to HBM pool 0. The other is used by regular vehicles, representing lossy traffic mapped to HBM pool 1.

Because the holding areas are separate, heavy regular traffic cannot consume the buffer capacity reserved for priority traffic.

The priority-vehicle area has upstream stop signals that temporarily hold incoming vehicles when occupancy reaches the configured pause thresholds. It can also use warning signals that represent ECN thresholds, allowing congestion to be indicated before the holding area becomes full.

The regular-traffic area does not use pause thresholds or ECN marking. If this area exhausts its allocated capacity during congestion, additional traffic can be dropped.

The city planners determine how much of the total holding capacity is assigned to regular traffic by using the hbm-buffers-percentage command. The remaining capacity is assigned to the priority-traffic area.


Best practices for configuring buffer-internal hybrid mode

Follow these best practices to ensure correct and stable configuration of buffer-internal hybrid mode for PFC on supported line cards.

  • Lossy pool allocation: Allocate 50 to 80 percent of High Bandwidth Memory (HBM) to the lossy pool.

  • Lossless pool allocation: Assign the remaining percentage to the lossless pool, ensuring that the combined allocation equals 100 percent.

  • VOQ maximum setting: Set max-non-pfc-voqs to a value between 1 and 3,800, according to system needs.

  • Buffer pool sizing: Ensure each buffer pool does not exceed 8 GB, depending on the line-card hardware.

  • Profile configuration order: Globally configure the buffer-extended hybrid mode profile before applying PFC or QoS policies.

  • HBM pool division: Specify the HBM percentage to divide the pool between lossless and lossy traffic, as required by your application.

  • Recommended lossless percentage for special traffic: Allocate a larger percentage (such as 60 to 70 percent) to the lossless pool when handling Remote Direct Memory Access (RDMA), storage, or latency-sensitive traffic.

  • Lossy queue cap: Adjust max-non-pfc-voqs to limit the number of lossy queues sharing HBM resources.

  • Router restart requirement: Restart the router after enabling buffer-extended hybrid mode for the configuration to take effect.


Configure buffer-extended hybrid mode with default settings

Use this procedure to configure buffer-extended hybrid mode with default settings.

Procedure

1.

Enter the configuration mode.

Example:

Router# configure
2.

Enter the configuration mode for PFC profiling on an interface.

Example:

Router(config)# hw-module profile priority-flow-control location 0/0/CPU0
3.

Enable buffer-extended PFC for traffic classes 3 and 4, indicating that these traffic classes are lossless and use dedicated buffer resources.

Example:

Router(config-pfc-profile)# buffer-extended traffic-class 3
Router(config-pfc-profile)# buffer-extended traffic-class 4
4.

Configure the non-PFC or lossy traffic classes to use the percentage of the available HBM buffers. In this example, the HBM percentage specified is 60.

Example:

Router(config-pfc-profile)# buffer-extended non-pfc-tcs hbm-buffers percentage 60
Router(config-pfc-profile)# !
Router(config-pfc-profile)# end
5.

Save the configuration.

Example:

Router(config)# commit
6.

Verify the configuration.

Example:

Router#show controllers npu priority-flow-control location 0/0/CPU0
Fri Mar 14 17:38:43.948 UTC
Location:               0/0/CPU0
PFC:                    Enabled
PFC Mode:               buffer-extended
PFC max evict Lossy:    24(Default)
TC    Pause-threshold    Headroom
---------------------------------
3   62914560 bytes     76800000 bytes
4   62914560 bytes     76800000 bytes
---------------------------------
TC    HbmPoolNum    TcGroup
---------------------------------
0          1             1
1          1             2
2          1             3
3          0             0
4          0             0
5          1             1
6          1             2
7          1             3
---------------------------------
Total hbm buffers           :    984576
Lossy Max hbm buffers per   :    60 (590745 buffers)
Lossless Max hbm buffers per:    40 (393830 buffers)
---------------------------------

Configure buffer-extended hybrid mode with user-specified settings

Use this procedure to configure buffer-extended hybrid mode with user-specified settings.

Procedure

1.

Enter the configuration mode.

Example:

Router# configure
2.

Enter the configuration mode for PFC profiling on an interface.

Example:

Router(config)# hw-module profile priority-flow-control location 0/0/CPU0
3.

Enable buffer-extended PFC for traffic class 3 and class 4, indicating that this traffic class is lossless and uses dedicated buffer resources.

Example:

Router(config-pfc-profile)# buffer-extended traffic-class 3
Router(config-pfc-profile)# buffer-extended traffic-class 4
4.

Configure the non-PFC or lossy traffic classes. It specifies that a maximum of 32 non-PFC VOQs can use 60% of the available HBM buffers.

Example:

Router(config-pfc-profile)# buffer-extended non-pfc-tcs max-non-pfc-voqs 32 hbm-buffers-percentage 60
Router(config-pfc-profile)# !
Router(config-pfc-profile)# end
5.

Save the configuration.

Example:

Router(config)# commit
6.

Verify the configuration.

Example:

Router#show running-config | include "hw-module|buffer"
Fri Aug 29 15:31:50.548 UTC
hw-module profile priority-flow-control location 0/0/CPU0
buffer-extended traffic-class 3
buffer-extended traffic-class 4
buffer-extended non-pfc-tcs max-non-pfc-voqs 32 hbm-buffers-percentage 60
Router#
Router#show controllers npu priority-flow-control location 0/0/CPU0
Fri Aug 29 15:31:55.165 UTC
 
Location:               0/0/CPU0
PFC:                    Enabled
PFC Mode:               buffer-extended
PFC max evict Lossy:    32
TC    Pause-threshold    Headroom
---------------------------------
3   62914560 bytes     76800000 bytes
4   62914560 bytes     76800000 bytes
---------------------------------
TC    HbmPoolNum    TcGroup
---------------------------------
0          1             1
1          1             2
2          1             3
3          0             0
4          0             0
5          1             1
6          1             2
7          1             3
---------------------------------
Total hbm buffers           :    984576
Lossy Max hbm buffers per   :    60 (590745 buffers)
Lossless Max hbm buffers per:    40 (393830 buffers)
---------------------------------
Router#

Configure buffer-extended hybrid mode

You can configure buffer-extended hybrid mode by using these configuration settings:

If..

In..

Then..

Example

You configure hbm-buffers-percentage

the default max-non-pfc-voqs setting

the router uses its pre-defined, default number of non-PFC VOQs.

You can assign X percent of HBM to regular traffic. The router then automatically decides how many of your regular traffic queues can share that X percent of HBM. In this setup, the router still works to separate lossless traffic and lossy traffic.

You specify a particular value for max-non-pfc-voqs along with the hbm-buffers-percentage

the user-specified max-non-pfc-voqs setting

you can explicitly limit the number of non-PFC VOQs that can use the specified percentage of HBM.

You can assign Y number of the regular traffic queues to use X percent of HBM. This gives you more direct control over how many lossy queues can access the allocated HBM space.