400Gとの混在環境を見据えて、100G DR/FR/LR1のsigle LANE QSFP28を最近はお勧めしています。しかし、100G SR4/LR4しか知らない機器での運用にはいくつか注意点があります。
知らない対応コードを認識した時、そのインターフェースを無効にしてしまう機器ではそもそも利用できません。多くの機器は「不明」としながらも利用は可能です。
4 lane分表示されますが、1laneしか正しい値を示しません。
SONiC sff8436.py/dom_channel_monitor_valuesをみると4ch表示しか対応していない。
Encoding: Unknown Extended Identifier: Unknown ChannelMonitorValues: RX1Power: -22.1467dBm TX1Bias: 38.016mA TX2Bias: 0.0mA TX3Bias: 0.0mA TX4Bias: 0.0mA
伝送モードとしてはFECが必要なのですがその形式が100G SR4/CWDM4とは異なるためにスイッチ側はFEC無しで出してトランシーバー内部のFEC機能を使います。つまり、"RS-FEC"等をスイッチで設定してしまうとlinkupしません。autoの時にどうなるか不定ですので明示的に"NO FEC"等の設定が必要です。
type codeもFECをどちらでやるかの違いで二つ定義されています。
[SONiC] $sudo config interface fec Ethernet48 none
仕様上はCMISもありえます。もし、CMIS仕様のQSFP28を従来機種に刺すと全く情報のフォーマットが異なるので仮に動作しての製品SN等を始め情報は正確に表示されません。
実際の製品ではsingle lambdaのQSFP28はSFF-8636を管理情報のフォーマットに採用しています。
トランシーバーの試験機でも対応していない場合があります。VeEX RXT1200/6200の場合はパケットベースのRFC2544試験やトラフィックジェネレータ―は機能しますが。bit列ベースのBER試験はSoftware version 05.00.0000ではサポートしていません。OFC2023の会場にて質問したところトランシーバー内蔵のFECを停止するI2Cのコマンド操作を追加してサポートする予定とのことでした。
Description of Module Capability | Rev | date | |
---|---|---|---|
01h | 100G AOC | ||
02h | 100GBASE-SR4 | ||
03h | 100GBASE-LR4 | ||
04h | 100GBASE-ER4 | ||
06h | 100G CWDM4 | ||
07h | 100G PSM4 | ||
25h | 100GBASE-DR (Clause 140), CAUI-4 (no FEC) | ||
26h | 100G-FR or 100GBASE-FR1, CAUI-4(no FEC) | 4.7 | |
27h | 100G-LR or 100GBASE-LR1, CAUI-4(no FEC) | 4.7 | 8-Jan-20 |
2Ah | 100GBASE-FR1(P802.3cu, Clause 140) | ||
2Bh | 100GBASE-LR1(P802.3cu, Clause 140) | ||
2Ch | 100G-LR1-20 MSA, CAUI-4 (no FEC on host interface) | 4.9 | |
2Dh | 100G-ER1-30 MSA, CAUI-4 (no FEC on host interface) | 4.9 | |
2Eh | 100G-ER1-40 MSA, CAUI-4 (no FEC on host interface) | 4.9 | 24-May-21 |
2Fh | 100G-LR1-20 MSA | ||
35h | 100G-ER1-30 MSA | ||
36h | 100G-ER1-40 MSA |
https://github.com/sonic-net/sonic-platform-common/blob/master/sonic_platform_base/sonic_sfp/sff8024.py