内容

概要

背景説明

Ingress Traffic Manager(ITM)

入力VOQバッファ

スケジュールおよびフロー制御

よくある原因

該当ハードウェア

入力廃棄のトラブルシューティング

一般的なシナリオ – 10Gから1Gへのトラフィックフロー – 継続的なドロップ：

ステップ1：入力廃棄インターフェイスに影響するキューを確認します。

ステップ2：診断に使用されるBroadcomのカウンタのグラフィック表示を確認します。

ステップ3：入力廃棄が発生している前面パネルポートが属するASICとJericoポートを見つけます。

ステップ4：入力ポートのVOQおよびVOQコネクタについて理解します。

ステップ5:BCMの観点から確認します。キューは特に空ではありません。つまり、輻輳です。

ステップ6：空でない[Queue]値から出力輻輳ポートを見つけます。

ステップ7：前の検出結果に基づいて、ASIC 1にある前面パネルポートとJerichoポート9にマッピングを確認します。

追加コマンド

追加のラボテスト：

ステップ1：複数の出力輻輳インターフェイスによる入力廃棄

ステップ2:SPANによる入力廃棄

ステップ3：トラフィックヘアピンによる入力廃棄

ステップ4：宛先IPが不明のパケットを送信する。

ステップ5：アクセス/トランクポートがSTPフォワーディングステートに移行する間の入力廃棄

ステップ6:Eth1/9超過ラインレートによる入力廃棄

概要

このドキュメントでは、Cisco Nexus 9500-R EoRおよびNexus 3000-R ToRの入力廃棄の原因と解決策について説明します。入力廃棄は、輻輳のために入力キューで廃棄されたパケットの数を示します。この数には、テールドロップとWeighted Random Early Detection（WRED；重み付けランダム早期検出）によって引き起こされるドロップが含まれます。

ランダム/散発性/履歴（つまり発生していない）ドロップが発生した場合は、Cisco TACに連絡して、詳細な調査を依頼してください。このウォークスルーは、入力廃棄が頻繁に増加する場合に便利です。

背景説明

Rシリーズは入力VOQアーキテクチャを使用します。VOQアーキテクチャは、入力バッファの出力キューを仮想キューでエミュレートします。各出力ポートには、ユニキャストトラフィック用の8つのキューと、マルチキャストトラフィック用の8つのキューがあります。トラフィックは、パケットのClass-of-Service(CoS)またはDifferentiated Services Code Point(DSCP)値に基づいてトラフィッククラスに分類され、そのトラフィッククラスに対応する仮想キューにキューイングされます。

Rシリーズは、分散クレジットメカニズムを使用して、ファブリック上でトラフィックを転送します。パケットがVOQから送出されるようにスケジュールされる前に、入力バッファスケジューラは、出力バッファの特定のポートとプライオリティのクレジットを要求します。クレジットは、宛先ポートとプライオリティの入力クレジットスケジューラから要求されます。バッファスペースが使用可能な場合、出力スケジューラはアクセスを許可し、クレジット認可を入力バッファスケジューラに送信します。出力バッファに使用可能なバッファスペースがない場合、出力スケジュールはクレジットを付与せず、次のクレジットが使用可能になるまでトラフィックがVOQにバッファリングされます。

次に、-Rプラットフォームのパケット転送パイプラインを示します。この記事では、Ingress Traffic Managerコンポーネントに焦点を当てます。アーキテクチャの詳細については、このリンクを参照してください

Ingress Traffic Manager(ITM)

入力トラフィックマネージャ(ITM)は、入力パイプラインのブロックです。VOQへのトラフィックのキューイング、ファブリック上での送信のためのトラフィックのスケジュール、クレジットの管理に関連する手順を実行します。

入力VOQバッファ

入力VOQバッファブロックは、オンチップバッファとオフチップパケットバッファの両方を管理します。どちらのバッファもVOQアーキテクチャを使用し、トラフィックはIRPP(Ingress Receiver Packet Processor)からの情報に基づいてキューイングされます。ユニキャストおよびマルチキャストトラフィックでは、合計96,000のVOQを使用できます。

スケジュールおよびフロー制御

パケットが入力パイプラインから送信される前に、パケットがファブリック経由で転送されるようにスケジュールする必要があります。入力スケジューラは、出力トラフィックマネージャブロックにある出力スケジューラにクレジット要求を送信します。入力トラフィックマネージャは、クレジットを受信すると、入力送信パケットプロセッサへのトラフィックの送信を開始します。出力バッファがいっぱいになると、トラフィックは出力ポートとトラフィッククラスで表される専用キューにバッファリングされます。

よくある原因

一般的に、さまざまなNexusハードウェアで次のような理由で入力廃棄が発生する可能性があります

- トラフィックフローが出力インターフェイス（10Gの入力と1Gの出力など）

- オーバーサブスクライブSPAN宛先ポート：特定のハードウェアタイプに適用されます。

該当ハードウェア

PID

N9K-X9636C-R

N9K-X9636Q-R

N9K-X9636C-RX

N9K-X96136YC-R

N3K-C36180YC-R

N3K-C3636C-R

入力廃棄のトラブルシューティング

一般的なシナリオ – 10Gから1Gへのトラフィックフロー – 継続的なドロップ：

この記事では、「input discards」のカウンタと同じ値を参照するHW内部カウンタの値は、テスト中にエラーが増加していたことと同じように変化し、関連するコマンドをライブで取得する必要があります。

ステップ1：入力廃棄インターフェイスに影響するキューを確認します。

この手順は後で役立ちます。

この例では、キュー7、デフォルトキューです。入力には合計8つのキューがあります。

ステップ2：診断に使用されるBroadcomのカウンタのグラフィック表示を確認します。

Nexus-R# bcm-shell mod 1 "diag counters g"

|                                                                      /|\

|           J E R I C H O   N E T W O R K   I N T E R F A C E           |

\|/                                                                      |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                                                                      NBI                                                                                      |

|  RX_TOTAL_BYTE_COUNTER                         = 10,616,663,796                       |  TX_TOTAL_BYTE_COUNTER                         = 41,136                               |

|  RX_TOTAL_PKT_COUNTER                          = 10,659,301                           |  TX_TOTAL_PKT_COUNTER                          = 606                                  |

|  RX_TOTAL_DROPPED_EOPS                         = 0                                    |                                                                                       |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                          IRE                                          |                                         EPNI                                          |

|  CPU_PACKET_COUNTER                            = 606                                  |                                                                                       |

|  NIF_PACKET_COUNTER                            = 10,659,302                           |  EPE_BYTES_COUNTER                             = 41,136                               |

|  OAMP_PACKET_COUNTER                           = 0                                    |  EPE_PKT_COUNTER                               = 606                                  |

|  OLP_PACKET_COUNTER                            = 0                                    |  EPE_DSCRD_PKT_CNT                             = 0                                    |

|  RCY_PACKET_COUNTER                            = 0                                    |                                                                                       |

|  IRE_FDT_INTRFACE_CNT                          = 0                                    |                                                                                       |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                          IDR                                          |                                          EGQ                                          |

|                                                                                       |                                                                                       |

|  MMU_IDR_PACKET_COUNTER                        = 10,659,302                           |  FQP_PACKET_COUNTER                            = 606                                  |

|  IDR_OCB_INTERFACE_COUNTER                     = 0                                    |  PQP_UNICAST_PKT_CNT                           = 606                                  |

|                                                                                       |  PQP_DSCRD_UC_PKT_CNT                          = 0                                    |

|                                                                                       |  PQP_UC_BYTES_CNT                              = 48,408                               |

+-------------------------------------------+-------------------------------------------|  PQP_MC_PKT_CNT                                = 0                                    |

|                                          IQM                                          |  PQP_DSCRD_MC_PKT_CNT                          = 0                                    |

|                                                                                       |  PQP_MC_BYTES_CNT                              = 0                                    |

|  ENQUEUE_PKT_CNT                               = 1,403,078                            |  EHP_UNICAST_PKT_CNT                           = 606                                  |

|  DEQUEUE_PKT_CNT                               = 1,403,078                            |  EHP_MC_HIGH_PKT_CNT                           = 0                                    |

|  DELETED_PKT_CNT                               = 0                                    |  EHP_MC_LOW_PKT_CNT                            = 0                                    |

|  ENQ_DISCARDED_PACKET_COUNTER                  = 9,256,829                            |  DELETED_PKT_CNT                               = 0                                    |

|   Rejects: PORT_AND_PG_STATUS                                                         |                                                                                       |

|                                                                                       |  RQP_PKT_CNT                                   = 606                                  |

|                                                                                       |  RQP_DSCRD_PKT_CNT                             = 0                                    |

|                                                                                       |  PRP_PKT_DSCRD_TDM_CNT                         = 0                                    |

|                                                                                       |  PRP_SOP_DSCRD_UC_CNT                          = 0                                    |

|                                                                                       |  PRP_SOP_DSCRD_MC_CNT                          = 0                                    |

|                                                                                       |  PRP_SOP_DSCRD_TDM_CNT                         = 0                                    |

|                                                                                       |  EHP_MC_HIGH_DSCRD_CNT                         = 0                                    |

|                                                                                       |  EHP_MC_LOW_DSCRD_CNT                          = 0                                    |

|                                                                                       |  ERPP_LAG_PRUNING_DSCRD_CNT                    = 0                                    |

|                                                                                       |  ERPP_PMF_DISCARDS_CNT                         = 0                                    |

|                                                                                       |  ERPP_VLAN_MBR_DSCRD_CNT                       = 0                                    |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                                                                       |                                          FDA                                          |

|                                                                                       |  CELLS_IN_CNT_P1         = 0              |  CELLS_OUT_CNT_P1        = 0              |

|                                                                                       |  CELLS_IN_CNT_P2         = 0              |  CELLS_OUT_CNT_P2        = 0              |

+-------------------------------------------+-------------------------------------------|  CELLS_IN_CNT_P3         = 0              |  CELLS_OUT_CNT_P3        = 0              |

|                                          IPT                                          |  CELLS_IN_TDM_CNT        = 0              |  CELLS_OUT_TDM_CNT       = 0              |

|                                                                                       |  CELLS_IN_MESHMC_CNT     = 0              |  CELLS_OUT_MESHMC_CNT    = 0              |

|  EGQ_PKT_CNT                                   = 606                                 --> CELLS_IN_IPT_CNT        = 606            |  CELLS_OUT_IPT_CNT       = 606            |

|  ENQ_PKT_CNT                                   = 1,403,084                            |  EGQ_DROP_CNT                                  = 0                                    |

|  FDT_PKT_CNT                                   = 1,402,472                            |  EGQ_MESHMC_DROP_CNT                           = 0                                    |

|  CRC_ERROR_CNT                                 = 0                                    |  EGQ_TDM_OVF_DROP_CNT                          = 0                                    |

|  CFG_EVENT_CNT                                 = 606 *                                |                                                                                       |

|  CFG_BYTE_CNT                                  = 48,408                               |                                                                                       |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                          FDT                                          |                                          FDR                                          |

|  IPT_DESC_CELL_COUNTER                         = 5,609,892                            |  P1_CELL_IN_CNT                                = 0                                    |

|  IRE_DESC_CELL_COUNTER                         = 0                                    |  P2_CELL_IN_CNT                                = 0                                    |

|                                                                                       |  P3_CELL_IN_CNT                                = 0                                    |

|  TRANSMITTED_DATA_CELLS_COUNTER                = 5,609,892                            |  CELL_IN_CNT_TOTAL                             = 0                                    |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                                                      /|\

|            J E R I C H O   F A B R I C   I N T E R F A C E            |

\|/                                                                      |

0より大きいQUEUE_DELETED_PACKET_COUNTERは、パケットがIQM(Ingress Queueing Manager)によって削除されたことを示します。これは、アクティブなキューがクレジットを受け取っていないため、スケジューリング方式の設定ミスを示唆します。これはbcm-shell mod X "getReg IQM_QUEUE_DELETED_PACKET_COUNTER"で確認できます

ENQ_DISCARDED_PACKET_COUNTERは、エンキュー前にパケットが廃棄されたことを意味します。このカウンタはBCMでも設定されています（読み取り時にコマンドがクリアされます）。

show hardware internal errors module X(コマンドが読み取り時にクリアートされる)を使用すると、常に次のことがわかります。

ステップ3：入力廃棄が発生している前面パネルポートが属するASICとJericoポートを見つけます。

この例では、Eth1/33を表示しています。実際のネットワークでは、輻輳した出力ポートを認識していません。

ステップ4：入力ポートのVOQおよびVOQコネクタについて理解します。

このコマンドは、特定のポートの入力VoQのフローの詳細を表示します。また、VoQの現在の信用残高も示します。

ポートのVOQは次のように生成されます。

LCは0ベース：モジュール1は0、モジュール2は1など

LCごとに256のシステムポートIDがあります

ID = （LC *システムポートID） + FP番号

Eth1/9 = (0 * 256) + 9 = 9

VOQ ID = 32 +（システムポートID * 8）

Eth1/9 = 32 + (9 * 8) = 104

したがって、Eth1/9のVOQは、以前に収集した出力と一致する104になります

ステップ5:BCMの観点から確認します。キューは特に空ではありません。つまり、輻輳です。

ステップ6：空でない[Queue]値から出力輻輳ポートを見つけます。

キューが303の場合、これらのキューは実際には範囲であるため、303 + 7または303-7になります。問題は、296-303または303-310の範囲で一致するVOQがあるポートはどれですか。

Eth1/9のキュー7が輻輳していることがわかっているため、実際には303が範囲の中で最も高いため、296 ～ 303の範囲は十分に知識のある推測です。

ASIC 0についても同じ内容を表示します。簡略化のためにはここでは示しません。Voq列の下に、対象の範囲がそのASICに含まれていないことがわかります

上記の出力には、いくつかの点があります。

- 出力輻輳ポートはASIC 1にあります。

- 出力輻輳ポートのVOQは296で、303はそのポートのキュー7に相当します。

- [Credit Balance]列に注目してください。このインターフェイスには付与するクレジットが非常に少ないため、入力Eth1/9がバッファリングを開始します。

ステップ7：前の検出結果に基づいて、ASIC 1にある前面パネルポートとJerichoポート9にマッピングを確認します。

この時点で、出力の輻輳ポートが見つかりました。ネットワークに誤ってバーストしているかどうかや、SPANを設定し、宛先ポートが1Gで、1つ以上の10Gインターフェイスを発信しているか、ボトルネックや設計の問題かどうかを確認します。

追加コマンド

これらは、より高度です。通常のシナリオでは、Egress Congestedポートを検出する必要はありません。

attach module X

show hardware internal jer-usd tm_debug asic <slot> module <module>

show hardware internal jer-usd info voq [ asic <instance> ] [ port <port> ] [ ]

show hardware internal jer-usd info non-empty voq asic [ <instance> ] [ ]

show hardware internal jer-usd info voq-profile { QueueThreshold drop_p <dp> | OCBThreshold } [ asic <instance> ] [ port<port> ] [ ]

show hardware internal jer-usd info voq-connector front-port <port> [ ]

show hardware internal jer-usd stats vsq { front-port <port> | inband asic <slot> | recycle-port <port> asic <slot> }

show hardware internal jer-usd ingress-vsq buffer-occupancy front-port <port>

show hardware internal jer-usd info IQM { counter | rate } asic <instance> dst-port <port> [ interval <int> ] [ ]

show hardware internal jer-usd info SCH { counter | rate } asic <instance> dst-port <port> [ interval <int> ] [ ]

bcm-shell mod X

diag cosq print_flow_and_up dest_id=<flow_id>

diag cosq voq id=<voqid> detailed=1

diag cosq qpair e2e ps=<id>

cosq conn ing

cosq conn egr

dump IPS_CR_BAL_TABLE <voqID>

getReg IQM_QUEUE_MAXIMUM_OCCUPANCY_QUEUE_SIZE

追加のラボテスト：

ステップ1：複数の出力輻輳インターフェイスによる入力廃棄

トラフィックジェネレータが各サーバに2Gのトラフィックを送信する次のトポロジを考えます。

どのキューが空でないかを迅速にチェックします。4つがあることに注意してください。

これらのキューが属するインターフェイスを判別します。最初にASIC 0をチェックします（1つのインターフェイスでのみ示されます）。

他の3つのキュー値についても、同じプロセスを繰り返します。247、303、351。

ステップ2:SPANによる入力廃棄

Eth1/33をSPAN宛先ポートとして設定し、Eth1/9をRX方向のSPAN送信元ポートとして設定します

ステップ3：トラフィックヘアピンによる入力廃棄

Eth1/9が10.10.10.1/24にあるSRC 10.10.10.10およびDEST 192.168.10.10を使用してパケットを送信する – これはInput Discard（INPUT；入力廃棄）にはなりません。ただし、次のカウンタが表示されます。

Nexus-R# bcm-shell mod 1 "diag counters g"

| /|\

| J E R I C H O N E T W O R K I N T E R F A C E |

\|/ |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

_PACKET_COUNTER = 0 | DELETED_PKT_CNT = 12,027,201 |

| | Discards: INVALID_OTM SRC_EQUAL_DEST

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

ステップ4：宛先IPが不明のパケットを送信する。

SRC 10.10.10.10およびDEST 192.168.10.10を使用してパケットを送信します。ここで、Eth1/9は10.10.10.1/24に存在し、Eth1/33は172.16.0.1/30サブネットのL3ポートです。ドロップカウンタは発生せず、宛先が不明な場合でも入力廃棄はありません。

ステップ5：アクセス/トランクポートがSTPフォワーディングステートに移行する間の入力廃棄

Eth1/9が単なるワイドトランク（またはアクセスポート）である場合にパケットを送信する：ポートがSTPフォワーディングステートに移行する間、これはInput Discard（INPUT；入力廃棄）として登録されます。

Nexus-R(config)# int e1/9

Nexus-R(config-if)# switchport mode trunk

Nexus-R# bcm-shell mod 1 "diag counters g" | i i --|IQM|ENQ_DISCARD|Rejects

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

+-------------------------------------------+-------------------------------------------|  PQP_MC_PKT_CNT                                = 1,678,949                            |

|                                          IQM                                          |  PQP_DSCRD_MC_PKT_CNT                          = 11,369,033                           |

|  ENQ_DISCARDED_PACKET_COUNTER                  = 1,289,182                            |  DELETED_PKT_CNT                               = 11,369,081                           |

|   Rejects: QUEUE_NOT_VALID_STATUS                                                     |   Discards: SRC_EQUAL_DEST                                                            |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

Nexus-R# show span int e1/9

Vlan Role Sts Cost Prio.Nbr Type

---------------- ---- --- --------- -------- --------------------------------

VLAN0001 Desg BLK 2 128.9 P2p

VLAN0010 Desg BLK 2 128.9 P2p

<snip>

QUEUE_NOT_VALID_STATUSは、パケットプロセッサ(PP)によるドロップの決定またはパケットプロセッサ(PP)ブロックから受信した無効な宛先によるドロップです。

ステップ6:Eth1/9超過ラインレートによる入力廃棄

Eth1/9に10G+を送信すると、最初の場所でEth1/9を上限としているため、異なるタイプのドロップが発生します。それでもInput Discardとしてカウントされます。

bcm-shell.0> diag counters g

|                                                                      /|\

|           J E R I C H O   N E T W O R K   I N T E R F A C E           |

\|/                                                                      |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                                                                      NBI                                                                                      |

|  RX_TOTAL_BYTE_COUNTER                         = 53,913,106,009                       |  TX_TOTAL_BYTE_COUNTER                         = 1,164,231                            |

|  RX_TOTAL_PKT_COUNTER                          = 54,145,395                           |  TX_TOTAL_PKT_COUNTER                          = 17,029                               |

|  RX_TOTAL_DROPPED_EOPS                         = 0                                    |                                                                                       |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                          IRE                                          |                                         EPNI                                          |

|  CPU_PACKET_COUNTER                            = 17,010                               |                                                                                       |

|  NIF_PACKET_COUNTER                            = 54,145,476                           |  EPE_BYTES_COUNTER                             = 5,721,307                            |

|  OAMP_PACKET_COUNTER                           = 0                                    |  EPE_PKT_COUNTER                               = 50,703                               |

|  OLP_PACKET_COUNTER                            = 0                                    |  EPE_DSCRD_PKT_CNT                             = 0                                    |

|  RCY_PACKET_COUNTER                            = 16,837                               |                                                                                       |

|  IRE_FDT_INTRFACE_CNT                          = 0                                    |                                                                                       |

+-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+

|                                          IDR                                          |                                          EGQ                                          |

|                                                                                       |                                                                                       |

|  MMU_IDR_PACKET_COUNTER                        = 54,128,577                           |  FQP_PACKET_COUNTER                            = 50,703                               |

|  IDR_OCB_INTERFACE_COUNTER                     = 0                                    |  PQP_UNICAST_PKT_CNT                           = 50,683                               |

|                                                                                       |  PQP_DSCRD_UC_PKT_CNT                          = 0                                    |

|                                                                                       |  PQP_UC_BYTES_CNT                              = 5,216,716                            |

+-------------------------------------------+-------------------------------------------|  PQP_MC_PKT_CNT                                = 20                                   |

|                                          IQM                                          |  PQP_DSCRD_MC_PKT_CNT                          = 20                                   |

|                                                                                       |  PQP_MC_BYTES_CNT                              = 2,079                                |

|  ENQUEUE_PKT_CNT                               = 5,463,323                            |  EHP_UNICAST_PKT_CNT                           = 50,683                               |

|  DEQUEUE_PKT_CNT                               = 5,594,400                            |  EHP_MC_HIGH_PKT_CNT                           = 20                                   |

|  DELETED_PKT_CNT                               = 0                                    |  EHP_MC_LOW_PKT_CNT                            = 0                                    |

|  ENQ_DISCARDED_PACKET_COUNTER                  = 48,716,055                           |  DELETED_PKT_CNT                               = 40                                   |

|   Rejects: VOQ_MX_QSZ_STATUS                                                          |                                                              |

<snip>