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,端口 errdisabledgbic-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 transceiverMod_Invphony身份不在列表中使用繞過方式,或改碼為列表內的 PN
invalid EEPROMchecksum errorCC_BASE/CC_EXT 錯誤重新計算(校驗和
speed and type not supportedunknown 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,即可