内容

概要

前提条件

背景説明

よくある原因

入力廃棄

LACP PDUの損失：

トラブルシューティング

解決方法

既知のバグ

参考

概要

このドキュメントでは、nexus 7000のポートチャネルでの入力廃棄をトラブルシューティングする方法について説明します。

前提条件

次の項目に関する知識があることが推奨されます。

Nexus 7000 シリーズ スイッチ

Fシリーズラインカード

Link Aggregation Control Protocol（LACP）

背景説明

F3ラインカードは、出力ではなく入力でパケットをキューイングし、すべての入力インターフェイスに仮想出力キュー(VOQ)を実装します。これにより、輻輳した出力ポートが他の出力ポートに向かうトラフィックに影響を与えなくなります。システムでVOQを幅広く使用することで、出力単位で最大スループットを確保できます。1つの出力ポートでの輻輳は、他の出力インターフェイス宛てのトラフィックには影響を与えません。これにより、輻輳が拡大するHead-of-Line Blocking(HOLB)が回避されます。

バーストモードでは、IBが枯渇した場合にPLでドロップが表示されます。メッシュ最適化モードでは、しきい値を超えたためにドロップがVQに移動します。メッシュ最適化により、HOLBドロップを回避

VOQは、クレジットされたトラフィックとクレジットされていないトラフィックの概念も使用します。ユニキャストトラフィックは、クレジットされたトラフィックとして分類されます。ブロードキャスト、マルチキャスト、および不明なユニキャストトラフィックは、クレジットされていないトラフィックとして分類されます。クレジットされていないトラフィックはVOQを使用せず、トラフィックは入力ではなく出力にキューイングされます。入力ポートにトラフィックを出力ポートに送信するクレジットがない場合、入力ポートはクレジットを取得するまでバッファします。入力ポートバッファが深くないため、入力ドロップが発生する可能性があります。

よくある原因

入力廃棄

- 入力廃棄の最も一般的な原因は、F2ラインカードの宛先ポートと、ラインレートを超えるSPANトラフィックを持つスイッチドポートアナライザ(SPAN)がある場合に発生します。最終的に、入力ポートはパケットをバッファリングし、入力廃棄を引き起こします。

注：F2E、F3、およびM3などの次世代I/Oモジュールは、SPAN宛先ポートのオーバーサブスクリプションシナリオによる不廃棄および入力ポートのHOLBの影響を受けません。これは、SPANのガイドラインと制限事項にも記載されています

- 不適切な設計（入力帯域幅が10G、出力帯域幅が1Gなど）により、F2ハードウェア制限（HOLブロッキング）がトリガーされます。

- 複数のポートからのトラフィックが同じインターフェイス（1Gから1Gまたは10Gから10Gのインターフェイス）から出力される場合、ラインレートを超えると、入力ポートで入力廃棄が発生する可能性があります。

- VLANの不一致により、入力廃棄が発生する可能性があります。show interface trunkコマンドを使用して、両方のスイッチが同じVLANを転送していることを確認します。

LACP PDUの損失：

隣接ルータからLACP PDUを受信しない場合、ポートチャネルは一時停止されます。ラインカードは出力ではなく入力でパケットをキューイングし、入力廃棄は輻輳のために入力キューで廃棄されたパケットの数を示します。

- ポートロジック(PL)は、決定エンジンの前のバッファであり、前面パネルポートの後にあります。入力側のPort Logic（LTL；ポートロジック）での輻輳やフロー制御によって、LACP PDUの処理が妨げられるか、遅延して、インターフェイスが中断されます。VLは高優先度の仮想レーンです。輻輳したポートからの優先度の高いVL 5トラフィックがヘッドオブラインブロッキングのシナリオがある場合、VL 5のPLにバックプレッシャが発生し、LACP PDUのドロップが発生する可能性があります。

トラブルシューティング

‘show module’

Mod  Ports  Module-Type                         Model              Status

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

5    0      Supervisor Module-2                 N7K-SUP2E          active *

6    0      Supervisor Module-2                 N7K-SUP2E          ha-standby

7    6      100 Gbps Ethernet Module            N7K-F306CK-25      ok

8    12     10/40 Gbps Ethernet Module          N7K-F312FQ-25      ok

この例では、出力インターフェイス8/6の輻輳により、ポートチャネル10（7/1、7/2および7/5）およびポートチャネル20（7/3、7/4および7,6）での入力廃棄が発生しています。これらの廃棄はHOLブロッキングが原因です。

`show port-channel summary`

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

Group Port-       Type     Protocol  Member Ports

Channel

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

10    Po10(RU)    Eth      LACP      Eth7/1(P)    Eth7/2(P)    Eth7/5(P)

20    Po20(RU)    Eth      LACP      Eth7/3(P)    Eth7/4(P)    Eth7/6(P)

switch# show interface counter errors

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

Port         InDiscards

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

Eth7/1        253323164

Eth7/2        253682395

Eth7/3         66785160               >>>>> input discards on interfaces 7/1-6 are incrementing continuously. These interfaces belong to Po10 and Po20 which eventually goes into suspended state with reason “no LACP PDUs received”

Eth7/4         64770521

Eth7/5        258650104

Eth7/6         66533418

Eth8/6                0

Po10          765655663

Po20          198089099

輻輳ポートを判別するには、次の手順を実行します。

VQIでは、ゼロ以外のカウンタは常に移動中でした。輻輳したポートでは、通常、カウンタは常に高い状態を維持します

.

switch# attach mod 7

Attaching to module 7 ...

To exit type 'exit', to abort type '$.'

module-7# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"

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

| VOQ Status for Queue Driver

| ports 1-48

VQI:CCOS INST0 INST1 INST2 INST3 INST4 INST5

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

0:0      0     0     0     0     0     0

0:1      0     0     0     0     0     0

145:6      0     0     0     0     0     0

145:7      0     0     0     0     0     0

146:0      0     0     0     0     0     0

146:1    14d   130   533   79b   258   447

146:2      5    44     7    12    1a     2

146:3   2325  2277  1ae8  1a39  27bc  1902

146:4      0     0     0     0     0     0

146:5      0     0     0     0     0     0

146:6      0     0     0     0     0     0

146:7      0     0     0     0     0     0

147:0      0     0     0     0     0     0

147:1      0     0     0     0     0     0

147:2      0     0     0     0     0     0

147:3      0     0     0     0     0     0

VQIは146です

VQI === 146にはゼロ以外のカウンタがあり、増加を続けています

16進数に変換：

switch# hex 146

0x92

switch#     show system internal ethpm info module | egrep -i vqi

LTL(0x36), VQI(0x42), LDI(0), IOD(0x14c)

LTL(0x37), VQI(0x43), LDI(0x1), IOD(0x14d)

LTL(0x38), VQI(0x44), LDI(0x2), IOD(0x14e)

LTL(0x39), VQI(0x45), LDI(0x3), IOD(0x14f)

LTL(0x72), VQI(0x8a), LDI(0xc), IOD(0x62)

LTL(0x76), VQI(0x8e), LDI(0x10), IOD(0x63)

LTL(0x7a), VQI(0x92), LDI(0x14), IOD(0xe6)    >>>>>>> VQI 0x92 maps to LTL 0x7a

LTL(0x7e), VQI(0x96), LDI(0x18), IOD(0xe7)

LTL(0x82), VQI(0x9a), LDI(0x1c), IOD(0xe8)

LTL(0x86), VQI(0x9e), LDI(0x20), IOD(0xe9)

pixmマッピングを使用してLTLを物理インタフェースに変換する

PIXMはLTLとFPOEのマッピングを管理し、スイッチを経由するハードウェア転送パスを構築します

switch# show system internal pixm info ltl 0x7a

Member info

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

Type            LTL

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

PHY_PORT       Eth8/6         >>>> congested egress interface.

LACP PDUがドロップされているかどうかを確認するには

LACP PDUは高い優先順位のトラフィックであるため、高い優先順位のVL 5トラフィックが輻輳ポートからヘッドオブラインブロッキングでない限り、LACP PDUが廃棄され、入力廃棄によりポートチャネルがダウンすることは想定されません。

高優先度のVL 5トラフィックがドロップされているかどうかを確認するには、コマンド「show hardware queuing drops ingress」を実行します。これにより、該当インターフェイスのVL 5のPLドロップが表示されます

switch#  show hardware queuing drops ingress

slot  7

=======

Device: Flanker Queue

PL drops:

SOURCE INTERFACE        VL       COUNT

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

Eth7/1                 5        24437734

Eth7/2                 5        24289997

Eth7/3                 5        24449567

Eth7/4                 5        26084373

Eth7/5                 5        27840523

Eth7/6                 5        21043740

該当するモジュールに対してコマンド「show hardware internal errors」を実行して、該当するインターフェイスのVL 5ドロップを確認します

switch# show hardware internal errors

`show hardware internal errors`

|------------------------------------------------------------------------|

| Device:Flanker Eth Mac Driver   Role:MAC                     Mod: 7    |

| Device Statistics Category :: ERROR

|------------------------------------------------------------------------|

5236   igr rx pl: cbl drops                          0000000000069679 8 -

5282   egr in pl: total rcvd pkts with drop          0000000001951540 8 -

indication from eb

5321   egr out pl: total pkts dropped due to cbl     0000000000034829 8 -

5477   igr PL: bpdu drops(vl5)                       0000000000004986 2 -          <<<<<<<<<<<

5480   igr PL: nde drops(vl0)                        0000000000098993 2 -

5485   igr PL: nde drops(vl5)                        0000000002291236 2 -          <<<<<<<<<<<

5496   igr PL: Q threshold drop bytecount (vl0)      0000000000344607 2 -

13453  [intr] IPL intr: parser truncated mlh error   0000000000002946 2 -

次のドロップカウンタが増加していることに注目してください

igr PL:bpdu drops(vl5)

igr PL:nde drops(vl5)

解決方法

この問題を解決するには、輻輳が発生していないことを確認します。輻輳が発生している場合は、出力輻輳ポートの帯域幅を増やすか、トラフィックを輻輳ポートに制限します。

既知のバグ

CSCvn97534 このバグにより、出力バッファロックアップが発生し、入力廃棄とポートチャネルフラップが発生します。

参考

Nexus 7000のトラブルシューティング：F2/F2e入力廃棄