netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
|
|
|
|
|
|
name: devlink
|
|
|
|
|
|
|
|
protocol: genetlink-legacy
|
|
|
|
|
|
|
|
doc: Partial family for Devlink.
|
|
|
|
|
|
|
|
attribute-sets:
|
|
|
|
-
|
|
|
|
name: devlink
|
2023-06-07 20:23:53 +00:00
|
|
|
name-prefix: devlink-attr-
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: bus-name
|
|
|
|
type: string
|
|
|
|
value: 1
|
|
|
|
-
|
|
|
|
name: dev-name
|
|
|
|
type: string
|
|
|
|
-
|
|
|
|
name: port-index
|
|
|
|
type: u32
|
|
|
|
|
|
|
|
# TODO: fill in the attributes in between
|
|
|
|
|
|
|
|
-
|
|
|
|
name: info-driver-name
|
|
|
|
type: string
|
|
|
|
value: 98
|
|
|
|
-
|
|
|
|
name: info-serial-number
|
|
|
|
type: string
|
|
|
|
-
|
|
|
|
name: info-version-fixed
|
|
|
|
type: nest
|
|
|
|
multi-attr: true
|
|
|
|
nested-attributes: dl-info-version
|
|
|
|
-
|
|
|
|
name: info-version-running
|
|
|
|
type: nest
|
|
|
|
multi-attr: true
|
|
|
|
nested-attributes: dl-info-version
|
|
|
|
-
|
|
|
|
name: info-version-stored
|
|
|
|
type: nest
|
|
|
|
multi-attr: true
|
|
|
|
nested-attributes: dl-info-version
|
|
|
|
-
|
|
|
|
name: info-version-name
|
|
|
|
type: string
|
|
|
|
-
|
|
|
|
name: info-version-value
|
|
|
|
type: string
|
|
|
|
|
|
|
|
# TODO: fill in the attributes in between
|
|
|
|
|
|
|
|
-
|
|
|
|
name: reload-failed
|
|
|
|
type: u8
|
|
|
|
value: 136
|
|
|
|
|
|
|
|
# TODO: fill in the attributes in between
|
|
|
|
|
|
|
|
-
|
|
|
|
name: reload-action
|
|
|
|
type: u8
|
|
|
|
value: 153
|
|
|
|
|
|
|
|
# TODO: fill in the attributes in between
|
|
|
|
|
|
|
|
-
|
|
|
|
name: dev-stats
|
|
|
|
type: nest
|
|
|
|
value: 156
|
|
|
|
nested-attributes: dl-dev-stats
|
|
|
|
-
|
|
|
|
name: reload-stats
|
|
|
|
type: nest
|
|
|
|
nested-attributes: dl-reload-stats
|
|
|
|
-
|
|
|
|
name: reload-stats-entry
|
|
|
|
type: nest
|
|
|
|
multi-attr: true
|
|
|
|
nested-attributes: dl-reload-stats-entry
|
|
|
|
-
|
|
|
|
name: reload-stats-limit
|
|
|
|
type: u8
|
|
|
|
-
|
|
|
|
name: reload-stats-value
|
|
|
|
type: u32
|
|
|
|
-
|
|
|
|
name: remote-reload-stats
|
|
|
|
type: nest
|
|
|
|
nested-attributes: dl-reload-stats
|
|
|
|
-
|
|
|
|
name: reload-action-info
|
|
|
|
type: nest
|
2023-06-07 20:23:53 +00:00
|
|
|
multi-attr: true
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
nested-attributes: dl-reload-act-info
|
|
|
|
-
|
|
|
|
name: reload-action-stats
|
|
|
|
type: nest
|
2023-06-07 20:23:53 +00:00
|
|
|
multi-attr: true
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
nested-attributes: dl-reload-act-stats
|
|
|
|
-
|
|
|
|
name: dl-dev-stats
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: reload-stats
|
|
|
|
type: nest
|
|
|
|
-
|
|
|
|
name: remote-reload-stats
|
|
|
|
type: nest
|
|
|
|
-
|
|
|
|
name: dl-reload-stats
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: reload-action-info
|
|
|
|
type: nest
|
|
|
|
-
|
|
|
|
name: dl-reload-act-info
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: reload-action
|
|
|
|
type: u8
|
|
|
|
-
|
|
|
|
name: reload-action-stats
|
|
|
|
type: nest
|
|
|
|
-
|
|
|
|
name: dl-reload-act-stats
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: reload-stats-entry
|
|
|
|
type: nest
|
|
|
|
-
|
|
|
|
name: dl-reload-stats-entry
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: reload-stats-limit
|
|
|
|
type: u8
|
|
|
|
-
|
|
|
|
name: reload-stats-value
|
|
|
|
type: u32
|
|
|
|
-
|
|
|
|
name: dl-info-version
|
|
|
|
subset-of: devlink
|
|
|
|
attributes:
|
|
|
|
-
|
|
|
|
name: info-version-name
|
|
|
|
type: string
|
|
|
|
-
|
|
|
|
name: info-version-value
|
|
|
|
type: string
|
|
|
|
|
|
|
|
operations:
|
|
|
|
enum-model: directional
|
|
|
|
list:
|
|
|
|
-
|
|
|
|
name: get
|
|
|
|
doc: Get devlink instances.
|
|
|
|
attribute-set: devlink
|
2023-08-03 11:13:38 +00:00
|
|
|
dont-validate:
|
|
|
|
- strict
|
|
|
|
- dump
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
|
|
|
|
do:
|
2023-08-03 11:13:38 +00:00
|
|
|
pre: devlink-nl-pre-doit
|
|
|
|
post: devlink-nl-post-doit
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
request:
|
|
|
|
value: 1
|
|
|
|
attributes: &dev-id-attrs
|
|
|
|
- bus-name
|
|
|
|
- dev-name
|
|
|
|
reply: &get-reply
|
|
|
|
value: 3
|
|
|
|
attributes:
|
|
|
|
- bus-name
|
|
|
|
- dev-name
|
|
|
|
- reload-failed
|
|
|
|
- reload-action
|
|
|
|
- dev-stats
|
|
|
|
dump:
|
|
|
|
reply: *get-reply
|
|
|
|
|
|
|
|
# TODO: fill in the operations in between
|
|
|
|
|
|
|
|
-
|
|
|
|
name: info-get
|
|
|
|
doc: Get device information, like driver name, hardware and firmware versions etc.
|
|
|
|
attribute-set: devlink
|
2023-08-03 11:13:38 +00:00
|
|
|
dont-validate:
|
|
|
|
- strict
|
|
|
|
- dump
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
|
|
|
|
do:
|
2023-08-03 11:13:38 +00:00
|
|
|
pre: devlink-nl-pre-doit
|
|
|
|
post: devlink-nl-post-doit
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
request:
|
|
|
|
value: 51
|
|
|
|
attributes: *dev-id-attrs
|
2023-08-03 11:13:37 +00:00
|
|
|
reply: &info-get-reply
|
netlink-specs: add partial specification for devlink
Devlink is quite complex but put in the very basics so we can
incrementally fill in the commands as needed.
$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml \
--dump get
[{'bus-name': 'netdevsim',
'dev-name': 'netdevsim1',
'dev-stats': {'reload-stats': {'reload-action-info': {'reload-action': 1,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0}]}}},
'remote-reload-stats': {'reload-action-info': {'reload-action': 2,
'reload-action-stats': {'reload-stats-entry': [{'reload-stats-limit': 0,
'reload-stats-value': 0},
{'reload-stats-limit': 1,
'reload-stats-value': 0}]}}}},
'reload-failed': 0}]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-16 04:49:13 +00:00
|
|
|
value: 51
|
|
|
|
attributes:
|
|
|
|
- bus-name
|
|
|
|
- dev-name
|
2023-06-07 20:23:53 +00:00
|
|
|
- info-driver-name
|
|
|
|
- info-serial-number
|
|
|
|
- info-version-fixed
|
|
|
|
- info-version-running
|
|
|
|
- info-version-stored
|
2023-08-03 11:13:37 +00:00
|
|
|
dump:
|
|
|
|
reply: *info-get-reply
|