nl-linux 0.2.3 → 0.2.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/NLSPEC_VERSION +1 -1
- data/generated/nl/linux/devlink.rb +727 -200
- data/generated/nl/linux/dpll.rb +79 -12
- data/generated/nl/linux/drm_ras.rb +222 -0
- data/generated/nl/linux/ethtool.rb +47 -8
- data/generated/nl/linux/handshake.rb +1 -1
- data/generated/nl/linux/net_shaper.rb +1 -1
- data/generated/nl/linux/netdev.rb +141 -6
- data/generated/nl/linux/nfsd.rb +566 -8
- data/generated/nl/linux/nftables.rb +1705 -139
- data/generated/nl/linux/ovpn.rb +27 -12
- data/generated/nl/linux/ovs_datapath.rb +4 -4
- data/generated/nl/linux/ovs_packet.rb +166 -0
- data/generated/nl/linux/ovs_vport.rb +4 -4
- data/generated/nl/linux/psp.rb +196 -6
- data/generated/nl/linux/rt_link.rb +84 -78
- data/generated/nl/linux/sunrpc_cache.rb +293 -0
- data/generated/nl/linux/tc.rb +7 -2
- data/generated/nl/linux.rb +3 -0
- data/lib/nl/linux/version.rb +1 -1
- data/linux/devlink.yaml +92 -2
- data/linux/dpll.yaml +94 -5
- data/linux/drm_ras.yaml +126 -0
- data/linux/ethtool.yaml +21 -4
- data/linux/handshake.yaml +9 -0
- data/linux/mptcp_pm.yaml +1 -0
- data/linux/net_shaper.yaml +13 -6
- data/linux/netdev.yaml +61 -2
- data/linux/nfsd.yaml +303 -2
- data/linux/nftables.yaml +640 -49
- data/linux/ovpn.yaml +26 -1
- data/linux/ovs_packet.yaml +130 -0
- data/linux/psp.yaml +80 -3
- data/linux/rt-link.yaml +70 -24
- data/linux/sunrpc_cache.yaml +149 -0
- data/linux/tc.yaml +3 -0
- metadata +12 -6
data/generated/nl/linux/nfsd.rb
CHANGED
|
@@ -12,6 +12,32 @@ class Nfsd < ::Nl::Family
|
|
|
12
12
|
module Structs
|
|
13
13
|
end
|
|
14
14
|
module AttributeSets
|
|
15
|
+
class CacheNotify < ::Nl::Protocols::Genl::AttributeSet
|
|
16
|
+
# Abstract class
|
|
17
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
18
|
+
end
|
|
19
|
+
class CacheType < Attribute
|
|
20
|
+
TYPE = 1
|
|
21
|
+
NAME = :"cache_type"
|
|
22
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
23
|
+
end
|
|
24
|
+
# :nodoc:
|
|
25
|
+
BY_NAME = Ractor.make_shareable({:"cache_type" => CacheType}) #: Hash[::Symbol, Attribute]
|
|
26
|
+
# :nodoc:
|
|
27
|
+
BY_TYPE = Ractor.make_shareable({1 => CacheType}) #: Hash[::Integer, Attribute]
|
|
28
|
+
class << self
|
|
29
|
+
# Looks up Attribute class by name.
|
|
30
|
+
#--
|
|
31
|
+
# @rbs name: Symbol
|
|
32
|
+
# @rbs return: Attribute
|
|
33
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
34
|
+
# Looks up Attribute class by type value.
|
|
35
|
+
#--
|
|
36
|
+
# @rbs type: Integer
|
|
37
|
+
# @rbs return: Attribute
|
|
38
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
15
41
|
class RpcStatus < ::Nl::Protocols::Genl::AttributeSet
|
|
16
42
|
# Abstract class
|
|
17
43
|
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
@@ -127,10 +153,20 @@ class Nfsd < ::Nl::Family
|
|
|
127
153
|
NAME = :"scope"
|
|
128
154
|
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
129
155
|
end
|
|
156
|
+
class MinThreads < Attribute
|
|
157
|
+
TYPE = 5
|
|
158
|
+
NAME = :"min_threads"
|
|
159
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
160
|
+
end
|
|
161
|
+
class FhKey < Attribute
|
|
162
|
+
TYPE = 6
|
|
163
|
+
NAME = :"fh_key"
|
|
164
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is not equal to length 16" unless it.bytesize == 16 })
|
|
165
|
+
end
|
|
130
166
|
# :nodoc:
|
|
131
|
-
BY_NAME = Ractor.make_shareable({:"threads" => Threads, :"gracetime" => Gracetime, :"leasetime" => Leasetime, :"scope" => Scope}) #: Hash[::Symbol, Attribute]
|
|
167
|
+
BY_NAME = Ractor.make_shareable({:"threads" => Threads, :"gracetime" => Gracetime, :"leasetime" => Leasetime, :"scope" => Scope, :"min_threads" => MinThreads, :"fh_key" => FhKey}) #: Hash[::Symbol, Attribute]
|
|
132
168
|
# :nodoc:
|
|
133
|
-
BY_TYPE = Ractor.make_shareable({1 => Threads, 2 => Gracetime, 3 => Leasetime, 4 => Scope}) #: Hash[::Integer, Attribute]
|
|
169
|
+
BY_TYPE = Ractor.make_shareable({1 => Threads, 2 => Gracetime, 3 => Leasetime, 4 => Scope, 5 => MinThreads, 6 => FhKey}) #: Hash[::Integer, Attribute]
|
|
134
170
|
class << self
|
|
135
171
|
# Looks up Attribute class by name.
|
|
136
172
|
#--
|
|
@@ -292,8 +328,394 @@ class Nfsd < ::Nl::Family
|
|
|
292
328
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
293
329
|
end
|
|
294
330
|
end
|
|
331
|
+
class Fslocation < ::Nl::Protocols::Genl::AttributeSet
|
|
332
|
+
# Abstract class
|
|
333
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
334
|
+
end
|
|
335
|
+
class Host < Attribute
|
|
336
|
+
TYPE = 1
|
|
337
|
+
NAME = :"host"
|
|
338
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
339
|
+
end
|
|
340
|
+
class Path < Attribute
|
|
341
|
+
TYPE = 2
|
|
342
|
+
NAME = :"path"
|
|
343
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
344
|
+
end
|
|
345
|
+
# :nodoc:
|
|
346
|
+
BY_NAME = Ractor.make_shareable({:"host" => Host, :"path" => Path}) #: Hash[::Symbol, Attribute]
|
|
347
|
+
# :nodoc:
|
|
348
|
+
BY_TYPE = Ractor.make_shareable({1 => Host, 2 => Path}) #: Hash[::Integer, Attribute]
|
|
349
|
+
class << self
|
|
350
|
+
# Looks up Attribute class by name.
|
|
351
|
+
#--
|
|
352
|
+
# @rbs name: Symbol
|
|
353
|
+
# @rbs return: Attribute
|
|
354
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
355
|
+
# Looks up Attribute class by type value.
|
|
356
|
+
#--
|
|
357
|
+
# @rbs type: Integer
|
|
358
|
+
# @rbs return: Attribute
|
|
359
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
360
|
+
end
|
|
361
|
+
end
|
|
362
|
+
class Fslocations < ::Nl::Protocols::Genl::AttributeSet
|
|
363
|
+
# Abstract class
|
|
364
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
365
|
+
end
|
|
366
|
+
class Location < Attribute
|
|
367
|
+
TYPE = 1
|
|
368
|
+
NAME = :"location"
|
|
369
|
+
end
|
|
370
|
+
# :nodoc:
|
|
371
|
+
BY_NAME = Ractor.make_shareable({:"location" => Location}) #: Hash[::Symbol, Attribute]
|
|
372
|
+
# :nodoc:
|
|
373
|
+
BY_TYPE = Ractor.make_shareable({1 => Location}) #: Hash[::Integer, Attribute]
|
|
374
|
+
class << self
|
|
375
|
+
# Looks up Attribute class by name.
|
|
376
|
+
#--
|
|
377
|
+
# @rbs name: Symbol
|
|
378
|
+
# @rbs return: Attribute
|
|
379
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
380
|
+
# Looks up Attribute class by type value.
|
|
381
|
+
#--
|
|
382
|
+
# @rbs type: Integer
|
|
383
|
+
# @rbs return: Attribute
|
|
384
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
385
|
+
end
|
|
386
|
+
end
|
|
387
|
+
class AuthFlavor < ::Nl::Protocols::Genl::AttributeSet
|
|
388
|
+
# Abstract class
|
|
389
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
390
|
+
end
|
|
391
|
+
class Pseudoflavor < Attribute
|
|
392
|
+
TYPE = 1
|
|
393
|
+
NAME = :"pseudoflavor"
|
|
394
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
395
|
+
end
|
|
396
|
+
class Flags < Attribute
|
|
397
|
+
TYPE = 2
|
|
398
|
+
NAME = :"flags"
|
|
399
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
400
|
+
end
|
|
401
|
+
# :nodoc:
|
|
402
|
+
BY_NAME = Ractor.make_shareable({:"pseudoflavor" => Pseudoflavor, :"flags" => Flags}) #: Hash[::Symbol, Attribute]
|
|
403
|
+
# :nodoc:
|
|
404
|
+
BY_TYPE = Ractor.make_shareable({1 => Pseudoflavor, 2 => Flags}) #: Hash[::Integer, Attribute]
|
|
405
|
+
class << self
|
|
406
|
+
# Looks up Attribute class by name.
|
|
407
|
+
#--
|
|
408
|
+
# @rbs name: Symbol
|
|
409
|
+
# @rbs return: Attribute
|
|
410
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
411
|
+
# Looks up Attribute class by type value.
|
|
412
|
+
#--
|
|
413
|
+
# @rbs type: Integer
|
|
414
|
+
# @rbs return: Attribute
|
|
415
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
416
|
+
end
|
|
417
|
+
end
|
|
418
|
+
class SvcExport < ::Nl::Protocols::Genl::AttributeSet
|
|
419
|
+
# Abstract class
|
|
420
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
421
|
+
end
|
|
422
|
+
class Seqno < Attribute
|
|
423
|
+
TYPE = 1
|
|
424
|
+
NAME = :"seqno"
|
|
425
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
426
|
+
end
|
|
427
|
+
class Client < Attribute
|
|
428
|
+
TYPE = 2
|
|
429
|
+
NAME = :"client"
|
|
430
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
431
|
+
end
|
|
432
|
+
class Path < Attribute
|
|
433
|
+
TYPE = 3
|
|
434
|
+
NAME = :"path"
|
|
435
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
436
|
+
end
|
|
437
|
+
class Negative < Attribute
|
|
438
|
+
TYPE = 4
|
|
439
|
+
NAME = :"negative"
|
|
440
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
|
|
441
|
+
end
|
|
442
|
+
class Expiry < Attribute
|
|
443
|
+
TYPE = 5
|
|
444
|
+
NAME = :"expiry"
|
|
445
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
446
|
+
end
|
|
447
|
+
class AnonUid < Attribute
|
|
448
|
+
TYPE = 6
|
|
449
|
+
NAME = :"anon_uid"
|
|
450
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
451
|
+
end
|
|
452
|
+
class AnonGid < Attribute
|
|
453
|
+
TYPE = 7
|
|
454
|
+
NAME = :"anon_gid"
|
|
455
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
456
|
+
end
|
|
457
|
+
class Fslocations < Attribute
|
|
458
|
+
TYPE = 8
|
|
459
|
+
NAME = :"fslocations"
|
|
460
|
+
end
|
|
461
|
+
class Uuid < Attribute
|
|
462
|
+
TYPE = 9
|
|
463
|
+
NAME = :"uuid"
|
|
464
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
|
|
465
|
+
end
|
|
466
|
+
class Secinfo < Attribute
|
|
467
|
+
TYPE = 10
|
|
468
|
+
NAME = :"secinfo"
|
|
469
|
+
end
|
|
470
|
+
class Xprtsec < Attribute
|
|
471
|
+
TYPE = 11
|
|
472
|
+
NAME = :"xprtsec"
|
|
473
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
474
|
+
end
|
|
475
|
+
class Flags < Attribute
|
|
476
|
+
TYPE = 12
|
|
477
|
+
NAME = :"flags"
|
|
478
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
479
|
+
end
|
|
480
|
+
class Fsid < Attribute
|
|
481
|
+
TYPE = 13
|
|
482
|
+
NAME = :"fsid"
|
|
483
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
|
|
484
|
+
end
|
|
485
|
+
# :nodoc:
|
|
486
|
+
BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"client" => Client, :"path" => Path, :"negative" => Negative, :"expiry" => Expiry, :"anon_uid" => AnonUid, :"anon_gid" => AnonGid, :"fslocations" => Fslocations, :"uuid" => Uuid, :"secinfo" => Secinfo, :"xprtsec" => Xprtsec, :"flags" => Flags, :"fsid" => Fsid}) #: Hash[::Symbol, Attribute]
|
|
487
|
+
# :nodoc:
|
|
488
|
+
BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Client, 3 => Path, 4 => Negative, 5 => Expiry, 6 => AnonUid, 7 => AnonGid, 8 => Fslocations, 9 => Uuid, 10 => Secinfo, 11 => Xprtsec, 12 => Flags, 13 => Fsid}) #: Hash[::Integer, Attribute]
|
|
489
|
+
class << self
|
|
490
|
+
# Looks up Attribute class by name.
|
|
491
|
+
#--
|
|
492
|
+
# @rbs name: Symbol
|
|
493
|
+
# @rbs return: Attribute
|
|
494
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
495
|
+
# Looks up Attribute class by type value.
|
|
496
|
+
#--
|
|
497
|
+
# @rbs type: Integer
|
|
498
|
+
# @rbs return: Attribute
|
|
499
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
500
|
+
end
|
|
501
|
+
end
|
|
502
|
+
class SvcExportReqs < ::Nl::Protocols::Genl::AttributeSet
|
|
503
|
+
# Abstract class
|
|
504
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
505
|
+
end
|
|
506
|
+
class Requests < Attribute
|
|
507
|
+
TYPE = 1
|
|
508
|
+
NAME = :"requests"
|
|
509
|
+
end
|
|
510
|
+
# :nodoc:
|
|
511
|
+
BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
|
|
512
|
+
# :nodoc:
|
|
513
|
+
BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
|
|
514
|
+
class << self
|
|
515
|
+
# Looks up Attribute class by name.
|
|
516
|
+
#--
|
|
517
|
+
# @rbs name: Symbol
|
|
518
|
+
# @rbs return: Attribute
|
|
519
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
520
|
+
# Looks up Attribute class by type value.
|
|
521
|
+
#--
|
|
522
|
+
# @rbs type: Integer
|
|
523
|
+
# @rbs return: Attribute
|
|
524
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
525
|
+
end
|
|
526
|
+
end
|
|
527
|
+
class Expkey < ::Nl::Protocols::Genl::AttributeSet
|
|
528
|
+
# Abstract class
|
|
529
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
530
|
+
end
|
|
531
|
+
class Seqno < Attribute
|
|
532
|
+
TYPE = 1
|
|
533
|
+
NAME = :"seqno"
|
|
534
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
535
|
+
end
|
|
536
|
+
class Client < Attribute
|
|
537
|
+
TYPE = 2
|
|
538
|
+
NAME = :"client"
|
|
539
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
540
|
+
end
|
|
541
|
+
class Fsidtype < Attribute
|
|
542
|
+
TYPE = 3
|
|
543
|
+
NAME = :"fsidtype"
|
|
544
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
545
|
+
end
|
|
546
|
+
class Fsid < Attribute
|
|
547
|
+
TYPE = 4
|
|
548
|
+
NAME = :"fsid"
|
|
549
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
|
|
550
|
+
end
|
|
551
|
+
class Negative < Attribute
|
|
552
|
+
TYPE = 5
|
|
553
|
+
NAME = :"negative"
|
|
554
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
|
|
555
|
+
end
|
|
556
|
+
class Expiry < Attribute
|
|
557
|
+
TYPE = 6
|
|
558
|
+
NAME = :"expiry"
|
|
559
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
560
|
+
end
|
|
561
|
+
class Path < Attribute
|
|
562
|
+
TYPE = 7
|
|
563
|
+
NAME = :"path"
|
|
564
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
565
|
+
end
|
|
566
|
+
# :nodoc:
|
|
567
|
+
BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"client" => Client, :"fsidtype" => Fsidtype, :"fsid" => Fsid, :"negative" => Negative, :"expiry" => Expiry, :"path" => Path}) #: Hash[::Symbol, Attribute]
|
|
568
|
+
# :nodoc:
|
|
569
|
+
BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Client, 3 => Fsidtype, 4 => Fsid, 5 => Negative, 6 => Expiry, 7 => Path}) #: Hash[::Integer, Attribute]
|
|
570
|
+
class << self
|
|
571
|
+
# Looks up Attribute class by name.
|
|
572
|
+
#--
|
|
573
|
+
# @rbs name: Symbol
|
|
574
|
+
# @rbs return: Attribute
|
|
575
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
576
|
+
# Looks up Attribute class by type value.
|
|
577
|
+
#--
|
|
578
|
+
# @rbs type: Integer
|
|
579
|
+
# @rbs return: Attribute
|
|
580
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
581
|
+
end
|
|
582
|
+
end
|
|
583
|
+
class ExpkeyReqs < ::Nl::Protocols::Genl::AttributeSet
|
|
584
|
+
# Abstract class
|
|
585
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
586
|
+
end
|
|
587
|
+
class Requests < Attribute
|
|
588
|
+
TYPE = 1
|
|
589
|
+
NAME = :"requests"
|
|
590
|
+
end
|
|
591
|
+
# :nodoc:
|
|
592
|
+
BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
|
|
593
|
+
# :nodoc:
|
|
594
|
+
BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
|
|
595
|
+
class << self
|
|
596
|
+
# Looks up Attribute class by name.
|
|
597
|
+
#--
|
|
598
|
+
# @rbs name: Symbol
|
|
599
|
+
# @rbs return: Attribute
|
|
600
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
601
|
+
# Looks up Attribute class by type value.
|
|
602
|
+
#--
|
|
603
|
+
# @rbs type: Integer
|
|
604
|
+
# @rbs return: Attribute
|
|
605
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
606
|
+
end
|
|
607
|
+
end
|
|
608
|
+
class CacheFlush < ::Nl::Protocols::Genl::AttributeSet
|
|
609
|
+
# Abstract class
|
|
610
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
611
|
+
end
|
|
612
|
+
class Mask < Attribute
|
|
613
|
+
TYPE = 1
|
|
614
|
+
NAME = :"mask"
|
|
615
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
616
|
+
end
|
|
617
|
+
# :nodoc:
|
|
618
|
+
BY_NAME = Ractor.make_shareable({:"mask" => Mask}) #: Hash[::Symbol, Attribute]
|
|
619
|
+
# :nodoc:
|
|
620
|
+
BY_TYPE = Ractor.make_shareable({1 => Mask}) #: Hash[::Integer, Attribute]
|
|
621
|
+
class << self
|
|
622
|
+
# Looks up Attribute class by name.
|
|
623
|
+
#--
|
|
624
|
+
# @rbs name: Symbol
|
|
625
|
+
# @rbs return: Attribute
|
|
626
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
627
|
+
# Looks up Attribute class by type value.
|
|
628
|
+
#--
|
|
629
|
+
# @rbs type: Integer
|
|
630
|
+
# @rbs return: Attribute
|
|
631
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
632
|
+
end
|
|
633
|
+
end
|
|
634
|
+
class UnlockIp < ::Nl::Protocols::Genl::AttributeSet
|
|
635
|
+
# Abstract class
|
|
636
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
637
|
+
end
|
|
638
|
+
class Address < Attribute
|
|
639
|
+
TYPE = 1
|
|
640
|
+
NAME = :"address"
|
|
641
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
|
|
642
|
+
end
|
|
643
|
+
# :nodoc:
|
|
644
|
+
BY_NAME = Ractor.make_shareable({:"address" => Address}) #: Hash[::Symbol, Attribute]
|
|
645
|
+
# :nodoc:
|
|
646
|
+
BY_TYPE = Ractor.make_shareable({1 => Address}) #: Hash[::Integer, Attribute]
|
|
647
|
+
class << self
|
|
648
|
+
# Looks up Attribute class by name.
|
|
649
|
+
#--
|
|
650
|
+
# @rbs name: Symbol
|
|
651
|
+
# @rbs return: Attribute
|
|
652
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
653
|
+
# Looks up Attribute class by type value.
|
|
654
|
+
#--
|
|
655
|
+
# @rbs type: Integer
|
|
656
|
+
# @rbs return: Attribute
|
|
657
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
658
|
+
end
|
|
659
|
+
end
|
|
660
|
+
class UnlockFilesystem < ::Nl::Protocols::Genl::AttributeSet
|
|
661
|
+
# Abstract class
|
|
662
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
663
|
+
end
|
|
664
|
+
class Path < Attribute
|
|
665
|
+
TYPE = 1
|
|
666
|
+
NAME = :"path"
|
|
667
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
668
|
+
end
|
|
669
|
+
# :nodoc:
|
|
670
|
+
BY_NAME = Ractor.make_shareable({:"path" => Path}) #: Hash[::Symbol, Attribute]
|
|
671
|
+
# :nodoc:
|
|
672
|
+
BY_TYPE = Ractor.make_shareable({1 => Path}) #: Hash[::Integer, Attribute]
|
|
673
|
+
class << self
|
|
674
|
+
# Looks up Attribute class by name.
|
|
675
|
+
#--
|
|
676
|
+
# @rbs name: Symbol
|
|
677
|
+
# @rbs return: Attribute
|
|
678
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
679
|
+
# Looks up Attribute class by type value.
|
|
680
|
+
#--
|
|
681
|
+
# @rbs type: Integer
|
|
682
|
+
# @rbs return: Attribute
|
|
683
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
684
|
+
end
|
|
685
|
+
end
|
|
686
|
+
class UnlockExport < ::Nl::Protocols::Genl::AttributeSet
|
|
687
|
+
# Abstract class
|
|
688
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
689
|
+
end
|
|
690
|
+
class Path < Attribute
|
|
691
|
+
TYPE = 1
|
|
692
|
+
NAME = :"path"
|
|
693
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
694
|
+
end
|
|
695
|
+
# :nodoc:
|
|
696
|
+
BY_NAME = Ractor.make_shareable({:"path" => Path}) #: Hash[::Symbol, Attribute]
|
|
697
|
+
# :nodoc:
|
|
698
|
+
BY_TYPE = Ractor.make_shareable({1 => Path}) #: Hash[::Integer, Attribute]
|
|
699
|
+
class << self
|
|
700
|
+
# Looks up Attribute class by name.
|
|
701
|
+
#--
|
|
702
|
+
# @rbs name: Symbol
|
|
703
|
+
# @rbs return: Attribute
|
|
704
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
705
|
+
# Looks up Attribute class by type value.
|
|
706
|
+
#--
|
|
707
|
+
# @rbs type: Integer
|
|
708
|
+
# @rbs return: Attribute
|
|
709
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
710
|
+
end
|
|
711
|
+
end
|
|
295
712
|
ServerProto::Version::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Version)
|
|
296
713
|
ServerSock::Addr::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Sock)
|
|
714
|
+
Fslocations::Location::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Fslocation)
|
|
715
|
+
SvcExport::Fslocations::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Fslocations)
|
|
716
|
+
SvcExport::Secinfo::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(AuthFlavor)
|
|
717
|
+
SvcExportReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SvcExport)
|
|
718
|
+
ExpkeyReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Expkey)
|
|
297
719
|
end
|
|
298
720
|
module Messages
|
|
299
721
|
# dump pending nfsd rpc
|
|
@@ -355,12 +777,12 @@ class Nfsd < ::Nl::Family
|
|
|
355
777
|
# @rbs return: ::Integer
|
|
356
778
|
def compound_ops; attributes[:"compound_ops"]&.value; end
|
|
357
779
|
end
|
|
358
|
-
# set the number of running threads
|
|
780
|
+
# set the maximum number of running threads
|
|
359
781
|
class DoThreadsSetRequest < ::Nl::Protocols::Genl::Message
|
|
360
782
|
TYPE = 2
|
|
361
783
|
FIXED_HEADER = nil
|
|
362
784
|
ATTRIBUTE_SET = AttributeSets::Server
|
|
363
|
-
ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope])
|
|
785
|
+
ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope min_threads fh_key])
|
|
364
786
|
# Gets the value of `threads` attribute in the message.
|
|
365
787
|
#--
|
|
366
788
|
# @rbs return: ::Integer
|
|
@@ -377,13 +799,21 @@ class Nfsd < ::Nl::Family
|
|
|
377
799
|
#--
|
|
378
800
|
# @rbs return: ::String
|
|
379
801
|
def scope; attributes[:"scope"]&.value; end
|
|
802
|
+
# Gets the value of `min-threads` attribute in the message.
|
|
803
|
+
#--
|
|
804
|
+
# @rbs return: ::Integer
|
|
805
|
+
def min_threads; attributes[:"min_threads"]&.value; end
|
|
806
|
+
# Gets the value of `fh-key` attribute in the message.
|
|
807
|
+
#--
|
|
808
|
+
# @rbs return: untyped
|
|
809
|
+
def fh_key; attributes[:"fh_key"]&.value; end
|
|
380
810
|
end
|
|
381
|
-
# get the number of running threads
|
|
811
|
+
# get the maximum number of running threads
|
|
382
812
|
class DoThreadsGetReply < ::Nl::Protocols::Genl::Message
|
|
383
813
|
TYPE = 3
|
|
384
814
|
FIXED_HEADER = nil
|
|
385
815
|
ATTRIBUTE_SET = AttributeSets::Server
|
|
386
|
-
ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope])
|
|
816
|
+
ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope min_threads])
|
|
387
817
|
# Gets the value of `threads` attribute in the message.
|
|
388
818
|
#--
|
|
389
819
|
# @rbs return: ::Integer
|
|
@@ -400,6 +830,10 @@ class Nfsd < ::Nl::Family
|
|
|
400
830
|
#--
|
|
401
831
|
# @rbs return: ::String
|
|
402
832
|
def scope; attributes[:"scope"]&.value; end
|
|
833
|
+
# Gets the value of `min-threads` attribute in the message.
|
|
834
|
+
#--
|
|
835
|
+
# @rbs return: ::Integer
|
|
836
|
+
def min_threads; attributes[:"min_threads"]&.value; end
|
|
403
837
|
end
|
|
404
838
|
# set nfs enabled versions
|
|
405
839
|
class DoVersionSetRequest < ::Nl::Protocols::Genl::Message
|
|
@@ -471,10 +905,98 @@ class Nfsd < ::Nl::Family
|
|
|
471
905
|
# @rbs return: ::Integer
|
|
472
906
|
def npools; attributes[:"npools"]&.value; end
|
|
473
907
|
end
|
|
908
|
+
# Dump all pending svc_export requests
|
|
909
|
+
class DumpSvcExportGetReqsReply < ::Nl::Protocols::Genl::Message
|
|
910
|
+
TYPE = 11
|
|
911
|
+
FIXED_HEADER = nil
|
|
912
|
+
ATTRIBUTE_SET = AttributeSets::SvcExportReqs
|
|
913
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
914
|
+
# Gets the value of `requests` attribute in the message.
|
|
915
|
+
#--
|
|
916
|
+
# @rbs return: AttributeSets::SvcExport
|
|
917
|
+
def requests; attributes[:"requests"]&.value; end
|
|
918
|
+
end
|
|
919
|
+
# Respond to one or more svc_export requests
|
|
920
|
+
class DoSvcExportSetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
921
|
+
TYPE = 12
|
|
922
|
+
FIXED_HEADER = nil
|
|
923
|
+
ATTRIBUTE_SET = AttributeSets::SvcExportReqs
|
|
924
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
925
|
+
# Gets the value of `requests` attribute in the message.
|
|
926
|
+
#--
|
|
927
|
+
# @rbs return: AttributeSets::SvcExport
|
|
928
|
+
def requests; attributes[:"requests"]&.value; end
|
|
929
|
+
end
|
|
930
|
+
# Dump all pending expkey requests
|
|
931
|
+
class DumpExpkeyGetReqsReply < ::Nl::Protocols::Genl::Message
|
|
932
|
+
TYPE = 13
|
|
933
|
+
FIXED_HEADER = nil
|
|
934
|
+
ATTRIBUTE_SET = AttributeSets::ExpkeyReqs
|
|
935
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
936
|
+
# Gets the value of `requests` attribute in the message.
|
|
937
|
+
#--
|
|
938
|
+
# @rbs return: AttributeSets::Expkey
|
|
939
|
+
def requests; attributes[:"requests"]&.value; end
|
|
940
|
+
end
|
|
941
|
+
# Respond to one or more expkey requests
|
|
942
|
+
class DoExpkeySetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
943
|
+
TYPE = 14
|
|
944
|
+
FIXED_HEADER = nil
|
|
945
|
+
ATTRIBUTE_SET = AttributeSets::ExpkeyReqs
|
|
946
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
947
|
+
# Gets the value of `requests` attribute in the message.
|
|
948
|
+
#--
|
|
949
|
+
# @rbs return: AttributeSets::Expkey
|
|
950
|
+
def requests; attributes[:"requests"]&.value; end
|
|
951
|
+
end
|
|
952
|
+
# Flush nfsd caches (svc_export and/or expkey)
|
|
953
|
+
class DoCacheFlushRequest < ::Nl::Protocols::Genl::Message
|
|
954
|
+
TYPE = 15
|
|
955
|
+
FIXED_HEADER = nil
|
|
956
|
+
ATTRIBUTE_SET = AttributeSets::CacheFlush
|
|
957
|
+
ATTRIBUTES = Ractor.make_shareable(%i[mask])
|
|
958
|
+
# Gets the value of `mask` attribute in the message.
|
|
959
|
+
#--
|
|
960
|
+
# @rbs return: ::Integer
|
|
961
|
+
def mask; attributes[:"mask"]&.value; end
|
|
962
|
+
end
|
|
963
|
+
# release NLM locks held by an IP address
|
|
964
|
+
class DoUnlockIpRequest < ::Nl::Protocols::Genl::Message
|
|
965
|
+
TYPE = 16
|
|
966
|
+
FIXED_HEADER = nil
|
|
967
|
+
ATTRIBUTE_SET = AttributeSets::UnlockIp
|
|
968
|
+
ATTRIBUTES = Ractor.make_shareable(%i[address])
|
|
969
|
+
# Gets the value of `address` attribute in the message.
|
|
970
|
+
#--
|
|
971
|
+
# @rbs return: untyped
|
|
972
|
+
def address; attributes[:"address"]&.value; end
|
|
973
|
+
end
|
|
974
|
+
# revoke NFS state under a filesystem path
|
|
975
|
+
class DoUnlockFilesystemRequest < ::Nl::Protocols::Genl::Message
|
|
976
|
+
TYPE = 17
|
|
977
|
+
FIXED_HEADER = nil
|
|
978
|
+
ATTRIBUTE_SET = AttributeSets::UnlockFilesystem
|
|
979
|
+
ATTRIBUTES = Ractor.make_shareable(%i[path])
|
|
980
|
+
# Gets the value of `path` attribute in the message.
|
|
981
|
+
#--
|
|
982
|
+
# @rbs return: ::String
|
|
983
|
+
def path; attributes[:"path"]&.value; end
|
|
984
|
+
end
|
|
985
|
+
# Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
|
|
986
|
+
class DoUnlockExportRequest < ::Nl::Protocols::Genl::Message
|
|
987
|
+
TYPE = 18
|
|
988
|
+
FIXED_HEADER = nil
|
|
989
|
+
ATTRIBUTE_SET = AttributeSets::UnlockExport
|
|
990
|
+
ATTRIBUTES = Ractor.make_shareable(%i[path])
|
|
991
|
+
# Gets the value of `path` attribute in the message.
|
|
992
|
+
#--
|
|
993
|
+
# @rbs return: ::String
|
|
994
|
+
def path; attributes[:"path"]&.value; end
|
|
995
|
+
end
|
|
474
996
|
end
|
|
475
|
-
# set the number of running threads
|
|
997
|
+
# set the maximum number of running threads
|
|
476
998
|
#--
|
|
477
|
-
# @rbs (?threads: ::Integer, ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String) -> void
|
|
999
|
+
# @rbs (?threads: ::Integer, ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String, ?min_threads: ::Integer, ?fh_key: untyped) -> void
|
|
478
1000
|
def do_threads_set(**args)
|
|
479
1001
|
exchange_message(:"do", Messages::DoThreadsSetRequest, nil, args)
|
|
480
1002
|
end
|
|
@@ -496,5 +1018,41 @@ class Nfsd < ::Nl::Family
|
|
|
496
1018
|
def do_pool_mode_set(**args)
|
|
497
1019
|
exchange_message(:"do", Messages::DoPoolModeSetRequest, nil, args)
|
|
498
1020
|
end
|
|
1021
|
+
# Respond to one or more svc_export requests
|
|
1022
|
+
#--
|
|
1023
|
+
# @rbs (?requests: AttributeSets::SvcExport) -> void
|
|
1024
|
+
def do_svc_export_set_reqs(**args)
|
|
1025
|
+
exchange_message(:"do", Messages::DoSvcExportSetReqsRequest, nil, args)
|
|
1026
|
+
end
|
|
1027
|
+
# Respond to one or more expkey requests
|
|
1028
|
+
#--
|
|
1029
|
+
# @rbs (?requests: AttributeSets::Expkey) -> void
|
|
1030
|
+
def do_expkey_set_reqs(**args)
|
|
1031
|
+
exchange_message(:"do", Messages::DoExpkeySetReqsRequest, nil, args)
|
|
1032
|
+
end
|
|
1033
|
+
# Flush nfsd caches (svc_export and/or expkey)
|
|
1034
|
+
#--
|
|
1035
|
+
# @rbs (?mask: ::Integer) -> void
|
|
1036
|
+
def do_cache_flush(**args)
|
|
1037
|
+
exchange_message(:"do", Messages::DoCacheFlushRequest, nil, args)
|
|
1038
|
+
end
|
|
1039
|
+
# release NLM locks held by an IP address
|
|
1040
|
+
#--
|
|
1041
|
+
# @rbs (?address: untyped) -> void
|
|
1042
|
+
def do_unlock_ip(**args)
|
|
1043
|
+
exchange_message(:"do", Messages::DoUnlockIpRequest, nil, args)
|
|
1044
|
+
end
|
|
1045
|
+
# revoke NFS state under a filesystem path
|
|
1046
|
+
#--
|
|
1047
|
+
# @rbs (?path: ::String) -> void
|
|
1048
|
+
def do_unlock_filesystem(**args)
|
|
1049
|
+
exchange_message(:"do", Messages::DoUnlockFilesystemRequest, nil, args)
|
|
1050
|
+
end
|
|
1051
|
+
# Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
|
|
1052
|
+
#--
|
|
1053
|
+
# @rbs (?path: ::String) -> void
|
|
1054
|
+
def do_unlock_export(**args)
|
|
1055
|
+
exchange_message(:"do", Messages::DoUnlockExportRequest, nil, args)
|
|
1056
|
+
end
|
|
499
1057
|
end
|
|
500
1058
|
end; end
|