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

Priority Flow Control watchdog

Want to summarize with AI?

Log in

A PFC fault detection and recovery mechanism that detects PFC storms and prevents their propagation.


The Priority Flow Control (PFC) watchdog is a PFC fault-detection and recovery mechanism that

  • identifies queue-stuck conditions (PFC storms) caused by sustained pause frames

  • prevents pause-frame propagation and looping across the network, and

  • restores normal traffic flow automatically after congestion clears.

PFC watchdog parameters and their role in queue monitoring

The PFC watchdog reduces persistent pause conditions by enforcing time-based monitoring of queues and managing state transitions:

  • Watchdog interval: The polling interval (in milliseconds) to check the status of PFC queues to determine if they are stalled due to excessive PFC pause frames.

  • Shutdown multiplier: The multiple of the watchdog interval after which the queue is shut down if congestion persists.

  • Auto-restore multiplier: Wait period, in multiples of the watchdog interval, before the watchdog restores the queue after congestion clears.


How the Priority Flow Control watchdog works

The Priority Flow Control (PFC) watchdog monitors queues receiving pause frames. It enforces queue transitions between monitored, waiting, shutdown, and restored states to maintain network stability.

Summary

The key components involved in the PFC watchdog process are:

  • Watchdog module: detects and reacts to prolonged pause frames.

  • Line card hardware: monitors queue drain states and notifies the Watchdog module.

  • System timers: govern queue shutdown, monitoring, and restoration intervals.

Workflow

These stages describe how the PFC Watchdog process works.

  1. Monitoring of pause activity: the watchdog module observes PFC-enabled queues for excessive pause frames during the configured watchdog interval.
  2. Detection of sustained congestion: when hardware detects that packets are not draining due to persistent pause frames, it notifies the watchdog module.
  3. Queue transition to wait-to-shutdown: The watchdog starts the shutdown timer. If the queue remains blocked, the module transitions it to a wait-to-shutdown state.
  4. Queue shutdown and packet drop: If the queue doesn’t drain before the shutdown timer expires, the watchdog changes its state to “drop.” All outgoing packets on that queue are dropped, halting pause propagation.
  5. Queue monitoring during shutdown: the watchdog continues to poll the queue. If pause frames persist, the queue remains in the drop state.
  6. Auto-restore evaluation: when pause frames stop, the auto-restore timer starts. If pause frames reappear during the timer interval, it resets. If no pause frames are detected, the queue transitions to the “restored” state and resumes traffic.

Best practices for Priority Flow Control watchdog configuration

Use these best practices to configure and operate the Priority Flow Control watchdog effectively.

  • Configure PFC before enabling the watchdog: Configure Priority Flow Control (PFC) and its associated policies before enabling the PFC Watchdog. This approach ensures that pause frame behavior and queue management policies are already defined before the watchdog begins monitoring.

  • Understand global watchdog behavior: When the global watchdog mode is disabled, it overrides all interface-level configurations. This means that even if the watchdog is configured on individual interfaces, it remains inactive until the global mode is enabled.

  • Leverage interface-level overrides: When the global watchdog mode is enabled, interface-level attributes such as interval, shutdown multiplier, and auto-restore multiplier override global settings. This flexibility allows finer control for high-priority interfaces with unique traffic profiles.

  • Tune watchdog parameters per interface: Use appropriate values for interval, shutdown multiplier, and auto-restore multiplier for each interface. This configuration helps avoid premature shutdown or delayed recovery of queues. Incorrectly set timers can result in unnecessary packet drops or slow queue restoration.


Configure a Priority Flow Control watchdog interval

Use this task to configure and verify Priority Flow Control (PFC) watchdog parameters at either the global or interface level. The watchdog detects queue-stuck conditions caused by sustained PFC pause frames and automatically restores normal queue operation after congestion clears.

The PFC watchdog monitors queues for pause storms and takes corrective actions when queues fail to drain within a specified interval. You can configure watchdog timers globally for all interfaces. Alternatively, override timers individually for specific interfaces.

Before you begin

Ensure that PFC and its policies are configured and active.

Follow these steps to configure and verify the PFC watchdog interval.

Procedure

1.

Enable the watchdog globally.

Example:

Router(config)#priority-flow-control watchdog mode on

This step activates the watchdog feature for all PFC-enabled interfaces.

2.

Configure global watchdog parameters.

Example:

Router(config)#priority-flow-control watchdog interval 100
Router(config)#priority-flow-control watchdog shutdown-multiplier 2
Router(config)#priority-flow-control watchdog auto-restore-multiplier 10
Router(config)#commit

This step sets watchdog timing behavior:

  • checks queues every 100 milliseconds

  • declares queues stuck after 200 milliseconds (100 milliseconds x 2), and

  • restores queues after 1000 milliseconds (100 x 10)

3.

(Optional) Configure interface-level overrides.

Example:

Router(config)#interface HundredGigE0/2/0/0
Router(config-if)#priority-flow-control watchdog mode on
Router(config-if)#commit

This step enables the Watchdog for a specific interface. Interface-level settings override global values if defined.

4.

Verify watchdog configuration.

  • Verify global watchdog configuration.
    Router#show run priority-flow-control watchdog
    priority-flow-control watchdog interval 100
    priority-flow-control watchdog shutdown-multiplier 2
    priority-flow-control watchdog auto-restore-multiplier 10
    priority-flow-control watchdog mode on
  • Verify active watchdog configuration on an interface.
    Router#show controllers HundredGigE0/2/0/0 priority-flow-control
    
    Priority flow control information for interface HundredGigE0/2/0/0:
    
    Priority flow control watchdog configuration:
    (D) : Default value
    U : Unconfigured
    --------------------------------------------------------------------------------
    Configuration Item         Global  Interface  Effective
    --------------------------------------------------------------------------------
    PFC watchdog state :        Enabled   U        Enabled
    Poll interval :             100(D)    U        100(D)
    Shutdown multiplier :       2(D)      U        2(D)
    Auto-restore multiplier :   10(D)     U        10(D)
    
    • Global column shows configured values.

    • Interface column shows interface-specific overrides (if any).

    • Effective column shows which values are actively applied to the interface.

  • Verify watchdog operational statistics.
    Router#show controllers HundredGigE0/2/0/0 priority-flow-control watchdog-stats
    Priority flow control information for interface HundredGigE0/2/0/0:
    
    Priority flow control watchdog statistics:
    SAR: Auto restore and shutdown
    ---------------------------------------------------------------------------------------------------
    Traffic Class            :       0        1        2        3        4        5        6        7
    ---------------------------------------------------------------------------------------------------
    Watchdog Events          :       0        0        0        3        3        0        0        0
    Shutdown Events          :       0        0        0        3        3        0        0        0
    Auto Restore Events      :       0        0        0        3        3        0        0        0
    SAR Events               :       0        0        0     3510     3510        0        0        0
    SAR Instantaneous Events :       0        0        0     1172     1172        0        0        0
    Total Dropped Packets    :       0        0        0 941505767 941488166        0        0        0
    Dropped Packets          :       0        0        0 314855466 314887161        0        0        0
    
    • Watchdog Events displays the number of times the watchdog detected a stalled queue.

    • Shutdown Events displays the number of times the line card was shut down due to stuck queues.

    • Auto Restore Events displays the number of times the watchdog restored the queue after congestion cleared.

    • Total Dropped Packets displays the cumulative virtual output queue (VOQ) and output queue drops across all watchdog events since the last clear.

    • Dropped Packets displays the cumulative VOQ and output queue drops in the most recent watchdog shutdown event.

    • Ignore the SAR Events and SAR Instantaneous Events entries. These numbers are not relevant to your operations.