简介
本文档介绍对象管理器组件及其在Catalyst 9000系列交换机上的功能。
先决条件
本文档没有任何特定的前提条件。
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下硬件版本:
- Catalyst 9200
- Catalyst 9300
- Catalyst 9400
- Catalyst 9500
- Catalyst 9600
- Cisco IOS XE 16及更高版本
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
对象管理器是在Cisco IOS XE中运行的软件进程。它负责将状态创建消息从活动路由复合体发送到系统上的所有转发复合体。这些状态创建消息包含要编程的对象,例如MAC地址、ARP条目或网络前缀。
需要考虑两种类型的对象管理器:
- 对象管理器(OM) — 在FMAN RP和FMAN FP之间运行。出于性能原因,此信道主要是无ACK模型,但出于同步目的存在一些例外。
- 异步对象管理器(AOM)- AOM有2个异步接口。一个北行至FMAN RP,另一个南行至FED。它接收来自FMAN RP的消息并将其发送到FED以便在硬件中创建。此模式确实包含ACK系统,以便硬件向软件发出状态创建成功的信号。
术语
期限
|
定义
|
RP复合体(路由处理器)
|
需要在堆栈和其他基础设施服务中的主用和备用交换机上运行的控制平面进程
|
FP复合体(转发处理器)
|
用于编程硬件的数据平面转发和数据路径软件进程
|
功能管理器RP(FMAN RP)
|
在活动路由处理器上运行的功能管理器
|
功能管理器FP(FMAN FP)
|
与FMAN RP通信并将状态下载到FED
|
转发引擎驱动程序(FED)
|
对Doppler或Silicon 1转发ASIC编程
|

故障排除
拥塞症状
从IOSd到FMAN-RP的状态创建不是常见的拥塞点。但是,在网络不稳定或变动率较高时,FMAN-RP和FMAN-FP之间的通信可能会受到影响。如果FMAN-FP无法成功编程硬件中的对象,我们希望看到来自FMAN-FP的系统日志消息。
%FMFP-3-OBJ_DWNLD_TO_DP_FAILED: F0/0: fman_fp_image: PREFIX 10.10.10.0/26 (Table id 4) download to DP failed
%FMFP -功能管理器FP
OBJ_DWNLOD_TO_DP_FAILED — 对象下载到数据平面失败
前缀10.10.10.0/26 — 前缀未成功下载到FED
(表ID 4) — 以数字表示的VRF ID
此FMAN-FP系统日志表明FED未成功编程。如果美联储因为某种原因出现规模问题,就会产生一条信息:
%FED_L3_ERRMSG-3-RSRC_ERR: F0/0: fed: Failed to allocate hardware resource for ecr entry due to hardware resource exhaustion - rc:3
如果看到此日志,请验证设备是否在扩展限制内,并确认没有单播/组播或其他协议变化。有关详细信息,请参阅了解Catalyst 9000上的IPv4硬件资源。
注意:如果观察到FMFP或FED的这些日志时,预计会看到转发问题到所讨论的对象类型(例如没有转发到失败的前缀)。
验证统计信息
确认当前对象管理器计数器以查看是否存在对象通信问题
Switch#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics
Object update: Pending-issue: 0, Pending-acknowledgement: 0 <--- No current pending objects
Batch begin: Pending-issue: 0, Pending-acknowledgement: 0
Batch end: Pending-issue: 0, Pending-acknowledgement: 0
Command: Pending-acknowledgement: 0
Total-objects: 1924
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Backplane-objects: 0
Error-objects: 0 <--- No current error objects
Number of bundles: 156
Paused-types: 0
注意:如果您的设备在独立模式下运行,并且不是stackwise堆栈或stackwise虚拟设置的一部分,则忽略命令的“switch active”部分
使用此命令可查看对象的类型以及等待的对象。这有助于确定哪些功能可能不稳定、过度更新或有问题。
Switch#show platform software object-manager switch active f0 object-type-count
Type Name Paused Actions Count Waiting
------------------------------------------------------------------------------
0 unknown 0 0
1 acl 6 0
7 acl-group-cg 0 0
8 acl-group-bind-lock 0 0
9 unknown 0 0
10 acl-reflect-group 0 0
11 sgacl global config 0 0
39 punt-interface 1 0
40 adj 7 0
41 adj-recv 1 0
42 adj-punt 1 0
52 illegal 1 0
53 mcast 1 0
54 dpidb 0 0
55 eos-choice 0 0
56 frr 0 0
57 frr primary path 0 0
58 label 0 0
59 label-entry 0 0
60 loadbalance 0 0
61 loadbalance-map 0 0
<...snip...>
如果错误对象或暂挂对象非零,请查看对象以确认其内容
Switch#show platform software object-manager switch active f0 pending-issue-update
Update identifier: 80177, Object identifier: 14934 <--- object ID
Description: adj 0x96, Flags Incomplete <--- object type (adjacency in this example)
Action: Delete, Pending seconds: 33 <--- action that failed
Number of retries: 0, Number of batch begin retries: 0, Number of nacked download retries: 0
相关信息