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, telemetry client will show the module EEPROM information. We keep the same information content compare with Linux utility ethtool, refer to command 'ethtool -m' of ethtool v5.4. v9: - Optimize code format and commit log v8: - refine code v7: - remove "#include <arpa/inet.h>" in lib/ethdev/sff_8472.c v6: - refine code v5: - fix CI robot compile fail issue v4: - remove all printf in primary application, only show information in tememetry client - refine codes v3: - split up codes into several patches for better reivew Robin Zhang (5): ethdev: add telemetry command for module EEPROM ethdev: add common code for different SFF specs ethdev: support SFF-8079 module information telemetry ethdev: support SFF-8472 module information telemetry ethdev: support SFF-8636 module information telemetry devtools/words-case.txt | 1 + lib/ethdev/meson.build | 5 + lib/ethdev/rte_ethdev.c | 3 + lib/ethdev/sff_8079.c | 401 +++++++++++++++++++ lib/ethdev/sff_8472.c | 280 ++++++++++++++ lib/ethdev/sff_8636.c | 764 +++++++++++++++++++++++++++++++++++++ lib/ethdev/sff_8636.h | 590 ++++++++++++++++++++++++++++ lib/ethdev/sff_common.c | 319 ++++++++++++++++ lib/ethdev/sff_common.h | 173 +++++++++ lib/ethdev/sff_telemetry.c | 150 ++++++++ lib/ethdev/sff_telemetry.h | 27 ++ 11 files changed, 2713 insertions(+) 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 create mode 100644 lib/ethdev/sff_telemetry.c create mode 100644 lib/ethdev/sff_telemetry.h -- 2.25.1