netlink: specs: Expand the PSE netlink command with C33 new features

Expand the c33 PSE attributes with PSE class, extended state information
and power consumption.

./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do pse-get
	     --json '{"header":{"dev-name":"eth0"}}'
{'c33-pse-actual-pw': 1700,
 'c33-pse-admin-state': 3,
 'c33-pse-pw-class': 4,
 'c33-pse-pw-d-status': 4,
 'header': {'dev-index': 4, 'dev-name': 'eth0'}}

./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do pse-get
	     --json '{"header":{"dev-name":"eth0"}}'
{'c33-pse-admin-state': 3,
 'c33-pse-ext-state': 'mr-mps-valid',
 'c33-pse-ext-substate': 2,
 'c33-pse-pw-d-status': 2,
 'header': {'dev-index': 4, 'dev-name': 'eth0'}}

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Link: https://patch.msgid.link/20240704-feature_poe_power_cap-v6-2-320003204264@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Kory Maincent (Dent Project) 2024-07-04 10:11:57 +02:00 committed by Jakub Kicinski
parent e462960021
commit c8149739af

View File

@ -24,6 +24,21 @@ definitions:
name: module-fw-flash-status
type: enum
entries: [ started, in_progress, completed, error ]
-
name: c33-pse-ext-state
enum-name:
type: enum
name-prefix: ethtool-c33-pse-ext-state-
entries:
- none
- error-condition
- mr-mps-valid
- mr-pse-enable
- option-detect-ted
- option-vport-lim
- ovld-detected
- power-not-available
- short-detected
attribute-sets:
-
@ -955,6 +970,23 @@ attribute-sets:
name: c33-pse-pw-d-status
type: u32
name-prefix: ethtool-a-
-
name: c33-pse-pw-class
type: u32
name-prefix: ethtool-a-
-
name: c33-pse-actual-pw
type: u32
name-prefix: ethtool-a-
-
name: c33-pse-ext-state
type: u32
name-prefix: ethtool-a-
enum: c33-pse-ext-state
-
name: c33-pse-ext-substate
type: u32
name-prefix: ethtool-a-
-
name: rss
attributes:
@ -1672,6 +1704,10 @@ operations:
- c33-pse-admin-state
- c33-pse-admin-control
- c33-pse-pw-d-status
- c33-pse-pw-class
- c33-pse-actual-pw
- c33-pse-ext-state
- c33-pse-ext-substate
dump: *pse-get-op
-
name: pse-set