nl-linux 0.2.4 → 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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.yardopts +5 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Rakefile +27 -5
  6. data/generated/nl/linux/binder.rb +227 -19
  7. data/generated/nl/linux/conntrack.rb +1325 -365
  8. data/generated/nl/linux/dev_energymodel.rb +357 -66
  9. data/generated/nl/linux/devlink.rb +6310 -1859
  10. data/generated/nl/linux/dpll.rb +2202 -376
  11. data/generated/nl/linux/drm_ras.rb +312 -63
  12. data/generated/nl/linux/ethtool.rb +7555 -2447
  13. data/generated/nl/linux/fou.rb +381 -133
  14. data/generated/nl/linux/handshake.rb +340 -70
  15. data/generated/nl/linux/lockd.rb +132 -27
  16. data/generated/nl/linux/mptcp_pm.rb +773 -161
  17. data/generated/nl/linux/net_shaper.rb +892 -211
  18. data/generated/nl/linux/netdev.rb +2366 -518
  19. data/generated/nl/linux/nfsd.rb +1299 -317
  20. data/generated/nl/linux/nftables.rb +5351 -1533
  21. data/generated/nl/linux/nl80211.rb +4601 -882
  22. data/generated/nl/linux/nlctrl.rb +460 -117
  23. data/generated/nl/linux/ovpn.rb +1360 -262
  24. data/generated/nl/linux/ovs_datapath.rb +312 -98
  25. data/generated/nl/linux/ovs_flow.rb +1866 -358
  26. data/generated/nl/linux/ovs_packet.rb +331 -45
  27. data/generated/nl/linux/ovs_vport.rb +374 -123
  28. data/generated/nl/linux/psp.rb +1093 -201
  29. data/generated/nl/linux/rt_addr.rb +423 -165
  30. data/generated/nl/linux/rt_link.rb +6928 -1336
  31. data/generated/nl/linux/rt_neigh.rb +1063 -297
  32. data/generated/nl/linux/rt_route.rb +1112 -483
  33. data/generated/nl/linux/rt_rule.rb +931 -262
  34. data/generated/nl/linux/sunrpc_cache.rb +407 -82
  35. data/generated/nl/linux/tc.rb +10081 -1763
  36. data/generated/nl/linux/tcp_metrics.rb +388 -109
  37. data/generated/nl/linux/team.rb +350 -84
  38. data/generated/nl/linux/wireguard.rb +525 -96
  39. data/generated/nl/linux.rb +1 -0
  40. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  41. data/lib/nl/linux/version.rb +1 -1
  42. data/sig/generated/nl/linux/binder.rbs +366 -0
  43. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  44. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  45. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  46. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  47. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  48. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  49. data/sig/generated/nl/linux/fou.rbs +702 -0
  50. data/sig/generated/nl/linux/handshake.rbs +622 -0
  51. data/sig/generated/nl/linux/lockd.rbs +234 -0
  52. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  53. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  54. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  55. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  56. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  57. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  58. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  59. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  60. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  61. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  62. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  63. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  64. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  65. data/sig/generated/nl/linux/psp.rbs +1846 -0
  66. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  67. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  68. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  69. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  70. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  71. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  72. data/sig/generated/nl/linux/tc.rbs +19931 -0
  73. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  74. data/sig/generated/nl/linux/team.rbs +733 -0
  75. data/sig/generated/nl/linux/version.rbs +7 -0
  76. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  77. data/sig/generated/nl/linux.rbs +6 -0
  78. data/sig/generated/nl-linux.rbs +2 -0
  79. metadata +51 -10
@@ -0,0 +1,2564 @@
1
+ # Generated from generated/nl/linux/ovpn.rb with RBS::Inline
2
+
3
+ module Nl
4
+ module Linux
5
+ # Netlink protocol to control OpenVPN network devices
6
+ class Ovpn < ::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 [Ovpn]
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 [Ovpn] 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 Constants
30
+ NONCE_TAIL_SIZE: ::Integer
31
+ end
32
+
33
+ module Enums
34
+ module CipherAlg
35
+ None: ::Integer
36
+
37
+ AesGcm: ::Integer
38
+
39
+ Chacha20Poly1305: ::Integer
40
+ end
41
+
42
+ module DelPeerReason
43
+ Teardown: ::Integer
44
+
45
+ Userspace: ::Integer
46
+
47
+ Expired: ::Integer
48
+
49
+ TransportError: ::Integer
50
+
51
+ TransportDisconnect: ::Integer
52
+ end
53
+
54
+ module KeySlot
55
+ Primary: ::Integer
56
+
57
+ Secondary: ::Integer
58
+ end
59
+ end
60
+
61
+ module Structs
62
+ end
63
+
64
+ module AttributeSets
65
+ class Peer < ::Nl::AttributeSet
66
+ # Abstract class
67
+ class Attribute < ::Nl::AttributeSet::Attribute
68
+ end
69
+
70
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
71
+ class Id < Attribute
72
+ TYPE: ::Integer
73
+
74
+ NAME: ::Symbol
75
+
76
+ # @private
77
+ ORDER: ::Integer
78
+
79
+ # @private
80
+ DATATYPE: untyped
81
+ end
82
+
83
+ # The remote IPv4 address of the peer
84
+ class RemoteIpv4 < Attribute
85
+ TYPE: ::Integer
86
+
87
+ NAME: ::Symbol
88
+
89
+ # @private
90
+ ORDER: ::Integer
91
+
92
+ # @private
93
+ DATATYPE: untyped
94
+ end
95
+
96
+ # The remote IPv6 address of the peer
97
+ class RemoteIpv6 < Attribute
98
+ TYPE: ::Integer
99
+
100
+ NAME: ::Symbol
101
+
102
+ # @private
103
+ ORDER: ::Integer
104
+
105
+ # @private
106
+ DATATYPE: untyped
107
+ end
108
+
109
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
110
+ class RemoteIpv6ScopeId < Attribute
111
+ TYPE: ::Integer
112
+
113
+ NAME: ::Symbol
114
+
115
+ # @private
116
+ ORDER: ::Integer
117
+
118
+ # @private
119
+ DATATYPE: untyped
120
+ end
121
+
122
+ # The remote port of the peer
123
+ class RemotePort < Attribute
124
+ TYPE: ::Integer
125
+
126
+ NAME: ::Symbol
127
+
128
+ # @private
129
+ ORDER: ::Integer
130
+
131
+ # @private
132
+ DATATYPE: untyped
133
+ end
134
+
135
+ # The socket to be used to communicate with the peer
136
+ class Socket < Attribute
137
+ TYPE: ::Integer
138
+
139
+ NAME: ::Symbol
140
+
141
+ # @private
142
+ ORDER: ::Integer
143
+
144
+ # @private
145
+ DATATYPE: untyped
146
+ end
147
+
148
+ # The ID of the netns the socket assigned to this peer lives in
149
+ class SocketNetnsid < Attribute
150
+ TYPE: ::Integer
151
+
152
+ NAME: ::Symbol
153
+
154
+ # @private
155
+ ORDER: ::Integer
156
+
157
+ # @private
158
+ DATATYPE: untyped
159
+ end
160
+
161
+ # The IPv4 address assigned to the peer by the server
162
+ class VpnIpv4 < Attribute
163
+ TYPE: ::Integer
164
+
165
+ NAME: ::Symbol
166
+
167
+ # @private
168
+ ORDER: ::Integer
169
+
170
+ # @private
171
+ DATATYPE: untyped
172
+ end
173
+
174
+ # The IPv6 address assigned to the peer by the server
175
+ class VpnIpv6 < Attribute
176
+ TYPE: ::Integer
177
+
178
+ NAME: ::Symbol
179
+
180
+ # @private
181
+ ORDER: ::Integer
182
+
183
+ # @private
184
+ DATATYPE: untyped
185
+ end
186
+
187
+ # The local IPv4 to be used to send packets to the peer (UDP only)
188
+ class LocalIpv4 < Attribute
189
+ TYPE: ::Integer
190
+
191
+ NAME: ::Symbol
192
+
193
+ # @private
194
+ ORDER: ::Integer
195
+
196
+ # @private
197
+ DATATYPE: untyped
198
+ end
199
+
200
+ # The local IPv6 to be used to send packets to the peer (UDP only)
201
+ class LocalIpv6 < Attribute
202
+ TYPE: ::Integer
203
+
204
+ NAME: ::Symbol
205
+
206
+ # @private
207
+ ORDER: ::Integer
208
+
209
+ # @private
210
+ DATATYPE: untyped
211
+ end
212
+
213
+ # The local port to be used to send packets to the peer (UDP only)
214
+ class LocalPort < Attribute
215
+ TYPE: ::Integer
216
+
217
+ NAME: ::Symbol
218
+
219
+ # @private
220
+ ORDER: ::Integer
221
+
222
+ # @private
223
+ DATATYPE: untyped
224
+ end
225
+
226
+ # The number of seconds after which a keep alive message is sent to the peer
227
+ class KeepaliveInterval < Attribute
228
+ TYPE: ::Integer
229
+
230
+ NAME: ::Symbol
231
+
232
+ # @private
233
+ ORDER: ::Integer
234
+
235
+ # @private
236
+ DATATYPE: untyped
237
+ end
238
+
239
+ # The number of seconds from the last activity after which the peer is assumed dead
240
+ class KeepaliveTimeout < Attribute
241
+ TYPE: ::Integer
242
+
243
+ NAME: ::Symbol
244
+
245
+ # @private
246
+ ORDER: ::Integer
247
+
248
+ # @private
249
+ DATATYPE: untyped
250
+ end
251
+
252
+ # The reason why a peer was deleted
253
+ #
254
+ # Known enum values are defined in {Enums::DelPeerReason}.
255
+ class DelReason < Attribute
256
+ TYPE: ::Integer
257
+
258
+ NAME: ::Symbol
259
+
260
+ # @private
261
+ ORDER: ::Integer
262
+
263
+ # @private
264
+ DATATYPE: untyped
265
+ end
266
+
267
+ # Number of bytes received over the tunnel
268
+ class VpnRxBytes < Attribute
269
+ TYPE: ::Integer
270
+
271
+ NAME: ::Symbol
272
+
273
+ # @private
274
+ ORDER: ::Integer
275
+
276
+ # @private
277
+ DATATYPE: untyped
278
+ end
279
+
280
+ # Number of bytes transmitted over the tunnel
281
+ class VpnTxBytes < Attribute
282
+ TYPE: ::Integer
283
+
284
+ NAME: ::Symbol
285
+
286
+ # @private
287
+ ORDER: ::Integer
288
+
289
+ # @private
290
+ DATATYPE: untyped
291
+ end
292
+
293
+ # Number of packets received over the tunnel
294
+ class VpnRxPackets < Attribute
295
+ TYPE: ::Integer
296
+
297
+ NAME: ::Symbol
298
+
299
+ # @private
300
+ ORDER: ::Integer
301
+
302
+ # @private
303
+ DATATYPE: untyped
304
+ end
305
+
306
+ # Number of packets transmitted over the tunnel
307
+ class VpnTxPackets < Attribute
308
+ TYPE: ::Integer
309
+
310
+ NAME: ::Symbol
311
+
312
+ # @private
313
+ ORDER: ::Integer
314
+
315
+ # @private
316
+ DATATYPE: untyped
317
+ end
318
+
319
+ # Number of bytes received at the transport level
320
+ class LinkRxBytes < Attribute
321
+ TYPE: ::Integer
322
+
323
+ NAME: ::Symbol
324
+
325
+ # @private
326
+ ORDER: ::Integer
327
+
328
+ # @private
329
+ DATATYPE: untyped
330
+ end
331
+
332
+ # Number of bytes transmitted at the transport level
333
+ class LinkTxBytes < Attribute
334
+ TYPE: ::Integer
335
+
336
+ NAME: ::Symbol
337
+
338
+ # @private
339
+ ORDER: ::Integer
340
+
341
+ # @private
342
+ DATATYPE: untyped
343
+ end
344
+
345
+ # Number of packets received at the transport level
346
+ class LinkRxPackets < Attribute
347
+ TYPE: ::Integer
348
+
349
+ NAME: ::Symbol
350
+
351
+ # @private
352
+ ORDER: ::Integer
353
+
354
+ # @private
355
+ DATATYPE: untyped
356
+ end
357
+
358
+ # Number of packets transmitted at the transport level
359
+ class LinkTxPackets < Attribute
360
+ TYPE: ::Integer
361
+
362
+ NAME: ::Symbol
363
+
364
+ # @private
365
+ ORDER: ::Integer
366
+
367
+ # @private
368
+ DATATYPE: untyped
369
+ end
370
+
371
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
372
+ class TxId < Attribute
373
+ TYPE: ::Integer
374
+
375
+ NAME: ::Symbol
376
+
377
+ # @private
378
+ ORDER: ::Integer
379
+
380
+ # @private
381
+ DATATYPE: untyped
382
+ end
383
+
384
+ # @private
385
+ BY_NAME: Hash[::Symbol, Attribute]
386
+
387
+ # @private
388
+ BY_TYPE: Hash[::Integer, Attribute]
389
+
390
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
391
+ # @rbs return: ::Integer
392
+ # @return [Integer]
393
+ # @see Id
394
+ def id: () -> ::Integer
395
+
396
+ # The remote IPv4 address of the peer
397
+ # @rbs return: ::Integer
398
+ # @return [Integer]
399
+ # @see RemoteIpv4
400
+ def remote_ipv4: () -> ::Integer
401
+
402
+ # The remote IPv6 address of the peer
403
+ # @rbs return: ::String
404
+ # @return [String]
405
+ # @see RemoteIpv6
406
+ def remote_ipv6: () -> ::String
407
+
408
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
409
+ # @rbs return: ::Integer
410
+ # @return [Integer]
411
+ # @see RemoteIpv6ScopeId
412
+ def remote_ipv6_scope_id: () -> ::Integer
413
+
414
+ # The remote port of the peer
415
+ # @rbs return: ::Integer
416
+ # @return [Integer]
417
+ # @see RemotePort
418
+ def remote_port: () -> ::Integer
419
+
420
+ # The socket to be used to communicate with the peer
421
+ # @rbs return: ::Integer
422
+ # @return [Integer]
423
+ # @see Socket
424
+ def socket: () -> ::Integer
425
+
426
+ # The ID of the netns the socket assigned to this peer lives in
427
+ # @rbs return: ::Integer
428
+ # @return [Integer]
429
+ # @see SocketNetnsid
430
+ def socket_netnsid: () -> ::Integer
431
+
432
+ # The IPv4 address assigned to the peer by the server
433
+ # @rbs return: ::Integer
434
+ # @return [Integer]
435
+ # @see VpnIpv4
436
+ def vpn_ipv4: () -> ::Integer
437
+
438
+ # The IPv6 address assigned to the peer by the server
439
+ # @rbs return: ::String
440
+ # @return [String]
441
+ # @see VpnIpv6
442
+ def vpn_ipv6: () -> ::String
443
+
444
+ # The local IPv4 to be used to send packets to the peer (UDP only)
445
+ # @rbs return: ::Integer
446
+ # @return [Integer]
447
+ # @see LocalIpv4
448
+ def local_ipv4: () -> ::Integer
449
+
450
+ # The local IPv6 to be used to send packets to the peer (UDP only)
451
+ # @rbs return: ::String
452
+ # @return [String]
453
+ # @see LocalIpv6
454
+ def local_ipv6: () -> ::String
455
+
456
+ # The local port to be used to send packets to the peer (UDP only)
457
+ # @rbs return: ::Integer
458
+ # @return [Integer]
459
+ # @see LocalPort
460
+ def local_port: () -> ::Integer
461
+
462
+ # The number of seconds after which a keep alive message is sent to the peer
463
+ # @rbs return: ::Integer
464
+ # @return [Integer]
465
+ # @see KeepaliveInterval
466
+ def keepalive_interval: () -> ::Integer
467
+
468
+ # The number of seconds from the last activity after which the peer is assumed dead
469
+ # @rbs return: ::Integer
470
+ # @return [Integer]
471
+ # @see KeepaliveTimeout
472
+ def keepalive_timeout: () -> ::Integer
473
+
474
+ # The reason why a peer was deleted
475
+ #
476
+ # Known enum values are defined in {Enums::DelPeerReason}.
477
+ # @rbs return: ::Integer
478
+ # @return [Integer]
479
+ # @see DelReason
480
+ def del_reason: () -> ::Integer
481
+
482
+ # Number of bytes received over the tunnel
483
+ # @rbs return: ::Integer
484
+ # @return [Integer]
485
+ # @see VpnRxBytes
486
+ def vpn_rx_bytes: () -> ::Integer
487
+
488
+ # Number of bytes transmitted over the tunnel
489
+ # @rbs return: ::Integer
490
+ # @return [Integer]
491
+ # @see VpnTxBytes
492
+ def vpn_tx_bytes: () -> ::Integer
493
+
494
+ # Number of packets received over the tunnel
495
+ # @rbs return: ::Integer
496
+ # @return [Integer]
497
+ # @see VpnRxPackets
498
+ def vpn_rx_packets: () -> ::Integer
499
+
500
+ # Number of packets transmitted over the tunnel
501
+ # @rbs return: ::Integer
502
+ # @return [Integer]
503
+ # @see VpnTxPackets
504
+ def vpn_tx_packets: () -> ::Integer
505
+
506
+ # Number of bytes received at the transport level
507
+ # @rbs return: ::Integer
508
+ # @return [Integer]
509
+ # @see LinkRxBytes
510
+ def link_rx_bytes: () -> ::Integer
511
+
512
+ # Number of bytes transmitted at the transport level
513
+ # @rbs return: ::Integer
514
+ # @return [Integer]
515
+ # @see LinkTxBytes
516
+ def link_tx_bytes: () -> ::Integer
517
+
518
+ # Number of packets received at the transport level
519
+ # @rbs return: ::Integer
520
+ # @return [Integer]
521
+ # @see LinkRxPackets
522
+ def link_rx_packets: () -> ::Integer
523
+
524
+ # Number of packets transmitted at the transport level
525
+ # @rbs return: ::Integer
526
+ # @return [Integer]
527
+ # @see LinkTxPackets
528
+ def link_tx_packets: () -> ::Integer
529
+
530
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
531
+ # @rbs return: ::Integer
532
+ # @return [Integer]
533
+ # @see TxId
534
+ def tx_id: () -> ::Integer
535
+
536
+ # Looks up Attribute class by name.
537
+ # @rbs name: Symbol
538
+ # @rbs return: Attribute
539
+ # @param [Symbol] name
540
+ # @return [Attribute]
541
+ def self.by_name: (Symbol name) -> Attribute
542
+
543
+ # Looks up Attribute class by type value.
544
+ # @rbs type: Integer
545
+ # @rbs return: Attribute
546
+ # @param [Integer] type
547
+ # @return [Attribute]
548
+ def self.by_type: (Integer type) -> Attribute
549
+ end
550
+
551
+ class PeerNewInput < ::Nl::AttributeSet
552
+ # Abstract class
553
+ class Attribute < ::Nl::AttributeSet::Attribute
554
+ end
555
+
556
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
557
+ class Id < Attribute
558
+ TYPE: ::Integer
559
+
560
+ NAME: ::Symbol
561
+
562
+ # @private
563
+ ORDER: ::Integer
564
+
565
+ # @private
566
+ DATATYPE: untyped
567
+ end
568
+
569
+ # The remote IPv4 address of the peer
570
+ class RemoteIpv4 < Attribute
571
+ TYPE: ::Integer
572
+
573
+ NAME: ::Symbol
574
+
575
+ # @private
576
+ ORDER: ::Integer
577
+
578
+ # @private
579
+ DATATYPE: untyped
580
+ end
581
+
582
+ # The remote IPv6 address of the peer
583
+ class RemoteIpv6 < Attribute
584
+ TYPE: ::Integer
585
+
586
+ NAME: ::Symbol
587
+
588
+ # @private
589
+ ORDER: ::Integer
590
+
591
+ # @private
592
+ DATATYPE: untyped
593
+ end
594
+
595
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
596
+ class RemoteIpv6ScopeId < Attribute
597
+ TYPE: ::Integer
598
+
599
+ NAME: ::Symbol
600
+
601
+ # @private
602
+ ORDER: ::Integer
603
+
604
+ # @private
605
+ DATATYPE: untyped
606
+ end
607
+
608
+ # The remote port of the peer
609
+ class RemotePort < Attribute
610
+ TYPE: ::Integer
611
+
612
+ NAME: ::Symbol
613
+
614
+ # @private
615
+ ORDER: ::Integer
616
+
617
+ # @private
618
+ DATATYPE: untyped
619
+ end
620
+
621
+ # The socket to be used to communicate with the peer
622
+ class Socket < Attribute
623
+ TYPE: ::Integer
624
+
625
+ NAME: ::Symbol
626
+
627
+ # @private
628
+ ORDER: ::Integer
629
+
630
+ # @private
631
+ DATATYPE: untyped
632
+ end
633
+
634
+ # The IPv4 address assigned to the peer by the server
635
+ class VpnIpv4 < Attribute
636
+ TYPE: ::Integer
637
+
638
+ NAME: ::Symbol
639
+
640
+ # @private
641
+ ORDER: ::Integer
642
+
643
+ # @private
644
+ DATATYPE: untyped
645
+ end
646
+
647
+ # The IPv6 address assigned to the peer by the server
648
+ class VpnIpv6 < Attribute
649
+ TYPE: ::Integer
650
+
651
+ NAME: ::Symbol
652
+
653
+ # @private
654
+ ORDER: ::Integer
655
+
656
+ # @private
657
+ DATATYPE: untyped
658
+ end
659
+
660
+ # The local IPv4 to be used to send packets to the peer (UDP only)
661
+ class LocalIpv4 < Attribute
662
+ TYPE: ::Integer
663
+
664
+ NAME: ::Symbol
665
+
666
+ # @private
667
+ ORDER: ::Integer
668
+
669
+ # @private
670
+ DATATYPE: untyped
671
+ end
672
+
673
+ # The local IPv6 to be used to send packets to the peer (UDP only)
674
+ class LocalIpv6 < Attribute
675
+ TYPE: ::Integer
676
+
677
+ NAME: ::Symbol
678
+
679
+ # @private
680
+ ORDER: ::Integer
681
+
682
+ # @private
683
+ DATATYPE: untyped
684
+ end
685
+
686
+ # The number of seconds after which a keep alive message is sent to the peer
687
+ class KeepaliveInterval < Attribute
688
+ TYPE: ::Integer
689
+
690
+ NAME: ::Symbol
691
+
692
+ # @private
693
+ ORDER: ::Integer
694
+
695
+ # @private
696
+ DATATYPE: untyped
697
+ end
698
+
699
+ # The number of seconds from the last activity after which the peer is assumed dead
700
+ class KeepaliveTimeout < Attribute
701
+ TYPE: ::Integer
702
+
703
+ NAME: ::Symbol
704
+
705
+ # @private
706
+ ORDER: ::Integer
707
+
708
+ # @private
709
+ DATATYPE: untyped
710
+ end
711
+
712
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
713
+ class TxId < Attribute
714
+ TYPE: ::Integer
715
+
716
+ NAME: ::Symbol
717
+
718
+ # @private
719
+ ORDER: ::Integer
720
+
721
+ # @private
722
+ DATATYPE: untyped
723
+ end
724
+
725
+ # @private
726
+ BY_NAME: Hash[::Symbol, Attribute]
727
+
728
+ # @private
729
+ BY_TYPE: Hash[::Integer, Attribute]
730
+
731
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
732
+ # @rbs return: ::Integer
733
+ # @return [Integer]
734
+ # @see Id
735
+ def id: () -> ::Integer
736
+
737
+ # The remote IPv4 address of the peer
738
+ # @rbs return: ::Integer
739
+ # @return [Integer]
740
+ # @see RemoteIpv4
741
+ def remote_ipv4: () -> ::Integer
742
+
743
+ # The remote IPv6 address of the peer
744
+ # @rbs return: ::String
745
+ # @return [String]
746
+ # @see RemoteIpv6
747
+ def remote_ipv6: () -> ::String
748
+
749
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
750
+ # @rbs return: ::Integer
751
+ # @return [Integer]
752
+ # @see RemoteIpv6ScopeId
753
+ def remote_ipv6_scope_id: () -> ::Integer
754
+
755
+ # The remote port of the peer
756
+ # @rbs return: ::Integer
757
+ # @return [Integer]
758
+ # @see RemotePort
759
+ def remote_port: () -> ::Integer
760
+
761
+ # The socket to be used to communicate with the peer
762
+ # @rbs return: ::Integer
763
+ # @return [Integer]
764
+ # @see Socket
765
+ def socket: () -> ::Integer
766
+
767
+ # The IPv4 address assigned to the peer by the server
768
+ # @rbs return: ::Integer
769
+ # @return [Integer]
770
+ # @see VpnIpv4
771
+ def vpn_ipv4: () -> ::Integer
772
+
773
+ # The IPv6 address assigned to the peer by the server
774
+ # @rbs return: ::String
775
+ # @return [String]
776
+ # @see VpnIpv6
777
+ def vpn_ipv6: () -> ::String
778
+
779
+ # The local IPv4 to be used to send packets to the peer (UDP only)
780
+ # @rbs return: ::Integer
781
+ # @return [Integer]
782
+ # @see LocalIpv4
783
+ def local_ipv4: () -> ::Integer
784
+
785
+ # The local IPv6 to be used to send packets to the peer (UDP only)
786
+ # @rbs return: ::String
787
+ # @return [String]
788
+ # @see LocalIpv6
789
+ def local_ipv6: () -> ::String
790
+
791
+ # The number of seconds after which a keep alive message is sent to the peer
792
+ # @rbs return: ::Integer
793
+ # @return [Integer]
794
+ # @see KeepaliveInterval
795
+ def keepalive_interval: () -> ::Integer
796
+
797
+ # The number of seconds from the last activity after which the peer is assumed dead
798
+ # @rbs return: ::Integer
799
+ # @return [Integer]
800
+ # @see KeepaliveTimeout
801
+ def keepalive_timeout: () -> ::Integer
802
+
803
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
804
+ # @rbs return: ::Integer
805
+ # @return [Integer]
806
+ # @see TxId
807
+ def tx_id: () -> ::Integer
808
+
809
+ # Looks up Attribute class by name.
810
+ # @rbs name: Symbol
811
+ # @rbs return: Attribute
812
+ # @param [Symbol] name
813
+ # @return [Attribute]
814
+ def self.by_name: (Symbol name) -> Attribute
815
+
816
+ # Looks up Attribute class by type value.
817
+ # @rbs type: Integer
818
+ # @rbs return: Attribute
819
+ # @param [Integer] type
820
+ # @return [Attribute]
821
+ def self.by_type: (Integer type) -> Attribute
822
+ end
823
+
824
+ class PeerSetInput < ::Nl::AttributeSet
825
+ # Abstract class
826
+ class Attribute < ::Nl::AttributeSet::Attribute
827
+ end
828
+
829
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
830
+ class Id < Attribute
831
+ TYPE: ::Integer
832
+
833
+ NAME: ::Symbol
834
+
835
+ # @private
836
+ ORDER: ::Integer
837
+
838
+ # @private
839
+ DATATYPE: untyped
840
+ end
841
+
842
+ # The remote IPv4 address of the peer
843
+ class RemoteIpv4 < Attribute
844
+ TYPE: ::Integer
845
+
846
+ NAME: ::Symbol
847
+
848
+ # @private
849
+ ORDER: ::Integer
850
+
851
+ # @private
852
+ DATATYPE: untyped
853
+ end
854
+
855
+ # The remote IPv6 address of the peer
856
+ class RemoteIpv6 < Attribute
857
+ TYPE: ::Integer
858
+
859
+ NAME: ::Symbol
860
+
861
+ # @private
862
+ ORDER: ::Integer
863
+
864
+ # @private
865
+ DATATYPE: untyped
866
+ end
867
+
868
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
869
+ class RemoteIpv6ScopeId < Attribute
870
+ TYPE: ::Integer
871
+
872
+ NAME: ::Symbol
873
+
874
+ # @private
875
+ ORDER: ::Integer
876
+
877
+ # @private
878
+ DATATYPE: untyped
879
+ end
880
+
881
+ # The remote port of the peer
882
+ class RemotePort < Attribute
883
+ TYPE: ::Integer
884
+
885
+ NAME: ::Symbol
886
+
887
+ # @private
888
+ ORDER: ::Integer
889
+
890
+ # @private
891
+ DATATYPE: untyped
892
+ end
893
+
894
+ # The IPv4 address assigned to the peer by the server
895
+ class VpnIpv4 < Attribute
896
+ TYPE: ::Integer
897
+
898
+ NAME: ::Symbol
899
+
900
+ # @private
901
+ ORDER: ::Integer
902
+
903
+ # @private
904
+ DATATYPE: untyped
905
+ end
906
+
907
+ # The IPv6 address assigned to the peer by the server
908
+ class VpnIpv6 < Attribute
909
+ TYPE: ::Integer
910
+
911
+ NAME: ::Symbol
912
+
913
+ # @private
914
+ ORDER: ::Integer
915
+
916
+ # @private
917
+ DATATYPE: untyped
918
+ end
919
+
920
+ # The local IPv4 to be used to send packets to the peer (UDP only)
921
+ class LocalIpv4 < Attribute
922
+ TYPE: ::Integer
923
+
924
+ NAME: ::Symbol
925
+
926
+ # @private
927
+ ORDER: ::Integer
928
+
929
+ # @private
930
+ DATATYPE: untyped
931
+ end
932
+
933
+ # The local IPv6 to be used to send packets to the peer (UDP only)
934
+ class LocalIpv6 < Attribute
935
+ TYPE: ::Integer
936
+
937
+ NAME: ::Symbol
938
+
939
+ # @private
940
+ ORDER: ::Integer
941
+
942
+ # @private
943
+ DATATYPE: untyped
944
+ end
945
+
946
+ # The number of seconds after which a keep alive message is sent to the peer
947
+ class KeepaliveInterval < Attribute
948
+ TYPE: ::Integer
949
+
950
+ NAME: ::Symbol
951
+
952
+ # @private
953
+ ORDER: ::Integer
954
+
955
+ # @private
956
+ DATATYPE: untyped
957
+ end
958
+
959
+ # The number of seconds from the last activity after which the peer is assumed dead
960
+ class KeepaliveTimeout < Attribute
961
+ TYPE: ::Integer
962
+
963
+ NAME: ::Symbol
964
+
965
+ # @private
966
+ ORDER: ::Integer
967
+
968
+ # @private
969
+ DATATYPE: untyped
970
+ end
971
+
972
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
973
+ class TxId < Attribute
974
+ TYPE: ::Integer
975
+
976
+ NAME: ::Symbol
977
+
978
+ # @private
979
+ ORDER: ::Integer
980
+
981
+ # @private
982
+ DATATYPE: untyped
983
+ end
984
+
985
+ # @private
986
+ BY_NAME: Hash[::Symbol, Attribute]
987
+
988
+ # @private
989
+ BY_TYPE: Hash[::Integer, Attribute]
990
+
991
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
992
+ # @rbs return: ::Integer
993
+ # @return [Integer]
994
+ # @see Id
995
+ def id: () -> ::Integer
996
+
997
+ # The remote IPv4 address of the peer
998
+ # @rbs return: ::Integer
999
+ # @return [Integer]
1000
+ # @see RemoteIpv4
1001
+ def remote_ipv4: () -> ::Integer
1002
+
1003
+ # The remote IPv6 address of the peer
1004
+ # @rbs return: ::String
1005
+ # @return [String]
1006
+ # @see RemoteIpv6
1007
+ def remote_ipv6: () -> ::String
1008
+
1009
+ # The scope id of the remote IPv6 address of the peer (RFC2553)
1010
+ # @rbs return: ::Integer
1011
+ # @return [Integer]
1012
+ # @see RemoteIpv6ScopeId
1013
+ def remote_ipv6_scope_id: () -> ::Integer
1014
+
1015
+ # The remote port of the peer
1016
+ # @rbs return: ::Integer
1017
+ # @return [Integer]
1018
+ # @see RemotePort
1019
+ def remote_port: () -> ::Integer
1020
+
1021
+ # The IPv4 address assigned to the peer by the server
1022
+ # @rbs return: ::Integer
1023
+ # @return [Integer]
1024
+ # @see VpnIpv4
1025
+ def vpn_ipv4: () -> ::Integer
1026
+
1027
+ # The IPv6 address assigned to the peer by the server
1028
+ # @rbs return: ::String
1029
+ # @return [String]
1030
+ # @see VpnIpv6
1031
+ def vpn_ipv6: () -> ::String
1032
+
1033
+ # The local IPv4 to be used to send packets to the peer (UDP only)
1034
+ # @rbs return: ::Integer
1035
+ # @return [Integer]
1036
+ # @see LocalIpv4
1037
+ def local_ipv4: () -> ::Integer
1038
+
1039
+ # The local IPv6 to be used to send packets to the peer (UDP only)
1040
+ # @rbs return: ::String
1041
+ # @return [String]
1042
+ # @see LocalIpv6
1043
+ def local_ipv6: () -> ::String
1044
+
1045
+ # The number of seconds after which a keep alive message is sent to the peer
1046
+ # @rbs return: ::Integer
1047
+ # @return [Integer]
1048
+ # @see KeepaliveInterval
1049
+ def keepalive_interval: () -> ::Integer
1050
+
1051
+ # The number of seconds from the last activity after which the peer is assumed dead
1052
+ # @rbs return: ::Integer
1053
+ # @return [Integer]
1054
+ # @see KeepaliveTimeout
1055
+ def keepalive_timeout: () -> ::Integer
1056
+
1057
+ # The ID value used when transmitting packets to this peer. This way outgoing packets can have a different ID than incoming ones. Useful in multipeer-to-multipeer connections, where each peer will advertise the tx-id to be used on the link.
1058
+ # @rbs return: ::Integer
1059
+ # @return [Integer]
1060
+ # @see TxId
1061
+ def tx_id: () -> ::Integer
1062
+
1063
+ # Looks up Attribute class by name.
1064
+ # @rbs name: Symbol
1065
+ # @rbs return: Attribute
1066
+ # @param [Symbol] name
1067
+ # @return [Attribute]
1068
+ def self.by_name: (Symbol name) -> Attribute
1069
+
1070
+ # Looks up Attribute class by type value.
1071
+ # @rbs type: Integer
1072
+ # @rbs return: Attribute
1073
+ # @param [Integer] type
1074
+ # @return [Attribute]
1075
+ def self.by_type: (Integer type) -> Attribute
1076
+ end
1077
+
1078
+ class PeerDelInput < ::Nl::AttributeSet
1079
+ # Abstract class
1080
+ class Attribute < ::Nl::AttributeSet::Attribute
1081
+ end
1082
+
1083
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
1084
+ class Id < Attribute
1085
+ TYPE: ::Integer
1086
+
1087
+ NAME: ::Symbol
1088
+
1089
+ # @private
1090
+ ORDER: ::Integer
1091
+
1092
+ # @private
1093
+ DATATYPE: untyped
1094
+ end
1095
+
1096
+ # @private
1097
+ BY_NAME: Hash[::Symbol, Attribute]
1098
+
1099
+ # @private
1100
+ BY_TYPE: Hash[::Integer, Attribute]
1101
+
1102
+ # The unique ID of the peer in the device context. To be used to identify peers during operations for a specific device. Also used to match packets received from this peer.
1103
+ # @rbs return: ::Integer
1104
+ # @return [Integer]
1105
+ # @see Id
1106
+ def id: () -> ::Integer
1107
+
1108
+ # Looks up Attribute class by name.
1109
+ # @rbs name: Symbol
1110
+ # @rbs return: Attribute
1111
+ # @param [Symbol] name
1112
+ # @return [Attribute]
1113
+ def self.by_name: (Symbol name) -> Attribute
1114
+
1115
+ # Looks up Attribute class by type value.
1116
+ # @rbs type: Integer
1117
+ # @rbs return: Attribute
1118
+ # @param [Integer] type
1119
+ # @return [Attribute]
1120
+ def self.by_type: (Integer type) -> Attribute
1121
+ end
1122
+
1123
+ class Keyconf < ::Nl::AttributeSet
1124
+ # Abstract class
1125
+ class Attribute < ::Nl::AttributeSet::Attribute
1126
+ end
1127
+
1128
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1129
+ class PeerId < Attribute
1130
+ TYPE: ::Integer
1131
+
1132
+ NAME: ::Symbol
1133
+
1134
+ # @private
1135
+ ORDER: ::Integer
1136
+
1137
+ # @private
1138
+ DATATYPE: untyped
1139
+ end
1140
+
1141
+ # The slot where the key should be stored
1142
+ #
1143
+ # Known enum values are defined in {Enums::KeySlot}.
1144
+ class Slot < Attribute
1145
+ TYPE: ::Integer
1146
+
1147
+ NAME: ::Symbol
1148
+
1149
+ # @private
1150
+ ORDER: ::Integer
1151
+
1152
+ # @private
1153
+ DATATYPE: untyped
1154
+ end
1155
+
1156
+ # The unique ID of the key in the peer context. Used to fetch the correct key upon decryption
1157
+ class KeyId < Attribute
1158
+ TYPE: ::Integer
1159
+
1160
+ NAME: ::Symbol
1161
+
1162
+ # @private
1163
+ ORDER: ::Integer
1164
+
1165
+ # @private
1166
+ DATATYPE: untyped
1167
+ end
1168
+
1169
+ # The cipher to be used when communicating with the peer
1170
+ #
1171
+ # Known enum values are defined in {Enums::CipherAlg}.
1172
+ class CipherAlg < Attribute
1173
+ TYPE: ::Integer
1174
+
1175
+ NAME: ::Symbol
1176
+
1177
+ # @private
1178
+ ORDER: ::Integer
1179
+
1180
+ # @private
1181
+ DATATYPE: untyped
1182
+ end
1183
+
1184
+ # Key material for encrypt direction
1185
+ class EncryptDir < Attribute
1186
+ TYPE: ::Integer
1187
+
1188
+ NAME: ::Symbol
1189
+
1190
+ # @private
1191
+ ORDER: ::Integer
1192
+ end
1193
+
1194
+ # Key material for decrypt direction
1195
+ class DecryptDir < Attribute
1196
+ TYPE: ::Integer
1197
+
1198
+ NAME: ::Symbol
1199
+
1200
+ # @private
1201
+ ORDER: ::Integer
1202
+ end
1203
+
1204
+ # @private
1205
+ BY_NAME: Hash[::Symbol, Attribute]
1206
+
1207
+ # @private
1208
+ BY_TYPE: Hash[::Integer, Attribute]
1209
+
1210
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1211
+ # @rbs return: ::Integer
1212
+ # @return [Integer]
1213
+ # @see PeerId
1214
+ def peer_id: () -> ::Integer
1215
+
1216
+ # The slot where the key should be stored
1217
+ #
1218
+ # Known enum values are defined in {Enums::KeySlot}.
1219
+ # @rbs return: ::Integer
1220
+ # @return [Integer]
1221
+ # @see Slot
1222
+ def slot: () -> ::Integer
1223
+
1224
+ # The unique ID of the key in the peer context. Used to fetch the correct key upon decryption
1225
+ # @rbs return: ::Integer
1226
+ # @return [Integer]
1227
+ # @see KeyId
1228
+ def key_id: () -> ::Integer
1229
+
1230
+ # The cipher to be used when communicating with the peer
1231
+ #
1232
+ # Known enum values are defined in {Enums::CipherAlg}.
1233
+ # @rbs return: ::Integer
1234
+ # @return [Integer]
1235
+ # @see CipherAlg
1236
+ def cipher_alg: () -> ::Integer
1237
+
1238
+ # Key material for encrypt direction
1239
+ # @rbs return: AttributeSets::Keydir
1240
+ # @return [AttributeSets::Keydir]
1241
+ # @see EncryptDir
1242
+ def encrypt_dir: () -> AttributeSets::Keydir
1243
+
1244
+ # Key material for decrypt direction
1245
+ # @rbs return: AttributeSets::Keydir
1246
+ # @return [AttributeSets::Keydir]
1247
+ # @see DecryptDir
1248
+ def decrypt_dir: () -> AttributeSets::Keydir
1249
+
1250
+ # Looks up Attribute class by name.
1251
+ # @rbs name: Symbol
1252
+ # @rbs return: Attribute
1253
+ # @param [Symbol] name
1254
+ # @return [Attribute]
1255
+ def self.by_name: (Symbol name) -> Attribute
1256
+
1257
+ # Looks up Attribute class by type value.
1258
+ # @rbs type: Integer
1259
+ # @rbs return: Attribute
1260
+ # @param [Integer] type
1261
+ # @return [Attribute]
1262
+ def self.by_type: (Integer type) -> Attribute
1263
+ end
1264
+
1265
+ class Keydir < ::Nl::AttributeSet
1266
+ # Abstract class
1267
+ class Attribute < ::Nl::AttributeSet::Attribute
1268
+ end
1269
+
1270
+ # The actual key to be used by the cipher
1271
+ class CipherKey < Attribute
1272
+ TYPE: ::Integer
1273
+
1274
+ NAME: ::Symbol
1275
+
1276
+ # @private
1277
+ ORDER: ::Integer
1278
+
1279
+ # @private
1280
+ DATATYPE: untyped
1281
+ end
1282
+
1283
+ # Random nonce to be concatenated to the packet ID, in order to obtain the actual cipher IV
1284
+ class NonceTail < Attribute
1285
+ TYPE: ::Integer
1286
+
1287
+ NAME: ::Symbol
1288
+
1289
+ # @private
1290
+ ORDER: ::Integer
1291
+
1292
+ # @private
1293
+ DATATYPE: untyped
1294
+ end
1295
+
1296
+ # @private
1297
+ BY_NAME: Hash[::Symbol, Attribute]
1298
+
1299
+ # @private
1300
+ BY_TYPE: Hash[::Integer, Attribute]
1301
+
1302
+ # The actual key to be used by the cipher
1303
+ # @rbs return: ::String
1304
+ # @return [String]
1305
+ # @see CipherKey
1306
+ def cipher_key: () -> ::String
1307
+
1308
+ # Random nonce to be concatenated to the packet ID, in order to obtain the actual cipher IV
1309
+ # @rbs return: ::String
1310
+ # @return [String]
1311
+ # @see NonceTail
1312
+ def nonce_tail: () -> ::String
1313
+
1314
+ # Looks up Attribute class by name.
1315
+ # @rbs name: Symbol
1316
+ # @rbs return: Attribute
1317
+ # @param [Symbol] name
1318
+ # @return [Attribute]
1319
+ def self.by_name: (Symbol name) -> Attribute
1320
+
1321
+ # Looks up Attribute class by type value.
1322
+ # @rbs type: Integer
1323
+ # @rbs return: Attribute
1324
+ # @param [Integer] type
1325
+ # @return [Attribute]
1326
+ def self.by_type: (Integer type) -> Attribute
1327
+ end
1328
+
1329
+ class KeyconfGet < ::Nl::AttributeSet
1330
+ # Abstract class
1331
+ class Attribute < ::Nl::AttributeSet::Attribute
1332
+ end
1333
+
1334
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1335
+ class PeerId < Attribute
1336
+ TYPE: ::Integer
1337
+
1338
+ NAME: ::Symbol
1339
+
1340
+ # @private
1341
+ ORDER: ::Integer
1342
+
1343
+ # @private
1344
+ DATATYPE: untyped
1345
+ end
1346
+
1347
+ # The slot where the key should be stored
1348
+ #
1349
+ # Known enum values are defined in {Enums::KeySlot}.
1350
+ class Slot < Attribute
1351
+ TYPE: ::Integer
1352
+
1353
+ NAME: ::Symbol
1354
+
1355
+ # @private
1356
+ ORDER: ::Integer
1357
+
1358
+ # @private
1359
+ DATATYPE: untyped
1360
+ end
1361
+
1362
+ # The unique ID of the key in the peer context. Used to fetch the correct key upon decryption
1363
+ class KeyId < Attribute
1364
+ TYPE: ::Integer
1365
+
1366
+ NAME: ::Symbol
1367
+
1368
+ # @private
1369
+ ORDER: ::Integer
1370
+
1371
+ # @private
1372
+ DATATYPE: untyped
1373
+ end
1374
+
1375
+ # The cipher to be used when communicating with the peer
1376
+ #
1377
+ # Known enum values are defined in {Enums::CipherAlg}.
1378
+ class CipherAlg < Attribute
1379
+ TYPE: ::Integer
1380
+
1381
+ NAME: ::Symbol
1382
+
1383
+ # @private
1384
+ ORDER: ::Integer
1385
+
1386
+ # @private
1387
+ DATATYPE: untyped
1388
+ end
1389
+
1390
+ # @private
1391
+ BY_NAME: Hash[::Symbol, Attribute]
1392
+
1393
+ # @private
1394
+ BY_TYPE: Hash[::Integer, Attribute]
1395
+
1396
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1397
+ # @rbs return: ::Integer
1398
+ # @return [Integer]
1399
+ # @see PeerId
1400
+ def peer_id: () -> ::Integer
1401
+
1402
+ # The slot where the key should be stored
1403
+ #
1404
+ # Known enum values are defined in {Enums::KeySlot}.
1405
+ # @rbs return: ::Integer
1406
+ # @return [Integer]
1407
+ # @see Slot
1408
+ def slot: () -> ::Integer
1409
+
1410
+ # The unique ID of the key in the peer context. Used to fetch the correct key upon decryption
1411
+ # @rbs return: ::Integer
1412
+ # @return [Integer]
1413
+ # @see KeyId
1414
+ def key_id: () -> ::Integer
1415
+
1416
+ # The cipher to be used when communicating with the peer
1417
+ #
1418
+ # Known enum values are defined in {Enums::CipherAlg}.
1419
+ # @rbs return: ::Integer
1420
+ # @return [Integer]
1421
+ # @see CipherAlg
1422
+ def cipher_alg: () -> ::Integer
1423
+
1424
+ # Looks up Attribute class by name.
1425
+ # @rbs name: Symbol
1426
+ # @rbs return: Attribute
1427
+ # @param [Symbol] name
1428
+ # @return [Attribute]
1429
+ def self.by_name: (Symbol name) -> Attribute
1430
+
1431
+ # Looks up Attribute class by type value.
1432
+ # @rbs type: Integer
1433
+ # @rbs return: Attribute
1434
+ # @param [Integer] type
1435
+ # @return [Attribute]
1436
+ def self.by_type: (Integer type) -> Attribute
1437
+ end
1438
+
1439
+ class KeyconfSwapInput < ::Nl::AttributeSet
1440
+ # Abstract class
1441
+ class Attribute < ::Nl::AttributeSet::Attribute
1442
+ end
1443
+
1444
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1445
+ class PeerId < Attribute
1446
+ TYPE: ::Integer
1447
+
1448
+ NAME: ::Symbol
1449
+
1450
+ # @private
1451
+ ORDER: ::Integer
1452
+
1453
+ # @private
1454
+ DATATYPE: untyped
1455
+ end
1456
+
1457
+ # @private
1458
+ BY_NAME: Hash[::Symbol, Attribute]
1459
+
1460
+ # @private
1461
+ BY_TYPE: Hash[::Integer, Attribute]
1462
+
1463
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1464
+ # @rbs return: ::Integer
1465
+ # @return [Integer]
1466
+ # @see PeerId
1467
+ def peer_id: () -> ::Integer
1468
+
1469
+ # Looks up Attribute class by name.
1470
+ # @rbs name: Symbol
1471
+ # @rbs return: Attribute
1472
+ # @param [Symbol] name
1473
+ # @return [Attribute]
1474
+ def self.by_name: (Symbol name) -> Attribute
1475
+
1476
+ # Looks up Attribute class by type value.
1477
+ # @rbs type: Integer
1478
+ # @rbs return: Attribute
1479
+ # @param [Integer] type
1480
+ # @return [Attribute]
1481
+ def self.by_type: (Integer type) -> Attribute
1482
+ end
1483
+
1484
+ class KeyconfDelInput < ::Nl::AttributeSet
1485
+ # Abstract class
1486
+ class Attribute < ::Nl::AttributeSet::Attribute
1487
+ end
1488
+
1489
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1490
+ class PeerId < Attribute
1491
+ TYPE: ::Integer
1492
+
1493
+ NAME: ::Symbol
1494
+
1495
+ # @private
1496
+ ORDER: ::Integer
1497
+
1498
+ # @private
1499
+ DATATYPE: untyped
1500
+ end
1501
+
1502
+ # The slot where the key should be stored
1503
+ #
1504
+ # Known enum values are defined in {Enums::KeySlot}.
1505
+ class Slot < Attribute
1506
+ TYPE: ::Integer
1507
+
1508
+ NAME: ::Symbol
1509
+
1510
+ # @private
1511
+ ORDER: ::Integer
1512
+
1513
+ # @private
1514
+ DATATYPE: untyped
1515
+ end
1516
+
1517
+ # @private
1518
+ BY_NAME: Hash[::Symbol, Attribute]
1519
+
1520
+ # @private
1521
+ BY_TYPE: Hash[::Integer, Attribute]
1522
+
1523
+ # The unique ID of the peer in the device context. To be used to identify peers during key operations
1524
+ # @rbs return: ::Integer
1525
+ # @return [Integer]
1526
+ # @see PeerId
1527
+ def peer_id: () -> ::Integer
1528
+
1529
+ # The slot where the key should be stored
1530
+ #
1531
+ # Known enum values are defined in {Enums::KeySlot}.
1532
+ # @rbs return: ::Integer
1533
+ # @return [Integer]
1534
+ # @see Slot
1535
+ def slot: () -> ::Integer
1536
+
1537
+ # Looks up Attribute class by name.
1538
+ # @rbs name: Symbol
1539
+ # @rbs return: Attribute
1540
+ # @param [Symbol] name
1541
+ # @return [Attribute]
1542
+ def self.by_name: (Symbol name) -> Attribute
1543
+
1544
+ # Looks up Attribute class by type value.
1545
+ # @rbs type: Integer
1546
+ # @rbs return: Attribute
1547
+ # @param [Integer] type
1548
+ # @return [Attribute]
1549
+ def self.by_type: (Integer type) -> Attribute
1550
+ end
1551
+
1552
+ class Ovpn < ::Nl::AttributeSet
1553
+ # Abstract class
1554
+ class Attribute < ::Nl::AttributeSet::Attribute
1555
+ end
1556
+
1557
+ # Index of the ovpn interface to operate on
1558
+ class Ifindex < Attribute
1559
+ TYPE: ::Integer
1560
+
1561
+ NAME: ::Symbol
1562
+
1563
+ # @private
1564
+ ORDER: ::Integer
1565
+
1566
+ # @private
1567
+ DATATYPE: untyped
1568
+ end
1569
+
1570
+ # The peer object containing the attributed of interest for the specific operation
1571
+ class Peer < Attribute
1572
+ TYPE: ::Integer
1573
+
1574
+ NAME: ::Symbol
1575
+
1576
+ # @private
1577
+ ORDER: ::Integer
1578
+ end
1579
+
1580
+ # Peer specific cipher configuration
1581
+ class Keyconf < Attribute
1582
+ TYPE: ::Integer
1583
+
1584
+ NAME: ::Symbol
1585
+
1586
+ # @private
1587
+ ORDER: ::Integer
1588
+ end
1589
+
1590
+ # @private
1591
+ BY_NAME: Hash[::Symbol, Attribute]
1592
+
1593
+ # @private
1594
+ BY_TYPE: Hash[::Integer, Attribute]
1595
+
1596
+ # Index of the ovpn interface to operate on
1597
+ # @rbs return: ::Integer
1598
+ # @return [Integer]
1599
+ # @see Ifindex
1600
+ def ifindex: () -> ::Integer
1601
+
1602
+ # The peer object containing the attributed of interest for the specific operation
1603
+ # @rbs return: AttributeSets::Peer
1604
+ # @return [AttributeSets::Peer]
1605
+ # @see Peer
1606
+ def peer: () -> AttributeSets::Peer
1607
+
1608
+ # Peer specific cipher configuration
1609
+ # @rbs return: AttributeSets::Keyconf
1610
+ # @return [AttributeSets::Keyconf]
1611
+ # @see Keyconf
1612
+ def keyconf: () -> AttributeSets::Keyconf
1613
+
1614
+ # Looks up Attribute class by name.
1615
+ # @rbs name: Symbol
1616
+ # @rbs return: Attribute
1617
+ # @param [Symbol] name
1618
+ # @return [Attribute]
1619
+ def self.by_name: (Symbol name) -> Attribute
1620
+
1621
+ # Looks up Attribute class by type value.
1622
+ # @rbs type: Integer
1623
+ # @rbs return: Attribute
1624
+ # @param [Integer] type
1625
+ # @return [Attribute]
1626
+ def self.by_type: (Integer type) -> Attribute
1627
+ end
1628
+
1629
+ class OvpnPeerNewInput < ::Nl::AttributeSet
1630
+ # Abstract class
1631
+ class Attribute < ::Nl::AttributeSet::Attribute
1632
+ end
1633
+
1634
+ # Index of the ovpn interface to operate on
1635
+ class Ifindex < Attribute
1636
+ TYPE: ::Integer
1637
+
1638
+ NAME: ::Symbol
1639
+
1640
+ # @private
1641
+ ORDER: ::Integer
1642
+
1643
+ # @private
1644
+ DATATYPE: untyped
1645
+ end
1646
+
1647
+ # The peer object containing the attributed of interest for the specific operation
1648
+ class Peer < Attribute
1649
+ TYPE: ::Integer
1650
+
1651
+ NAME: ::Symbol
1652
+
1653
+ # @private
1654
+ ORDER: ::Integer
1655
+ end
1656
+
1657
+ # @private
1658
+ BY_NAME: Hash[::Symbol, Attribute]
1659
+
1660
+ # @private
1661
+ BY_TYPE: Hash[::Integer, Attribute]
1662
+
1663
+ # Index of the ovpn interface to operate on
1664
+ # @rbs return: ::Integer
1665
+ # @return [Integer]
1666
+ # @see Ifindex
1667
+ def ifindex: () -> ::Integer
1668
+
1669
+ # The peer object containing the attributed of interest for the specific operation
1670
+ # @rbs return: AttributeSets::PeerNewInput
1671
+ # @return [AttributeSets::PeerNewInput]
1672
+ # @see Peer
1673
+ def peer: () -> AttributeSets::PeerNewInput
1674
+
1675
+ # Looks up Attribute class by name.
1676
+ # @rbs name: Symbol
1677
+ # @rbs return: Attribute
1678
+ # @param [Symbol] name
1679
+ # @return [Attribute]
1680
+ def self.by_name: (Symbol name) -> Attribute
1681
+
1682
+ # Looks up Attribute class by type value.
1683
+ # @rbs type: Integer
1684
+ # @rbs return: Attribute
1685
+ # @param [Integer] type
1686
+ # @return [Attribute]
1687
+ def self.by_type: (Integer type) -> Attribute
1688
+ end
1689
+
1690
+ class OvpnPeerSetInput < ::Nl::AttributeSet
1691
+ # Abstract class
1692
+ class Attribute < ::Nl::AttributeSet::Attribute
1693
+ end
1694
+
1695
+ # Index of the ovpn interface to operate on
1696
+ class Ifindex < Attribute
1697
+ TYPE: ::Integer
1698
+
1699
+ NAME: ::Symbol
1700
+
1701
+ # @private
1702
+ ORDER: ::Integer
1703
+
1704
+ # @private
1705
+ DATATYPE: untyped
1706
+ end
1707
+
1708
+ # The peer object containing the attributed of interest for the specific operation
1709
+ class Peer < Attribute
1710
+ TYPE: ::Integer
1711
+
1712
+ NAME: ::Symbol
1713
+
1714
+ # @private
1715
+ ORDER: ::Integer
1716
+ end
1717
+
1718
+ # @private
1719
+ BY_NAME: Hash[::Symbol, Attribute]
1720
+
1721
+ # @private
1722
+ BY_TYPE: Hash[::Integer, Attribute]
1723
+
1724
+ # Index of the ovpn interface to operate on
1725
+ # @rbs return: ::Integer
1726
+ # @return [Integer]
1727
+ # @see Ifindex
1728
+ def ifindex: () -> ::Integer
1729
+
1730
+ # The peer object containing the attributed of interest for the specific operation
1731
+ # @rbs return: AttributeSets::PeerSetInput
1732
+ # @return [AttributeSets::PeerSetInput]
1733
+ # @see Peer
1734
+ def peer: () -> AttributeSets::PeerSetInput
1735
+
1736
+ # Looks up Attribute class by name.
1737
+ # @rbs name: Symbol
1738
+ # @rbs return: Attribute
1739
+ # @param [Symbol] name
1740
+ # @return [Attribute]
1741
+ def self.by_name: (Symbol name) -> Attribute
1742
+
1743
+ # Looks up Attribute class by type value.
1744
+ # @rbs type: Integer
1745
+ # @rbs return: Attribute
1746
+ # @param [Integer] type
1747
+ # @return [Attribute]
1748
+ def self.by_type: (Integer type) -> Attribute
1749
+ end
1750
+
1751
+ class OvpnPeerDelInput < ::Nl::AttributeSet
1752
+ # Abstract class
1753
+ class Attribute < ::Nl::AttributeSet::Attribute
1754
+ end
1755
+
1756
+ # Index of the ovpn interface to operate on
1757
+ class Ifindex < Attribute
1758
+ TYPE: ::Integer
1759
+
1760
+ NAME: ::Symbol
1761
+
1762
+ # @private
1763
+ ORDER: ::Integer
1764
+
1765
+ # @private
1766
+ DATATYPE: untyped
1767
+ end
1768
+
1769
+ # The peer object containing the attributed of interest for the specific operation
1770
+ class Peer < Attribute
1771
+ TYPE: ::Integer
1772
+
1773
+ NAME: ::Symbol
1774
+
1775
+ # @private
1776
+ ORDER: ::Integer
1777
+ end
1778
+
1779
+ # @private
1780
+ BY_NAME: Hash[::Symbol, Attribute]
1781
+
1782
+ # @private
1783
+ BY_TYPE: Hash[::Integer, Attribute]
1784
+
1785
+ # Index of the ovpn interface to operate on
1786
+ # @rbs return: ::Integer
1787
+ # @return [Integer]
1788
+ # @see Ifindex
1789
+ def ifindex: () -> ::Integer
1790
+
1791
+ # The peer object containing the attributed of interest for the specific operation
1792
+ # @rbs return: AttributeSets::PeerDelInput
1793
+ # @return [AttributeSets::PeerDelInput]
1794
+ # @see Peer
1795
+ def peer: () -> AttributeSets::PeerDelInput
1796
+
1797
+ # Looks up Attribute class by name.
1798
+ # @rbs name: Symbol
1799
+ # @rbs return: Attribute
1800
+ # @param [Symbol] name
1801
+ # @return [Attribute]
1802
+ def self.by_name: (Symbol name) -> Attribute
1803
+
1804
+ # Looks up Attribute class by type value.
1805
+ # @rbs type: Integer
1806
+ # @rbs return: Attribute
1807
+ # @param [Integer] type
1808
+ # @return [Attribute]
1809
+ def self.by_type: (Integer type) -> Attribute
1810
+ end
1811
+
1812
+ class OvpnKeyconfGet < ::Nl::AttributeSet
1813
+ # Abstract class
1814
+ class Attribute < ::Nl::AttributeSet::Attribute
1815
+ end
1816
+
1817
+ # Index of the ovpn interface to operate on
1818
+ class Ifindex < Attribute
1819
+ TYPE: ::Integer
1820
+
1821
+ NAME: ::Symbol
1822
+
1823
+ # @private
1824
+ ORDER: ::Integer
1825
+
1826
+ # @private
1827
+ DATATYPE: untyped
1828
+ end
1829
+
1830
+ # Peer specific cipher configuration
1831
+ class Keyconf < Attribute
1832
+ TYPE: ::Integer
1833
+
1834
+ NAME: ::Symbol
1835
+
1836
+ # @private
1837
+ ORDER: ::Integer
1838
+ end
1839
+
1840
+ # @private
1841
+ BY_NAME: Hash[::Symbol, Attribute]
1842
+
1843
+ # @private
1844
+ BY_TYPE: Hash[::Integer, Attribute]
1845
+
1846
+ # Index of the ovpn interface to operate on
1847
+ # @rbs return: ::Integer
1848
+ # @return [Integer]
1849
+ # @see Ifindex
1850
+ def ifindex: () -> ::Integer
1851
+
1852
+ # Peer specific cipher configuration
1853
+ # @rbs return: AttributeSets::KeyconfGet
1854
+ # @return [AttributeSets::KeyconfGet]
1855
+ # @see Keyconf
1856
+ def keyconf: () -> AttributeSets::KeyconfGet
1857
+
1858
+ # Looks up Attribute class by name.
1859
+ # @rbs name: Symbol
1860
+ # @rbs return: Attribute
1861
+ # @param [Symbol] name
1862
+ # @return [Attribute]
1863
+ def self.by_name: (Symbol name) -> Attribute
1864
+
1865
+ # Looks up Attribute class by type value.
1866
+ # @rbs type: Integer
1867
+ # @rbs return: Attribute
1868
+ # @param [Integer] type
1869
+ # @return [Attribute]
1870
+ def self.by_type: (Integer type) -> Attribute
1871
+ end
1872
+
1873
+ class OvpnKeyconfSwapInput < ::Nl::AttributeSet
1874
+ # Abstract class
1875
+ class Attribute < ::Nl::AttributeSet::Attribute
1876
+ end
1877
+
1878
+ # Index of the ovpn interface to operate on
1879
+ class Ifindex < Attribute
1880
+ TYPE: ::Integer
1881
+
1882
+ NAME: ::Symbol
1883
+
1884
+ # @private
1885
+ ORDER: ::Integer
1886
+
1887
+ # @private
1888
+ DATATYPE: untyped
1889
+ end
1890
+
1891
+ # Peer specific cipher configuration
1892
+ class Keyconf < Attribute
1893
+ TYPE: ::Integer
1894
+
1895
+ NAME: ::Symbol
1896
+
1897
+ # @private
1898
+ ORDER: ::Integer
1899
+ end
1900
+
1901
+ # @private
1902
+ BY_NAME: Hash[::Symbol, Attribute]
1903
+
1904
+ # @private
1905
+ BY_TYPE: Hash[::Integer, Attribute]
1906
+
1907
+ # Index of the ovpn interface to operate on
1908
+ # @rbs return: ::Integer
1909
+ # @return [Integer]
1910
+ # @see Ifindex
1911
+ def ifindex: () -> ::Integer
1912
+
1913
+ # Peer specific cipher configuration
1914
+ # @rbs return: AttributeSets::KeyconfSwapInput
1915
+ # @return [AttributeSets::KeyconfSwapInput]
1916
+ # @see Keyconf
1917
+ def keyconf: () -> AttributeSets::KeyconfSwapInput
1918
+
1919
+ # Looks up Attribute class by name.
1920
+ # @rbs name: Symbol
1921
+ # @rbs return: Attribute
1922
+ # @param [Symbol] name
1923
+ # @return [Attribute]
1924
+ def self.by_name: (Symbol name) -> Attribute
1925
+
1926
+ # Looks up Attribute class by type value.
1927
+ # @rbs type: Integer
1928
+ # @rbs return: Attribute
1929
+ # @param [Integer] type
1930
+ # @return [Attribute]
1931
+ def self.by_type: (Integer type) -> Attribute
1932
+ end
1933
+
1934
+ class OvpnKeyconfDelInput < ::Nl::AttributeSet
1935
+ # Abstract class
1936
+ class Attribute < ::Nl::AttributeSet::Attribute
1937
+ end
1938
+
1939
+ # Index of the ovpn interface to operate on
1940
+ class Ifindex < Attribute
1941
+ TYPE: ::Integer
1942
+
1943
+ NAME: ::Symbol
1944
+
1945
+ # @private
1946
+ ORDER: ::Integer
1947
+
1948
+ # @private
1949
+ DATATYPE: untyped
1950
+ end
1951
+
1952
+ # Peer specific cipher configuration
1953
+ class Keyconf < Attribute
1954
+ TYPE: ::Integer
1955
+
1956
+ NAME: ::Symbol
1957
+
1958
+ # @private
1959
+ ORDER: ::Integer
1960
+ end
1961
+
1962
+ # @private
1963
+ BY_NAME: Hash[::Symbol, Attribute]
1964
+
1965
+ # @private
1966
+ BY_TYPE: Hash[::Integer, Attribute]
1967
+
1968
+ # Index of the ovpn interface to operate on
1969
+ # @rbs return: ::Integer
1970
+ # @return [Integer]
1971
+ # @see Ifindex
1972
+ def ifindex: () -> ::Integer
1973
+
1974
+ # Peer specific cipher configuration
1975
+ # @rbs return: AttributeSets::KeyconfDelInput
1976
+ # @return [AttributeSets::KeyconfDelInput]
1977
+ # @see Keyconf
1978
+ def keyconf: () -> AttributeSets::KeyconfDelInput
1979
+
1980
+ # Looks up Attribute class by name.
1981
+ # @rbs name: Symbol
1982
+ # @rbs return: Attribute
1983
+ # @param [Symbol] name
1984
+ # @return [Attribute]
1985
+ def self.by_name: (Symbol name) -> Attribute
1986
+
1987
+ # Looks up Attribute class by type value.
1988
+ # @rbs type: Integer
1989
+ # @rbs return: Attribute
1990
+ # @param [Integer] type
1991
+ # @return [Attribute]
1992
+ def self.by_type: (Integer type) -> Attribute
1993
+ end
1994
+ end
1995
+
1996
+ module Messages
1997
+ # Add a remote peer
1998
+ #
1999
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2000
+ class DoPeerNewRequest < ::Nl::Genl::Message
2001
+ TYPE: ::Integer
2002
+
2003
+ FIXED_HEADER: untyped
2004
+
2005
+ ATTRIBUTE_SET: untyped
2006
+
2007
+ ATTRIBUTES: untyped
2008
+
2009
+ # Index of the ovpn interface to operate on
2010
+ # @rbs return: ::Integer
2011
+ # @return [Integer]
2012
+ # @see AttributeSets::OvpnPeerNewInput::Ifindex
2013
+ def ifindex: () -> ::Integer
2014
+
2015
+ # The peer object containing the attributed of interest for the specific operation
2016
+ # @rbs return: AttributeSets::PeerNewInput
2017
+ # @return [AttributeSets::PeerNewInput]
2018
+ # @see AttributeSets::OvpnPeerNewInput::Peer
2019
+ def peer: () -> AttributeSets::PeerNewInput
2020
+ end
2021
+
2022
+ # modify a remote peer
2023
+ #
2024
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2025
+ class DoPeerSetRequest < ::Nl::Genl::Message
2026
+ TYPE: ::Integer
2027
+
2028
+ FIXED_HEADER: untyped
2029
+
2030
+ ATTRIBUTE_SET: untyped
2031
+
2032
+ ATTRIBUTES: untyped
2033
+
2034
+ # Index of the ovpn interface to operate on
2035
+ # @rbs return: ::Integer
2036
+ # @return [Integer]
2037
+ # @see AttributeSets::OvpnPeerSetInput::Ifindex
2038
+ def ifindex: () -> ::Integer
2039
+
2040
+ # The peer object containing the attributed of interest for the specific operation
2041
+ # @rbs return: AttributeSets::PeerSetInput
2042
+ # @return [AttributeSets::PeerSetInput]
2043
+ # @see AttributeSets::OvpnPeerSetInput::Peer
2044
+ def peer: () -> AttributeSets::PeerSetInput
2045
+ end
2046
+
2047
+ # Retrieve data about existing remote peers (or a specific one)
2048
+ #
2049
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2050
+ class DoPeerGetRequest < ::Nl::Genl::Message
2051
+ TYPE: ::Integer
2052
+
2053
+ FIXED_HEADER: untyped
2054
+
2055
+ ATTRIBUTE_SET: untyped
2056
+
2057
+ ATTRIBUTES: untyped
2058
+
2059
+ # Index of the ovpn interface to operate on
2060
+ # @rbs return: ::Integer
2061
+ # @return [Integer]
2062
+ # @see AttributeSets::Ovpn::Ifindex
2063
+ def ifindex: () -> ::Integer
2064
+
2065
+ # The peer object containing the attributed of interest for the specific operation
2066
+ # @rbs return: AttributeSets::Peer
2067
+ # @return [AttributeSets::Peer]
2068
+ # @see AttributeSets::Ovpn::Peer
2069
+ def peer: () -> AttributeSets::Peer
2070
+ end
2071
+
2072
+ # Retrieve data about existing remote peers (or a specific one)
2073
+ #
2074
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2075
+ class DoPeerGetReply < ::Nl::Genl::Message
2076
+ TYPE: ::Integer
2077
+
2078
+ FIXED_HEADER: untyped
2079
+
2080
+ ATTRIBUTE_SET: untyped
2081
+
2082
+ ATTRIBUTES: untyped
2083
+
2084
+ # The peer object containing the attributed of interest for the specific operation
2085
+ # @rbs return: AttributeSets::Peer
2086
+ # @return [AttributeSets::Peer]
2087
+ # @see AttributeSets::Ovpn::Peer
2088
+ def peer: () -> AttributeSets::Peer
2089
+ end
2090
+
2091
+ # Retrieve data about existing remote peers (or a specific one)
2092
+ #
2093
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2094
+ class DumpPeerGetRequest < ::Nl::Genl::Message
2095
+ TYPE: ::Integer
2096
+
2097
+ FIXED_HEADER: untyped
2098
+
2099
+ ATTRIBUTE_SET: untyped
2100
+
2101
+ ATTRIBUTES: untyped
2102
+
2103
+ # Index of the ovpn interface to operate on
2104
+ # @rbs return: ::Integer
2105
+ # @return [Integer]
2106
+ # @see AttributeSets::Ovpn::Ifindex
2107
+ def ifindex: () -> ::Integer
2108
+ end
2109
+
2110
+ # Retrieve data about existing remote peers (or a specific one)
2111
+ #
2112
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2113
+ class DumpPeerGetReply < ::Nl::Genl::Message
2114
+ TYPE: ::Integer
2115
+
2116
+ FIXED_HEADER: untyped
2117
+
2118
+ ATTRIBUTE_SET: untyped
2119
+
2120
+ ATTRIBUTES: untyped
2121
+
2122
+ # The peer object containing the attributed of interest for the specific operation
2123
+ # @rbs return: AttributeSets::Peer
2124
+ # @return [AttributeSets::Peer]
2125
+ # @see AttributeSets::Ovpn::Peer
2126
+ def peer: () -> AttributeSets::Peer
2127
+ end
2128
+
2129
+ # Delete existing remote peer
2130
+ #
2131
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2132
+ class DoPeerDelRequest < ::Nl::Genl::Message
2133
+ TYPE: ::Integer
2134
+
2135
+ FIXED_HEADER: untyped
2136
+
2137
+ ATTRIBUTE_SET: untyped
2138
+
2139
+ ATTRIBUTES: untyped
2140
+
2141
+ # Index of the ovpn interface to operate on
2142
+ # @rbs return: ::Integer
2143
+ # @return [Integer]
2144
+ # @see AttributeSets::OvpnPeerDelInput::Ifindex
2145
+ def ifindex: () -> ::Integer
2146
+
2147
+ # The peer object containing the attributed of interest for the specific operation
2148
+ # @rbs return: AttributeSets::PeerDelInput
2149
+ # @return [AttributeSets::PeerDelInput]
2150
+ # @see AttributeSets::OvpnPeerDelInput::Peer
2151
+ def peer: () -> AttributeSets::PeerDelInput
2152
+ end
2153
+
2154
+ # Add a cipher key for a specific peer
2155
+ #
2156
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2157
+ class DoKeyNewRequest < ::Nl::Genl::Message
2158
+ TYPE: ::Integer
2159
+
2160
+ FIXED_HEADER: untyped
2161
+
2162
+ ATTRIBUTE_SET: untyped
2163
+
2164
+ ATTRIBUTES: untyped
2165
+
2166
+ # Index of the ovpn interface to operate on
2167
+ # @rbs return: ::Integer
2168
+ # @return [Integer]
2169
+ # @see AttributeSets::Ovpn::Ifindex
2170
+ def ifindex: () -> ::Integer
2171
+
2172
+ # Peer specific cipher configuration
2173
+ # @rbs return: AttributeSets::Keyconf
2174
+ # @return [AttributeSets::Keyconf]
2175
+ # @see AttributeSets::Ovpn::Keyconf
2176
+ def keyconf: () -> AttributeSets::Keyconf
2177
+ end
2178
+
2179
+ # Retrieve non-sensitive data about peer key and cipher
2180
+ #
2181
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2182
+ class DoKeyGetRequest < ::Nl::Genl::Message
2183
+ TYPE: ::Integer
2184
+
2185
+ FIXED_HEADER: untyped
2186
+
2187
+ ATTRIBUTE_SET: untyped
2188
+
2189
+ ATTRIBUTES: untyped
2190
+
2191
+ # Index of the ovpn interface to operate on
2192
+ # @rbs return: ::Integer
2193
+ # @return [Integer]
2194
+ # @see AttributeSets::OvpnKeyconfGet::Ifindex
2195
+ def ifindex: () -> ::Integer
2196
+
2197
+ # Peer specific cipher configuration
2198
+ # @rbs return: AttributeSets::KeyconfGet
2199
+ # @return [AttributeSets::KeyconfGet]
2200
+ # @see AttributeSets::OvpnKeyconfGet::Keyconf
2201
+ def keyconf: () -> AttributeSets::KeyconfGet
2202
+ end
2203
+
2204
+ # Retrieve non-sensitive data about peer key and cipher
2205
+ #
2206
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2207
+ class DoKeyGetReply < ::Nl::Genl::Message
2208
+ TYPE: ::Integer
2209
+
2210
+ FIXED_HEADER: untyped
2211
+
2212
+ ATTRIBUTE_SET: untyped
2213
+
2214
+ ATTRIBUTES: untyped
2215
+
2216
+ # Peer specific cipher configuration
2217
+ # @rbs return: AttributeSets::KeyconfGet
2218
+ # @return [AttributeSets::KeyconfGet]
2219
+ # @see AttributeSets::OvpnKeyconfGet::Keyconf
2220
+ def keyconf: () -> AttributeSets::KeyconfGet
2221
+ end
2222
+
2223
+ # Swap primary and secondary session keys for a specific peer
2224
+ #
2225
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2226
+ class DoKeySwapRequest < ::Nl::Genl::Message
2227
+ TYPE: ::Integer
2228
+
2229
+ FIXED_HEADER: untyped
2230
+
2231
+ ATTRIBUTE_SET: untyped
2232
+
2233
+ ATTRIBUTES: untyped
2234
+
2235
+ # Index of the ovpn interface to operate on
2236
+ # @rbs return: ::Integer
2237
+ # @return [Integer]
2238
+ # @see AttributeSets::OvpnKeyconfSwapInput::Ifindex
2239
+ def ifindex: () -> ::Integer
2240
+
2241
+ # Peer specific cipher configuration
2242
+ # @rbs return: AttributeSets::KeyconfSwapInput
2243
+ # @return [AttributeSets::KeyconfSwapInput]
2244
+ # @see AttributeSets::OvpnKeyconfSwapInput::Keyconf
2245
+ def keyconf: () -> AttributeSets::KeyconfSwapInput
2246
+ end
2247
+
2248
+ # Delete cipher key for a specific peer
2249
+ #
2250
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2251
+ class DoKeyDelRequest < ::Nl::Genl::Message
2252
+ TYPE: ::Integer
2253
+
2254
+ FIXED_HEADER: untyped
2255
+
2256
+ ATTRIBUTE_SET: untyped
2257
+
2258
+ ATTRIBUTES: untyped
2259
+
2260
+ # Index of the ovpn interface to operate on
2261
+ # @rbs return: ::Integer
2262
+ # @return [Integer]
2263
+ # @see AttributeSets::OvpnKeyconfDelInput::Ifindex
2264
+ def ifindex: () -> ::Integer
2265
+
2266
+ # Peer specific cipher configuration
2267
+ # @rbs return: AttributeSets::KeyconfDelInput
2268
+ # @return [AttributeSets::KeyconfDelInput]
2269
+ # @see AttributeSets::OvpnKeyconfDelInput::Keyconf
2270
+ def keyconf: () -> AttributeSets::KeyconfDelInput
2271
+ end
2272
+ end
2273
+
2274
+ module Notifications
2275
+ # Notification about a peer being deleted
2276
+ #
2277
+ # Multicast group: `peers`.
2278
+ class PeerDelNtf < ::Nl::Genl::Message
2279
+ TYPE: ::Integer
2280
+
2281
+ FIXED_HEADER: untyped
2282
+
2283
+ ATTRIBUTE_SET: untyped
2284
+
2285
+ ATTRIBUTES: untyped
2286
+
2287
+ # The peer object containing the attributed of interest for the specific operation
2288
+ # @rbs return: AttributeSets::Peer
2289
+ # @return [AttributeSets::Peer]
2290
+ # @see AttributeSets::Ovpn::Peer
2291
+ def peer: () -> AttributeSets::Peer
2292
+ end
2293
+
2294
+ # Notification about key having exhausted its IV space and requiring renegotiation
2295
+ #
2296
+ # Multicast group: `peers`.
2297
+ class KeySwapNtf < ::Nl::Genl::Message
2298
+ TYPE: ::Integer
2299
+
2300
+ FIXED_HEADER: untyped
2301
+
2302
+ ATTRIBUTE_SET: untyped
2303
+
2304
+ ATTRIBUTES: untyped
2305
+
2306
+ # Peer specific cipher configuration
2307
+ # @rbs return: AttributeSets::KeyconfGet
2308
+ # @return [AttributeSets::KeyconfGet]
2309
+ # @see AttributeSets::OvpnKeyconfGet::Keyconf
2310
+ def keyconf: () -> AttributeSets::KeyconfGet
2311
+ end
2312
+
2313
+ # Notification about a peer floating (changing its remote UDP endpoint)
2314
+ #
2315
+ # Multicast group: `peers`.
2316
+ class PeerFloatNtf < ::Nl::Genl::Message
2317
+ TYPE: ::Integer
2318
+
2319
+ FIXED_HEADER: untyped
2320
+
2321
+ ATTRIBUTE_SET: untyped
2322
+
2323
+ ATTRIBUTES: untyped
2324
+
2325
+ # The peer object containing the attributed of interest for the specific operation
2326
+ # @rbs return: AttributeSets::Peer
2327
+ # @return [AttributeSets::Peer]
2328
+ # @see AttributeSets::Ovpn::Peer
2329
+ def peer: () -> AttributeSets::Peer
2330
+ end
2331
+ end
2332
+
2333
+ # @private
2334
+ NOTIFICATIONS: Hash[::Integer, ::Class]
2335
+
2336
+ # Add a remote peer
2337
+ #
2338
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2339
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerNewInput | ::Hash[::Symbol, untyped])) -> void
2340
+ # @param [Hash] args
2341
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2342
+ # @option args [AttributeSets::PeerNewInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2343
+ # @return [void]
2344
+ # @see Messages::DoPeerNewRequest
2345
+ def do_peer_new: (?ifindex: ::Integer, ?peer: AttributeSets::PeerNewInput | ::Hash[::Symbol, untyped]) -> void
2346
+
2347
+ # modify a remote peer
2348
+ #
2349
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2350
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerSetInput | ::Hash[::Symbol, untyped])) -> void
2351
+ # @param [Hash] args
2352
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2353
+ # @option args [AttributeSets::PeerSetInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2354
+ # @return [void]
2355
+ # @see Messages::DoPeerSetRequest
2356
+ def do_peer_set: (?ifindex: ::Integer, ?peer: AttributeSets::PeerSetInput | ::Hash[::Symbol, untyped]) -> void
2357
+
2358
+ # Retrieve data about existing remote peers (or a specific one)
2359
+ #
2360
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2361
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::Peer | ::Hash[::Symbol, untyped])) -> Messages::DoPeerGetReply
2362
+ # @param [Hash] args
2363
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2364
+ # @option args [AttributeSets::Peer, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2365
+ # @return [Messages::DoPeerGetReply]
2366
+ # @see Messages::DoPeerGetRequest
2367
+ def do_peer_get: (?ifindex: ::Integer, ?peer: AttributeSets::Peer | ::Hash[::Symbol, untyped]) -> Messages::DoPeerGetReply
2368
+
2369
+ # Retrieve data about existing remote peers (or a specific one)
2370
+ #
2371
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2372
+ # @rbs (?ifindex: ::Integer) -> Array[Messages::DumpPeerGetReply]
2373
+ # | (?ifindex: ::Integer) { (Messages::DumpPeerGetReply) -> void } -> void
2374
+ # @overload dump_peer_get(**args)
2375
+ # Returns an array when no block is given.
2376
+ # @param [Hash] args
2377
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2378
+ # @return [Array<Messages::DumpPeerGetReply>]
2379
+ # @overload dump_peer_get(**args, &block)
2380
+ # Yields each reply when a block is given.
2381
+ # @param [Hash] args
2382
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2383
+ # @yieldparam [Messages::DumpPeerGetReply] reply
2384
+ # @return [void]
2385
+ # @see Messages::DumpPeerGetRequest
2386
+ def dump_peer_get: (?ifindex: ::Integer) -> Array[Messages::DumpPeerGetReply]
2387
+ | (?ifindex: ::Integer) { (Messages::DumpPeerGetReply) -> void } -> void
2388
+
2389
+ # Delete existing remote peer
2390
+ #
2391
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2392
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerDelInput | ::Hash[::Symbol, untyped])) -> void
2393
+ # @param [Hash] args
2394
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2395
+ # @option args [AttributeSets::PeerDelInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2396
+ # @return [void]
2397
+ # @see Messages::DoPeerDelRequest
2398
+ def do_peer_del: (?ifindex: ::Integer, ?peer: AttributeSets::PeerDelInput | ::Hash[::Symbol, untyped]) -> void
2399
+
2400
+ # Add a cipher key for a specific peer
2401
+ #
2402
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2403
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::Keyconf | ::Hash[::Symbol, untyped])) -> void
2404
+ # @param [Hash] args
2405
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2406
+ # @option args [AttributeSets::Keyconf, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2407
+ # @return [void]
2408
+ # @see Messages::DoKeyNewRequest
2409
+ def do_key_new: (?ifindex: ::Integer, ?keyconf: AttributeSets::Keyconf | ::Hash[::Symbol, untyped]) -> void
2410
+
2411
+ # Retrieve non-sensitive data about peer key and cipher
2412
+ #
2413
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2414
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfGet | ::Hash[::Symbol, untyped])) -> Messages::DoKeyGetReply
2415
+ # @param [Hash] args
2416
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2417
+ # @option args [AttributeSets::KeyconfGet, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2418
+ # @return [Messages::DoKeyGetReply]
2419
+ # @see Messages::DoKeyGetRequest
2420
+ def do_key_get: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfGet | ::Hash[::Symbol, untyped]) -> Messages::DoKeyGetReply
2421
+
2422
+ # Swap primary and secondary session keys for a specific peer
2423
+ #
2424
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2425
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfSwapInput | ::Hash[::Symbol, untyped])) -> void
2426
+ # @param [Hash] args
2427
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2428
+ # @option args [AttributeSets::KeyconfSwapInput, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2429
+ # @return [void]
2430
+ # @see Messages::DoKeySwapRequest
2431
+ def do_key_swap: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfSwapInput | ::Hash[::Symbol, untyped]) -> void
2432
+
2433
+ # Delete cipher key for a specific peer
2434
+ #
2435
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2436
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfDelInput | ::Hash[::Symbol, untyped])) -> void
2437
+ # @param [Hash] args
2438
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2439
+ # @option args [AttributeSets::KeyconfDelInput, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2440
+ # @return [void]
2441
+ # @see Messages::DoKeyDelRequest
2442
+ def do_key_del: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfDelInput | ::Hash[::Symbol, untyped]) -> void
2443
+
2444
+ class AsyncOperations
2445
+ # @private
2446
+ def initialize: () ?{ (?) -> untyped } -> untyped
2447
+
2448
+ # Add a remote peer
2449
+ #
2450
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2451
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerNewInput | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2452
+ # @param [Hash] args
2453
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2454
+ # @option args [AttributeSets::PeerNewInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2455
+ # @return [Nl::Async::Future<void>]
2456
+ # @see Messages::DoPeerNewRequest
2457
+ def do_peer_new: (?ifindex: ::Integer, ?peer: AttributeSets::PeerNewInput | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2458
+
2459
+ # modify a remote peer
2460
+ #
2461
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2462
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerSetInput | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2463
+ # @param [Hash] args
2464
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2465
+ # @option args [AttributeSets::PeerSetInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2466
+ # @return [Nl::Async::Future<void>]
2467
+ # @see Messages::DoPeerSetRequest
2468
+ def do_peer_set: (?ifindex: ::Integer, ?peer: AttributeSets::PeerSetInput | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2469
+
2470
+ # Retrieve data about existing remote peers (or a specific one)
2471
+ #
2472
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2473
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::Peer | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[Messages::DoPeerGetReply]
2474
+ # @param [Hash] args
2475
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2476
+ # @option args [AttributeSets::Peer, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2477
+ # @return [Nl::Async::Future<Messages::DoPeerGetReply>]
2478
+ # @see Messages::DoPeerGetRequest
2479
+ def do_peer_get: (?ifindex: ::Integer, ?peer: AttributeSets::Peer | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[Messages::DoPeerGetReply]
2480
+
2481
+ # Retrieve data about existing remote peers (or a specific one)
2482
+ #
2483
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2484
+ # @rbs (?ifindex: ::Integer) -> ::Nl::Async::Stream[Messages::DumpPeerGetReply]
2485
+ # @param [Hash] args
2486
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2487
+ # @return [Nl::Async::Stream<Messages::DumpPeerGetReply>]
2488
+ # @see Messages::DumpPeerGetRequest
2489
+ def dump_peer_get: (?ifindex: ::Integer) -> ::Nl::Async::Stream[Messages::DumpPeerGetReply]
2490
+
2491
+ # Delete existing remote peer
2492
+ #
2493
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2494
+ # @rbs (?ifindex: ::Integer, ?peer: (AttributeSets::PeerDelInput | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2495
+ # @param [Hash] args
2496
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2497
+ # @option args [AttributeSets::PeerDelInput, Hash<Symbol, Object>] peer The peer object containing the attributed of interest for the specific operation
2498
+ # @return [Nl::Async::Future<void>]
2499
+ # @see Messages::DoPeerDelRequest
2500
+ def do_peer_del: (?ifindex: ::Integer, ?peer: AttributeSets::PeerDelInput | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2501
+
2502
+ # Add a cipher key for a specific peer
2503
+ #
2504
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2505
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::Keyconf | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2506
+ # @param [Hash] args
2507
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2508
+ # @option args [AttributeSets::Keyconf, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2509
+ # @return [Nl::Async::Future<void>]
2510
+ # @see Messages::DoKeyNewRequest
2511
+ def do_key_new: (?ifindex: ::Integer, ?keyconf: AttributeSets::Keyconf | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2512
+
2513
+ # Retrieve non-sensitive data about peer key and cipher
2514
+ #
2515
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2516
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfGet | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[Messages::DoKeyGetReply]
2517
+ # @param [Hash] args
2518
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2519
+ # @option args [AttributeSets::KeyconfGet, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2520
+ # @return [Nl::Async::Future<Messages::DoKeyGetReply>]
2521
+ # @see Messages::DoKeyGetRequest
2522
+ def do_key_get: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfGet | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[Messages::DoKeyGetReply]
2523
+
2524
+ # Swap primary and secondary session keys for a specific peer
2525
+ #
2526
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2527
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfSwapInput | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2528
+ # @param [Hash] args
2529
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2530
+ # @option args [AttributeSets::KeyconfSwapInput, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2531
+ # @return [Nl::Async::Future<void>]
2532
+ # @see Messages::DoKeySwapRequest
2533
+ def do_key_swap: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfSwapInput | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2534
+
2535
+ # Delete cipher key for a specific peer
2536
+ #
2537
+ # Requires CAP_NET_ADMIN in the initial user namespace.
2538
+ # @rbs (?ifindex: ::Integer, ?keyconf: (AttributeSets::KeyconfDelInput | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
2539
+ # @param [Hash] args
2540
+ # @option args [Integer] ifindex Index of the ovpn interface to operate on
2541
+ # @option args [AttributeSets::KeyconfDelInput, Hash<Symbol, Object>] keyconf Peer specific cipher configuration
2542
+ # @return [Nl::Async::Future<void>]
2543
+ # @see Messages::DoKeyDelRequest
2544
+ def do_key_del: (?ifindex: ::Integer, ?keyconf: AttributeSets::KeyconfDelInput | ::Hash[::Symbol, untyped]) -> ::Nl::Async::Future[void]
2545
+ end
2546
+
2547
+ # Returns the asynchronous operation facade for this family.
2548
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
2549
+ # @param [::Integer, nil] stream_capacity
2550
+ # @return [AsyncOperations]
2551
+ def async: (?stream_capacity: ::Integer?) -> AsyncOperations
2552
+
2553
+ # @rbs (*(:peers) groups) -> self
2554
+ # @param [Array<:peers>] groups
2555
+ # @return [self]
2556
+ def subscribe: (*:peers groups) -> self
2557
+
2558
+ # @rbs (*(:peers) groups) -> self
2559
+ # @param [Array<:peers>] groups
2560
+ # @return [self]
2561
+ def unsubscribe: (*:peers groups) -> self
2562
+ end
2563
+ end
2564
+ end