mbox

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

Message ID 20220526073215.428410-1-robinx.zhang@intel.com (mailing list archive)
Headers

Message

Robin Zhang May 26, 2022, 7:32 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.

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