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.
data/linux/fou.yaml ADDED
@@ -0,0 +1,134 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: fou
4
+
5
+ protocol: genetlink-legacy
6
+
7
+ doc: |
8
+ Foo-over-UDP.
9
+
10
+ c-family-name: fou-genl-name
11
+ c-version-name: fou-genl-version
12
+ max-by-define: true
13
+ kernel-policy: global
14
+
15
+ definitions:
16
+ -
17
+ type: enum
18
+ name: encap-type
19
+ name-prefix: fou-encap-
20
+ enum-name:
21
+ entries: [unspec, direct, gue]
22
+
23
+ attribute-sets:
24
+ -
25
+ name: fou
26
+ name-prefix: fou-attr-
27
+ attributes:
28
+ -
29
+ name: unspec
30
+ type: unused
31
+ value: 0
32
+ -
33
+ name: port
34
+ type: u16
35
+ byte-order: big-endian
36
+ -
37
+ name: af
38
+ type: u8
39
+ -
40
+ name: ipproto
41
+ type: u8
42
+ checks:
43
+ min: 1
44
+ -
45
+ name: type
46
+ type: u8
47
+ -
48
+ name: remcsum-nopartial
49
+ type: flag
50
+ -
51
+ name: local-v4
52
+ type: u32
53
+ -
54
+ name: local-v6
55
+ type: binary
56
+ checks:
57
+ exact-len: 16
58
+ -
59
+ name: peer-v4
60
+ type: u32
61
+ -
62
+ name: peer-v6
63
+ type: binary
64
+ checks:
65
+ exact-len: 16
66
+ -
67
+ name: peer-port
68
+ type: u16
69
+ byte-order: big-endian
70
+ -
71
+ name: ifindex
72
+ type: s32
73
+
74
+ operations:
75
+ list:
76
+ -
77
+ name: unspec
78
+ doc: unused
79
+ value: 0
80
+
81
+ -
82
+ name: add
83
+ doc: Add port.
84
+ attribute-set: fou
85
+
86
+ dont-validate: [strict, dump]
87
+ flags: [admin-perm]
88
+
89
+ do:
90
+ request: &all_attrs
91
+ attributes:
92
+ - port
93
+ - ipproto
94
+ - type
95
+ - remcsum-nopartial
96
+ - local-v4
97
+ - peer-v4
98
+ - local-v6
99
+ - peer-v6
100
+ - peer-port
101
+ - ifindex
102
+
103
+ -
104
+ name: del
105
+ doc: Delete port.
106
+ attribute-set: fou
107
+
108
+ dont-validate: [strict, dump]
109
+ flags: [admin-perm]
110
+
111
+ do:
112
+ request: &select_attrs
113
+ attributes:
114
+ - af
115
+ - ifindex
116
+ - port
117
+ - peer-port
118
+ - local-v4
119
+ - peer-v4
120
+ - local-v6
121
+ - peer-v6
122
+
123
+ -
124
+ name: get
125
+ doc: Get tunnel info.
126
+ attribute-set: fou
127
+ dont-validate: [strict, dump]
128
+
129
+ do:
130
+ request: *select_attrs
131
+ reply: *all_attrs
132
+
133
+ dump:
134
+ reply: *all_attrs
@@ -0,0 +1,132 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #
3
+ # Author: Chuck Lever <chuck.lever@oracle.com>
4
+ #
5
+ # Copyright (c) 2023, Oracle and/or its affiliates.
6
+ #
7
+ ---
8
+ name: handshake
9
+
10
+ protocol: genetlink
11
+
12
+ doc: Netlink protocol to request a transport layer security handshake.
13
+
14
+ definitions:
15
+ -
16
+ type: enum
17
+ name: handler-class
18
+ value-start: 0
19
+ entries: [none, tlshd, max]
20
+ -
21
+ type: enum
22
+ name: msg-type
23
+ value-start: 0
24
+ entries: [unspec, clienthello, serverhello]
25
+ -
26
+ type: enum
27
+ name: auth
28
+ value-start: 0
29
+ entries: [unspec, unauth, psk, x509]
30
+
31
+ attribute-sets:
32
+ -
33
+ name: x509
34
+ attributes:
35
+ -
36
+ name: cert
37
+ type: s32
38
+ -
39
+ name: privkey
40
+ type: s32
41
+ -
42
+ name: accept
43
+ attributes:
44
+ -
45
+ name: sockfd
46
+ type: s32
47
+ -
48
+ name: handler-class
49
+ type: u32
50
+ enum: handler-class
51
+ -
52
+ name: message-type
53
+ type: u32
54
+ enum: msg-type
55
+ -
56
+ name: timeout
57
+ type: u32
58
+ -
59
+ name: auth-mode
60
+ type: u32
61
+ enum: auth
62
+ -
63
+ name: peer-identity
64
+ type: u32
65
+ multi-attr: true
66
+ -
67
+ name: certificate
68
+ type: nest
69
+ nested-attributes: x509
70
+ multi-attr: true
71
+ -
72
+ name: peername
73
+ type: string
74
+ -
75
+ name: keyring
76
+ type: u32
77
+ -
78
+ name: done
79
+ attributes:
80
+ -
81
+ name: status
82
+ type: u32
83
+ -
84
+ name: sockfd
85
+ type: s32
86
+ -
87
+ name: remote-auth
88
+ type: u32
89
+ multi-attr: true
90
+
91
+ operations:
92
+ list:
93
+ -
94
+ name: ready
95
+ doc: Notify handlers that a new handshake request is waiting
96
+ notify: accept
97
+ -
98
+ name: accept
99
+ doc: Handler retrieves next queued handshake request
100
+ attribute-set: accept
101
+ flags: [admin-perm]
102
+ do:
103
+ request:
104
+ attributes:
105
+ - handler-class
106
+ reply:
107
+ attributes:
108
+ - sockfd
109
+ - message-type
110
+ - timeout
111
+ - auth-mode
112
+ - peer-identity
113
+ - certificate
114
+ - peername
115
+ - keyring
116
+ -
117
+ name: done
118
+ doc: Handler reports handshake completion
119
+ attribute-set: done
120
+ do:
121
+ request:
122
+ attributes:
123
+ - status
124
+ - sockfd
125
+ - remote-auth
126
+
127
+ mcast-groups:
128
+ list:
129
+ -
130
+ name: none
131
+ -
132
+ name: tlshd
data/linux/lockd.yaml ADDED
@@ -0,0 +1,45 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: lockd
4
+ protocol: genetlink
5
+ uapi-header: linux/lockd_netlink.h
6
+
7
+ doc: lockd configuration over generic netlink
8
+
9
+ attribute-sets:
10
+ -
11
+ name: server
12
+ attributes:
13
+ -
14
+ name: gracetime
15
+ type: u32
16
+ -
17
+ name: tcp-port
18
+ type: u16
19
+ -
20
+ name: udp-port
21
+ type: u16
22
+
23
+ operations:
24
+ list:
25
+ -
26
+ name: server-set
27
+ doc: set the lockd server parameters
28
+ attribute-set: server
29
+ flags: [admin-perm]
30
+ do:
31
+ request:
32
+ attributes:
33
+ - gracetime
34
+ - tcp-port
35
+ - udp-port
36
+ -
37
+ name: server-get
38
+ doc: get the lockd server parameters
39
+ attribute-set: server
40
+ do:
41
+ reply:
42
+ attributes:
43
+ - gracetime
44
+ - tcp-port
45
+ - udp-port
@@ -0,0 +1,395 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ ---
3
+ name: mptcp_pm
4
+ protocol: genetlink-legacy
5
+ doc: Multipath TCP.
6
+
7
+ c-family-name: mptcp-pm-name
8
+ c-version-name: mptcp-pm-ver
9
+ max-by-define: true
10
+ kernel-policy: per-op
11
+ cmd-cnt-name: --mptcp-pm-cmd-after-last
12
+
13
+ definitions:
14
+ -
15
+ type: enum
16
+ name: event-type
17
+ enum-name: mptcp-event-type
18
+ name-prefix: mptcp-event-
19
+ entries:
20
+ -
21
+ name: unspec
22
+ doc: unused event
23
+ -
24
+ name: created
25
+ doc: >-
26
+ A new MPTCP connection has been created. It is the good time to
27
+ allocate memory and send ADD_ADDR if needed. Depending on the
28
+ traffic-patterns it can take a long time until the
29
+ MPTCP_EVENT_ESTABLISHED is sent.
30
+ Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
31
+ dport, [server-side], [flags].
32
+ -
33
+ name: established
34
+ doc: >-
35
+ A MPTCP connection is established (can start new subflows).
36
+ Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
37
+ dport, [server-side], [flags].
38
+ -
39
+ name: closed
40
+ doc: >-
41
+ A MPTCP connection has stopped.
42
+ Attribute: token.
43
+ -
44
+ name: announced
45
+ value: 6
46
+ doc: >-
47
+ A new address has been announced by the peer.
48
+ Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
49
+ -
50
+ name: removed
51
+ doc: >-
52
+ An address has been lost by the peer.
53
+ Attributes: token, rem_id.
54
+ -
55
+ name: sub-established
56
+ value: 10
57
+ doc: >-
58
+ A new subflow has been established. 'error' should not be set.
59
+ Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
60
+ daddr6, sport, dport, backup, if-idx [, error].
61
+ -
62
+ name: sub-closed
63
+ doc: >-
64
+ A subflow has been closed. An error (copy of sk_err) could be set if
65
+ an error has been detected for this subflow.
66
+ Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
67
+ daddr6, sport, dport, backup, if-idx [, error].
68
+ -
69
+ name: sub-priority
70
+ value: 13
71
+ doc: >-
72
+ The priority of a subflow has changed. 'error' should not be set.
73
+ Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
74
+ daddr6, sport, dport, backup, if-idx [, error].
75
+ -
76
+ name: listener-created
77
+ value: 15
78
+ doc: >-
79
+ A new PM listener is created.
80
+ Attributes: family, sport, saddr4 | saddr6.
81
+ -
82
+ name: listener-closed
83
+ doc: >-
84
+ A PM listener is closed.
85
+ Attributes: family, sport, saddr4 | saddr6.
86
+
87
+ attribute-sets:
88
+ -
89
+ name: address
90
+ name-prefix: mptcp-pm-addr-attr-
91
+ attributes:
92
+ -
93
+ name: unspec
94
+ type: unused
95
+ value: 0
96
+ -
97
+ name: family
98
+ type: u16
99
+ -
100
+ name: id
101
+ type: u8
102
+ -
103
+ name: addr4
104
+ type: u32
105
+ byte-order: big-endian
106
+ -
107
+ name: addr6
108
+ type: binary
109
+ checks:
110
+ exact-len: 16
111
+ -
112
+ name: port
113
+ type: u16
114
+ -
115
+ name: flags
116
+ type: u32
117
+ -
118
+ name: if-idx
119
+ type: s32
120
+ -
121
+ name: subflow-attribute
122
+ name-prefix: mptcp-subflow-attr-
123
+ attributes:
124
+ -
125
+ name: unspec
126
+ type: unused
127
+ value: 0
128
+ -
129
+ name: token-rem
130
+ type: u32
131
+ -
132
+ name: token-loc
133
+ type: u32
134
+ -
135
+ name: relwrite-seq
136
+ type: u32
137
+ -
138
+ name: map-seq
139
+ type: u64
140
+ -
141
+ name: map-sfseq
142
+ type: u32
143
+ -
144
+ name: ssn-offset
145
+ type: u32
146
+ -
147
+ name: map-datalen
148
+ type: u16
149
+ -
150
+ name: flags
151
+ type: u32
152
+ -
153
+ name: id-rem
154
+ type: u8
155
+ -
156
+ name: id-loc
157
+ type: u8
158
+ -
159
+ name: pad
160
+ type: pad
161
+ -
162
+ name: endpoint
163
+ name-prefix: mptcp-pm-endpoint-
164
+ attributes:
165
+ -
166
+ name: addr
167
+ type: nest
168
+ nested-attributes: address
169
+ -
170
+ name: attr
171
+ name-prefix: mptcp-pm-attr-
172
+ attr-cnt-name: --mptcp-attr-after-last
173
+ attributes:
174
+ -
175
+ name: unspec
176
+ type: unused
177
+ value: 0
178
+ -
179
+ name: addr
180
+ type: nest
181
+ nested-attributes: address
182
+ -
183
+ name: rcv-add-addrs
184
+ type: u32
185
+ -
186
+ name: subflows
187
+ type: u32
188
+ -
189
+ name: token
190
+ type: u32
191
+ -
192
+ name: loc-id
193
+ type: u8
194
+ -
195
+ name: addr-remote
196
+ type: nest
197
+ nested-attributes: address
198
+ -
199
+ name: event-attr
200
+ enum-name: mptcp-event-attr
201
+ name-prefix: mptcp-attr-
202
+ attributes:
203
+ -
204
+ name: unspec
205
+ type: unused
206
+ value: 0
207
+ -
208
+ name: token
209
+ type: u32
210
+ -
211
+ name: family
212
+ type: u16
213
+ -
214
+ name: loc-id
215
+ type: u8
216
+ -
217
+ name: rem-id
218
+ type: u8
219
+ -
220
+ name: saddr4
221
+ type: u32
222
+ byte-order: big-endian
223
+ -
224
+ name: saddr6
225
+ type: binary
226
+ checks:
227
+ min-len: 16
228
+ -
229
+ name: daddr4
230
+ type: u32
231
+ byte-order: big-endian
232
+ -
233
+ name: daddr6
234
+ type: binary
235
+ checks:
236
+ min-len: 16
237
+ -
238
+ name: sport
239
+ type: u16
240
+ byte-order: big-endian
241
+ -
242
+ name: dport
243
+ type: u16
244
+ byte-order: big-endian
245
+ -
246
+ name: backup
247
+ type: u8
248
+ -
249
+ name: error
250
+ type: u8
251
+ -
252
+ name: flags
253
+ type: u16
254
+ -
255
+ name: timeout
256
+ type: u32
257
+ -
258
+ name: if-idx
259
+ type: s32
260
+ -
261
+ name: reset-reason
262
+ type: u32
263
+ -
264
+ name: reset-flags
265
+ type: u32
266
+ -
267
+ name: server-side
268
+ type: u8
269
+ doc: "Deprecated: use 'flags'"
270
+
271
+ operations:
272
+ list:
273
+ -
274
+ name: unspec
275
+ doc: unused
276
+ value: 0
277
+ -
278
+ name: add-addr
279
+ doc: Add endpoint
280
+ attribute-set: endpoint
281
+ dont-validate: [strict]
282
+ flags: [uns-admin-perm]
283
+ do: &add-addr-attrs
284
+ request:
285
+ attributes:
286
+ - addr
287
+ -
288
+ name: del-addr
289
+ doc: Delete endpoint
290
+ attribute-set: endpoint
291
+ dont-validate: [strict]
292
+ flags: [uns-admin-perm]
293
+ do: *add-addr-attrs
294
+ -
295
+ name: get-addr
296
+ doc: Get endpoint information
297
+ attribute-set: attr
298
+ dont-validate: [strict]
299
+ do: &get-addr-attrs
300
+ request:
301
+ attributes:
302
+ - addr
303
+ - token
304
+ reply:
305
+ attributes:
306
+ - addr
307
+ dump:
308
+ reply:
309
+ attributes:
310
+ - addr
311
+ -
312
+ name: flush-addrs
313
+ doc: Flush addresses
314
+ attribute-set: endpoint
315
+ dont-validate: [strict]
316
+ flags: [uns-admin-perm]
317
+ do: *add-addr-attrs
318
+ -
319
+ name: set-limits
320
+ doc: Set protocol limits
321
+ attribute-set: attr
322
+ dont-validate: [strict]
323
+ flags: [uns-admin-perm]
324
+ do: &mptcp-limits
325
+ request:
326
+ attributes:
327
+ - rcv-add-addrs
328
+ - subflows
329
+ -
330
+ name: get-limits
331
+ doc: Get protocol limits
332
+ attribute-set: attr
333
+ dont-validate: [strict]
334
+ do: &mptcp-get-limits
335
+ request:
336
+ attributes:
337
+ - rcv-add-addrs
338
+ - subflows
339
+ reply:
340
+ attributes:
341
+ - rcv-add-addrs
342
+ - subflows
343
+ -
344
+ name: set-flags
345
+ doc: Change endpoint flags
346
+ attribute-set: attr
347
+ dont-validate: [strict]
348
+ flags: [uns-admin-perm]
349
+ do: &mptcp-set-flags
350
+ request:
351
+ attributes:
352
+ - addr
353
+ - token
354
+ - addr-remote
355
+ -
356
+ name: announce
357
+ doc: Announce new address
358
+ attribute-set: attr
359
+ dont-validate: [strict]
360
+ flags: [uns-admin-perm]
361
+ do: &announce-add
362
+ request:
363
+ attributes:
364
+ - addr
365
+ - token
366
+ -
367
+ name: remove
368
+ doc: Announce removal
369
+ attribute-set: attr
370
+ dont-validate: [strict]
371
+ flags: [uns-admin-perm]
372
+ do:
373
+ request:
374
+ attributes:
375
+ - token
376
+ - loc-id
377
+ -
378
+ name: subflow-create
379
+ doc: Create subflow
380
+ attribute-set: attr
381
+ dont-validate: [strict]
382
+ flags: [uns-admin-perm]
383
+ do: &sf-create
384
+ request:
385
+ attributes:
386
+ - addr
387
+ - token
388
+ - addr-remote
389
+ -
390
+ name: subflow-destroy
391
+ doc: Destroy subflow
392
+ attribute-set: attr
393
+ dont-validate: [strict]
394
+ flags: [uns-admin-perm]
395
+ do: *sf-create