Introduce a new telemetry command /ethdev/module_eeprom to show module EEPROM for each port. The format of module EEPROM information follows the SFF(Small Form Factor) Committee specifications.
Current the format support SFP(Small Formfactor Pluggable)/SFP+/ QSFP+(Quad Small Formfactor Pluggable)/QSFP28 with specs SFF-8079/ SFF-8472/SFF-8024/SFF-8636. Afther run the /ethdev/module_eeprom command, both primary application and telemetry client will show the module EEPROM information. For primary application, we keep the same format with Linux utility ethtool, refer to command 'ethtool -m' of ethtool v5.4. For telemetry client, we record the key value pairs of each item, then show them in telemetry client dictionary. Robin Zhang (5): ethdev: add telemetry command for module EEPROM ethdev: common utilities for different SFF specs ethdev: format module EEPROM for SFF-8079 ethdev: format module EEPROM for SFF-8472 ethdev: format module EEPROM for SFF-8636 lib/ethdev/ethdev_sff_telemetry.c | 135 ++++ lib/ethdev/ethdev_sff_telemetry.h | 42 ++ lib/ethdev/meson.build | 5 + lib/ethdev/rte_ethdev.c | 3 + lib/ethdev/sff_8079.c | 672 +++++++++++++++++++ lib/ethdev/sff_8472.c | 301 +++++++++ lib/ethdev/sff_8636.c | 1004 +++++++++++++++++++++++++++++ lib/ethdev/sff_8636.h | 592 +++++++++++++++++ lib/ethdev/sff_common.c | 414 ++++++++++++ lib/ethdev/sff_common.h | 191 ++++++ 10 files changed, 3359 insertions(+) create mode 100644 lib/ethdev/ethdev_sff_telemetry.c create mode 100644 lib/ethdev/ethdev_sff_telemetry.h create mode 100644 lib/ethdev/sff_8079.c create mode 100644 lib/ethdev/sff_8472.c create mode 100644 lib/ethdev/sff_8636.c create mode 100644 lib/ethdev/sff_8636.h create mode 100644 lib/ethdev/sff_common.c create mode 100644 lib/ethdev/sff_common.h -- 2.25.1