netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH ethtool-next v2 00/14] Add JSON output to --module-info
@ 2025-01-29 13:15 Danielle Ratson
  2025-01-29 13:15 ` [PATCH ethtool-next v2 01/14] module_common: Add a new file to all the common code for all module types Danielle Ratson
                   ` (13 more replies)
  0 siblings, 14 replies; 17+ messages in thread
From: Danielle Ratson @ 2025-01-29 13:15 UTC (permalink / raw)
  To: netdev; +Cc: mkubecek, matt, daniel.zahka, amcohen, nbu-mlxsw, Danielle Ratson

Add JSON output for 'ethtool -m' / --module-info, following the
guideline below:

1. Fields with description, will have a separate description field.
2. Fields with units, will have a separate unit field.
3. ASCII fields will be presented as strings.
4. On/Off is rendered as true/false.
5. Yes/no is rendered as true/false.
6. Per-channel fields will be presented as array, when each element
   represents a channel.
7. Fields that hold version, will be split to major and minor sub
   fields.

This patchset suppose to extend [1] to cover all types of modules.

Patchset overview:
Patches #1-#6: Preparations.
Patches #7-#8: Add JSON output support for CMIS compliant modules.
Patches #9-#10: Add JSON output support for SFF8636 modules.
Patches #11-#13: Add JSON output support for SFF8079 and SFF8472 modules.
Patches #14: Add '-j' support to ethtool

[1] https://lore.kernel.org/all/20220704054114.22582-2-matt@traverse.com.au/

v2:
	* In rx_power JSON field, add a type field to let the user know
	  what type is printed in "value".
	* Use uint instead of hexa fields in JSON context.
	* Simplify sff8636_show_dom().
	* Use "false" in module_show_lane_status() instead of "None" in
	  JSON context.

Danielle Ratson (14):
  module_common: Add a new file to all the common code for all module
    types
  sff_common: Move sff_show_revision_compliance() to qsfp.c
  cmis: Change loop order in cmis_show_dom_chan_lvl_flags()
  qsfp: Reorder the channel-level flags list for SFF8636 module type
  qsfp: Refactor sff8636_show_dom() by moving code into separate
    functions
  module_common: Add helpers to support JSON printing for common value
    types
  cmis: Add JSON output handling to --module-info in CMIS modules
  cmis: Enable JSON output support in CMIS modules
  qsfp: Add JSON output handling to --module-info in SFF8636 modules
  qsfp: Enable JSON output support for SFF8636 modules
  sfpid: Add JSON output handling to --module-info in SFF8079 modules
  sfpdiag: Add JSON output handling to --module-info in SFF8472 modules
  ethtool: Enable JSON output support for SFF8079 and SFF8472 modules
  ethtool: Add '-j' support to ethtool

 Makefile.am             |   7 +-
 cmis.c                  | 499 +++++++++++-----------
 cmis.h                  |  62 ---
 ethtool.c               |  10 +-
 module-common.c         | 689 ++++++++++++++++++++++++++++++
 module-common.h         | 288 +++++++++++++
 netlink/module-eeprom.c |  26 +-
 qsfp.c                  | 909 +++++++++++++++++++++-------------------
 qsfp.h                  | 108 -----
 sff-common.c            | 353 ++++------------
 sff-common.h            | 119 ++----
 sfpdiag.c               |  54 ++-
 sfpid.c                 | 439 ++++++++++---------
 13 files changed, 2110 insertions(+), 1453 deletions(-)
 create mode 100644 module-common.c
 create mode 100644 module-common.h

-- 
2.47.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-01-30 13:03 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-29 13:15 [PATCH ethtool-next v2 00/14] Add JSON output to --module-info Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 01/14] module_common: Add a new file to all the common code for all module types Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 02/14] sff_common: Move sff_show_revision_compliance() to qsfp.c Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 03/14] cmis: Change loop order in cmis_show_dom_chan_lvl_flags() Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 04/14] qsfp: Reorder the channel-level flags list for SFF8636 module type Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 05/14] qsfp: Refactor sff8636_show_dom() by moving code into separate functions Danielle Ratson
2025-01-30 12:26   ` Vadim Fedorenko
2025-01-30 13:03     ` Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 06/14] module_common: Add helpers to support JSON printing for common value types Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 07/14] cmis: Add JSON output handling to --module-info in CMIS modules Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 08/14] cmis: Enable JSON output support " Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 09/14] qsfp: Add JSON output handling to --module-info in SFF8636 modules Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 10/14] qsfp: Enable JSON output support for " Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 11/14] sfpid: Add JSON output handling to --module-info in SFF8079 modules Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 12/14] sfpdiag: Add JSON output handling to --module-info in SFF8472 modules Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 13/14] ethtool: Enable JSON output support for SFF8079 and " Danielle Ratson
2025-01-29 13:15 ` [PATCH ethtool-next v2 14/14] ethtool: Add '-j' support to ethtool Danielle Ratson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).