Cisco インターフェイスとモジュール : Cisco ポート アダプタ

ATM ポート アダプタでの「ignored」エラーのトラブルシューティング

2002 年 9 月 12 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 6 月 5 日) | フィードバック

目次


概要

この文書では、ルータの show interface atm 出力で「ignored」エラーが増加する条件について説明します。さらに、この問題の解決方法も示します。

abort はフレーミングでの first-in first-out(FIFO)バッファの不足、overrun は segmentation and reassembly(SAR)チップでの FIFO バッファの不足を示します。一方、ignored エラーは、パケット メモリ バッファの不足を示します。ignored エラーは、一般的に、PA-A3 に割り当てられたすべての入力バッファが、1 つ以上の比較的低速な出力インターフェイスによって占有されると発生します。CPU の使用率が非常に高く、インターフェイスのパケット バッファ受信リングにデータを満たすためのサイクルがない場合にも、ignored エラーは増加します。

次に示す show interface ATM コマンドの出力例は、Enhanced ATM PA とも呼ばれる、PA-A3 ポート アダプタを装備した Cisco 7500 シリーズのルータでキャプチャしたものです。

router#show interface atm1/0/0
ATM1/0/0 is up, line protocol is up

      Hardware is cyBus ENHANCED ATM PA

  MTU 4470 bytes, sub MTU 4470, BW 44209 Kbit, DLY 190 usec,

  rely 255/255, load 1/255

  Encapsulation ATM, loopback not set, keepalive not set

  Encapsulation(s): AAL5 AAL3/4

  4096 maximum active VCs, 1 current VCCs

  VC idle disconnect time: 300 seconds

  Last input never, output 00:03:14, output hang never

  Last clearing of "show interface" counters never

  Queueing strategy: fifo

  Output queue 0/40, 0 drops; input queue 0/75, 0 drops

  5 minute input rate 0 bits/sec, 0 packets/sec

  5 minute output rate 0 bits/sec, 0 packets/sec

     588 packets input, 7430 bytes, 0 no buffer

     Received 0 broadcasts, 0 runts, 0 giants

     0 input errors, 0 CRC, 0 frame, 0 overrun, 45 ignored, 0 abort

     5 packets output, 560 bytes, 0 underruns

     0 output errors, 0 collisions, 0 interface resets

     0 output buffers copied, 0 interrupts, 0 failures

7200 シリーズのルータでのパケット バッファリング

Cisco 7200 シリーズのルータの場合、送信バッファは、他のポート アダプタが所有する受信バッファから確保されます。7500 シリーズのルータでも、同じ Versatile Interface Processor(VIP)にある別のポート アダプタにローカルでパケットを交換する場合に、この設計を使用しています。

Cisco IOS(R) ソフトウェアでは、インターフェイスごとに受信ホスト バッファの数が制限されます。1 MB の SRAM を搭載した NPE-150 と併用すると、初期状態では PA-A3 に 400 個のホスト バッファが割り当てられています。インターフェイスのホスト バッファの数を表示するには、show controller atm コマンドを使用します。

7200#show controller atm 3/0
Interface ATM3/0 is up

     Hardware is ENHANCED ATM PA - DS3 (45Mbps)

Lane client mac address is 0030.7b1e.9054

Framer is PMC PM7345 S/UNI-PDH, SAR is LSI ATMIZER II

Firmware rev: G119, Framer rev: 1, ATMIZER II rev: 3

  idb=0x61499630, ds=0x6149E9C0, vc=0x614BE940

  slot 3, unit 2, subunit 0, fci_type 0x005B, ticks 73495

  400 rx buffers: size=512, encap=64, trailer=28, magic=4

Curr Stats:

  rx_cell_lost=0, rx_no_buffer=0, rx_crc_10=0

  rx_cell_len=0, rx_no_vcd=0, rx_cell_throttle=0, tx_aci_err=0

 [output omitted]

7200 シリーズでは一般的に、パケットは I/O メモリ プールから割り当てられた専用パーティクル バッファに保存されます。専用パーティクル バッファは、バッファ リソースの競合を最小限に抑えます。専用プールは、スタティックであり、Cisco IOS ソフトウェアの初期化時に、固定数のバッファが割り当てられます。専用プールには、必要に応じて新しいバッファを作成できません。

割り込み時間内にパケットを完全に処理できない場合、インターフェイス ドライバによって、パブリック プールの DRAM 内の連続バッファを使用してパケットが「結合」され、パケットのプロセス交換が準備されます。

show buffers コマンドを発行すると、パブリック プールと専用プールの両方の情報が表示されます。

7200#show buffers

Buffer elements:

     499 in free list (500 max allowed)

     886005 hits, 0 misses, 0 created

[output omitted]

Private particle pools:

ATM2/0 buffers, 512 bytes (total 400, permanent 400):

    0 in free list (0 min, 400 max allowed)

     400 hits, 0 fallbacks

     400 max cache size, 0 in cache

     14 buffer threshold, 1 threshold transitions

パブリック インターフェイス プールと専用インターフェイス プールの他にも、Cisco IOS では、リングと呼ばれる特別のバッファ制御機構が I/O メモリに作成されます。IOS およびインターフェイス ドライバは、これらのリングを使用して、メディアとの間のパケット送受信に使用するバッファを制御します。リングは、実際には、各種のメディア コントローラに共通する制御機構であり、受信するパケットまたは送信待ちパケット用にメモリを管理します。 リング自体は、パーティクルへのポインタを示すリンクの循環リストです。Cisco IOS ソフトウェアでは、メディア コントローラの代わりにこれらのリングを作成し、インターフェイス ドライバと一緒に管理します。

各インターフェイスには、パケット受信用の受信リングとパケット送信用の送信リングのペアがあります。これらのリングのサイズは、いくつかの要因によって固定されます。ユーザ設定によって決められる場合もあります。

7200 シリーズのプラットフォームでは、交換パケットの発信側インターフェイスの受信リングから、またはパケットが IOS によって発信された場合はパブリック プールから、送信リングのパケット バッファが確保されます。ペイロード データの送信後、これらのパケット バッファは送信リングの割り当てを解除されて、元のプールへ戻されます。

VIP でのパケット バッファリング

7500 シリーズのルータの場合、VIP または Route Switch Processor(RSP; ルート スイッチ プロセッサ)を使用して、着信パケットをローカルで交換できます。VIP では、SRAM 内の Peripheral Component Interconnect(PCI; ペリフェラル コンポーネント相互接続)メモリへ、パケットがパーティクルとして保存されます。PCI のメモリ量は、VIP のモデルによって異なります。たとえば、512 KB の PCI メモリを搭載した VIP は、一時的にバーストする、いくつかの Virtual Circuit(VC; 仮想回線)に接続された PA-A3 を 1 つサポートできます。PCI メモリが増えると、PA-A3 が保持できるパケットのバーストが長くなります。詳細は、「Versatile Interface Processor」設定ガイドを参照してください。

ignored エラーの根本的な原因

簡潔に言うと、「ignored」エラーは、PA-A3 でインターフェイスのホスト パケット バッファが不足している状態を示します。これらのバッファは、show buffers コマンドの出力に表示されます。

一般に、比較的低速な出力インターフェイスや VC へ出力する際に、PA-A3 においてインターフェイスのホスト バッファが不足します。このような構成では、インターフェイス速度の違いだけが原因で出力インターフェイスの過負荷状態が発生することがあります。低速の出力インターフェイスは、PA-A3 が出力保持キューに送り出すのと同じ速度でバッファを返せません。このバッファの遅延が原因で、入力 PA-A3 において入力バッファが不足します。この状態が発生すると、PA-A3 の ignored カウンタが増加します。この問題は、NPE-150 のような旧型の Network Processing Engine(NPE; ネットワーク プロセッシング エンジン)でより顕著に現れます。

言い換えると、出力インターフェイスが低速であると、入力 ATM インターフェイスに受信データが満たされる速度が低下します。このパケット フローでは、発信インターフェイスはバッファ管理時間の速度でバッファを返すという前提が満たされません。

ただし、利用可能なホスト バッファがある場合でも、ignored カウントが増加することがあります。このようなエラーが増加するのは、ポート アダプタのドライバが 1 つ以上の VC を制限し始めて、新しいパケットの受け入れを停止したときです。このようなドロップの目的は、他の VC がバッファ リソース不足に陥らないように、1 つの「活動的な」VC が多数のパケット バッファを過剰に割り当てることを抑制することです。

show controllers atm コマンドを使用して、制限状態がアクティブであるかどうかを確認します。 show controllers atm コマンドによって、次の 2 つの重要な値が表示されます。

  • rx_ threshold:マイクロコードが VC 間の受信パーティクルの使用を制限し始めた後で、PA-A3 が保持できる最大の受信パーティクル数を定義します。
  • rx_count:PA-A3 ドライバが現在保持する受信パーティクルの数を定義します。

次の show controllers atm コマンド出力例では、rx_threshold と rx_count の値が等しくなっています。

 Control data:

  rx_max_spins=73, max_tx_count=35, tx_count=8

  rx_threshold=1600, rx_count=1600, tx_threshold=4608

  tx bfd write indx=0x349, rx_pool_info=0x609EE860  

rx_count の値が rx_threshold の値を超えると、1 つの VC が多数のパケット バッファを占有しすぎていないかどうかについて、次に PA-A3 で受信されたパケットがチェックされます。占有している場合、この違反した VC が保持する総受信パーティクル数が割り当て数よりも低くなるまで、PA-A3 はこの着信パケットを廃棄します。デフォルトでは、VC ごとに受信データ制限が割り当てられます。この制限は、64 バイトのパケットについて、最大 10 ms までのバーストをサポートするか、または少なくとも MTU サイズのパケットを 2 つまでサポートするように確保されます。また、受信制限は、送信側の Maximum Burst Size(MBS; 最大バースト サイズ)に相当するセルをサポートするサイズに設定されます。show atm pvc コマンドを使用して、計算された値を表示します。

トラブルシューティングの手順

ignored エラーの増加をトラブルシューティングする場合は、シスコの Technical Assistance Center(TAC)にご連絡いただく前に次の情報を収集してください。

  • ルータには、他にどんなインターフェイスがありますか。それらのインターフェイスは高速ですか、または低速ですか。
  • どんなネットワーク プロセッシング エンジンまたはネットワーク サービス デバイスを取り付けていますか。
  • インターフェイスのトラフィック パターンはどんなものですか。高速の ATM インターフェイスから低速の出力インターフェイスに出力していますか。
  • ignored カウンタが増加したときに、ルータに送られているトラフィック量(およびパケット数)はいくらですか。
  • ignored カウンタだけでなく、その他の入力エラー カウンタも増加していますか。
  • 対象のルータに、設定されているポート アダプタおよび機能をサポートするためのメモリが十分にあるかどうかを確認してください。次のコマンドを数回実行して、パターンを調べます。
    • show process cpu

    • show memory summary

回避策

ignored エラーを解決するには、出力インターフェイスか VC のどちらかで値を調整するか、または入力 PA-A3 インターフェイスで値を調整します。

次に、出力インターフェイスを調整する方法について説明します。

  • FIFO キューイングを、キューのサイズを制限して使用することで、出力インターフェイスが保持できるバッファ数を制限します。シリアル インターフェイスの使用方法については、次の例を参照してください。
  •  interface Serial1/0

  no fair-queue

  hold-queue x out  

デフォルトでは、出力保持キューは 40 に設定されています。 保持キューの数を増やした場合は、値を 40 に設定しなおしてください。ただし、デフォルトよりも低い値を設定することは避けてください。

  • 発信インターフェイスで送信リングのサイズを小さくするには、tx-ring-limit コマンドを使用します。
  • PA-A3 が出力 VC を供給する場合は、出力 VC のセル レートを上げます。
  • 出力トラフィック ポリシングを実装して、出力インターフェイスでのバッファリング量を減らします(ATM インターフェイスで入力トラフィック ポリシングを実装して、発信速度に合わせることもできます)。

Cisco IOS ソフトウェアの最新リリースでは、入力 PA-A3 インターフェイスで値を調整することで ignored エラーの増加を解決する、2 つの方法をサポートしています。

解決策 1:Receive Limit(rx-limit; 受信制限)の調整

Cisco バグ ID CSCdp96197 では、rx-limit コマンドによって受信リング制限を調整する機能が導入されています。 この技術が有効なのは、前述したように、1 つ以上の VC が、個々のバッファ割り当てに違反したことが原因で問題が発生した場合に限られます。

rx-limit コマンドを使用すると、特定の VC に割り当てられる総受信バッファのパーセントを指定できます。 rx-limit の値が大きいほど、入力論理インターフェイスとして機能している VC は、低速インターフェイスの出力キューまたは低速入力 VC の出力キューに、より多くのバッファを待機できます。

次の例に示すように、show atm vc <vcd> コマンド、または show atm pvc <vpi>/<vci> コマンドによって、設定を検証します。

7200#show atm pvc 1/100
    
     ATM1/0.1: VCD: 14, VPI: 1, VCI: 100
    
     UBR, PeakRate: 149760
    
     AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0
    
     OAM frequency: 0 second(s), OAM retry frequency: 1 second(s),
    
     OAM retry frequency: 1 second(s)
    
     OAM up retry count: 3, OAM down retry count: 5
    
     OAM Loopback status: OAM Disabled
    
     OAM VC state: Not Managed
    
     ILMI VC state: Not Managed
    
     Rx Limit: 25 percent
    
     InARP frequency: 15 minutes(s)
    
     Transmit priority 4
    
     InPkts: 0, OutPkts: 0, InBytes: 0, OutBytes: 0
    
     InPRoc: 0, OutPRoc: 0
    
     InFast: 0, OutFast: 0, InAS: 0, OutAS: 0
    
     InPktDrops: 0, OutPktDrops: 0
    
     CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0,
    
     LengthViolation: 0, CPIErrors: 0
    
     Out CLP=1 Pkts: 0
    
     OAM cells received: 0
    
     F5 InEndloop: 0, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0
    
     F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0
    
     OAM cells sent: 0
    
     F5 OutEndloop: 0, F5 OutSegloop: 0, F5 OutRDI: 0
    
     F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0
    
     OAM cell drops: 0
    
     Status: UP

解決策 2:より多くのホスト バッファを持つ NPE/NSE

7200 シリーズのルータに取り付けているネットワーク プロセッシング エンジンまたはネットワーク サービス エンジンに基づいて、PA-A3 に割り当てるホスト バッファの数を増やします。Cisco バグ ID CSCdt74722 では、PA-A3 が着信データの受信に利用できるホスト バッファの数を増やします。追加のホスト バッファは、スタティックに割り当てられます。つまり、Cisco IOS ソフトウェアでは、ポート アダプタの追加または削除による、ダイナミックな再分割は実行されません。

Cisco 7200 の場合、数多くの低速出力インターフェイスへの交換を処理すると、PA-A3 の入力バッファが枯渇することがあります。この解決方法により、より多くの I/O メモリが搭載されている最新の NPE では、PA-A3 バッファの数が増加します。

ネットワーク プロセッシングまたはサービス エンジン
更新された入力バッファ値
NPE-225 以下
現在の最大入力バッファ数である 1200 個
NPE-300 および NSE-1
2400 個の入力バッファ
NPE-400
5200 個の入力バッファ

show controller atm コマンドおよび show buffer コマンドを使用して、PA-A3 に割り当てられた受信バッファ数を表示します。

router#show controller atm 5/0

Interface ATM5/0 is up

Hardware is ENHANCED ATM PA - OC3 (155000Kbps)

Framer is PMC PM5346 S/UNI-155-LITE, SAR is LSI ATMIZER II

Firmware rev: G127, Framer rev: 0, ATMIZER II rev: 3

  idb=0x62948598, ds=0x6294FEA0, vc=0x6297F940

  slot 5, unit 2, subunit 0, fci_type 0x0056, ticks 120012

  1200 rx buffers: size=512, encap=64, trailer=28, magic=4

[output omitted]  
router# show buffer

[output omitted]

Private particle pools:

Serial4/0 buffers, 512 bytes (total 192, permanent 192):

     0 in free list (0 min, 192 max allowed)

     192 hits, 0 fallbacks

     192 max cache size, 128 in cache

     10 buffer threshold, 0 threshold transitions

Serial4/1 buffers, 512 bytes (total 192, permanent 192):

     0 in free list (0 min, 192 max allowed)

     192 hits, 0 fallbacks

     192 max cache size, 128 in cache

     10 buffer threshold, 0 threshold transitions

Serial4/1 buffers, 512 bytes (total 192, permanent 192):

     0 in free list (0 min, 192 max allowed)

     192 hits, 0 fallbacks

     192 max cache size, 128 in cache

     10 buffer threshold, 0 threshold transitions

Serial4/1 buffers, 512 bytes (total 192, permanent 192):

     0 in free list (0 min, 192 max allowed)

     192 hits, 0 fallbacks

     192 max cache size, 128 in cache

     10 buffer threshold, 0 threshold transitions

Serial4/0 buffers, 512 bytes (total 1200, permanent 1200):

     0 in free list (0 min, 192 max allowed)

    1200 hits, 1 misses

show buffers コマンド出力の中の 0 in free list という表示は、すべての専用パーティクル プール バッファがインターフェイス ドライバによって現在保持されていることを表します。 show interface コマンド出力のパケット カウンタとドロップ カウンタを使用して、PA-A3 に十分なパケット メモリがあるかどうかを判断します。

注:PA-A3 が 7200 シリーズで使用される場合、最適なパフォーマンスを確保するために、構成可能なインターフェイス パーティクル プールはサポートされません。PA-A3 では、ブートアップ中にパーティクルのプールが作成され、空きパーティクルへのアクセスには索引が使用されます。この効果的な「ハッシュテーブル アルゴリズム」設計により、パフォーマンスが向上します。さらに、システムの NPE に物理的に存在するプール パーティクルは、PA-A3 マイクロコードによってアクセスされます。マイクロコードによって、着信パケットがローカル メモリに保存されてから、ローカル パーティクルが NPE のパーティクルへ DMA 処理されます。マイクロコードでは、同じハッシングを使用して、これらのパーティクルに索引が付けられます。したがって、NPE でパーティクルが増えるにつれて、PA-A3 のマイクロコードが同数のローカル パーティクルを利用できるようにする必要があります。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 6143