mbox series

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

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

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
  

Comments

Andrew Rybchenko May 31, 2022, 2:43 p.m. UTC | #1
On 5/26/22 10:32, Robin Zhang wrote:
> 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
> 

Series-acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

I've updated the patch series a bit to remove unused/undefined
functions from the first patch to move corresponding code to
subsequent patches.

Also I've added release notes. Please, take a look.

Applied to dpdk-next-net/main, thanks.