netlink: specs: devlink: add info-get dump op
[platform/kernel/linux-starfive.git] / Documentation / netlink / specs / devlink.yaml
1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3 name: devlink
4
5 protocol: genetlink-legacy
6
7 doc: Partial family for Devlink.
8
9 attribute-sets:
10   -
11     name: devlink
12     name-prefix: devlink-attr-
13     attributes:
14       -
15         name: bus-name
16         type: string
17         value: 1
18       -
19         name: dev-name
20         type: string
21       -
22         name: port-index
23         type: u32
24
25       # TODO: fill in the attributes in between
26
27       -
28         name: info-driver-name
29         type: string
30         value: 98
31       -
32         name: info-serial-number
33         type: string
34       -
35         name: info-version-fixed
36         type: nest
37         multi-attr: true
38         nested-attributes: dl-info-version
39       -
40         name: info-version-running
41         type: nest
42         multi-attr: true
43         nested-attributes: dl-info-version
44       -
45         name: info-version-stored
46         type: nest
47         multi-attr: true
48         nested-attributes: dl-info-version
49       -
50         name: info-version-name
51         type: string
52       -
53         name: info-version-value
54         type: string
55
56       # TODO: fill in the attributes in between
57
58       -
59         name: reload-failed
60         type: u8
61         value: 136
62
63       # TODO: fill in the attributes in between
64
65       -
66         name: reload-action
67         type: u8
68         value: 153
69
70       # TODO: fill in the attributes in between
71
72       -
73         name: dev-stats
74         type: nest
75         value: 156
76         nested-attributes: dl-dev-stats
77       -
78         name: reload-stats
79         type: nest
80         nested-attributes: dl-reload-stats
81       -
82         name: reload-stats-entry
83         type: nest
84         multi-attr: true
85         nested-attributes: dl-reload-stats-entry
86       -
87         name: reload-stats-limit
88         type: u8
89       -
90         name: reload-stats-value
91         type: u32
92       -
93         name: remote-reload-stats
94         type: nest
95         nested-attributes: dl-reload-stats
96       -
97         name: reload-action-info
98         type: nest
99         multi-attr: true
100         nested-attributes: dl-reload-act-info
101       -
102         name: reload-action-stats
103         type: nest
104         multi-attr: true
105         nested-attributes: dl-reload-act-stats
106   -
107     name: dl-dev-stats
108     subset-of: devlink
109     attributes:
110       -
111         name: reload-stats
112         type: nest
113       -
114         name: remote-reload-stats
115         type: nest
116   -
117     name: dl-reload-stats
118     subset-of: devlink
119     attributes:
120       -
121         name: reload-action-info
122         type: nest
123   -
124     name: dl-reload-act-info
125     subset-of: devlink
126     attributes:
127       -
128         name: reload-action
129         type: u8
130       -
131         name: reload-action-stats
132         type: nest
133   -
134     name: dl-reload-act-stats
135     subset-of: devlink
136     attributes:
137       -
138         name: reload-stats-entry
139         type: nest
140   -
141     name: dl-reload-stats-entry
142     subset-of: devlink
143     attributes:
144       -
145         name: reload-stats-limit
146         type: u8
147       -
148         name: reload-stats-value
149         type: u32
150   -
151     name: dl-info-version
152     subset-of: devlink
153     attributes:
154       -
155         name: info-version-name
156         type: string
157       -
158         name: info-version-value
159         type: string
160
161 operations:
162   enum-model: directional
163   list:
164     -
165       name: get
166       doc: Get devlink instances.
167       attribute-set: devlink
168
169       do:
170         request:
171           value: 1
172           attributes: &dev-id-attrs
173             - bus-name
174             - dev-name
175         reply:  &get-reply
176           value: 3
177           attributes:
178             - bus-name
179             - dev-name
180             - reload-failed
181             - reload-action
182             - dev-stats
183       dump:
184         reply: *get-reply
185
186       # TODO: fill in the operations in between
187
188     -
189       name: info-get
190       doc: Get device information, like driver name, hardware and firmware versions etc.
191       attribute-set: devlink
192
193       do:
194         request:
195           value: 51
196           attributes: *dev-id-attrs
197         reply: &info-get-reply
198           value: 51
199           attributes:
200             - bus-name
201             - dev-name
202             - info-driver-name
203             - info-serial-number
204             - info-version-fixed
205             - info-version-running
206             - info-version-stored
207       dump:
208         reply: *info-get-reply