summaryrefslogtreecommitdiff
path: root/Documentation/netlink/specs/devlink.yaml
blob: 90641668232e3525ab5f2b342abebc7ddaa5595c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# 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
    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
        nested-attributes: dl-reload-act-info
      -
        name: reload-action-stats
        type: nest
        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

      do:
        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

      do:
        request:
          value: 51
          attributes: *dev-id-attrs
        reply:
          value: 51
          attributes:
            - bus-name
            - dev-name