インターフェースのパラメータを変更したり、光トランシーバーの情報を所得するのに便利なethtoolですが。2025/04/07版6.14でもCMIS formatを採用しているQSFP-DD/QSFP112に関する情報表示に誤りがありましたので、修正パッチを作りました(つくります)。

1)表示するlane数が違う

QSFP-DDはHOST側が8 lane、 QSFP112は4 laneの違いがありますが。光側のDDMのlane数は伝送モードによって異なります。400G DR4で運用している場合は両方とも4 laneのDDM情報が表示されるのが正しい。

CMISではbreakout等の複数の"media interface"が記述できます。しかし、今どの組み合わせで使われているかはトランシーバーは認識していないためにethtoolでもそれに応じて表示様式を変える事はできません。

  • media lane assignが1の時の"MediaLaneCount"

"cmis.c"

#define CMIS_CHANNELS_PER_BANK    8

cmis_show_dom
  cmis_show_dom_chan_lvl_monitors
    cmis_show_dom_chan_lvl_rx_power
      cmis_show_dom_chan_lvl_tx_bias_bank
      cmis_show_dom_chan_lvl_rx_power_bank
      cmis_show_dom_chan_lvl_tx_power_bank
      cmis_show_dom_chan_lvl_flag

for (i = 0; i < CMIS_CHANNELS_PER_BANK; i++)

 

  • (map->lower_memory,  88); MediaLaneCount(low 4 bit)

2)最新のSFF-8024に対応

2024/06/09発行の Rev 4.12対応。

"module-common.h"

#define  MODULE_ID_SFP_PLUS_CMIS                0x20
#define  MODULE_ID_LAST                MODULE_ID_SFP_PLUS_CMIS 

"netlink/module-eeprom.c" eeprom_parse()

case MODULE_ID_SFP_PLUS_CMIS:
  return cmis_show_all_nl(ctx);

 

module_show_identifier

case MODULE_ID_SFP_PLUS_CMIS:
  strncpy(id_description,
  "SFP+ and later with Common Management Interface Specification (CMIS)",
  SFF_MAX_DESC_LEN);
  break;

 

3) "-m hex on"有効化

"ethtool.c"

eeprom_dump_hex

Netlink interface

ethtoolはNetlink経由で情報の所得をします。

SONiC上のethtool

server等のCPU配下に直接network interfaceが管理されているLinuxのシステムではほぼ、上記Netlinkが使用できethtoolも問題なく動作します。イーサネットスイッチはnetwork interfaceがファブリックチップの配下にあるために状況が異なります。

オープンなNOSの代表格である、SONiCの場合。

SFF-8024 Table 4-1CMIS format module 抜粋
value module type lane count
0x1e QSFP+ 4
0x1f SFP-DD 2
0x20 SFP+ 1
0x21 OSFP-XD 16
0x22 ELSP  
0x23 CDFP(x4 PCIe) 4
0x24 CDFP(x8 PCIe) 8
0x25 CDFP(x16 PCIe) 16

 

SFF-8636 single lambdへの対応

QSFP28 100G DR/FR1/LR1/BE1は、一波長ですが4 lane分表示が行われます。これも修正したいところです。

この記事をシェア

Previous Article

April 18, 2025 • 1:04PM

Topics

トピックがありません。

From Our Blog