1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3name: devlink
4
5protocol: genetlink-legacy
6
7doc: Partial family for Devlink.
8
9attribute-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
161operations:
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:
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