Skip to content
jc-rs
GitHub

ethtool

--ethtoolv1.2.0

Converts `ethtool` command output to JSON

Linuxcommand
$ ethtool | jc-rs --ethtool

A real pair

From the reference corpus (generic/ethtool--default1.json). The left pane is the input the fixture ships; the right pane is the corpus's expected JSON. CI compares jc-rs with it field by field under the published differential. Hover a value to see where it came from.

ethtoolgeneric
Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes
expected outputjson
Use the Left and Right arrow keys to highlight the matching value in the input.
{
  "name": "enp0s3",
  "supported_pause_frame_use": "No",
  "supports_auto_negotiation": true,
  "supported_fec_modes": [],
  "advertised_pause_frame_use": false,
  "advertised_auto_negotiation": true,
  "advertised_fec_modes": [],
  "speed": "1000Mb/s",
  "duplex": "Full",
  "port": "Twisted Pair",
  "phyad": "0",
  "transceiver": "internal",
  "auto_negotiation": false,
  "mdi_x": "off (auto)",
  "supports_wake_on": "umbg",
  "wake_on": "d",
  "link_detected": true,
  "supported_ports": [
    "TP"
  ],
  "supported_link_modes": [
    "10baseT/Half",
    "10baseT/Full",
    "100baseT/Half",
    "100baseT/Full",
    "1000baseT/Full"
  ],
  "advertised_link_modes": [
    "10baseT/Half",
    "10baseT/Full",
    "100baseT/Half",
    "100baseT/Full",
    "1000baseT/Full"
  ],
  "current_message_level": [
    "0x00000007 (7)",
    "drv probe link"
  ],
  "speed_bps": 1000000000
}

Fixture coverage

5/5oracle-valid pairs match under the published structural JSON comparison

Magic syntax

jc-rs ethtooljc-rs runs the command itself and parses what it prints. Recognised for: `ethtool`

Source: crates/jc-rs-parsers/src/network/ethtool.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare