各 NOS によるモジュール検証の仕組み
「モジュール検出」から「ポートアップ」までの間に、どのネットワーク OS もモジュールの識別情報に対する検証を実行します。何を比較するか、比較が失敗したときに何をするか、管理者がそれをオーバーライドできるかは、ベンダー、プラットフォーム、リリースによって異なります——そしてこの違いこそが、トランシーバー互換性というテーマそのものです。このページでは、ベンダーの文書と現場での観測に基づき、各社の挙動を並べて示します。これにより、ベンチで読み取ったモジュールを、対象のボックスに照らして判断できるようになります。
検証対象になりうる項目
| 検証項目 | 関係するバイト | 実施するプラットフォーム |
|---|---|---|
| チェックサム CC_BASE/CC_EXT | SFP 63/95、QSFP 191/223、CMIS 222/255 | ほぼすべてのプラットフォーム——失敗するとinvalid EEPROM(チェックサム) |
| 識別子/コネクター/エンコーディングの整合性 | SFP 0、2、11。QSFP 0、130、139 | 大半のプラットフォーム。不明なタイプはそのまま表示される |
| コンプライアンスコードとポートの整合性 | SFP 3–10、36。QSFP 131–138、192。CMIS の application | 大半のプラットフォーム——speed and type not supported(コンプライアンスコード) |
| ベンダー名 + 部品番号をリストと照合 | SFP 20–35、40–55。QSFP 148–163、168–183 | 厳格および準厳格なプラットフォーム(部品番号) |
| ベンダー固有の署名 | ベンダー領域(SFP 96–127、QSFP 224–255、CMIS カスタム領域) | 一部の 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、ポートがerrdisable(gbic-invalid)、レーザーオフ | service unsupported-transceiver(隠しコマンド)+ no errdisable detect cause gbic-invalid。全プラットフォーム対応ではない。TAC のサポート対象外 | 受け入れられれば表示される。一部フィールドは空白 |
| Cisco NX-OS(Nexus) | 上記と同様。多くの DC プラットフォームではより緩やか | ログを出しつつupになることが多い。厳格な SKU では errdisable | service unsupported-transceiver | 通常は表示される |
| Cisco IOS-XR | プラットフォームごとの光モジュールリスト、電力クラス | unsupported 状態。ポートがダウンのままのことがある | 限定的。プラットフォーム依存 | 部分的 |
| Arista EOS | チェックサム、タイプの整合性 | unsupported をログに記録。リンクはアップする | 不要 | 完全 |
| Juniper Junos | 「supported」ラベル用のベンダー/PN リスト、チェックサム | リンクは通常アップする。show chassis pic がunsupportedと表示する。一部の EX/QFX プラットフォームは未知の PN に対して DDM や速度を出さない | 公式なものはなし | 既知の PN では完全、未知の PN では部分的 |
| Huawei VRP | ベンダー/PN。Huawei 製でない場合 → アラーム | phony トランシーバーアラームを繰り返しながらリンクアップ。一部プラットフォームは制限あり | transceiver phony-alarm-disable(システムビュー) | 完全 |
| H3C Comware | VRP と同様 | アラーム | transceiver phony-alarm-disable | 完全 |
| HPE Aruba AOS-S/AOS-CX | ベンダー/PN リスト | unsupported、ポートダウン | allow-unsupported-transceiver | 完全 |
| Dell OS10/OS9/PowerConnect | チェックサム。旧機種の一部はリスト照合あり | ログ記録。旧機種では errdisable | service unsupported-transceiver(旧機種) | 完全 |
| Extreme EXOS/VOSS | チェックサム、タイプ | ログ記録、アップ | — | 完全 |
| Ruckus/Brocade ICX(FastIron) | チェックサム。一部機種では Brocade PN に対してのみ光学監視 | アップ。DDM が欠落することがある | — | 部分的 |
| Brocade FOS(SAN) | 大半の Gen 5/6/7 プラットフォームで Brocade ブランドの PN とシリアルが必須 | ポートがMod_Inv、有効化されない | なし | Brocade 製光モジュールのみ |
| Nvidia/Mellanox(Onyx、Cumulus、IB) | Ethernet:チェックサム、タイプ。InfiniBand:ファブリックマネージャーがケーブル情報を検証 | Ethernet はログを出しつつアップ。IB は速度低下または警告フラグのことがある | — | 完全 |
| SONiC/ホワイトボックス | プラットフォームプラグイン:チェックサム、CMIS の解析 | アップ。未知のフィールドは生の値で表示 | — | 完全(プラグイン依存) |
| MikroTik RouterOS/SwOS | 解析以上の検証なし | アップ | — | 完全 |
| Ubiquiti | 解析以上の検証なし | アップ | — | 完全 |
| サーバー NIC(Intel、Broadcom、Mellanox) | 一部の Intel ファミリーはドライバーのホワイトリスト | ドライバーがポートの起動を拒否する | allow_unsupported_sfp=1 モジュールパラメーター(Intel ixgbe/i40e) | ethtool -m 経由 |
ベンダーのオーバーライドが存在する場合、それは概して現状のまま提供されるものです——モジュールは動作しますが、ベンダーはその組み合わせのサポートを約束しません。フリートに関する判断はネットワークの管理者に委ねられます(サードパーティの光モジュール)。
「ベンダー X 向けにコーディングされた」が満たすべき条件
| プラットフォームクラス | 受け入れの最低条件 | 推奨される追加対応 |
|---|---|---|
| 許容的(Arista、SONiC、MikroTik、Extreme…) | 有効なチェックサム、整合性のあるタイプコード | 実際のベンダー名と PN——OEM コーディングをしても得るものはない |
| リスト照合型(Juniper、Aruba、Huawei/H3C、多くの SKU の NX-OS) | プラットフォームのリストと完全に一致するベンダー名と PN、ポートに正しいコンプライアンスコード | 一致する PN サフィックス/グレード。現実的なシリアルと日付コード |
| 署名照合型(Cisco IOS/IOS-XE、一部の XR) | 上記すべてに加え、そのシリアル用に算出されたベンダー固有領域 | PN と整合する識別情報フィールド(波長、伝送距離、技術方式) |
| ブランド限定型(Brocade FOS) | Brocade のベンダー文字列と PN ファミリー、シリアル形式 | — |
ベンチ側の作業の詳細:ベンダーロックとコーディング、 EEPROM のリコーディング。
拒否メッセージを読む
| ログ/ステータス文字列 | 意味 | 次の手順 |
|---|---|---|
unsupported transceiver、Mod_Inv、phony | 識別情報がリストにない | オーバーライドするか、リスト掲載の PN にコーディングする |
invalid EEPROM、checksum error | CC_BASE/CC_EXT が誤っている | 再計算する(チェックサム) |
speed and type not supported、unknown media type | コンプライアンスコードがポートに適合しない | コードを修正するか、別のポートモードを使う(速度とレート) |
power class exceeds、LowPwr で停止 | 電力クラスとケージの不整合 | 電力と熱 |
Module not ready、DP state の停滞 | CMIS の立ち上げ | CMIS の問題 |
これらの状態を確認する NOS ごとのコマンド:スイッチでの光モジュールの検証。
ソフトウェアアップグレードによる変化
ベンダーはリリース間で検証を厳しくしたり緩めたりします——新しい署名検証、新しいサポート対象光モジュールリスト、隠しコマンドの削除、DDM 処理の変更。昨日まで動いていたサードパーティ製やコーディング済みの光モジュールのフリートが、アップグレード後に errdisable になることがあります(互換性マトリクスとファームウェア)。
CodingBox では
CodingBox は、上記の各検証が読み取る正確なバイト——ベンダー名、PN、チェックサム、コンプライアンスコード、電力クラス——を表示し、code database には特定のプラットフォームクラスが受け入れる識別情報が保存されます。コーディング後は試験用ポートで確認してください——最終判断を下すのはベンチではなくスイッチです(Check transceiver)。
サーバー側に対応する内容——NIC ベンダーごとのドライバーホワイトリスト、Intel のオーバーライド、Windows と ESXi の挙動:NIC でのトランシーバー互換性。