目录

简介

本文档说明了路由器在show interface atm命令输出中增加忽略错误的条件。它还说明了如何对此问题进行故障排除。

当信元到达时,它首先存储在成帧器信元的先入先出(FIFO)中。 然后,它移到ATM分段和重组(SAR)信元缓冲区,并使用主机分组缓冲器跨外围组件互连(PCI)总线进行重组。数据包完成后,会通知主机驱动程序并处理它。虽然中止和超限表明在成帧和SAR芯片上分别没有接收FIFO缓冲区,但忽略的错误表明缺少数据包内存缓冲区。通常,当一个或多个相对较慢的输出接口保留分配给PA-A3的所有输入缓冲区时,会发生忽略错误。当CPU利用率非常高且没有任何可用周期来补充接口的数据包缓冲区接收环时,忽略的错误也会增加。

在具有PA-A3端口适配器的Cisco 7500系列路由器上捕获了show interface ATM命令的以下输出示例,也称为增强型ATM PA:

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

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于Cisco 7200和7500系列路由器。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

7200 系列路由器的数据包缓冲

在Cisco 7200系列路由器上,传输缓冲区源自其他端口适配器拥有的接收缓冲区。此设计也适用于7500系列路由器,当数据包在本地交换到同一通用接口处理器(VIP)上的另一个PA时。

Cisco IOS®软件限制每个接口的接收主机缓冲区数量。最初,当与具有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软件初始化时分配固定数量的缓冲区。新的缓冲不可能为这些池被创建在要求时。PA-A3被视为7200的高带宽端口适配器。安装模块时,请参阅Cisco 7200系列端口适配器硬件配置指南。

如果数据包在中断时无法完全处理,接口驱动程序会将数据包“合并”到公共池中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和接口驱动程序使用这些环来控制哪些缓冲区用于接收数据包并将数据包传输到介质。环实际上是许多类型的媒体控制器用来管理接收或等待传输的数据包的内存的一种常见控制结构。环本身是指向粒子的指针的循环链接列表。IOS代表介质控制器创建这些环,然后与接口驱动程序一起管理这些环。

每个界面有一个对环形:

这些环的大小由多种因素决定,有时还取决于用户配置。

在7200系列平台上,传输环数据包缓冲区来自交换数据包的始发接口的接收环,或来自公共池(如果数据包是由IOS发起)。它们从传输环中取消分配,并在负载数据传输后返回到其原始池。

VIP 的数据包缓冲

在Cisco 7500系列路由器上,传入数据包可以在VIP本地交换,也可以通过路由交换处理器(RSP)交换。 VIP在SRAM的PCI内存中将数据包存储在粒子中。PCI内存大小因VIP型号而异。例如,具有512 kB PCI内存的VIP可以支持单个PA-A3,该PA-A3具有少量虚电路(VC),这些虚电路偶尔会出现突发。PCI内存越多,PA-A3就能维持更长的数据包突发。有关详细信息,请参阅通用接口处理器配置指南。

被忽略错误的根本原因

忽略错误表示PA-A3正在用完接口主机数据包缓冲区。这些缓冲区显示在show buffers命令的输出中。

通常,当PA-A3馈送相对较慢的出口接口或VC时,会耗尽接口主机缓冲区。在此配置中,PA-A3可以通过接口速率不匹配使出口接口过载。由于速度较慢的出口接口无法像PA-A3将缓冲区取消排队到输出保持队列一样快速返回缓冲区,因此缓冲区返回的延迟会导致入口PA-A3耗尽输入缓冲区。出现此情况时,PA-A3忽略的计数器将递增。此问题在较旧的网络处理引擎(NPE)(如NPE-150)上更为明显。

换句话说,较慢的出口接口会减慢入口ATM接口的接收信用补充的速率。此数据包流打破了出站接口以缓冲区管理时间速率返回缓冲区的假设。

但是,即使有可用的主机缓冲区,忽略的计数器也会增加。当端口适配器的驱动程序开始限制一个或多个虚电路并停止接受新数据包时,此类错误会增加。此类丢弃的目的是防止一个“主动”虚电路分配过多的数据包缓冲区,并最终使其他虚电路失去缓冲资源。

使用show controllers atm命令确定限制条件是否处于活动状态。show controllers atm显示两个重要值:

在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时,会检查PA-A3接收的下一个数据包,以查看一个VC是否占用了太多的数据包缓冲区。如果是,PA-A3会丢弃此传入数据包,直到此违规VC保留的接收粒子总数低于其配额。默认情况下,为每条虚电路分配一个接收信用限制,该信用限制源自为64字节数据包或至少两个MTU大小的数据包支持高达10毫秒的突发。接收限制也被调整为支持来自发射侧的最大突发大小(MBS)值。使用show atm pvc命令查看计算值。

故障排除

在排除递增忽略的错误时,请在联系思科技术支持之前收集此信息:

解决方法

通过调整出口接口或VC或入口PA-A3接口上的值,可以解决忽略的错误。

此列表介绍出口接口的调整技术:

解决方案 1:调整接收限制(rx-limit)

Cisco Bug ID CSCdp96197(仅注册客户)引入了使用rx-limit命令调整接收环限制的功能。仅当问题是由一个或多个虚电路违反各自缓冲区分配而导致时,此技术才有效。

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 Bug ID CSCdt74722(仅限注册客户)增加了PA-A3可用于接收传入数据的主机缓冲区数量。其他主机缓冲区是静态分配。这意味着Cisco IOS软件不会根据添加或移除端口适配器执行任何动态恢复。

与PA-A3 ATM端口适配器的4096条VC相比,新一代ATM端口适配器PA-A6 ATM最多支持8191条VC。PA-A6 ATM端口适配器还提供PA-A3 ATM端口适配器的性能改进。PA-A6在使用NPE-400和NSE-1处理引擎的Cisco 7200系列路由器上使用128字节数据包大小提供线速性能。

注:Cisco 7500系列路由器当前不支持PA-A6 ATM端口适配器。目前Cisco 7600 FlexWAN上也不提供此功能。

此表为PA-A3和PA-A6 ATM端口适配器提供专用接口池中的默认粒子数。

网络处理或服务引擎 粒度 默认粒子(输入缓冲区值)
NPE-225及以下 512 1200
NPE-300和NSE-1 512 2400
NPE-400 512 4000
NPE-G1 512 4000

使用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/2 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/3 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 
ATM5/0 buffers, 512 bytes (total 1200, permanent 1200):
    0 in free list (0 min, 1200 max allowed)
    1200 hits, 1 misses

show buffers命令输出中,空闲列表中的0表示接口驱动程序保留了所有专用粒子池缓冲区。使用show interface输出中的数据包和丢弃计数器来衡量您的PA-A3或PA-A6是否具有足够的数据包内存。

相关信息