Re: [PATCH ethtool-next 09/14] qsfp: Add JSON output handling to --module-info in SFF8636 modules
From: Petr Machata <petrm@nvidia.com>
Date: 2025-01-29 10:58:23
From: Petr Machata <petrm@nvidia.com>
Date: 2025-01-29 10:58:23
Danielle Ratson [off-list ref] writes:
From: Jakub Kicinski <kuba@kernel.org>quoted
On Sun, 26 Jan 2025 13:56:30 +0200 Danielle Ratson wrote:quoted
+ open_json_object("extended_identifier"); + print_int(PRINT_JSON, "value", "0x%02x", + map->page_00h[SFF8636_EXT_ID_OFFSET]);Hm, why hex here? Priority for JSON output is to make it easy to handle in code, rather than easy to read. Hex strings need extra manual decoding, no?I kept the same convention as in the regular output. And as agreed in Daniel's design those hex fields remain hex fields and are followed by a description field. Do you think otherwise?
Regular output is for human consumption, JSON is for machine consumption. IMHO it makes sense to reasonably diverge and use the "correct" JSON type where available, even if the human-readable output is different. So numbers should IMHO be numbers, true / false, yes / no, off / on etc. should probably be booleans, arrays should be arrays, etc.