CodingBox ドキュメント

ベンダーフィールド:名称、OUI、PN、SN、日付コード

ベンダーブロックは、ホストが show interface transceiver で表示し、互換性ポリシーが照合する対象です。仕様はフィールドとその長さ、符号化方式を厳密に定めており、ホストはパディング、大文字小文字、余分なバイトに対して容赦がありません。このページは、そのルール、仕様ごとのバイト範囲、そして本来まったく問題ないモジュールがゴミとして読み取られてしまうよくある誤りをまとめています。

フィールド一覧

フィールドSFF-8472(SFP、A0h)SFF-8636(QSFP、ページ 00h)CMIS(ページ 00h)INF-8077i(XFP)形式
ベンダー名20–35148–163129–144148–163ASCII 16文字
ベンダー OUI37–39165–167145–147165–1673 バイト、IEEE 割り当て
ベンダー型番40–55168–183148–163168–183ASCII 16文字
ベンダーリビジョン56–59184–185164–165184–185ASCII 4/2/2/2文字
ベンダーシリアル番号68–83196–211166–181196–211ASCII 16文字
日付コード84–91212–219182–189212–219ASCII 8文字
CLEI コードページ 02h、バイト 129 のビット 4 が立っている場合190–199ASCII 10文字
ベンダー固有96–127(A0h)、A2h ユーザー EEPROM 128–247224–255、ページ 02h223–255、カスタムページ224–255自由

バイト単位のマップ:メモリマップ

符号化のルール

  • ASCII のみ、印字可能範囲 20h–7Eh。NUL(00h)不可、FFh 不可、制御文字不可。
  • 左詰めにし、フィールド全長までスペース(20h)で埋めます。10文字の型番の後ろには、ゼロ6個ではなくスペース6個が続きます。
  • ベンダー名 は、登録された製造元(またはブランド所有者)の名称です — ホストが比較する文字列で、通常は大文字小文字を区別します。
  • OUI は、名前フィールドにある企業の24ビット IEEE 組織識別子で、上位バイトから順に書かれます。00-00-00 は未指定を意味します。ホストがこれを確認することは稀ですが、 OUI と名前の不一致は、再コーディングされたモジュールを見分ける手軽な指紋になります。
  • リビジョン は自由形式です(A011.0 などがよくあります)。ない場合はスペースです。
  • シリアル番号 はベンダーごとに一意であるべきです。多くのベンダーは年/週と通し番号を埋め込んでおり、一部のホストはその構造を使って自社モジュールを識別します。
  • 日付コードYYMMDD の後にベンダーのロットコード2文字が続きます(ない場合はスペース)。240315 = 2024年3月15日。
  • CLEI(Common Language Equipment Identifier)は10文字の通信資産コードで、主に通信キャリア向けに販売されるモジュールに存在します。

ホストが照合する対象

ホストの挙動比較対象典型例
名前 + 型番の照合ベンダー名と型番を互換性テーブルと照合大半のエンタープライズスイッチ
型番の接頭辞/ファミリー型番の先頭の文字幅広い「対応ファミリー」リストを持つプラットフォーム
ベンダー固有の署名ベンダー領域にあるハッシュまたはマジック値。SN や他のフィールドから算出厳格な OEM ロック
SN パターンシリアル番号の構造一部の OEM、保証と真正性の確認向け
OUIIEEE 識別子稀;一部の NIC と NOS
何もしないチェックサムが有効なら何でも受け入れるオープンなスイッチ、非対応 SFP を許可する大半の NIC

どのプラットフォームが何を行い、どう対応すべきかは、 ベンダーロックサードパーティの光モジュールのテーマです。

よくある誤り

誤りホスト側の症状
スペースの代わりに NUL パディング名前が途切れる、または文字化けする、モジュールが非対応と判定される
フィールドが1バイト長すぎて次にはみ出すOUI または型番が壊れる、チェックサム不一致
参照と大文字小文字が異なる互換性テーブルで型番が一致しない
非 ASCII バイト(UTF-8、キリル文字)クエスチョンマークになる、または拒否される
日付コードの数字位置に文字が入っている表示エラー;拒否するホストもある
ベンダーブロックは変更したがチェックサムは変更していないモジュールが無効になる — チェックサムを参照
名前は変更したがベンダー固有の署名は残したまま厳格なプラットフォームでは依然として非対応
識別情報がコンプライアンスコードや波長と矛盾している速度または種別が非対応コンプライアンスコードを参照

ベンダー固有領域

仕様は、ベンダー領域をあえて未定義のままにしています。製造元はそこに、校正データのバックアップ、生産データ、コントローラーの設定、そして — ロックされたモジュールでは — 認証データを格納します。何も考えずに上書きすると、モジュールを文鎮化させたり、ロックチェックを壊したりしかねません。一致するシリアルを持たない参照モジュールからコピーしても、たいていはチェックに失敗します。ベンダーのレイアウトが分かっていない限り、これらは中身の分からないものとして扱ってください(EEPROM の再コーディング)。

CodingBox では

EEPROM editor は各ベンダーフィールドをテキストとして編集し、正確な長さまでスペースで埋め、非 ASCII の入力を拒否し、書き込み時にチェックサムを再計算します。code database は完全な識別情報を保存するため、動作確認済みのベンダーブロックを1ステップで適用できます。

各マップにおけるベンダーブロック:SFF-8472 A0h 20–91、SFF-8636 上位ページ 148–219、CMIS ページ 00h 129–199、XFP テーブル 01h 148–219。

型番フィールドの背後にあるベンダーごとの文法 — Cisco、Juniper、Arista、Huawei、HPE、Dell、Nvidia、Brocade、MikroTik など:OEM 型番


この記事に不正確な点や誤りを見つけた場合は、該当する箇所を選択して Ctrl+Enter を押すと、できます。