mbox series

[v6,0/5] add telemetry command for show module EEPROM

Message ID 20220511021442.811950-1-robinx.zhang@intel.com (mailing list archive)
Headers
Series add telemetry command for show module EEPROM |

Message

Robin Zhang May 11, 2022, 2:14 a.m. UTC
  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.

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: 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 | 149 ++++++
 lib/ethdev/ethdev_sff_telemetry.h |  27 ++
 lib/ethdev/meson.build            |   5 +
 lib/ethdev/rte_ethdev.c           |   3 +
 lib/ethdev/sff_8079.c             | 406 ++++++++++++++++
 lib/ethdev/sff_8472.c             | 287 +++++++++++
 lib/ethdev/sff_8636.c             | 775 ++++++++++++++++++++++++++++++
 lib/ethdev/sff_8636.h             | 592 +++++++++++++++++++++++
 lib/ethdev/sff_common.c           | 326 +++++++++++++
 lib/ethdev/sff_common.h           | 174 +++++++
 10 files changed, 2744 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