nl-linux 0.3.0 → 0.4.1

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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +5 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Rakefile +14 -2
  5. data/generated/nl/linux/binder.rb +172 -44
  6. data/generated/nl/linux/conntrack.rb +1293 -370
  7. data/generated/nl/linux/dev_energymodel.rb +278 -93
  8. data/generated/nl/linux/devlink.rb +5654 -1954
  9. data/generated/nl/linux/dpll.rb +1838 -669
  10. data/generated/nl/linux/drm_ras.rb +234 -72
  11. data/generated/nl/linux/ethtool.rb +6683 -2885
  12. data/generated/nl/linux/fou.rb +308 -129
  13. data/generated/nl/linux/handshake.rb +277 -99
  14. data/generated/nl/linux/lockd.rb +88 -33
  15. data/generated/nl/linux/mptcp_pm.rb +639 -186
  16. data/generated/nl/linux/net_shaper.rb +782 -224
  17. data/generated/nl/linux/netdev.rb +2105 -631
  18. data/generated/nl/linux/nfsd.rb +1030 -358
  19. data/generated/nl/linux/nftables.rb +5041 -1612
  20. data/generated/nl/linux/nl80211.rb +4531 -871
  21. data/generated/nl/linux/nlctrl.rb +411 -119
  22. data/generated/nl/linux/ovpn.rb +1211 -293
  23. data/generated/nl/linux/ovs_datapath.rb +271 -106
  24. data/generated/nl/linux/ovs_flow.rb +1819 -354
  25. data/generated/nl/linux/ovs_packet.rb +257 -82
  26. data/generated/nl/linux/ovs_vport.rb +334 -132
  27. data/generated/nl/linux/psp.rb +916 -281
  28. data/generated/nl/linux/rt_addr.rb +369 -166
  29. data/generated/nl/linux/rt_link.rb +6708 -1450
  30. data/generated/nl/linux/rt_neigh.rb +919 -364
  31. data/generated/nl/linux/rt_route.rb +1034 -448
  32. data/generated/nl/linux/rt_rule.rb +775 -395
  33. data/generated/nl/linux/sunrpc_cache.rb +297 -102
  34. data/generated/nl/linux/tc.rb +9989 -1780
  35. data/generated/nl/linux/tcp_metrics.rb +327 -105
  36. data/generated/nl/linux/team.rb +279 -93
  37. data/generated/nl/linux/wireguard.rb +432 -95
  38. data/generated/nl/linux.rb +1 -0
  39. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  40. data/lib/nl/linux/version.rb +1 -1
  41. data/sig/generated/nl/linux/binder.rbs +366 -0
  42. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  43. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  44. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  45. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  46. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  47. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  48. data/sig/generated/nl/linux/fou.rbs +702 -0
  49. data/sig/generated/nl/linux/handshake.rbs +622 -0
  50. data/sig/generated/nl/linux/lockd.rbs +234 -0
  51. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  52. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  53. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  54. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  55. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  56. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  57. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  58. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  59. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  60. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  61. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  62. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  63. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  64. data/sig/generated/nl/linux/psp.rbs +1846 -0
  65. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  66. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  67. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  68. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  69. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  70. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  71. data/sig/generated/nl/linux/tc.rbs +19931 -0
  72. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  73. data/sig/generated/nl/linux/team.rbs +733 -0
  74. data/sig/generated/nl/linux/version.rbs +7 -0
  75. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  76. data/sig/generated/nl/linux.rbs +6 -0
  77. data/sig/generated/nl-linux.rbs +2 -0
  78. metadata +46 -7
@@ -0,0 +1,1846 @@
1
+ # Generated from generated/nl/linux/psp.rb with RBS::Inline
2
+
3
+ module Nl
4
+ module Linux
5
+ # PSP Security Protocol Generic Netlink family.
6
+ class Psp < ::Nl::Genl::Family
7
+ NAME: ::String
8
+
9
+ VERSION: ::Integer
10
+
11
+ # @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
12
+ # @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
13
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
14
+ # @param [#call] resolver
15
+ # @param [Symbol, nil] executor
16
+ # @param [Integer, nil] notification_capacity
17
+ # @return [Psp]
18
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
19
+ # @param [#call] resolver
20
+ # @param [Symbol, nil] executor
21
+ # @param [Integer, nil] notification_capacity
22
+ # @yieldparam [Psp] family
23
+ # @return [Object] the result of the block
24
+ def self.open: (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
25
+
26
+ # @private
27
+ MCAST_GROUPS: Hash[::Symbol, ::Nl::McastGroup]
28
+
29
+ module Enums
30
+ module Version
31
+ Hdr0AesGcm128: ::Integer
32
+
33
+ Hdr0AesGcm256: ::Integer
34
+
35
+ Hdr0AesGmac128: ::Integer
36
+
37
+ Hdr0AesGmac256: ::Integer
38
+ end
39
+ end
40
+
41
+ module Flags
42
+ module Version
43
+ Hdr0AesGcm128: ::Integer
44
+
45
+ Hdr0AesGcm256: ::Integer
46
+
47
+ Hdr0AesGmac128: ::Integer
48
+
49
+ Hdr0AesGmac256: ::Integer
50
+ end
51
+ end
52
+
53
+ module Structs
54
+ end
55
+
56
+ module AttributeSets
57
+ class AssocDevInfo < ::Nl::AttributeSet
58
+ # Abstract class
59
+ class Attribute < ::Nl::AttributeSet::Attribute
60
+ end
61
+
62
+ # ifindex of an associated network device.
63
+ class Ifindex < Attribute
64
+ TYPE: ::Integer
65
+
66
+ NAME: ::Symbol
67
+
68
+ # @private
69
+ ORDER: ::Integer
70
+
71
+ # @private
72
+ DATATYPE: untyped
73
+ end
74
+
75
+ # Network namespace ID of the associated device.
76
+ class Nsid < Attribute
77
+ TYPE: ::Integer
78
+
79
+ NAME: ::Symbol
80
+
81
+ # @private
82
+ ORDER: ::Integer
83
+
84
+ # @private
85
+ DATATYPE: untyped
86
+ end
87
+
88
+ # @private
89
+ BY_NAME: Hash[::Symbol, Attribute]
90
+
91
+ # @private
92
+ BY_TYPE: Hash[::Integer, Attribute]
93
+
94
+ # ifindex of an associated network device.
95
+ # @rbs return: ::Integer
96
+ # @return [Integer]
97
+ # @see Ifindex
98
+ def ifindex: () -> ::Integer
99
+
100
+ # Network namespace ID of the associated device.
101
+ # @rbs return: ::Integer
102
+ # @return [Integer]
103
+ # @see Nsid
104
+ def nsid: () -> ::Integer
105
+
106
+ # Looks up Attribute class by name.
107
+ # @rbs name: Symbol
108
+ # @rbs return: Attribute
109
+ # @param [Symbol] name
110
+ # @return [Attribute]
111
+ def self.by_name: (Symbol name) -> Attribute
112
+
113
+ # Looks up Attribute class by type value.
114
+ # @rbs type: Integer
115
+ # @rbs return: Attribute
116
+ # @param [Integer] type
117
+ # @return [Attribute]
118
+ def self.by_type: (Integer type) -> Attribute
119
+ end
120
+
121
+ class Dev < ::Nl::AttributeSet
122
+ # Abstract class
123
+ class Attribute < ::Nl::AttributeSet::Attribute
124
+ end
125
+
126
+ # PSP device ID.
127
+ class Id < Attribute
128
+ TYPE: ::Integer
129
+
130
+ NAME: ::Symbol
131
+
132
+ # @private
133
+ ORDER: ::Integer
134
+
135
+ # @private
136
+ DATATYPE: untyped
137
+ end
138
+
139
+ # ifindex of the main netdevice linked to the PSP device,
140
+ # or the ifindex to associate with the PSP device.
141
+ class Ifindex < Attribute
142
+ TYPE: ::Integer
143
+
144
+ NAME: ::Symbol
145
+
146
+ # @private
147
+ ORDER: ::Integer
148
+
149
+ # @private
150
+ DATATYPE: untyped
151
+ end
152
+
153
+ # Bitmask of PSP versions supported by the device.
154
+ #
155
+ # Known flags are defined in {Flags::Version}.
156
+ class PspVersionsCap < Attribute
157
+ TYPE: ::Integer
158
+
159
+ NAME: ::Symbol
160
+
161
+ # @private
162
+ ORDER: ::Integer
163
+
164
+ # @private
165
+ DATATYPE: untyped
166
+ end
167
+
168
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
169
+ #
170
+ # Known flags are defined in {Flags::Version}.
171
+ class PspVersionsEna < Attribute
172
+ TYPE: ::Integer
173
+
174
+ NAME: ::Symbol
175
+
176
+ # @private
177
+ ORDER: ::Integer
178
+
179
+ # @private
180
+ DATATYPE: untyped
181
+ end
182
+
183
+ # List of associated virtual devices.
184
+ class AssocList < Attribute
185
+ TYPE: ::Integer
186
+
187
+ NAME: ::Symbol
188
+
189
+ # @private
190
+ MULTI: bool
191
+
192
+ # @private
193
+ ORDER: ::Integer
194
+ end
195
+
196
+ # Network namespace ID for the device to associate/disassociate.
197
+ # Optional for dev-assoc and dev-disassoc; if not present, the
198
+ # device is looked up in the caller's network namespace.
199
+ class Nsid < Attribute
200
+ TYPE: ::Integer
201
+
202
+ NAME: ::Symbol
203
+
204
+ # @private
205
+ ORDER: ::Integer
206
+
207
+ # @private
208
+ DATATYPE: untyped
209
+ end
210
+
211
+ # Flag indicating the PSP device is an associated device from a
212
+ # different network namespace.
213
+ # Present when in associated namespace, absent when in primary/host
214
+ # namespace.
215
+ class ByAssociation < Attribute
216
+ TYPE: ::Integer
217
+
218
+ NAME: ::Symbol
219
+
220
+ # @private
221
+ ORDER: ::Integer
222
+
223
+ # @private
224
+ DATATYPE: untyped
225
+ end
226
+
227
+ # @private
228
+ BY_NAME: Hash[::Symbol, Attribute]
229
+
230
+ # @private
231
+ BY_TYPE: Hash[::Integer, Attribute]
232
+
233
+ # PSP device ID.
234
+ # @rbs return: ::Integer
235
+ # @return [Integer]
236
+ # @see Id
237
+ def id: () -> ::Integer
238
+
239
+ # ifindex of the main netdevice linked to the PSP device,
240
+ # or the ifindex to associate with the PSP device.
241
+ # @rbs return: ::Integer
242
+ # @return [Integer]
243
+ # @see Ifindex
244
+ def ifindex: () -> ::Integer
245
+
246
+ # Bitmask of PSP versions supported by the device.
247
+ #
248
+ # Known flags are defined in {Flags::Version}.
249
+ # @rbs return: ::Integer
250
+ # @return [Integer]
251
+ # @see PspVersionsCap
252
+ def psp_versions_cap: () -> ::Integer
253
+
254
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
255
+ #
256
+ # Known flags are defined in {Flags::Version}.
257
+ # @rbs return: ::Integer
258
+ # @return [Integer]
259
+ # @see PspVersionsEna
260
+ def psp_versions_ena: () -> ::Integer
261
+
262
+ # List of associated virtual devices.
263
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
264
+ # @return [Array<AttributeSets::AssocDevInfo>]
265
+ # @see AssocList
266
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
267
+
268
+ # Network namespace ID for the device to associate/disassociate.
269
+ # Optional for dev-assoc and dev-disassoc; if not present, the
270
+ # device is looked up in the caller's network namespace.
271
+ # @rbs return: ::Integer
272
+ # @return [Integer]
273
+ # @see Nsid
274
+ def nsid: () -> ::Integer
275
+
276
+ # Flag indicating the PSP device is an associated device from a
277
+ # different network namespace.
278
+ # Present when in associated namespace, absent when in primary/host
279
+ # namespace.
280
+ # @rbs return: ::Integer
281
+ # @return [Integer]
282
+ # @see ByAssociation
283
+ def by_association: () -> ::Integer
284
+
285
+ # Looks up Attribute class by name.
286
+ # @rbs name: Symbol
287
+ # @rbs return: Attribute
288
+ # @param [Symbol] name
289
+ # @return [Attribute]
290
+ def self.by_name: (Symbol name) -> Attribute
291
+
292
+ # Looks up Attribute class by type value.
293
+ # @rbs type: Integer
294
+ # @rbs return: Attribute
295
+ # @param [Integer] type
296
+ # @return [Attribute]
297
+ def self.by_type: (Integer type) -> Attribute
298
+ end
299
+
300
+ class Assoc < ::Nl::AttributeSet
301
+ # Abstract class
302
+ class Attribute < ::Nl::AttributeSet::Attribute
303
+ end
304
+
305
+ # PSP device ID.
306
+ class DevId < Attribute
307
+ TYPE: ::Integer
308
+
309
+ NAME: ::Symbol
310
+
311
+ # @private
312
+ ORDER: ::Integer
313
+
314
+ # @private
315
+ DATATYPE: untyped
316
+ end
317
+
318
+ # PSP versions (AEAD and protocol version) used by this association,
319
+ # dictates the size of the key.
320
+ #
321
+ #
322
+ # Known enum values are defined in {Enums::Version}.
323
+ class Version < Attribute
324
+ TYPE: ::Integer
325
+
326
+ NAME: ::Symbol
327
+
328
+ # @private
329
+ ORDER: ::Integer
330
+
331
+ # @private
332
+ DATATYPE: untyped
333
+ end
334
+
335
+ class RxKey < Attribute
336
+ TYPE: ::Integer
337
+
338
+ NAME: ::Symbol
339
+
340
+ # @private
341
+ ORDER: ::Integer
342
+ end
343
+
344
+ class TxKey < Attribute
345
+ TYPE: ::Integer
346
+
347
+ NAME: ::Symbol
348
+
349
+ # @private
350
+ ORDER: ::Integer
351
+ end
352
+
353
+ # Sockets which should be bound to the association immediately.
354
+ class SockFd < Attribute
355
+ TYPE: ::Integer
356
+
357
+ NAME: ::Symbol
358
+
359
+ # @private
360
+ ORDER: ::Integer
361
+
362
+ # @private
363
+ DATATYPE: untyped
364
+ end
365
+
366
+ # @private
367
+ BY_NAME: Hash[::Symbol, Attribute]
368
+
369
+ # @private
370
+ BY_TYPE: Hash[::Integer, Attribute]
371
+
372
+ # PSP device ID.
373
+ # @rbs return: ::Integer
374
+ # @return [Integer]
375
+ # @see DevId
376
+ def dev_id: () -> ::Integer
377
+
378
+ # PSP versions (AEAD and protocol version) used by this association,
379
+ # dictates the size of the key.
380
+ #
381
+ #
382
+ # Known enum values are defined in {Enums::Version}.
383
+ # @rbs return: ::Integer
384
+ # @return [Integer]
385
+ # @see Version
386
+ def version: () -> ::Integer
387
+
388
+ # @rbs return: AttributeSets::Keys
389
+ # @return [AttributeSets::Keys]
390
+ # @see RxKey
391
+ def rx_key: () -> AttributeSets::Keys
392
+
393
+ # @rbs return: AttributeSets::Keys
394
+ # @return [AttributeSets::Keys]
395
+ # @see TxKey
396
+ def tx_key: () -> AttributeSets::Keys
397
+
398
+ # Sockets which should be bound to the association immediately.
399
+ # @rbs return: ::Integer
400
+ # @return [Integer]
401
+ # @see SockFd
402
+ def sock_fd: () -> ::Integer
403
+
404
+ # Looks up Attribute class by name.
405
+ # @rbs name: Symbol
406
+ # @rbs return: Attribute
407
+ # @param [Symbol] name
408
+ # @return [Attribute]
409
+ def self.by_name: (Symbol name) -> Attribute
410
+
411
+ # Looks up Attribute class by type value.
412
+ # @rbs type: Integer
413
+ # @rbs return: Attribute
414
+ # @param [Integer] type
415
+ # @return [Attribute]
416
+ def self.by_type: (Integer type) -> Attribute
417
+ end
418
+
419
+ class Keys < ::Nl::AttributeSet
420
+ # Abstract class
421
+ class Attribute < ::Nl::AttributeSet::Attribute
422
+ end
423
+
424
+ class Key < Attribute
425
+ TYPE: ::Integer
426
+
427
+ NAME: ::Symbol
428
+
429
+ # @private
430
+ ORDER: ::Integer
431
+
432
+ # @private
433
+ DATATYPE: untyped
434
+ end
435
+
436
+ # Security Parameters Index (SPI) of the association.
437
+ class Spi < Attribute
438
+ TYPE: ::Integer
439
+
440
+ NAME: ::Symbol
441
+
442
+ # @private
443
+ ORDER: ::Integer
444
+
445
+ # @private
446
+ DATATYPE: untyped
447
+ end
448
+
449
+ # @private
450
+ BY_NAME: Hash[::Symbol, Attribute]
451
+
452
+ # @private
453
+ BY_TYPE: Hash[::Integer, Attribute]
454
+
455
+ # @rbs return: ::String
456
+ # @return [String]
457
+ # @see Key
458
+ def key: () -> ::String
459
+
460
+ # Security Parameters Index (SPI) of the association.
461
+ # @rbs return: ::Integer
462
+ # @return [Integer]
463
+ # @see Spi
464
+ def spi: () -> ::Integer
465
+
466
+ # Looks up Attribute class by name.
467
+ # @rbs name: Symbol
468
+ # @rbs return: Attribute
469
+ # @param [Symbol] name
470
+ # @return [Attribute]
471
+ def self.by_name: (Symbol name) -> Attribute
472
+
473
+ # Looks up Attribute class by type value.
474
+ # @rbs type: Integer
475
+ # @rbs return: Attribute
476
+ # @param [Integer] type
477
+ # @return [Attribute]
478
+ def self.by_type: (Integer type) -> Attribute
479
+ end
480
+
481
+ class Stats < ::Nl::AttributeSet
482
+ # Abstract class
483
+ class Attribute < ::Nl::AttributeSet::Attribute
484
+ end
485
+
486
+ # PSP device ID.
487
+ class DevId < Attribute
488
+ TYPE: ::Integer
489
+
490
+ NAME: ::Symbol
491
+
492
+ # @private
493
+ ORDER: ::Integer
494
+
495
+ # @private
496
+ DATATYPE: untyped
497
+ end
498
+
499
+ # Number of key rotations during the lifetime of the device.
500
+ # Kernel statistic.
501
+ class KeyRotations < Attribute
502
+ TYPE: ::Integer
503
+
504
+ NAME: ::Symbol
505
+
506
+ # @private
507
+ ORDER: ::Integer
508
+
509
+ # @private
510
+ DATATYPE: untyped
511
+ end
512
+
513
+ # Number of times a socket's Rx got shut down due to using
514
+ # a key which went stale (fully rotated out).
515
+ # Kernel statistic.
516
+ class StaleEvents < Attribute
517
+ TYPE: ::Integer
518
+
519
+ NAME: ::Symbol
520
+
521
+ # @private
522
+ ORDER: ::Integer
523
+
524
+ # @private
525
+ DATATYPE: untyped
526
+ end
527
+
528
+ # Number of successfully processed and authenticated PSP packets.
529
+ # Device statistic (from the PSP spec).
530
+ class RxPackets < Attribute
531
+ TYPE: ::Integer
532
+
533
+ NAME: ::Symbol
534
+
535
+ # @private
536
+ ORDER: ::Integer
537
+
538
+ # @private
539
+ DATATYPE: untyped
540
+ end
541
+
542
+ # Number of successfully authenticated PSP bytes received, counting from
543
+ # the first byte after the IV through the last byte of payload.
544
+ # The fixed initial portion of the PSP header (16 bytes)
545
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
546
+ # Device statistic (from the PSP spec).
547
+ class RxBytes < Attribute
548
+ TYPE: ::Integer
549
+
550
+ NAME: ::Symbol
551
+
552
+ # @private
553
+ ORDER: ::Integer
554
+
555
+ # @private
556
+ DATATYPE: untyped
557
+ end
558
+
559
+ # Number of received PSP packets with unsuccessful authentication.
560
+ # Device statistic (from the PSP spec).
561
+ class RxAuthFail < Attribute
562
+ TYPE: ::Integer
563
+
564
+ NAME: ::Symbol
565
+
566
+ # @private
567
+ ORDER: ::Integer
568
+
569
+ # @private
570
+ DATATYPE: untyped
571
+ end
572
+
573
+ # Number of received PSP packets with length/framing errors.
574
+ # Device statistic (from the PSP spec).
575
+ class RxError < Attribute
576
+ TYPE: ::Integer
577
+
578
+ NAME: ::Symbol
579
+
580
+ # @private
581
+ ORDER: ::Integer
582
+
583
+ # @private
584
+ DATATYPE: untyped
585
+ end
586
+
587
+ # Number of received PSP packets with miscellaneous errors
588
+ # (invalid master key indicated by SPI, unsupported version, etc.)
589
+ # Device statistic (from the PSP spec).
590
+ class RxBad < Attribute
591
+ TYPE: ::Integer
592
+
593
+ NAME: ::Symbol
594
+
595
+ # @private
596
+ ORDER: ::Integer
597
+
598
+ # @private
599
+ DATATYPE: untyped
600
+ end
601
+
602
+ # Number of successfully processed PSP packets for transmission.
603
+ # Device statistic (from the PSP spec).
604
+ class TxPackets < Attribute
605
+ TYPE: ::Integer
606
+
607
+ NAME: ::Symbol
608
+
609
+ # @private
610
+ ORDER: ::Integer
611
+
612
+ # @private
613
+ DATATYPE: untyped
614
+ end
615
+
616
+ # Number of successfully processed PSP bytes for transmit, counting from
617
+ # the first byte after the IV through the last byte of payload.
618
+ # The fixed initial portion of the PSP header (16 bytes)
619
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
620
+ # Device statistic (from the PSP spec).
621
+ class TxBytes < Attribute
622
+ TYPE: ::Integer
623
+
624
+ NAME: ::Symbol
625
+
626
+ # @private
627
+ ORDER: ::Integer
628
+
629
+ # @private
630
+ DATATYPE: untyped
631
+ end
632
+
633
+ # Number of PSP packets for transmission with errors.
634
+ # Device statistic (from the PSP spec).
635
+ class TxError < Attribute
636
+ TYPE: ::Integer
637
+
638
+ NAME: ::Symbol
639
+
640
+ # @private
641
+ ORDER: ::Integer
642
+
643
+ # @private
644
+ DATATYPE: untyped
645
+ end
646
+
647
+ # @private
648
+ BY_NAME: Hash[::Symbol, Attribute]
649
+
650
+ # @private
651
+ BY_TYPE: Hash[::Integer, Attribute]
652
+
653
+ # PSP device ID.
654
+ # @rbs return: ::Integer
655
+ # @return [Integer]
656
+ # @see DevId
657
+ def dev_id: () -> ::Integer
658
+
659
+ # Number of key rotations during the lifetime of the device.
660
+ # Kernel statistic.
661
+ # @rbs return: ::Integer
662
+ # @return [Integer]
663
+ # @see KeyRotations
664
+ def key_rotations: () -> ::Integer
665
+
666
+ # Number of times a socket's Rx got shut down due to using
667
+ # a key which went stale (fully rotated out).
668
+ # Kernel statistic.
669
+ # @rbs return: ::Integer
670
+ # @return [Integer]
671
+ # @see StaleEvents
672
+ def stale_events: () -> ::Integer
673
+
674
+ # Number of successfully processed and authenticated PSP packets.
675
+ # Device statistic (from the PSP spec).
676
+ # @rbs return: ::Integer
677
+ # @return [Integer]
678
+ # @see RxPackets
679
+ def rx_packets: () -> ::Integer
680
+
681
+ # Number of successfully authenticated PSP bytes received, counting from
682
+ # the first byte after the IV through the last byte of payload.
683
+ # The fixed initial portion of the PSP header (16 bytes)
684
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
685
+ # Device statistic (from the PSP spec).
686
+ # @rbs return: ::Integer
687
+ # @return [Integer]
688
+ # @see RxBytes
689
+ def rx_bytes: () -> ::Integer
690
+
691
+ # Number of received PSP packets with unsuccessful authentication.
692
+ # Device statistic (from the PSP spec).
693
+ # @rbs return: ::Integer
694
+ # @return [Integer]
695
+ # @see RxAuthFail
696
+ def rx_auth_fail: () -> ::Integer
697
+
698
+ # Number of received PSP packets with length/framing errors.
699
+ # Device statistic (from the PSP spec).
700
+ # @rbs return: ::Integer
701
+ # @return [Integer]
702
+ # @see RxError
703
+ def rx_error: () -> ::Integer
704
+
705
+ # Number of received PSP packets with miscellaneous errors
706
+ # (invalid master key indicated by SPI, unsupported version, etc.)
707
+ # Device statistic (from the PSP spec).
708
+ # @rbs return: ::Integer
709
+ # @return [Integer]
710
+ # @see RxBad
711
+ def rx_bad: () -> ::Integer
712
+
713
+ # Number of successfully processed PSP packets for transmission.
714
+ # Device statistic (from the PSP spec).
715
+ # @rbs return: ::Integer
716
+ # @return [Integer]
717
+ # @see TxPackets
718
+ def tx_packets: () -> ::Integer
719
+
720
+ # Number of successfully processed PSP bytes for transmit, counting from
721
+ # the first byte after the IV through the last byte of payload.
722
+ # The fixed initial portion of the PSP header (16 bytes)
723
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
724
+ # Device statistic (from the PSP spec).
725
+ # @rbs return: ::Integer
726
+ # @return [Integer]
727
+ # @see TxBytes
728
+ def tx_bytes: () -> ::Integer
729
+
730
+ # Number of PSP packets for transmission with errors.
731
+ # Device statistic (from the PSP spec).
732
+ # @rbs return: ::Integer
733
+ # @return [Integer]
734
+ # @see TxError
735
+ def tx_error: () -> ::Integer
736
+
737
+ # Looks up Attribute class by name.
738
+ # @rbs name: Symbol
739
+ # @rbs return: Attribute
740
+ # @param [Symbol] name
741
+ # @return [Attribute]
742
+ def self.by_name: (Symbol name) -> Attribute
743
+
744
+ # Looks up Attribute class by type value.
745
+ # @rbs type: Integer
746
+ # @rbs return: Attribute
747
+ # @param [Integer] type
748
+ # @return [Attribute]
749
+ def self.by_type: (Integer type) -> Attribute
750
+ end
751
+ end
752
+
753
+ module Messages
754
+ # Get / dump information about PSP capable devices on the system.
755
+ class DoDevGetRequest < ::Nl::Genl::Message
756
+ TYPE: ::Integer
757
+
758
+ FIXED_HEADER: untyped
759
+
760
+ ATTRIBUTE_SET: untyped
761
+
762
+ ATTRIBUTES: untyped
763
+
764
+ # PSP device ID.
765
+ # @rbs return: ::Integer
766
+ # @return [Integer]
767
+ # @see AttributeSets::Dev::Id
768
+ def id: () -> ::Integer
769
+ end
770
+
771
+ # Get / dump information about PSP capable devices on the system.
772
+ class DoDevGetReply < ::Nl::Genl::Message
773
+ TYPE: ::Integer
774
+
775
+ FIXED_HEADER: untyped
776
+
777
+ ATTRIBUTE_SET: untyped
778
+
779
+ ATTRIBUTES: untyped
780
+
781
+ # PSP device ID.
782
+ # @rbs return: ::Integer
783
+ # @return [Integer]
784
+ # @see AttributeSets::Dev::Id
785
+ def id: () -> ::Integer
786
+
787
+ # ifindex of the main netdevice linked to the PSP device,
788
+ # or the ifindex to associate with the PSP device.
789
+ # @rbs return: ::Integer
790
+ # @return [Integer]
791
+ # @see AttributeSets::Dev::Ifindex
792
+ def ifindex: () -> ::Integer
793
+
794
+ # Bitmask of PSP versions supported by the device.
795
+ #
796
+ # Known flags are defined in {Flags::Version}.
797
+ # @rbs return: ::Integer
798
+ # @return [Integer]
799
+ # @see AttributeSets::Dev::PspVersionsCap
800
+ def psp_versions_cap: () -> ::Integer
801
+
802
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
803
+ #
804
+ # Known flags are defined in {Flags::Version}.
805
+ # @rbs return: ::Integer
806
+ # @return [Integer]
807
+ # @see AttributeSets::Dev::PspVersionsEna
808
+ def psp_versions_ena: () -> ::Integer
809
+
810
+ # List of associated virtual devices.
811
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
812
+ # @return [Array<AttributeSets::AssocDevInfo>]
813
+ # @see AttributeSets::Dev::AssocList
814
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
815
+
816
+ # Flag indicating the PSP device is an associated device from a
817
+ # different network namespace.
818
+ # Present when in associated namespace, absent when in primary/host
819
+ # namespace.
820
+ # @rbs return: ::Integer
821
+ # @return [Integer]
822
+ # @see AttributeSets::Dev::ByAssociation
823
+ def by_association: () -> ::Integer
824
+ end
825
+
826
+ # Get / dump information about PSP capable devices on the system.
827
+ class DumpDevGetRequest < ::Nl::Genl::Message
828
+ TYPE: ::Integer
829
+
830
+ FIXED_HEADER: untyped
831
+
832
+ ATTRIBUTE_SET: untyped
833
+
834
+ ATTRIBUTES: untyped
835
+ end
836
+
837
+ # Get / dump information about PSP capable devices on the system.
838
+ class DumpDevGetReply < ::Nl::Genl::Message
839
+ TYPE: ::Integer
840
+
841
+ FIXED_HEADER: untyped
842
+
843
+ ATTRIBUTE_SET: untyped
844
+
845
+ ATTRIBUTES: untyped
846
+
847
+ # PSP device ID.
848
+ # @rbs return: ::Integer
849
+ # @return [Integer]
850
+ # @see AttributeSets::Dev::Id
851
+ def id: () -> ::Integer
852
+
853
+ # ifindex of the main netdevice linked to the PSP device,
854
+ # or the ifindex to associate with the PSP device.
855
+ # @rbs return: ::Integer
856
+ # @return [Integer]
857
+ # @see AttributeSets::Dev::Ifindex
858
+ def ifindex: () -> ::Integer
859
+
860
+ # Bitmask of PSP versions supported by the device.
861
+ #
862
+ # Known flags are defined in {Flags::Version}.
863
+ # @rbs return: ::Integer
864
+ # @return [Integer]
865
+ # @see AttributeSets::Dev::PspVersionsCap
866
+ def psp_versions_cap: () -> ::Integer
867
+
868
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
869
+ #
870
+ # Known flags are defined in {Flags::Version}.
871
+ # @rbs return: ::Integer
872
+ # @return [Integer]
873
+ # @see AttributeSets::Dev::PspVersionsEna
874
+ def psp_versions_ena: () -> ::Integer
875
+
876
+ # List of associated virtual devices.
877
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
878
+ # @return [Array<AttributeSets::AssocDevInfo>]
879
+ # @see AttributeSets::Dev::AssocList
880
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
881
+
882
+ # Flag indicating the PSP device is an associated device from a
883
+ # different network namespace.
884
+ # Present when in associated namespace, absent when in primary/host
885
+ # namespace.
886
+ # @rbs return: ::Integer
887
+ # @return [Integer]
888
+ # @see AttributeSets::Dev::ByAssociation
889
+ def by_association: () -> ::Integer
890
+ end
891
+
892
+ # Set the configuration of a PSP device.
893
+ #
894
+ # Requires CAP_NET_ADMIN in the initial user namespace.
895
+ class DoDevSetRequest < ::Nl::Genl::Message
896
+ TYPE: ::Integer
897
+
898
+ FIXED_HEADER: untyped
899
+
900
+ ATTRIBUTE_SET: untyped
901
+
902
+ ATTRIBUTES: untyped
903
+
904
+ # PSP device ID.
905
+ # @rbs return: ::Integer
906
+ # @return [Integer]
907
+ # @see AttributeSets::Dev::Id
908
+ def id: () -> ::Integer
909
+
910
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
911
+ #
912
+ # Known flags are defined in {Flags::Version}.
913
+ # @rbs return: ::Integer
914
+ # @return [Integer]
915
+ # @see AttributeSets::Dev::PspVersionsEna
916
+ def psp_versions_ena: () -> ::Integer
917
+ end
918
+
919
+ # Set the configuration of a PSP device.
920
+ #
921
+ # Requires CAP_NET_ADMIN in the initial user namespace.
922
+ class DoDevSetReply < ::Nl::Genl::Message
923
+ TYPE: ::Integer
924
+
925
+ FIXED_HEADER: untyped
926
+
927
+ ATTRIBUTE_SET: untyped
928
+
929
+ ATTRIBUTES: untyped
930
+ end
931
+
932
+ # Rotate the device key.
933
+ #
934
+ # Requires CAP_NET_ADMIN in the initial user namespace.
935
+ class DoKeyRotateRequest < ::Nl::Genl::Message
936
+ TYPE: ::Integer
937
+
938
+ FIXED_HEADER: untyped
939
+
940
+ ATTRIBUTE_SET: untyped
941
+
942
+ ATTRIBUTES: untyped
943
+
944
+ # PSP device ID.
945
+ # @rbs return: ::Integer
946
+ # @return [Integer]
947
+ # @see AttributeSets::Dev::Id
948
+ def id: () -> ::Integer
949
+ end
950
+
951
+ # Rotate the device key.
952
+ #
953
+ # Requires CAP_NET_ADMIN in the initial user namespace.
954
+ class DoKeyRotateReply < ::Nl::Genl::Message
955
+ TYPE: ::Integer
956
+
957
+ FIXED_HEADER: untyped
958
+
959
+ ATTRIBUTE_SET: untyped
960
+
961
+ ATTRIBUTES: untyped
962
+
963
+ # PSP device ID.
964
+ # @rbs return: ::Integer
965
+ # @return [Integer]
966
+ # @see AttributeSets::Dev::Id
967
+ def id: () -> ::Integer
968
+ end
969
+
970
+ # Allocate a new Rx key + SPI pair, associate it with a socket.
971
+ class DoRxAssocRequest < ::Nl::Genl::Message
972
+ TYPE: ::Integer
973
+
974
+ FIXED_HEADER: untyped
975
+
976
+ ATTRIBUTE_SET: untyped
977
+
978
+ ATTRIBUTES: untyped
979
+
980
+ # PSP device ID.
981
+ # @rbs return: ::Integer
982
+ # @return [Integer]
983
+ # @see AttributeSets::Assoc::DevId
984
+ def dev_id: () -> ::Integer
985
+
986
+ # PSP versions (AEAD and protocol version) used by this association,
987
+ # dictates the size of the key.
988
+ #
989
+ #
990
+ # Known enum values are defined in {Enums::Version}.
991
+ # @rbs return: ::Integer
992
+ # @return [Integer]
993
+ # @see AttributeSets::Assoc::Version
994
+ def version: () -> ::Integer
995
+
996
+ # Sockets which should be bound to the association immediately.
997
+ # @rbs return: ::Integer
998
+ # @return [Integer]
999
+ # @see AttributeSets::Assoc::SockFd
1000
+ def sock_fd: () -> ::Integer
1001
+ end
1002
+
1003
+ # Allocate a new Rx key + SPI pair, associate it with a socket.
1004
+ class DoRxAssocReply < ::Nl::Genl::Message
1005
+ TYPE: ::Integer
1006
+
1007
+ FIXED_HEADER: untyped
1008
+
1009
+ ATTRIBUTE_SET: untyped
1010
+
1011
+ ATTRIBUTES: untyped
1012
+
1013
+ # PSP device ID.
1014
+ # @rbs return: ::Integer
1015
+ # @return [Integer]
1016
+ # @see AttributeSets::Assoc::DevId
1017
+ def dev_id: () -> ::Integer
1018
+
1019
+ # @rbs return: AttributeSets::Keys
1020
+ # @return [AttributeSets::Keys]
1021
+ # @see AttributeSets::Assoc::RxKey
1022
+ def rx_key: () -> AttributeSets::Keys
1023
+ end
1024
+
1025
+ # Add a PSP Tx association.
1026
+ class DoTxAssocRequest < ::Nl::Genl::Message
1027
+ TYPE: ::Integer
1028
+
1029
+ FIXED_HEADER: untyped
1030
+
1031
+ ATTRIBUTE_SET: untyped
1032
+
1033
+ ATTRIBUTES: untyped
1034
+
1035
+ # PSP device ID.
1036
+ # @rbs return: ::Integer
1037
+ # @return [Integer]
1038
+ # @see AttributeSets::Assoc::DevId
1039
+ def dev_id: () -> ::Integer
1040
+
1041
+ # PSP versions (AEAD and protocol version) used by this association,
1042
+ # dictates the size of the key.
1043
+ #
1044
+ #
1045
+ # Known enum values are defined in {Enums::Version}.
1046
+ # @rbs return: ::Integer
1047
+ # @return [Integer]
1048
+ # @see AttributeSets::Assoc::Version
1049
+ def version: () -> ::Integer
1050
+
1051
+ # @rbs return: AttributeSets::Keys
1052
+ # @return [AttributeSets::Keys]
1053
+ # @see AttributeSets::Assoc::TxKey
1054
+ def tx_key: () -> AttributeSets::Keys
1055
+
1056
+ # Sockets which should be bound to the association immediately.
1057
+ # @rbs return: ::Integer
1058
+ # @return [Integer]
1059
+ # @see AttributeSets::Assoc::SockFd
1060
+ def sock_fd: () -> ::Integer
1061
+ end
1062
+
1063
+ # Add a PSP Tx association.
1064
+ class DoTxAssocReply < ::Nl::Genl::Message
1065
+ TYPE: ::Integer
1066
+
1067
+ FIXED_HEADER: untyped
1068
+
1069
+ ATTRIBUTE_SET: untyped
1070
+
1071
+ ATTRIBUTES: untyped
1072
+ end
1073
+
1074
+ # Get device statistics.
1075
+ class DoGetStatsRequest < ::Nl::Genl::Message
1076
+ TYPE: ::Integer
1077
+
1078
+ FIXED_HEADER: untyped
1079
+
1080
+ ATTRIBUTE_SET: untyped
1081
+
1082
+ ATTRIBUTES: untyped
1083
+
1084
+ # PSP device ID.
1085
+ # @rbs return: ::Integer
1086
+ # @return [Integer]
1087
+ # @see AttributeSets::Stats::DevId
1088
+ def dev_id: () -> ::Integer
1089
+ end
1090
+
1091
+ # Get device statistics.
1092
+ class DoGetStatsReply < ::Nl::Genl::Message
1093
+ TYPE: ::Integer
1094
+
1095
+ FIXED_HEADER: untyped
1096
+
1097
+ ATTRIBUTE_SET: untyped
1098
+
1099
+ ATTRIBUTES: untyped
1100
+
1101
+ # PSP device ID.
1102
+ # @rbs return: ::Integer
1103
+ # @return [Integer]
1104
+ # @see AttributeSets::Stats::DevId
1105
+ def dev_id: () -> ::Integer
1106
+
1107
+ # Number of key rotations during the lifetime of the device.
1108
+ # Kernel statistic.
1109
+ # @rbs return: ::Integer
1110
+ # @return [Integer]
1111
+ # @see AttributeSets::Stats::KeyRotations
1112
+ def key_rotations: () -> ::Integer
1113
+
1114
+ # Number of times a socket's Rx got shut down due to using
1115
+ # a key which went stale (fully rotated out).
1116
+ # Kernel statistic.
1117
+ # @rbs return: ::Integer
1118
+ # @return [Integer]
1119
+ # @see AttributeSets::Stats::StaleEvents
1120
+ def stale_events: () -> ::Integer
1121
+
1122
+ # Number of successfully processed and authenticated PSP packets.
1123
+ # Device statistic (from the PSP spec).
1124
+ # @rbs return: ::Integer
1125
+ # @return [Integer]
1126
+ # @see AttributeSets::Stats::RxPackets
1127
+ def rx_packets: () -> ::Integer
1128
+
1129
+ # Number of successfully authenticated PSP bytes received, counting from
1130
+ # the first byte after the IV through the last byte of payload.
1131
+ # The fixed initial portion of the PSP header (16 bytes)
1132
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
1133
+ # Device statistic (from the PSP spec).
1134
+ # @rbs return: ::Integer
1135
+ # @return [Integer]
1136
+ # @see AttributeSets::Stats::RxBytes
1137
+ def rx_bytes: () -> ::Integer
1138
+
1139
+ # Number of received PSP packets with unsuccessful authentication.
1140
+ # Device statistic (from the PSP spec).
1141
+ # @rbs return: ::Integer
1142
+ # @return [Integer]
1143
+ # @see AttributeSets::Stats::RxAuthFail
1144
+ def rx_auth_fail: () -> ::Integer
1145
+
1146
+ # Number of received PSP packets with length/framing errors.
1147
+ # Device statistic (from the PSP spec).
1148
+ # @rbs return: ::Integer
1149
+ # @return [Integer]
1150
+ # @see AttributeSets::Stats::RxError
1151
+ def rx_error: () -> ::Integer
1152
+
1153
+ # Number of received PSP packets with miscellaneous errors
1154
+ # (invalid master key indicated by SPI, unsupported version, etc.)
1155
+ # Device statistic (from the PSP spec).
1156
+ # @rbs return: ::Integer
1157
+ # @return [Integer]
1158
+ # @see AttributeSets::Stats::RxBad
1159
+ def rx_bad: () -> ::Integer
1160
+
1161
+ # Number of successfully processed PSP packets for transmission.
1162
+ # Device statistic (from the PSP spec).
1163
+ # @rbs return: ::Integer
1164
+ # @return [Integer]
1165
+ # @see AttributeSets::Stats::TxPackets
1166
+ def tx_packets: () -> ::Integer
1167
+
1168
+ # Number of successfully processed PSP bytes for transmit, counting from
1169
+ # the first byte after the IV through the last byte of payload.
1170
+ # The fixed initial portion of the PSP header (16 bytes)
1171
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
1172
+ # Device statistic (from the PSP spec).
1173
+ # @rbs return: ::Integer
1174
+ # @return [Integer]
1175
+ # @see AttributeSets::Stats::TxBytes
1176
+ def tx_bytes: () -> ::Integer
1177
+
1178
+ # Number of PSP packets for transmission with errors.
1179
+ # Device statistic (from the PSP spec).
1180
+ # @rbs return: ::Integer
1181
+ # @return [Integer]
1182
+ # @see AttributeSets::Stats::TxError
1183
+ def tx_error: () -> ::Integer
1184
+ end
1185
+
1186
+ # Get device statistics.
1187
+ class DumpGetStatsRequest < ::Nl::Genl::Message
1188
+ TYPE: ::Integer
1189
+
1190
+ FIXED_HEADER: untyped
1191
+
1192
+ ATTRIBUTE_SET: untyped
1193
+
1194
+ ATTRIBUTES: untyped
1195
+ end
1196
+
1197
+ # Get device statistics.
1198
+ class DumpGetStatsReply < ::Nl::Genl::Message
1199
+ TYPE: ::Integer
1200
+
1201
+ FIXED_HEADER: untyped
1202
+
1203
+ ATTRIBUTE_SET: untyped
1204
+
1205
+ ATTRIBUTES: untyped
1206
+
1207
+ # PSP device ID.
1208
+ # @rbs return: ::Integer
1209
+ # @return [Integer]
1210
+ # @see AttributeSets::Stats::DevId
1211
+ def dev_id: () -> ::Integer
1212
+
1213
+ # Number of key rotations during the lifetime of the device.
1214
+ # Kernel statistic.
1215
+ # @rbs return: ::Integer
1216
+ # @return [Integer]
1217
+ # @see AttributeSets::Stats::KeyRotations
1218
+ def key_rotations: () -> ::Integer
1219
+
1220
+ # Number of times a socket's Rx got shut down due to using
1221
+ # a key which went stale (fully rotated out).
1222
+ # Kernel statistic.
1223
+ # @rbs return: ::Integer
1224
+ # @return [Integer]
1225
+ # @see AttributeSets::Stats::StaleEvents
1226
+ def stale_events: () -> ::Integer
1227
+
1228
+ # Number of successfully processed and authenticated PSP packets.
1229
+ # Device statistic (from the PSP spec).
1230
+ # @rbs return: ::Integer
1231
+ # @return [Integer]
1232
+ # @see AttributeSets::Stats::RxPackets
1233
+ def rx_packets: () -> ::Integer
1234
+
1235
+ # Number of successfully authenticated PSP bytes received, counting from
1236
+ # the first byte after the IV through the last byte of payload.
1237
+ # The fixed initial portion of the PSP header (16 bytes)
1238
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
1239
+ # Device statistic (from the PSP spec).
1240
+ # @rbs return: ::Integer
1241
+ # @return [Integer]
1242
+ # @see AttributeSets::Stats::RxBytes
1243
+ def rx_bytes: () -> ::Integer
1244
+
1245
+ # Number of received PSP packets with unsuccessful authentication.
1246
+ # Device statistic (from the PSP spec).
1247
+ # @rbs return: ::Integer
1248
+ # @return [Integer]
1249
+ # @see AttributeSets::Stats::RxAuthFail
1250
+ def rx_auth_fail: () -> ::Integer
1251
+
1252
+ # Number of received PSP packets with length/framing errors.
1253
+ # Device statistic (from the PSP spec).
1254
+ # @rbs return: ::Integer
1255
+ # @return [Integer]
1256
+ # @see AttributeSets::Stats::RxError
1257
+ def rx_error: () -> ::Integer
1258
+
1259
+ # Number of received PSP packets with miscellaneous errors
1260
+ # (invalid master key indicated by SPI, unsupported version, etc.)
1261
+ # Device statistic (from the PSP spec).
1262
+ # @rbs return: ::Integer
1263
+ # @return [Integer]
1264
+ # @see AttributeSets::Stats::RxBad
1265
+ def rx_bad: () -> ::Integer
1266
+
1267
+ # Number of successfully processed PSP packets for transmission.
1268
+ # Device statistic (from the PSP spec).
1269
+ # @rbs return: ::Integer
1270
+ # @return [Integer]
1271
+ # @see AttributeSets::Stats::TxPackets
1272
+ def tx_packets: () -> ::Integer
1273
+
1274
+ # Number of successfully processed PSP bytes for transmit, counting from
1275
+ # the first byte after the IV through the last byte of payload.
1276
+ # The fixed initial portion of the PSP header (16 bytes)
1277
+ # and the PSP trailer/ICV (16 bytes) are not included in this count.
1278
+ # Device statistic (from the PSP spec).
1279
+ # @rbs return: ::Integer
1280
+ # @return [Integer]
1281
+ # @see AttributeSets::Stats::TxBytes
1282
+ def tx_bytes: () -> ::Integer
1283
+
1284
+ # Number of PSP packets for transmission with errors.
1285
+ # Device statistic (from the PSP spec).
1286
+ # @rbs return: ::Integer
1287
+ # @return [Integer]
1288
+ # @see AttributeSets::Stats::TxError
1289
+ def tx_error: () -> ::Integer
1290
+ end
1291
+
1292
+ # Associate a network device with a PSP device.
1293
+ #
1294
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1295
+ class DoDevAssocRequest < ::Nl::Genl::Message
1296
+ TYPE: ::Integer
1297
+
1298
+ FIXED_HEADER: untyped
1299
+
1300
+ ATTRIBUTE_SET: untyped
1301
+
1302
+ ATTRIBUTES: untyped
1303
+
1304
+ # PSP device ID.
1305
+ # @rbs return: ::Integer
1306
+ # @return [Integer]
1307
+ # @see AttributeSets::Dev::Id
1308
+ def id: () -> ::Integer
1309
+
1310
+ # ifindex of the main netdevice linked to the PSP device,
1311
+ # or the ifindex to associate with the PSP device.
1312
+ # @rbs return: ::Integer
1313
+ # @return [Integer]
1314
+ # @see AttributeSets::Dev::Ifindex
1315
+ def ifindex: () -> ::Integer
1316
+
1317
+ # Network namespace ID for the device to associate/disassociate.
1318
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1319
+ # device is looked up in the caller's network namespace.
1320
+ # @rbs return: ::Integer
1321
+ # @return [Integer]
1322
+ # @see AttributeSets::Dev::Nsid
1323
+ def nsid: () -> ::Integer
1324
+ end
1325
+
1326
+ # Associate a network device with a PSP device.
1327
+ #
1328
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1329
+ class DoDevAssocReply < ::Nl::Genl::Message
1330
+ TYPE: ::Integer
1331
+
1332
+ FIXED_HEADER: untyped
1333
+
1334
+ ATTRIBUTE_SET: untyped
1335
+
1336
+ ATTRIBUTES: untyped
1337
+ end
1338
+
1339
+ # Disassociate a network device from a PSP device.
1340
+ #
1341
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1342
+ class DoDevDisassocRequest < ::Nl::Genl::Message
1343
+ TYPE: ::Integer
1344
+
1345
+ FIXED_HEADER: untyped
1346
+
1347
+ ATTRIBUTE_SET: untyped
1348
+
1349
+ ATTRIBUTES: untyped
1350
+
1351
+ # PSP device ID.
1352
+ # @rbs return: ::Integer
1353
+ # @return [Integer]
1354
+ # @see AttributeSets::Dev::Id
1355
+ def id: () -> ::Integer
1356
+
1357
+ # ifindex of the main netdevice linked to the PSP device,
1358
+ # or the ifindex to associate with the PSP device.
1359
+ # @rbs return: ::Integer
1360
+ # @return [Integer]
1361
+ # @see AttributeSets::Dev::Ifindex
1362
+ def ifindex: () -> ::Integer
1363
+
1364
+ # Network namespace ID for the device to associate/disassociate.
1365
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1366
+ # device is looked up in the caller's network namespace.
1367
+ # @rbs return: ::Integer
1368
+ # @return [Integer]
1369
+ # @see AttributeSets::Dev::Nsid
1370
+ def nsid: () -> ::Integer
1371
+ end
1372
+
1373
+ # Disassociate a network device from a PSP device.
1374
+ #
1375
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1376
+ class DoDevDisassocReply < ::Nl::Genl::Message
1377
+ TYPE: ::Integer
1378
+
1379
+ FIXED_HEADER: untyped
1380
+
1381
+ ATTRIBUTE_SET: untyped
1382
+
1383
+ ATTRIBUTES: untyped
1384
+ end
1385
+ end
1386
+
1387
+ module Notifications
1388
+ # Notification about device appearing.
1389
+ #
1390
+ # Multicast group: `mgmt`.
1391
+ class DevAddNtf < ::Nl::Genl::Message
1392
+ TYPE: ::Integer
1393
+
1394
+ FIXED_HEADER: untyped
1395
+
1396
+ ATTRIBUTE_SET: untyped
1397
+
1398
+ ATTRIBUTES: untyped
1399
+
1400
+ # PSP device ID.
1401
+ # @rbs return: ::Integer
1402
+ # @return [Integer]
1403
+ # @see AttributeSets::Dev::Id
1404
+ def id: () -> ::Integer
1405
+
1406
+ # ifindex of the main netdevice linked to the PSP device,
1407
+ # or the ifindex to associate with the PSP device.
1408
+ # @rbs return: ::Integer
1409
+ # @return [Integer]
1410
+ # @see AttributeSets::Dev::Ifindex
1411
+ def ifindex: () -> ::Integer
1412
+
1413
+ # Bitmask of PSP versions supported by the device.
1414
+ #
1415
+ # Known flags are defined in {Flags::Version}.
1416
+ # @rbs return: ::Integer
1417
+ # @return [Integer]
1418
+ # @see AttributeSets::Dev::PspVersionsCap
1419
+ def psp_versions_cap: () -> ::Integer
1420
+
1421
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
1422
+ #
1423
+ # Known flags are defined in {Flags::Version}.
1424
+ # @rbs return: ::Integer
1425
+ # @return [Integer]
1426
+ # @see AttributeSets::Dev::PspVersionsEna
1427
+ def psp_versions_ena: () -> ::Integer
1428
+
1429
+ # List of associated virtual devices.
1430
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
1431
+ # @return [Array<AttributeSets::AssocDevInfo>]
1432
+ # @see AttributeSets::Dev::AssocList
1433
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
1434
+
1435
+ # Flag indicating the PSP device is an associated device from a
1436
+ # different network namespace.
1437
+ # Present when in associated namespace, absent when in primary/host
1438
+ # namespace.
1439
+ # @rbs return: ::Integer
1440
+ # @return [Integer]
1441
+ # @see AttributeSets::Dev::ByAssociation
1442
+ def by_association: () -> ::Integer
1443
+ end
1444
+
1445
+ # Notification about device disappearing.
1446
+ #
1447
+ # Multicast group: `mgmt`.
1448
+ class DevDelNtf < ::Nl::Genl::Message
1449
+ TYPE: ::Integer
1450
+
1451
+ FIXED_HEADER: untyped
1452
+
1453
+ ATTRIBUTE_SET: untyped
1454
+
1455
+ ATTRIBUTES: untyped
1456
+
1457
+ # PSP device ID.
1458
+ # @rbs return: ::Integer
1459
+ # @return [Integer]
1460
+ # @see AttributeSets::Dev::Id
1461
+ def id: () -> ::Integer
1462
+
1463
+ # ifindex of the main netdevice linked to the PSP device,
1464
+ # or the ifindex to associate with the PSP device.
1465
+ # @rbs return: ::Integer
1466
+ # @return [Integer]
1467
+ # @see AttributeSets::Dev::Ifindex
1468
+ def ifindex: () -> ::Integer
1469
+
1470
+ # Bitmask of PSP versions supported by the device.
1471
+ #
1472
+ # Known flags are defined in {Flags::Version}.
1473
+ # @rbs return: ::Integer
1474
+ # @return [Integer]
1475
+ # @see AttributeSets::Dev::PspVersionsCap
1476
+ def psp_versions_cap: () -> ::Integer
1477
+
1478
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
1479
+ #
1480
+ # Known flags are defined in {Flags::Version}.
1481
+ # @rbs return: ::Integer
1482
+ # @return [Integer]
1483
+ # @see AttributeSets::Dev::PspVersionsEna
1484
+ def psp_versions_ena: () -> ::Integer
1485
+
1486
+ # List of associated virtual devices.
1487
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
1488
+ # @return [Array<AttributeSets::AssocDevInfo>]
1489
+ # @see AttributeSets::Dev::AssocList
1490
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
1491
+
1492
+ # Flag indicating the PSP device is an associated device from a
1493
+ # different network namespace.
1494
+ # Present when in associated namespace, absent when in primary/host
1495
+ # namespace.
1496
+ # @rbs return: ::Integer
1497
+ # @return [Integer]
1498
+ # @see AttributeSets::Dev::ByAssociation
1499
+ def by_association: () -> ::Integer
1500
+ end
1501
+
1502
+ # Notification about device configuration being changed.
1503
+ #
1504
+ # Multicast group: `mgmt`.
1505
+ class DevChangeNtf < ::Nl::Genl::Message
1506
+ TYPE: ::Integer
1507
+
1508
+ FIXED_HEADER: untyped
1509
+
1510
+ ATTRIBUTE_SET: untyped
1511
+
1512
+ ATTRIBUTES: untyped
1513
+
1514
+ # PSP device ID.
1515
+ # @rbs return: ::Integer
1516
+ # @return [Integer]
1517
+ # @see AttributeSets::Dev::Id
1518
+ def id: () -> ::Integer
1519
+
1520
+ # ifindex of the main netdevice linked to the PSP device,
1521
+ # or the ifindex to associate with the PSP device.
1522
+ # @rbs return: ::Integer
1523
+ # @return [Integer]
1524
+ # @see AttributeSets::Dev::Ifindex
1525
+ def ifindex: () -> ::Integer
1526
+
1527
+ # Bitmask of PSP versions supported by the device.
1528
+ #
1529
+ # Known flags are defined in {Flags::Version}.
1530
+ # @rbs return: ::Integer
1531
+ # @return [Integer]
1532
+ # @see AttributeSets::Dev::PspVersionsCap
1533
+ def psp_versions_cap: () -> ::Integer
1534
+
1535
+ # Bitmask of currently enabled (accepted on Rx) PSP versions.
1536
+ #
1537
+ # Known flags are defined in {Flags::Version}.
1538
+ # @rbs return: ::Integer
1539
+ # @return [Integer]
1540
+ # @see AttributeSets::Dev::PspVersionsEna
1541
+ def psp_versions_ena: () -> ::Integer
1542
+
1543
+ # List of associated virtual devices.
1544
+ # @rbs return: ::Array[AttributeSets::AssocDevInfo]
1545
+ # @return [Array<AttributeSets::AssocDevInfo>]
1546
+ # @see AttributeSets::Dev::AssocList
1547
+ def assoc_list: () -> ::Array[AttributeSets::AssocDevInfo]
1548
+
1549
+ # Flag indicating the PSP device is an associated device from a
1550
+ # different network namespace.
1551
+ # Present when in associated namespace, absent when in primary/host
1552
+ # namespace.
1553
+ # @rbs return: ::Integer
1554
+ # @return [Integer]
1555
+ # @see AttributeSets::Dev::ByAssociation
1556
+ def by_association: () -> ::Integer
1557
+ end
1558
+
1559
+ # Notification about device key getting rotated.
1560
+ #
1561
+ # Multicast group: `use`.
1562
+ class KeyRotateNtf < ::Nl::Genl::Message
1563
+ TYPE: ::Integer
1564
+
1565
+ FIXED_HEADER: untyped
1566
+
1567
+ ATTRIBUTE_SET: untyped
1568
+
1569
+ ATTRIBUTES: untyped
1570
+
1571
+ # PSP device ID.
1572
+ # @rbs return: ::Integer
1573
+ # @return [Integer]
1574
+ # @see AttributeSets::Dev::Id
1575
+ def id: () -> ::Integer
1576
+ end
1577
+ end
1578
+
1579
+ # @private
1580
+ NOTIFICATIONS: Hash[::Integer, ::Class]
1581
+
1582
+ # Get / dump information about PSP capable devices on the system.
1583
+ # @rbs (?id: ::Integer) -> Messages::DoDevGetReply
1584
+ # @param [Hash] args
1585
+ # @option args [Integer] id PSP device ID.
1586
+ # @return [Messages::DoDevGetReply]
1587
+ # @see Messages::DoDevGetRequest
1588
+ def do_dev_get: (?id: ::Integer) -> Messages::DoDevGetReply
1589
+
1590
+ # Get / dump information about PSP capable devices on the system.
1591
+ # @rbs () -> Array[Messages::DumpDevGetReply]
1592
+ # | () { (Messages::DumpDevGetReply) -> void } -> void
1593
+ # @overload dump_dev_get(**args)
1594
+ # Returns an array when no block is given.
1595
+ # @param [Hash] args
1596
+ # @return [Array<Messages::DumpDevGetReply>]
1597
+ # @overload dump_dev_get(**args, &block)
1598
+ # Yields each reply when a block is given.
1599
+ # @param [Hash] args
1600
+ # @yieldparam [Messages::DumpDevGetReply] reply
1601
+ # @return [void]
1602
+ # @see Messages::DumpDevGetRequest
1603
+ def dump_dev_get: () -> Array[Messages::DumpDevGetReply]
1604
+ | () { (Messages::DumpDevGetReply) -> void } -> void
1605
+
1606
+ # Set the configuration of a PSP device.
1607
+ #
1608
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1609
+ # @rbs (?id: ::Integer, ?psp_versions_ena: ::Integer) -> Messages::DoDevSetReply
1610
+ # @param [Hash] args
1611
+ # @option args [Integer] id PSP device ID.
1612
+ # @option args [Integer] psp_versions_ena Bitmask of currently enabled (accepted on Rx) PSP versions.
1613
+ #
1614
+ # Known flags are defined in {Flags::Version}.
1615
+ # @return [Messages::DoDevSetReply]
1616
+ # @see Messages::DoDevSetRequest
1617
+ def do_dev_set: (?id: ::Integer, ?psp_versions_ena: ::Integer) -> Messages::DoDevSetReply
1618
+
1619
+ # Rotate the device key.
1620
+ #
1621
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1622
+ # @rbs (?id: ::Integer) -> Messages::DoKeyRotateReply
1623
+ # @param [Hash] args
1624
+ # @option args [Integer] id PSP device ID.
1625
+ # @return [Messages::DoKeyRotateReply]
1626
+ # @see Messages::DoKeyRotateRequest
1627
+ def do_key_rotate: (?id: ::Integer) -> Messages::DoKeyRotateReply
1628
+
1629
+ # Allocate a new Rx key + SPI pair, associate it with a socket.
1630
+ # @rbs (?dev_id: ::Integer, ?version: ::Integer, ?sock_fd: ::Integer) -> Messages::DoRxAssocReply
1631
+ # @param [Hash] args
1632
+ # @option args [Integer] dev_id PSP device ID.
1633
+ # @option args [Integer] version PSP versions (AEAD and protocol version) used by this association,
1634
+ # dictates the size of the key.
1635
+ #
1636
+ #
1637
+ # Known enum values are defined in {Enums::Version}.
1638
+ # @option args [Integer] sock_fd Sockets which should be bound to the association immediately.
1639
+ # @return [Messages::DoRxAssocReply]
1640
+ # @see Messages::DoRxAssocRequest
1641
+ def do_rx_assoc: (?dev_id: ::Integer, ?version: ::Integer, ?sock_fd: ::Integer) -> Messages::DoRxAssocReply
1642
+
1643
+ # Add a PSP Tx association.
1644
+ # @rbs (?dev_id: ::Integer, ?version: ::Integer, ?tx_key: (AttributeSets::Keys | ::Hash[::Symbol, untyped]), ?sock_fd: ::Integer) -> Messages::DoTxAssocReply
1645
+ # @param [Hash] args
1646
+ # @option args [Integer] dev_id PSP device ID.
1647
+ # @option args [Integer] version PSP versions (AEAD and protocol version) used by this association,
1648
+ # dictates the size of the key.
1649
+ #
1650
+ #
1651
+ # Known enum values are defined in {Enums::Version}.
1652
+ # @option args [AttributeSets::Keys, Hash<Symbol, Object>] tx_key
1653
+ # @option args [Integer] sock_fd Sockets which should be bound to the association immediately.
1654
+ # @return [Messages::DoTxAssocReply]
1655
+ # @see Messages::DoTxAssocRequest
1656
+ def do_tx_assoc: (?dev_id: ::Integer, ?version: ::Integer, ?tx_key: AttributeSets::Keys | ::Hash[::Symbol, untyped], ?sock_fd: ::Integer) -> Messages::DoTxAssocReply
1657
+
1658
+ # Get device statistics.
1659
+ # @rbs (?dev_id: ::Integer) -> Messages::DoGetStatsReply
1660
+ # @param [Hash] args
1661
+ # @option args [Integer] dev_id PSP device ID.
1662
+ # @return [Messages::DoGetStatsReply]
1663
+ # @see Messages::DoGetStatsRequest
1664
+ def do_get_stats: (?dev_id: ::Integer) -> Messages::DoGetStatsReply
1665
+
1666
+ # Get device statistics.
1667
+ # @rbs () -> Array[Messages::DumpGetStatsReply]
1668
+ # | () { (Messages::DumpGetStatsReply) -> void } -> void
1669
+ # @overload dump_get_stats(**args)
1670
+ # Returns an array when no block is given.
1671
+ # @param [Hash] args
1672
+ # @return [Array<Messages::DumpGetStatsReply>]
1673
+ # @overload dump_get_stats(**args, &block)
1674
+ # Yields each reply when a block is given.
1675
+ # @param [Hash] args
1676
+ # @yieldparam [Messages::DumpGetStatsReply] reply
1677
+ # @return [void]
1678
+ # @see Messages::DumpGetStatsRequest
1679
+ def dump_get_stats: () -> Array[Messages::DumpGetStatsReply]
1680
+ | () { (Messages::DumpGetStatsReply) -> void } -> void
1681
+
1682
+ # Associate a network device with a PSP device.
1683
+ #
1684
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1685
+ # @rbs (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> Messages::DoDevAssocReply
1686
+ # @param [Hash] args
1687
+ # @option args [Integer] id PSP device ID.
1688
+ # @option args [Integer] ifindex ifindex of the main netdevice linked to the PSP device,
1689
+ # or the ifindex to associate with the PSP device.
1690
+ # @option args [Integer] nsid Network namespace ID for the device to associate/disassociate.
1691
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1692
+ # device is looked up in the caller's network namespace.
1693
+ # @return [Messages::DoDevAssocReply]
1694
+ # @see Messages::DoDevAssocRequest
1695
+ def do_dev_assoc: (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> Messages::DoDevAssocReply
1696
+
1697
+ # Disassociate a network device from a PSP device.
1698
+ #
1699
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1700
+ # @rbs (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> Messages::DoDevDisassocReply
1701
+ # @param [Hash] args
1702
+ # @option args [Integer] id PSP device ID.
1703
+ # @option args [Integer] ifindex ifindex of the main netdevice linked to the PSP device,
1704
+ # or the ifindex to associate with the PSP device.
1705
+ # @option args [Integer] nsid Network namespace ID for the device to associate/disassociate.
1706
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1707
+ # device is looked up in the caller's network namespace.
1708
+ # @return [Messages::DoDevDisassocReply]
1709
+ # @see Messages::DoDevDisassocRequest
1710
+ def do_dev_disassoc: (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> Messages::DoDevDisassocReply
1711
+
1712
+ class AsyncOperations
1713
+ # @private
1714
+ def initialize: () ?{ (?) -> untyped } -> untyped
1715
+
1716
+ # Get / dump information about PSP capable devices on the system.
1717
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoDevGetReply]
1718
+ # @param [Hash] args
1719
+ # @option args [Integer] id PSP device ID.
1720
+ # @return [Nl::Async::Future<Messages::DoDevGetReply>]
1721
+ # @see Messages::DoDevGetRequest
1722
+ def do_dev_get: (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoDevGetReply]
1723
+
1724
+ # Get / dump information about PSP capable devices on the system.
1725
+ # @rbs () -> ::Nl::Async::Stream[Messages::DumpDevGetReply]
1726
+ # @param [Hash] args
1727
+ # @return [Nl::Async::Stream<Messages::DumpDevGetReply>]
1728
+ # @see Messages::DumpDevGetRequest
1729
+ def dump_dev_get: () -> ::Nl::Async::Stream[Messages::DumpDevGetReply]
1730
+
1731
+ # Set the configuration of a PSP device.
1732
+ #
1733
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1734
+ # @rbs (?id: ::Integer, ?psp_versions_ena: ::Integer) -> ::Nl::Async::Future[Messages::DoDevSetReply]
1735
+ # @param [Hash] args
1736
+ # @option args [Integer] id PSP device ID.
1737
+ # @option args [Integer] psp_versions_ena Bitmask of currently enabled (accepted on Rx) PSP versions.
1738
+ #
1739
+ # Known flags are defined in {Flags::Version}.
1740
+ # @return [Nl::Async::Future<Messages::DoDevSetReply>]
1741
+ # @see Messages::DoDevSetRequest
1742
+ def do_dev_set: (?id: ::Integer, ?psp_versions_ena: ::Integer) -> ::Nl::Async::Future[Messages::DoDevSetReply]
1743
+
1744
+ # Rotate the device key.
1745
+ #
1746
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1747
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoKeyRotateReply]
1748
+ # @param [Hash] args
1749
+ # @option args [Integer] id PSP device ID.
1750
+ # @return [Nl::Async::Future<Messages::DoKeyRotateReply>]
1751
+ # @see Messages::DoKeyRotateRequest
1752
+ def do_key_rotate: (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoKeyRotateReply]
1753
+
1754
+ # Allocate a new Rx key + SPI pair, associate it with a socket.
1755
+ # @rbs (?dev_id: ::Integer, ?version: ::Integer, ?sock_fd: ::Integer) -> ::Nl::Async::Future[Messages::DoRxAssocReply]
1756
+ # @param [Hash] args
1757
+ # @option args [Integer] dev_id PSP device ID.
1758
+ # @option args [Integer] version PSP versions (AEAD and protocol version) used by this association,
1759
+ # dictates the size of the key.
1760
+ #
1761
+ #
1762
+ # Known enum values are defined in {Enums::Version}.
1763
+ # @option args [Integer] sock_fd Sockets which should be bound to the association immediately.
1764
+ # @return [Nl::Async::Future<Messages::DoRxAssocReply>]
1765
+ # @see Messages::DoRxAssocRequest
1766
+ def do_rx_assoc: (?dev_id: ::Integer, ?version: ::Integer, ?sock_fd: ::Integer) -> ::Nl::Async::Future[Messages::DoRxAssocReply]
1767
+
1768
+ # Add a PSP Tx association.
1769
+ # @rbs (?dev_id: ::Integer, ?version: ::Integer, ?tx_key: (AttributeSets::Keys | ::Hash[::Symbol, untyped]), ?sock_fd: ::Integer) -> ::Nl::Async::Future[Messages::DoTxAssocReply]
1770
+ # @param [Hash] args
1771
+ # @option args [Integer] dev_id PSP device ID.
1772
+ # @option args [Integer] version PSP versions (AEAD and protocol version) used by this association,
1773
+ # dictates the size of the key.
1774
+ #
1775
+ #
1776
+ # Known enum values are defined in {Enums::Version}.
1777
+ # @option args [AttributeSets::Keys, Hash<Symbol, Object>] tx_key
1778
+ # @option args [Integer] sock_fd Sockets which should be bound to the association immediately.
1779
+ # @return [Nl::Async::Future<Messages::DoTxAssocReply>]
1780
+ # @see Messages::DoTxAssocRequest
1781
+ def do_tx_assoc: (?dev_id: ::Integer, ?version: ::Integer, ?tx_key: AttributeSets::Keys | ::Hash[::Symbol, untyped], ?sock_fd: ::Integer) -> ::Nl::Async::Future[Messages::DoTxAssocReply]
1782
+
1783
+ # Get device statistics.
1784
+ # @rbs (?dev_id: ::Integer) -> ::Nl::Async::Future[Messages::DoGetStatsReply]
1785
+ # @param [Hash] args
1786
+ # @option args [Integer] dev_id PSP device ID.
1787
+ # @return [Nl::Async::Future<Messages::DoGetStatsReply>]
1788
+ # @see Messages::DoGetStatsRequest
1789
+ def do_get_stats: (?dev_id: ::Integer) -> ::Nl::Async::Future[Messages::DoGetStatsReply]
1790
+
1791
+ # Get device statistics.
1792
+ # @rbs () -> ::Nl::Async::Stream[Messages::DumpGetStatsReply]
1793
+ # @param [Hash] args
1794
+ # @return [Nl::Async::Stream<Messages::DumpGetStatsReply>]
1795
+ # @see Messages::DumpGetStatsRequest
1796
+ def dump_get_stats: () -> ::Nl::Async::Stream[Messages::DumpGetStatsReply]
1797
+
1798
+ # Associate a network device with a PSP device.
1799
+ #
1800
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1801
+ # @rbs (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> ::Nl::Async::Future[Messages::DoDevAssocReply]
1802
+ # @param [Hash] args
1803
+ # @option args [Integer] id PSP device ID.
1804
+ # @option args [Integer] ifindex ifindex of the main netdevice linked to the PSP device,
1805
+ # or the ifindex to associate with the PSP device.
1806
+ # @option args [Integer] nsid Network namespace ID for the device to associate/disassociate.
1807
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1808
+ # device is looked up in the caller's network namespace.
1809
+ # @return [Nl::Async::Future<Messages::DoDevAssocReply>]
1810
+ # @see Messages::DoDevAssocRequest
1811
+ def do_dev_assoc: (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> ::Nl::Async::Future[Messages::DoDevAssocReply]
1812
+
1813
+ # Disassociate a network device from a PSP device.
1814
+ #
1815
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1816
+ # @rbs (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> ::Nl::Async::Future[Messages::DoDevDisassocReply]
1817
+ # @param [Hash] args
1818
+ # @option args [Integer] id PSP device ID.
1819
+ # @option args [Integer] ifindex ifindex of the main netdevice linked to the PSP device,
1820
+ # or the ifindex to associate with the PSP device.
1821
+ # @option args [Integer] nsid Network namespace ID for the device to associate/disassociate.
1822
+ # Optional for dev-assoc and dev-disassoc; if not present, the
1823
+ # device is looked up in the caller's network namespace.
1824
+ # @return [Nl::Async::Future<Messages::DoDevDisassocReply>]
1825
+ # @see Messages::DoDevDisassocRequest
1826
+ def do_dev_disassoc: (?id: ::Integer, ?ifindex: ::Integer, ?nsid: ::Integer) -> ::Nl::Async::Future[Messages::DoDevDisassocReply]
1827
+ end
1828
+
1829
+ # Returns the asynchronous operation facade for this family.
1830
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
1831
+ # @param [::Integer, nil] stream_capacity
1832
+ # @return [AsyncOperations]
1833
+ def async: (?stream_capacity: ::Integer?) -> AsyncOperations
1834
+
1835
+ # @rbs (*(:mgmt | :use) groups) -> self
1836
+ # @param [Array<:mgmt, :use>] groups
1837
+ # @return [self]
1838
+ def subscribe: (*:mgmt | :use groups) -> self
1839
+
1840
+ # @rbs (*(:mgmt | :use) groups) -> self
1841
+ # @param [Array<:mgmt, :use>] groups
1842
+ # @return [self]
1843
+ def unsubscribe: (*:mgmt | :use groups) -> self
1844
+ end
1845
+ end
1846
+ end