驻留在专用系统处理器模块上以及本地接口硬件上的多个处理器协同工作,确保通过ATM虚电路(VC)成功传输和接收数据包。 这些处理器通过发布消息来相互通信,以执行VC设置和拆卸、物理层统计收集和警报生成等功能。这些信息,称为情书或情书,由一个处理器写入一个内存块。接收处理器然后读取该消息。debug atm events命令的输出为此消息传送机制提供了一个窗口,例如PA-A3的以下输出。
Jun 17 12:48:50.631 BST: atmdx_mailbox_proc(ATM5/0/0): received report type 2 Jun 17 12:48:50.631 BST: atmdx_process_love_letter(ATM5/0/0): 2 VCs core statistics Jun 17 12:48:55.631 BST: atmdx_mailbox_proc(ATM5/0/0): received report type 3 Jun 17 12:48:55.631 BST: atmdx_process_love_letter(ATM5/0/0): 1 VCs aux statistics
本文档的目的是说明调试atm事件输出示例,以帮助区分指向运行问题的信息消息和消息。本文档还将回顾标准ATM接口软件架构。
注意:在发出debug命令之前,请参阅有关debug命令的重要信息。debug atm events命令可能会在生产路由器上打印大量中断性调试输出,具体取决于需要报告统计信息的VC数量以及VC相关事件的数量。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
所有ATM接口都使用由多个块组成的软件架构。在浏览这些软件块之前,我们首先需要了解Cisco IOS®软件驱动程序和路由器内的PCI总线架构。
驱动程序允许软件工程师实施一种称为硬件抽象的东西。它允许工程师创建在任何平台上运行的基本软件块集,然后使用驱动程序将此独立于平台的代码调整到特定平台,如7200系列或3600系列。
PA-A3支持PCI主机驱动程序,该驱动程序允许分段和重组(SAR)处理器与运行长度为7200/7400系列的外围组件互联(PCI)总线以及RSP平台上的通用接口处理器(VIP)进行接口。PCI总线用作VIP或网络处理引擎(NPE)/网络服务引擎(NSE)上端口适配器和主机内存之间的数据路径。 下图说明VIP2的架构和PCI总线的位置:
下表列出了PA-A3上的软件块:
软件块 | 功能 |
ATM核心 | 所有ATM接口都使用的独立于平台或PA的软件功能。例如,ATM核心处理OAM和ILMI管理。 |
平台驱动程序 | 与平台相关的软件功能,用于将通用ATM核心软件与PCI主机驱动程序软件“桥接”。ATM核心和PCI主机驱动程序通过网桥交换命令、状态更新和统计信息。平台ATM驱动程序还处理接收数据包转发、平台特定初始化功能和物理层统计信息,如show controller atm显示所示。 |
PCI主机驱动程序 | 为PA-A3上的SAR芯片提供PCI主机接口。执行以下几项关键功能:
|
主机接口 | 每个SAR硬件功能块的一部分。执行以下几项关键操作:
|
固件 | 在接收和发送SAR上为ATM处理器单元(APU)启动或启动代码以及优化的运行时映像。从PCI主机驱动程序下载。 |
在RSP/VIP平台上,平台驱动程序驻留在RSP系统映像和VIP系统映像中,而PCI主机驱动程序是VIP系统映像的一部分。在7200平台上,两个驱动程序都是系统映像的一部分。
特定于PA-A3的软件与VIP软件或其他支持平台的系统软件捆绑在一起。
如上所述,邮箱是Cisco IOS用于在两个CPU之间传输消息的消息模型的一部分。此过程通常如下:
驱动程序分配消息缓冲区。
情书或字母填充消息缓冲区。
接收处理器读取消息缓冲区。
当读取完命令缓冲区后,处理器会生成“消息完成”中断。
消息缓冲区将返回到空闲缓冲池。
现在,本文档将检查运行上表中所述Cisco IOS软件组件的处理器之间交换的两组消息。
PCI主机驱动程序收集每个数据包的每条虚电路统计信息。VIP平台驱动程序每秒通过爱情说明自动将这些统计信息中继到RSP平台驱动程序。show atm vc命令显示当前VC数据。VIP平台驱动程序每10秒将帧器统计信息中继到RSP。系统初始化时,会创建一个特殊后台进程,将VIP中的自主统计信息作为计划进程处理,而不是在中断级别处理,以最大限度地减少系统中断。
debug atm events命令可在VC相关事件(如设置和拆卸)上打印输出。
功能 | 描述 |
setupvc | 设置VC。与平台相关的驱动程序将请求传送到PCI主机驱动程序。 |
teardownvc | 拆除现有虚电路。与平台相关的驱动程序将请求中继到PCI主机驱动程序。 |
getvc_stats | 按需检索VC统计数据;仅支持单个VC请求。 |
qos_params_verify | 在设置VC之前验证QoS参数。 |
SAR内部由硬件功能块组成。ATM处理单元(APU)就是这样的块,APU是一个具有针对ATM特定扩展的定制逻辑的小型RISC。PCI主机驱动程序和运行ATM固件的APU通过消息邮箱进行通信。在任何给定时间,每个APU都使用一个未完成的命令来指示PA固件执行特定任务,例如VC设置。如果数据更改,固件每10秒将每VC和每PA统计数据中继到PCI主机驱动程序。
从debug atm event生成的以下输出显示了PCI主机驱动程序发送到固件的命令。固件仅返回确认以指示命令成功。调试输出中不显示这些确认。
7200-1.3(config)# int atm 6/0 7200-1.3(config-if)# pvc 1/100 7200-1.3(config-if-atm-vc)# vbr-nrt 45000 45000 7200-1.3# 17:07:43: atmdx_setup_vc(ATM6/0): vc:14 vpi:1 vci:100 state:2 config_status:0 17:07:43: atmdx_pas_vc_setup(ATM6/0): vcd 14, atm hdr 0x00100640, mtu 4482 17:07:43: VBR: pcr 96000, scr 96000, mbs 94 17:07:43: vc tx_limit=1600, rx_limit=480 17:07:43: Created 64-bit VC counterss 7200-1.3(config)# int atm 6/0 7200-1.3(config-if)# no pvc 1/100 7200-1.3(config-if)# 17:08:48: atmdx_teardown_vc(ATM6/0): idb state 4 vcd 14 state 4 17:08:48: atmdx_pas_teardown_vc(ATM6/0): vcd 14
现在,本文通过浏览2600和3600路由器系列的ATM(IMA)反向多路复用网络模块(NM)的软件架构应用上述信息。
IMA NM具有“主机”侧,用于指示处理器模块上的功能或内存,而“本地”侧用于指示网络模块本身上的功能或内存。主机端运行独立于平台和与平台相关的驱动程序。本地端执行主机驱动程序下载到NM板载CPU的固件。此映像处理物理层功能,包括对成帧器ASIC的控制、物理层统计信息的收集,以及环回和警报的生成。Cisco IOS驱动程序和NM固件通过邮件通信。
在本地端,NM IMA还运行IMA驱动程序,该驱动程序同样使用邮件邮箱与本地CPU通信。
主机端到本地端方向的消息主要用于配置。这些消息包括:
物理层E1/T1配置数据
IMA组配置
环回配置
调试配置
查询IMA组/链路状态
查询RFC 1406管理信息库(MIB)数据
查询IMA MIB数据
在本地端到主机端方向发送的消息用于传达线路状态变化和性能统计信息,包括:
物理层E1/T1状态更改
IMA组状态更改
IMA链路状态更改
环回状态更改
调试消息
RFC 1406 MIB数据的响应
IMA MIB数据的响应
以下输出示例说明了用于设置和拆卸VC的Love备注。我们关闭物理接口,但不关闭物理接口以强制拆除。请注意,“rs8234”是指NM上的SAR。
3640-1.1(config)# int atm2/ima2 3640-1.1(config-if)# pvc 1/1 3640-1.1(config-if-atm-vc)# shut 3640-1.1(config-if)# *Mar 1 00:17:20.323: Reserved bw for 1/1 Available bw = 6000 *Mar 1 00:17:20.323: rs8234_setup_vc(ATM2/IMA2): vc:4 vpi:1 vci:1 *Mar 1 00:17:20.323: rs8234_setup_vc_common() VCD=260 vp/vc=17/1 etype=0 *Mar 1 00:17:20.323: rs8234_setup_cos(ATM2/IMA2): vc:4 wred_name:- max_q:0 *Mar 1 00:17:20.327: Created 64-bit VC counters *Mar 1 00:17:20.327: rs8234_teardown_vc(ATM2/IMA2): vc:260 vpi:1 vci:1 *Mar 1 00:17:20.327: rs8234_teardown_vc proceeds (ATM2/IMA2): vc:260 vpi:1 vci:1 *Mar 1 00:17:20.327: Status and ptr is 400 Status Q is 1 *Mar 1 00:17:20.331: Resetting ATM2/IMA2 *Mar 1 00:17:20.331: rs8234_teardown_vc(ATM2/IMA2): vc:260 vpi:1 vci:1 *Mar 1 00:17:20.331: rs8234_teardown_vc proceeds (ATM2/IMA2): vc:260 vpi:1 vci:1 *Mar 1 00:17:20.331: Remove link with ports 8,links 4,channel 1 *Mar 1 00:17:22.327: %LINK-5-CHANGED: Interface ATM2/IMA2, changed state to administratively down 3640-1.1(config-if)# no shut 3640-1.1(config-if)# *Mar 1 00:17:31.287: Resetting ATM2/IMA2 *Mar 1 00:17:31.287: IMA config_interface ATM2/IMA2 *Mar 1 00:17:31.287: IMA config_restart ATM2/IMA2 *Mar 1 00:17:31.287: IMA restarting 0 VCs *Mar 1 00:17:31.287: rs8234_setup_vc(ATM2/IMA2): vc:4 vpi:1 vci:1 *Mar 1 00:17:31.287: rs8234_setup_vc_common() VCD=260 vp/vc=17/1 etype=0 *Mar 1 00:17:31.287: rs8234_setup_cos(ATM2/IMA2): vc:4 wred_name:- max_q:0
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
15-Nov-2007 |
初始版本 |