このページの目次
PFC ウォッチドッグ
PFC ウォッチドッグの概要
プライオリティベースのフロー制御(PFC)ポーズフレームは、ロスレスイーサネットで使用され、リンクパートナーによるパケットの送信を一時停止します。これらの PFC ポーズ フレームはネットワーク全体を伝播し、PFC ストリームのトラフィックを停止させる可能性があります。PFC ウォッチドッグを使用して、PFC ポーズ ストームを検出して解決します。
PFC ウォッチドッグは、PFC 対応ポートの PFC ポーズ ストームを監視します。PFC 対応ポートが長時間 PFC ポーズ フレームを受信し、PFC ウォッチドッグがそのポート上のフロー制御フレームを検出しない場合、PFC ウォッチドッグは状況を緩和します。これは、PFC 一時停止ストームが検出されたキューを、回復時間と呼ばれる構成可能な期間無効にすることによって行われます。回復時間が経過すると、PFC ウォッチドッグは影響を受けたキューを再度有効にします。
PFC ウォッチドッグについて
PFC ウォッチドッグには、検出、軽減、復元の 3 つの機能があります。
PFC ウォッチドッグは、ポーリング間隔と呼ばれる一定の間隔で PFC キューの状態をチェックします。PFC ウォッチドッグは、ゼロ以外の一時停止タイマーを持つ PFC キューを検出すると、キューの現在の送信カウンター レジスタを最後に記録された値と比較します。PFC キューが最後のポーリング間隔以降にパケットを送信していない場合、PFC ウォッチドッグはキューにパケットがあるかどうかを確認します。キューに送信されていないパケットがあり、そのポートにフロー制御フレームがない場合、PFC ウォッチドッグはストール状態を検出します。
PFC ウォッチドッグは、ストール状態を検出すると、PFC ポーズ ストームを検出したキューを回復時間と呼ばれる期間無効にします。その間、キュー内のすべてのパケットをフラッシュし、新しいパケットがキューに追加されないようにします。システムは、回復時間中に PFC キュー上のすべてのパケット ドロップを監視します。
回復時間が終了すると、PFC ウォッチドッグは、イングレス ドロップ カウンターと、PFC キューの無効化に関連するその他のドロップ カウンターを収集します。PFC ウォッチドッグは、最後の回復中に失われたパケットの数と、デバイスが起動されてから PFC の緩和によって失われたパケットの総数を保持します。その後、PFC ウォッチドッグはキューを復元し、PFC を再度有効にします。
PFCウォッチドッグの設定方法
PFC ウォッチドッグを有効にする
PFC ウォッチドッグは、PFC キューに対してのみ機能します。キューを PFC キューとして指定するには、キュー番号を含む ステートメントを使用します flow-control-queue
。
set class-of-service congestion-notification-profile cnp output ieee-802.1 code-point 011 flow-control-queue 3 set class-of-service congestion-notification-profile cnp output ieee-802.1 code-point 100 flow-control-queue 4
階層レベルで ステートメントpfc-watchdog
[edit class-of-service congestion-notification-profile profile-name]
を使用して PFC ウォッチドッグを有効にします。
set class-of-service congestion-notification-profile profile-name pfc-watchdog
他のオプションを設定せずに、輻輳通知プロファイルでPFCウォッチドッグを有効にすると、PFCウォッチドッグがデフォルト値で有効になります。デフォルトでは、ポーリング間隔は 100 ミリ秒、検出期間は 2 (つまり、2 つのポーリング間隔、つまり 200 ミリ秒)、回復時間は 200 ミリ秒です。非既定値を構成する方法については、次のセクションをお読みください。
検出
PFC ウォッチドッグは、PFC 対応キューを定期的に監視し、キューが空のときにダウンストリーム デバイスによって継続的な PFC ポーズ アサーションを確認します。これが発生した場合、PFC ウォッチドッグはストール状態を検出します。システムは、指定された時間内にこの停止状態を検出する必要があります。この時間の長さは、 と detection
の 2 つのステートメントpoll-interval
の設定方法によって決まります。
PFC ウォッチドッグは、定期的に PFC キューのステータスをチェックします。この間隔は、 poll-interval
ステートメントを使用してミリ秒単位で設定します。PFC ウォッチドッグは、ポーリング間隔ごとにキューのステータスをチェックします。既定の間隔は 100 ミリ秒です。最小間隔は 100 ミリ秒、最大間隔は 1000 ミリ秒です。
set class-of-service congestion-notification-profile profile-name pfc-watchdog poll-interval time
PFC ウォッチドッグは、PFC キューが停止したと判断する前に、少なくとも 2 つの連続したポーリング間隔の停止状態を検出する必要があります。ステートメントを設定して detection
、PFCウォッチドッグが停止したトラフィックを軽減するまで待機するポーリング間隔を制御します。デフォルトは 2 つのポーリング間隔です。最大数は 10 ポーリング間隔です。
set class-of-service congestion-notification-profile profile-name pfc-watchdog detection number of polling intervals
合計検出時間は、ポーリング間隔の長さにポーリング間隔の数を掛けた値です。
緩和
PFC ウォッチドッグは、PFC キューが停止したことを検出すると、キューを緩和状態に移行します。 pfc-watchdog-action
トラフィック輻輳を緩和するためにPFCウォッチドッグが実行するアクションを指定するには、 ステートメントを設定します。唯一のオプションはドロップアクションです。PFC ウォッチドッグは、PFC キューが停止したことを検出すると、キューに入れられたすべてのパケットと、停止した PFC キューに新しく到着するすべてのパケットをドロップします。
set class-of-service congestion-notification-profile profile-name pfc-watchdog watchdog-action drop
復元
recovery
ステートメントを使用して、PFC ウォッチドッグが PFC を復元する前に、影響を受けたキューを無効にする期間を設定します。 最小回復期間は 200 ミリ秒で、最大回復期間は 10,000 ミリ秒です。
set class-of-service congestion-notification-profile profile-name pfc-watchdog recovery time
回復時間が経過すると、PFC ウォッチドッグは影響を受けるキューで PFC を再度有効にします。
検証
次のコマンドを使用して、PFC ウォッチドッグが正しく設定されていることを確認します。
show class-of-service congestion-notification-profile Name: cnp, Index: 0 Type: Input Cable Length: 100 Type: Output Priority Flow-Control-Queues 011 3 Priority Flow-Control-Queues 100 4 PFC Watchdog : enabled PFC-action : drop Polling Interval : 100 ms Detection Time : 200 ms Recovery Time : 200 ms
表示される検出時間は、ポーリング間隔に検出期間を掛けたものです。この場合、ポーリング間隔は 100 ミリ秒なので、構成された検出時間は 2 時間です。
PFC ウォッチドッグの監視
インターフェイスの PFC キューで、検出および回復された PFC ポーズ ストームの数、およびドロップされたパケットの数を表示できます。特定のインターフェイスのPFCウォッチドッグ統計情報を表示するには、次のコマンドを使用します。
show interfaces interface extensive ... Priority Flow Control Watchdog Statistics: Detected Recovered LastPacketDropCount TotalPacketDropCount Queue : 0 0 0 0 0 Queue : 1 0 0 0 0 Queue : 2 0 0 0 0 Queue : 3 0 0 0 0 Queue : 4 0 0 0 0 Queue : 5 0 0 0 0 Queue : 6 0 0 0 0 Queue : 7 0 0 0 0 ...
PFC ウォッチドッグが実行するアクションは、システムログで確認できます。
- PFC ウォッチドッグが新しいポートで有効になると、システム ログに次のメッセージが表示されます。
CDA PfcWd: PFC Watchdog detection enabled on ifd: et-0/0/16 Poll Interval:100ms Detection Period:200ms Recovery Interval:200ms
- PFC ウォッチドッグがストール状態を検出すると、システム ログに次のメッセージが表示されます。
CDA PfcWd: PFC Storm Detected! on ifd:et-0/0/16 Queue: 3 Priority: 3 BLOCKED for AutoRecovery Recovery Time: 200ms
- キューが PFC ポーズ ストームから回復すると、システム ログに次のメッセージが表示されます。
CDA PfcWd: PFC Storm Recovered on Port ifd:et-0/0/16 Queue: 3 Priority: 3 UNBLOCKED after AutoRecovery Recovery Time: 200ms