各 NOS 如何校验模块 · 光模块兼容性 · 网卡与交换机 · 文档 · CodingBox
CodingBox 文档

各 NOS 如何校验模块

从"检测到模块"到"端口 up"之间,每种网络操作系统都会对模块身份做一次校验。校验的内容、比对失败时的处理方式,以及管理员能否绕过校验,因厂商、平台和版本而不同——这种差异正是光模块兼容性问题的全部内容。本页把各厂商文档记载和现场观察到的行为并列呈现,使台架上读出的模块信息可以对照目标设备来判断。

可以检查的内容

检查项涉及的字节谁在做
校验和 CC_BASE / CC_EXTSFP 63/95、QSFP 191/223、CMIS 222/255几乎所有平台——失败即为无效 EEPROM(校验和)
标识符/连接器/编码一致性SFP 0、2、11;QSFP 0、130、139大多数平台;未知类型会如实显示
合规代码与端口匹配SFP 3–10、36;QSFP 131–138、192;CMIS Applications大多数平台——speed and type not supported(合规代码)
厂商名称 + 部件号 与列表比对SFP 20–35、40–55;QSFP 148–163、168–183严格和半严格平台(部件编号)
厂商专有签名厂商区域(SFP 96–127、QSFP 224–255、CMIS custom)少数 OEM;与序列号绑定的哈希值
序列号格式/日期代码SFP 68–91;QSFP 196–219少见;由支持工程师人工查看
功率等级与端口匹配SFP 64;QSFP 129/107;CMIS 200–201所有实现了功耗管理的平台(功率与散热)

各厂商的行为

以下是近期版本中公开的命令和行为;细节因平台和版本而异。

厂商 / NOS检查内容失败后的表现绕过方式第三方模块的 DDM
Cisco IOS / IOS-XE(Catalyst、ISR)厂商/PN 列表和厂商专有检查;校验和%PHY-4-UNSUPPORTED_TRANSCEIVER,端口 errdisabled(gbic-invalid),激光器关闭service unsupported-transceiver(隐藏命令)+ no errdisable detect cause gbic-invalid;并非所有平台都支持;TAC 不提供支持接受后可显示;部分字段为空
Cisco NX-OS(Nexus)同上,多数数据中心平台上更宽松通常 up 并记录日志;严格的 SKU 会 errdisableservice unsupported-transceiver通常显示
Cisco IOS-XR按平台的光模块列表、功率等级unsupported 状态,端口可能保持 down有限;因平台而异部分支持
Arista EOS校验和、类型一致性记录 unsupported 日志;链路正常 up无需绕过完整
Juniper Junos厂商/PN 列表用于判定"supported"标签、校验和链路通常 up;show chassis pic 标记为 unsupported;部分 EX/QFX 平台对未知 PN 不提供 DDM 或限制速率无官方方式已知 PN 完整,未知 PN 部分支持
Huawei VRP厂商/PN;非华为模块 → 告警链路 up,但持续出现 phony 光模块告警;部分平台会限制transceiver phony-alarm-disable(系统视图)完整
H3C Comware与 VRP 相同告警transceiver phony-alarm-disable完整
HPE Aruba AOS-S / AOS-CX厂商/PN 列表unsupported,端口 downallow-unsupported-transceiver完整
Dell OS10 / OS9 / PowerConnect校验和;部分老设备有列表检查记录日志;老设备:errdisableservice unsupported-transceiver(老版本)完整
Extreme EXOS / VOSS校验和、类型记录日志,up—完整
Ruckus/Brocade ICX(FastIron)校验和;部分平台仅对 Brocade PN 提供光功率监测up;DDM 可能缺失—部分支持
Brocade FOS(SAN)大多数 Gen 5/6/7 平台要求 Brocade 品牌 PN 和序列号端口 Mod_Inv,未启用无仅限 Brocade 光模块
Nvidia/Mellanox(Onyx、Cumulus、IB)以太网:校验和、类型;InfiniBand:线缆信息由 fabric manager 校验以太网 up 并记录日志;IB 可能降速运行或标记—完整
SONiC / 白牌平台插件:校验和、CMIS 解析up;未知字段按原始值显示—完整(取决于插件)
MikroTik RouterOS / SwOS除解析外无其他检查up—完整
Ubiquiti除解析外无其他检查up—完整
服务器网卡(Intel、Broadcom、Mellanox)部分 Intel 系列有驱动白名单驱动拒绝启用端口allow_unsupported_sfp=1 模块参数(Intel ixgbe/i40e)通过 ethtool -m

厂商如果提供了绕过方式,通常是"按现状"提供的:模块可以工作,但厂商不承诺支持这种组合。是否在机队中使用,由网络负责人决定(第三方光模块)。

"改码为厂商 X"需要满足什么

平台类别被接受的最低要求还建议做到
宽松型(Arista、SONiC、MikroTik、Extreme…)校验和有效、类型代码一致使用真实厂商名称和 PN——改码为 OEM 并无收益
列表检查型(Juniper、Aruba、Huawei/H3C,以及多数 NX-OS SKU)厂商名称和 PN 与平台列表完全一致,端口的合规代码正确匹配的 PN 后缀/等级;合理的序列号和日期代码
签名检查型(Cisco IOS/IOS-XE,部分 XR)以上全部要求,加上针对该序列号计算出的厂商专有区域身份字段与 PN 一致(波长、传输距离、技术类型)
仅认品牌型(Brocade FOS)Brocade 厂商字符串和 PN 系列、序列号格式—

台架端的具体做法:厂商锁定与改码、EEPROM 改码。

解读拒绝信息

日志/状态文本含义下一步
unsupported transceiver、Mod_Inv、phony身份不在列表中使用绕过方式,或改码为列表内的 PN
invalid EEPROM、checksum errorCC_BASE/CC_EXT 错误重新计算(校验和)
speed and type not supported、unknown media type合规代码与端口不匹配修正代码,或使用其他端口模式(速率)
power class exceeds,卡在 LowPwr功率等级与笼子不匹配功率与散热
Module not ready,DP 状态卡住CMIS 启动过程CMIS 问题

各 NOS 下查看这些状态的命令:在交换机上验证光模块。

软件升级带来的变化

厂商在版本之间收紧或放宽检查:新的签名校验、新的支持光模块列表、被移除的隐藏命令、变化的 DDM 处理方式。昨天还能正常工作的一批第三方或改码光模块,升级后可能变成 errdisabled(兼容性矩阵与固件)。

在 CodingBox 中

CodingBox 会显示上述每项检查所读取的确切字节——厂商名称、PN、校验和、合规代码、功率等级——Code database 中保存着某个平台类别可以接受的身份信息。改码后要在测试端口上验证;最终结论由交换机而不是台架给出(Check transceiver)。

服务器侧的对应内容——各网卡厂商的驱动白名单、Intel 绕过方式、Windows 和 ESXi 的行为:网卡上的光模块兼容性。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。