目录
[1. FPGA 和 FPD](#1. FPGA 和 FPD)
[2. FPD 镜像升级的背后逻辑](#2. FPD 镜像升级的背后逻辑)
[3. 升级以及排查命令](#3. 升级以及排查命令)
[FPD 升级步骤](#FPD 升级步骤)
1. FPGA 和 FPD
FPGA(Field-Programmable Gate Array)是一种存在于大多数路由器硬件组件上的可编程存储器设备。
在 Cisco IOS XR(及类似平台)环境中,FPD 是 Field-Programmable Device(现场可编程设备)的缩写。FPD 是指路由器和交换机线路卡上的独立硬件模块,它们承载固件镜像,且与主操作系统分离。通常包括:
-
FPGA(现场可编程门阵列):存在于共享端口适配器(SPA)、线路卡和接口处理器上,用于处理数据平面功能。
-
ROMMON(只读存储监控器)镜像:在主操作系统启动前初始化硬件模块。
-
风扇、电源和路由处理器上的设备:这些模块的固件更新可独立于机箱软件进行升级。
当软件镜像与 FPD 镜像不兼容时,可对 SIP 和 SPA 上 FPD 镜像的升级。
2. FPD 镜像升级的背后逻辑
FPD 镜像用于升级 FPD 上的软件。支持 SIP 和 SPA 的 Cisco IOS XR 软件镜像会在捆绑相应的 SIP 和 SPA FPD 镜像。
**然而,FPD 镜像不会被自动升级。**当升级 Cisco IOS XR 软件镜像时,如必要,须手动对运行在 SPA 或 SIP 上的 FPD 镜像执行升级操作。
FPD 版本必须与路由器上运行的 Cisco IOS XR 软件兼容;如果 FPD 版本与 Cisco IOS XR 软件之间存在不兼容,装有 FPGA 的设备在不解决不兼容问题前可能无法正常运行。SPA 上的 FPGA 不兼容并不一定影响 SPA 接口的正常运行;但 SIP 上的 FPD 不兼容会导致该 SIP 中所有 SPA 的所有接口均失效,直到不兼容问题得到解决。
- SIP(Shared Port Interface Processor)
- SPA(Shared Port Adapter)
以下情况下可能会引发升级问题:
- 更新 Cisco IOS XR 软件版本,尤其是大版本跨越时。
- 从运行不同 Cisco IOS XR 软件版本的系统中交换 SPA 或 SIP 时,交换硬件等。
- 插入新的 SPA 或 SIP 时,备件替换。
典型系统报错
java
升级 FPD
LC/0/1/CPU0:Dec 23 16:33:47.945 : spa_192_jacket_v2[203]: %PLATFORM-UPGRADE_FPD-4-DOWN_REV : spa fpga2 instance 0 is down-rev (V0.6), upgrade to (V1.0). Use the "upgrade hw-module fpd" CLI in admin mode.
降级 FPD
LC/0/1/CPU0:Dec 23 16:33:47.955 : spa_192_jacket_v2[203]: %PLATFORM-UPGRADE_FPD-4-UP_REV : spa fpga instance 1 is severely up-rev (V2.1), downgrade to (V1.6). Use the "upgrade hw-module fpd" CLI in admin mode.
3. 升级以及排查命令
FPD 升级步骤
java
1. show hw-module fpd //确定是否需要升级 FPD。如果 "Upg/Dng?"(升级/降级)列显示 "Yes",则表示需要执行升级或降级操作。
RP/0/0/CPU0:router# show hw-module fpd location all
===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/1/0 SPA-4XT3/E3 1.0 spa fpga 0 0.24 No
spa rommon 0 2.12 No
spa fpga2 0 1.0 No
spa fpga3 0 1.0 No
--------------------------------------------------------------------------------
0/1/1 SPA-4XCT3/DS0 0.253 spa fpga 1 2.1 No
spa rommon 1 2.12 No
spa fpga2 1 0.15 No
--------------------------------------------------------------------------------
0/3/0 SPA-2XOC48POS/RPR 1.0 spa fpga 0 1.0 No
--------------------------------------------------------------------------------
0/3/1 SPA-1XTENGE-XFP 3.2 spa fpga 1 1.7 No
--------------------------------------------------------------------------------
RP/0/0/CPU0:router# show hw-module fpd location 0/1/0
Sun Apr 18 10:51:33.776 DST
===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/1/0 SPA-1XTENGE-XFP 3.2 spa fpga1 0 1.09 No
--------------------------------------------------------------------------------
2. show fpd package //查看设备上的 FPD 版本要求
RP/0/0/CPU0:Router# admin show fpd package
Thu Jul 7 04:40:30.631 DST
=============================== ================================================
Field Programmable Device Package
================================================
SW Min Req Min Req
Card Type FPD Description Type Subtype Version SW Ver HW Vers
==================== ========================== ==== ======= =========== ======== =========
E3-OC12-ATM-4 CIS1 FPGA lc fpga2 40971.00 0.0 0.0
IOB FPGA lc fpga3 41091.00 0.0 0.0
SAF 0 FPGA lc fpga4 45586.00 0.0 0.0
CIS2 FPGA lc fpga1 40977.00 0.0 0.0
----------------------------------------------------------------------------------------------
E3-OC3-ATM-4 CIS1 FPGA lc fpga2 40971.00 0.0 0.0
IOB FPGA lc fpga3 41091.00 0.0 0.0
SAF 0 FPGA lc fpga4 45586.00 0.0 0.0
CIS2 FPGA lc fpga1 40977.00 0.0 0.0
----------------------------------------------------------------------------------------------
12000-ServEngCard TREX FPGA lc fpga2 162.45 0.0 0.0
TREX FPGA lc fpga1 0.41257 0.0 0.0
----------------------------------------------------------------------------------------------
12000-SIP HABANERO FPGA lc fpga2 240.03 0.0 0.0
JALAPENO FPGA lc fpga5 240.13 0.0 0.0
JALAPENO FPGA lc fpga5 240.13 0.0 0.0
JALAPENO FPGA lc fpga1 255.23 0.0 0.0
....
3. upgrade hw-module fpd //版本升级
RP/0/0/CPU0:Router# admin
RP/0/0/CPU0:router(admin)# upgrade hw-module fpd fpga2 location 0/3/1 reload
或
RP/0/RP0/CPU0:Router(admin)# upgrade hw-module fpd all force location 0/5/1 reload
% RELOAD WARNING:
- Option to automatically reload the target module after upgrade was
selected. This action will interrupt normal operation of the module.
- If necessary, ensure that appropriate actions have been taken to
redirect target module's traffic before starting the upgrade operation.
- Note that this reload option does not have effect on target module that
has been placed in administrative shutdown state. Modules in this state
will have to be placed back to a 'no shutdown' state manually after the
upgrade opration to make the changes to take effect.
Continue? [confirm] y <<<
Starting the upgrade/download of following FPD:
=========== ==== ======= ======= =========== =========
Current Upg/Dng
Location Type Subtype Upg/Dng Version Version
=========== ==== ======= ======= =========== =========
0/5/1 spa fpga upg 1.0 1.0
------------------------------------------------------
LC/0/5/CPU0:May 22 08:49:18.487 : lc_fpd_upgrade[183]: %PLATFORM-UPGRADE_FPD-6-START : Starting to upgrade fpga subtype image from 1.0 to 1.0 for for 2xOC48 POS/RPR HHSPA on location 0/5/1
LC/0/5/CPU0:May 22 08:49:20.055 : spa_192_jacket_v2[251]: %L2-SPA_FPD-6-UPDATE_START : SPA-2XOC48POS/RPR[1]: Starting update of FPD 'fpga' image
LC/0/5/CPU0:May 22 08:49:20.118 : spa_192_jacket_v2[251]: %L2-SPA_192-6-UPGRADE_FPGA : Writing FPD image to SPA bay 1 - attempt: 0
RP/0/0/CPU0:May 22 08:49:34.093 : invmgr[209]: %PLATFORM-INVMGR-6-NODE_STATE_CHANGE : Node: 0/8/CPU0, state: BRINGDOWN
LC/0/5/CPU0:May 22 08:49:51.542 : spa_192_jacket_v2[251]: %L2-SPA_FPD-6-UPDATE_PASSED : SPA-2XOC48POS/RPR[1]: Successfully updated FPD 'fpga' image
% LC/0/5/CPU0:May 22 08:49:51.546 : lc_fpd_upgrade[183]: %PLATFORM-UPGRADE_FPD-6-PASSED : Successfully upgrade fpga subtype image for for 2xOC48 POS/RPR HHSPA on location 0/5/1
Successfully upgraded 1 FPD for SPA-2XOC48POS/RPR on location 0/5/1
4. show hw-module fpd/show platform //验证
RP/0/0/CPU0:router# show platform
Node Type PLIM State Config State
-----------------------------------------------------------------------------
0/0/CPU0 L3LC Eng 5+ Jacket Card IOS-XR RUN PWR,NSHUT,MON
0/0/0 SPA SPA-2XOC48POS/R READY PWR,NSHUT
0/0/2 SPA SPA-8XFE-TX READY PWR,NSHUT
0/0/3 SPA SPA-4XCT3/DS0 READY PWR,NSHUT <<<
0/1/CPU0 L3LC Eng 3 OC48-POS IOS-XR RUN PWR,NSHUT,MON
0/2/CPU0 L3LC Eng 3 OC3-POS-16 IOS-XR RUN PWR,NSHUT,MON
0/3/CPU0 L3LC Eng 5 Jacket Card IOS-XR RUN PWR,NSHUT,MON
0/3/1 SPA SPA-OC192POS-XF READY PWR,NSHUT
0/7/CPU0 L3LC Eng 5 Jacket Card IOS-XR RUN PWR,NSHUT,MON
0/7/0 SPA SPA-10X1GE READY PWR,NSHUT
0/7/1 SPA SPA-1XTENGE-XFP READY PWR,NSHUT
0/8/CPU0 PRP N/A Card Present PWR,NSHUT,MON
0/9/CPU0 PRP(Active) N/A IOS-XR RUN PWR,NSHUT,MON
升级过程中注意事项
- 不可重启、热插拔相应板卡或者重启设备
- 不可 Ctrl-C 推出
故障排查命令
java
hw-module reset auto disable location 0/1/4 // FPD 升级故障,重置 SIP
show hw-module subslot error
show hw-module subslot status