nl-linux 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,172 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: ovs_vport
4
+ version: 2
5
+ protocol: genetlink-legacy
6
+ uapi-header: linux/openvswitch.h
7
+
8
+ doc: >-
9
+ OVS vport configuration over generic netlink.
10
+
11
+ definitions:
12
+ -
13
+ name: ovs-header
14
+ type: struct
15
+ members:
16
+ -
17
+ name: dp-ifindex
18
+ type: u32
19
+ -
20
+ name: vport-type
21
+ type: enum
22
+ enum-name: ovs-vport-type
23
+ name-prefix: ovs-vport-type-
24
+ entries: [unspec, netdev, internal, gre, vxlan, geneve]
25
+ -
26
+ name: ovs-vport-stats
27
+ type: struct
28
+ members:
29
+ -
30
+ name: rx-packets
31
+ type: u64
32
+ -
33
+ name: tx-packets
34
+ type: u64
35
+ -
36
+ name: rx-bytes
37
+ type: u64
38
+ -
39
+ name: tx-bytes
40
+ type: u64
41
+ -
42
+ name: rx-errors
43
+ type: u64
44
+ -
45
+ name: tx-errors
46
+ type: u64
47
+ -
48
+ name: rx-dropped
49
+ type: u64
50
+ -
51
+ name: tx-dropped
52
+ type: u64
53
+
54
+ attribute-sets:
55
+ -
56
+ name: vport-options
57
+ enum-name: ovs-vport-options
58
+ name-prefix: ovs-tunnel-attr-
59
+ attributes:
60
+ -
61
+ name: dst-port
62
+ type: u32
63
+ -
64
+ name: extension
65
+ type: u32
66
+ -
67
+ name: upcall-stats
68
+ enum-name: ovs-vport-upcall-attr
69
+ name-prefix: ovs-vport-upcall-attr-
70
+ attributes:
71
+ -
72
+ name: success
73
+ type: u64
74
+ value: 0
75
+ -
76
+ name: fail
77
+ type: u64
78
+ -
79
+ name: vport
80
+ name-prefix: ovs-vport-attr-
81
+ enum-name: ovs-vport-attr
82
+ attributes:
83
+ -
84
+ name: unspec
85
+ type: unused
86
+ value: 0
87
+ -
88
+ name: port-no
89
+ type: u32
90
+ -
91
+ name: type
92
+ type: u32
93
+ enum: vport-type
94
+ -
95
+ name: name
96
+ type: string
97
+ -
98
+ name: options
99
+ type: nest
100
+ nested-attributes: vport-options
101
+ -
102
+ name: upcall-pid
103
+ type: binary
104
+ sub-type: u32
105
+ -
106
+ name: stats
107
+ type: binary
108
+ struct: ovs-vport-stats
109
+ -
110
+ name: pad
111
+ type: unused
112
+ -
113
+ name: ifindex
114
+ type: u32
115
+ -
116
+ name: netnsid
117
+ type: u32
118
+ -
119
+ name: upcall-stats
120
+ type: nest
121
+ nested-attributes: upcall-stats
122
+
123
+ operations:
124
+ name-prefix: ovs-vport-cmd-
125
+ fixed-header: ovs-header
126
+ list:
127
+ -
128
+ name: new
129
+ doc: Create a new OVS vport
130
+ attribute-set: vport
131
+ do:
132
+ request:
133
+ attributes:
134
+ - name
135
+ - type
136
+ - upcall-pid
137
+ - ifindex
138
+ - options
139
+ -
140
+ name: del
141
+ doc: Delete existing OVS vport from a data path
142
+ attribute-set: vport
143
+ do:
144
+ request:
145
+ attributes:
146
+ - port-no
147
+ - type
148
+ - name
149
+ -
150
+ name: get
151
+ doc: Get / dump OVS vport configuration and state
152
+ attribute-set: vport
153
+ do: &vport-get-op
154
+ request:
155
+ attributes:
156
+ - name
157
+ reply: &dev-all
158
+ attributes:
159
+ - port-no
160
+ - type
161
+ - name
162
+ - upcall-pid
163
+ - stats
164
+ - ifindex
165
+ - netnsid
166
+ - upcall-stats
167
+ dump: *vport-get-op
168
+
169
+ mcast-groups:
170
+ list:
171
+ -
172
+ name: ovs_vport
data/linux/psp.yaml ADDED
@@ -0,0 +1,282 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: psp
4
+
5
+ doc:
6
+ PSP Security Protocol Generic Netlink family.
7
+
8
+ definitions:
9
+ -
10
+ type: enum
11
+ name: version
12
+ entries: [hdr0-aes-gcm-128, hdr0-aes-gcm-256,
13
+ hdr0-aes-gmac-128, hdr0-aes-gmac-256]
14
+
15
+ attribute-sets:
16
+ -
17
+ name: dev
18
+ attributes:
19
+ -
20
+ name: id
21
+ doc: PSP device ID.
22
+ type: u32
23
+ checks:
24
+ min: 1
25
+ -
26
+ name: ifindex
27
+ doc: ifindex of the main netdevice linked to the PSP device.
28
+ type: u32
29
+ -
30
+ name: psp-versions-cap
31
+ doc: Bitmask of PSP versions supported by the device.
32
+ type: u32
33
+ enum: version
34
+ enum-as-flags: true
35
+ -
36
+ name: psp-versions-ena
37
+ doc: Bitmask of currently enabled (accepted on Rx) PSP versions.
38
+ type: u32
39
+ enum: version
40
+ enum-as-flags: true
41
+ -
42
+ name: assoc
43
+ attributes:
44
+ -
45
+ name: dev-id
46
+ doc: PSP device ID.
47
+ type: u32
48
+ checks:
49
+ min: 1
50
+ -
51
+ name: version
52
+ doc: |
53
+ PSP versions (AEAD and protocol version) used by this association,
54
+ dictates the size of the key.
55
+ type: u32
56
+ enum: version
57
+ -
58
+ name: rx-key
59
+ type: nest
60
+ nested-attributes: keys
61
+ -
62
+ name: tx-key
63
+ type: nest
64
+ nested-attributes: keys
65
+ -
66
+ name: sock-fd
67
+ doc: Sockets which should be bound to the association immediately.
68
+ type: u32
69
+ -
70
+ name: keys
71
+ attributes:
72
+ -
73
+ name: key
74
+ type: binary
75
+ -
76
+ name: spi
77
+ doc: Security Parameters Index (SPI) of the association.
78
+ type: u32
79
+ -
80
+ name: stats
81
+ attributes:
82
+ -
83
+ name: dev-id
84
+ doc: PSP device ID.
85
+ type: u32
86
+ checks:
87
+ min: 1
88
+ -
89
+ name: key-rotations
90
+ type: uint
91
+ doc: |
92
+ Number of key rotations during the lifetime of the device.
93
+ Kernel statistic.
94
+ -
95
+ name: stale-events
96
+ type: uint
97
+ doc: |
98
+ Number of times a socket's Rx got shut down due to using
99
+ a key which went stale (fully rotated out).
100
+ Kernel statistic.
101
+ -
102
+ name: rx-packets
103
+ type: uint
104
+ doc: |
105
+ Number of successfully processed and authenticated PSP packets.
106
+ Device statistic (from the PSP spec).
107
+ -
108
+ name: rx-bytes
109
+ type: uint
110
+ doc: |
111
+ Number of successfully authenticated PSP bytes received, counting from
112
+ the first byte after the IV through the last byte of payload.
113
+ The fixed initial portion of the PSP header (16 bytes)
114
+ and the PSP trailer/ICV (16 bytes) are not included in this count.
115
+ Device statistic (from the PSP spec).
116
+ -
117
+ name: rx-auth-fail
118
+ type: uint
119
+ doc: |
120
+ Number of received PSP packets with unsuccessful authentication.
121
+ Device statistic (from the PSP spec).
122
+ -
123
+ name: rx-error
124
+ type: uint
125
+ doc: |
126
+ Number of received PSP packets with length/framing errors.
127
+ Device statistic (from the PSP spec).
128
+ -
129
+ name: rx-bad
130
+ type: uint
131
+ doc: |
132
+ Number of received PSP packets with miscellaneous errors
133
+ (invalid master key indicated by SPI, unsupported version, etc.)
134
+ Device statistic (from the PSP spec).
135
+ -
136
+ name: tx-packets
137
+ type: uint
138
+ doc: |
139
+ Number of successfully processed PSP packets for transmission.
140
+ Device statistic (from the PSP spec).
141
+ -
142
+ name: tx-bytes
143
+ type: uint
144
+ doc: |
145
+ Number of successfully processed PSP bytes for transmit, counting from
146
+ the first byte after the IV through the last byte of payload.
147
+ The fixed initial portion of the PSP header (16 bytes)
148
+ and the PSP trailer/ICV (16 bytes) are not included in this count.
149
+ Device statistic (from the PSP spec).
150
+ -
151
+ name: tx-error
152
+ type: uint
153
+ doc: |
154
+ Number of PSP packets for transmission with errors.
155
+ Device statistic (from the PSP spec).
156
+
157
+ operations:
158
+ list:
159
+ -
160
+ name: dev-get
161
+ doc: Get / dump information about PSP capable devices on the system.
162
+ attribute-set: dev
163
+ do:
164
+ request:
165
+ attributes:
166
+ - id
167
+ reply: &dev-all
168
+ attributes:
169
+ - id
170
+ - ifindex
171
+ - psp-versions-cap
172
+ - psp-versions-ena
173
+ pre: psp-device-get-locked
174
+ post: psp-device-unlock
175
+ dump:
176
+ reply: *dev-all
177
+ -
178
+ name: dev-add-ntf
179
+ doc: Notification about device appearing.
180
+ notify: dev-get
181
+ mcgrp: mgmt
182
+ -
183
+ name: dev-del-ntf
184
+ doc: Notification about device disappearing.
185
+ notify: dev-get
186
+ mcgrp: mgmt
187
+ -
188
+ name: dev-set
189
+ doc: Set the configuration of a PSP device.
190
+ attribute-set: dev
191
+ do:
192
+ request:
193
+ attributes:
194
+ - id
195
+ - psp-versions-ena
196
+ reply:
197
+ attributes: []
198
+ pre: psp-device-get-locked
199
+ post: psp-device-unlock
200
+ -
201
+ name: dev-change-ntf
202
+ doc: Notification about device configuration being changed.
203
+ notify: dev-get
204
+ mcgrp: mgmt
205
+
206
+ -
207
+ name: key-rotate
208
+ doc: Rotate the device key.
209
+ attribute-set: dev
210
+ do:
211
+ request:
212
+ attributes:
213
+ - id
214
+ reply:
215
+ attributes:
216
+ - id
217
+ pre: psp-device-get-locked
218
+ post: psp-device-unlock
219
+ -
220
+ name: key-rotate-ntf
221
+ doc: Notification about device key getting rotated.
222
+ notify: key-rotate
223
+ mcgrp: use
224
+
225
+ -
226
+ name: rx-assoc
227
+ doc: Allocate a new Rx key + SPI pair, associate it with a socket.
228
+ attribute-set: assoc
229
+ do:
230
+ request:
231
+ attributes:
232
+ - dev-id
233
+ - version
234
+ - sock-fd
235
+ reply:
236
+ attributes:
237
+ - dev-id
238
+ - rx-key
239
+ pre: psp-assoc-device-get-locked
240
+ post: psp-device-unlock
241
+ -
242
+ name: tx-assoc
243
+ doc: Add a PSP Tx association.
244
+ attribute-set: assoc
245
+ do:
246
+ request:
247
+ attributes:
248
+ - dev-id
249
+ - version
250
+ - tx-key
251
+ - sock-fd
252
+ reply:
253
+ attributes: []
254
+ pre: psp-assoc-device-get-locked
255
+ post: psp-device-unlock
256
+
257
+ -
258
+ name: get-stats
259
+ doc: Get device statistics.
260
+ attribute-set: stats
261
+ do:
262
+ request:
263
+ attributes:
264
+ - dev-id
265
+ reply: &stats-all
266
+ attributes:
267
+ - dev-id
268
+ - key-rotations
269
+ - stale-events
270
+ pre: psp-device-get-locked
271
+ post: psp-device-unlock
272
+ dump:
273
+ reply: *stats-all
274
+
275
+ mcast-groups:
276
+ list:
277
+ -
278
+ name: mgmt
279
+ -
280
+ name: use
281
+
282
+ ...
@@ -0,0 +1,195 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: rt-addr
4
+ protocol: netlink-raw
5
+ uapi-header: linux/rtnetlink.h
6
+ protonum: 0
7
+
8
+ doc: >-
9
+ Address configuration over rtnetlink.
10
+
11
+ definitions:
12
+ -
13
+ name: ifaddrmsg
14
+ type: struct
15
+ members:
16
+ -
17
+ name: ifa-family
18
+ type: u8
19
+ -
20
+ name: ifa-prefixlen
21
+ type: u8
22
+ -
23
+ name: ifa-flags
24
+ type: u8
25
+ enum: ifa-flags
26
+ enum-as-flags: true
27
+ -
28
+ name: ifa-scope
29
+ type: u8
30
+ -
31
+ name: ifa-index
32
+ type: u32
33
+ -
34
+ name: ifa-cacheinfo
35
+ type: struct
36
+ members:
37
+ -
38
+ name: ifa-prefered
39
+ type: u32
40
+ -
41
+ name: ifa-valid
42
+ type: u32
43
+ -
44
+ name: cstamp
45
+ type: u32
46
+ -
47
+ name: tstamp
48
+ type: u32
49
+
50
+ -
51
+ name: ifa-flags
52
+ type: flags
53
+ name-prefix: ifa-f-
54
+ enum-name:
55
+ entries:
56
+ -
57
+ name: secondary
58
+ -
59
+ name: nodad
60
+ -
61
+ name: optimistic
62
+ -
63
+ name: dadfailed
64
+ -
65
+ name: homeaddress
66
+ -
67
+ name: deprecated
68
+ -
69
+ name: tentative
70
+ -
71
+ name: permanent
72
+ -
73
+ name: managetempaddr
74
+ -
75
+ name: noprefixroute
76
+ -
77
+ name: mcautojoin
78
+ -
79
+ name: stable-privacy
80
+
81
+ attribute-sets:
82
+ -
83
+ name: addr-attrs
84
+ name-prefix: ifa-
85
+ attributes:
86
+ -
87
+ name: address
88
+ type: binary
89
+ display-hint: ipv4-or-v6
90
+ -
91
+ name: local
92
+ type: binary
93
+ display-hint: ipv4-or-v6
94
+ -
95
+ name: label
96
+ type: string
97
+ -
98
+ name: broadcast
99
+ type: u32
100
+ byte-order: big-endian
101
+ display-hint: ipv4
102
+ -
103
+ name: anycast
104
+ type: binary
105
+ -
106
+ name: cacheinfo
107
+ type: binary
108
+ struct: ifa-cacheinfo
109
+ -
110
+ name: multicast
111
+ type: binary
112
+ -
113
+ name: flags
114
+ type: u32
115
+ enum: ifa-flags
116
+ enum-as-flags: true
117
+ -
118
+ name: rt-priority
119
+ type: u32
120
+ -
121
+ name: target-netnsid
122
+ type: binary
123
+ -
124
+ name: proto
125
+ type: u8
126
+
127
+
128
+ operations:
129
+ fixed-header: ifaddrmsg
130
+ enum-model: directional
131
+ name-prefix: rtm-
132
+ list:
133
+ -
134
+ name: newaddr
135
+ doc: Add new address
136
+ attribute-set: addr-attrs
137
+ do:
138
+ request:
139
+ value: 20
140
+ attributes: &ifaddr-all
141
+ - address
142
+ - label
143
+ - local
144
+ - cacheinfo
145
+ -
146
+ name: deladdr
147
+ doc: Remove address
148
+ attribute-set: addr-attrs
149
+ do:
150
+ request:
151
+ value: 21
152
+ attributes:
153
+ - address
154
+ - local
155
+ -
156
+ name: getaddr
157
+ doc: Dump address information.
158
+ attribute-set: addr-attrs
159
+ dump:
160
+ request:
161
+ value: 22
162
+ attributes: []
163
+ reply:
164
+ value: 20
165
+ attributes: *ifaddr-all
166
+ -
167
+ name: getmulticast
168
+ doc: Get / dump IPv4/IPv6 multicast addresses.
169
+ attribute-set: addr-attrs
170
+ fixed-header: ifaddrmsg
171
+ do:
172
+ request:
173
+ value: 58
174
+ attributes: []
175
+ reply:
176
+ value: 58
177
+ attributes: &mcaddr-attrs
178
+ - multicast
179
+ - cacheinfo
180
+ dump:
181
+ request:
182
+ value: 58
183
+ attributes: []
184
+ reply:
185
+ value: 58
186
+ attributes: *mcaddr-attrs
187
+
188
+ mcast-groups:
189
+ list:
190
+ -
191
+ name: rtnlgrp-ipv4-ifaddr
192
+ value: 5
193
+ -
194
+ name: rtnlgrp-ipv6-ifaddr
195
+ value: 9