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.
@@ -81,10 +81,15 @@ class Dpll < ::Nl::Family
81
81
  NAME = :"phase_offset_avg_factor"
82
82
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
83
83
  end
84
+ class FrequencyMonitor < Attribute
85
+ TYPE = 14
86
+ NAME = :"frequency_monitor"
87
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
88
+ end
84
89
  # :nodoc:
85
- BY_NAME = Ractor.make_shareable({:"id" => Id, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"mode" => Mode, :"mode_supported" => ModeSupported, :"lock_status" => LockStatus, :"temp" => Temp, :"type" => Type, :"lock_status_error" => LockStatusError, :"clock_quality_level" => ClockQualityLevel, :"phase_offset_monitor" => PhaseOffsetMonitor, :"phase_offset_avg_factor" => PhaseOffsetAvgFactor}) #: Hash[::Symbol, Attribute]
90
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"mode" => Mode, :"mode_supported" => ModeSupported, :"lock_status" => LockStatus, :"temp" => Temp, :"type" => Type, :"lock_status_error" => LockStatusError, :"clock_quality_level" => ClockQualityLevel, :"phase_offset_monitor" => PhaseOffsetMonitor, :"phase_offset_avg_factor" => PhaseOffsetAvgFactor, :"frequency_monitor" => FrequencyMonitor}) #: Hash[::Symbol, Attribute]
86
91
  # :nodoc:
87
- BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ModuleName, 3 => Pad, 4 => ClockId, 5 => Mode, 6 => ModeSupported, 7 => LockStatus, 8 => Temp, 9 => Type, 10 => LockStatusError, 11 => ClockQualityLevel, 12 => PhaseOffsetMonitor, 13 => PhaseOffsetAvgFactor}) #: Hash[::Integer, Attribute]
92
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ModuleName, 3 => Pad, 4 => ClockId, 5 => Mode, 6 => ModeSupported, 7 => LockStatus, 8 => Temp, 9 => Type, 10 => LockStatusError, 11 => ClockQualityLevel, 12 => PhaseOffsetMonitor, 13 => PhaseOffsetAvgFactor, 14 => FrequencyMonitor}) #: Hash[::Integer, Attribute]
88
93
  class << self
89
94
  # Looks up Attribute class by name.
90
95
  #--
@@ -242,10 +247,25 @@ class Dpll < ::Nl::Family
242
247
  NAME = :"phase_adjust_gran"
243
248
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
244
249
  end
250
+ class FractionalFrequencyOffsetPpt < Attribute
251
+ TYPE = 30
252
+ NAME = :"fractional_frequency_offset_ppt"
253
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
254
+ end
255
+ class MeasuredFrequency < Attribute
256
+ TYPE = 31
257
+ NAME = :"measured_frequency"
258
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
259
+ end
260
+ class Operstate < Attribute
261
+ TYPE = 32
262
+ NAME = :"operstate"
263
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
264
+ end
245
265
  # :nodoc:
246
- BY_NAME = Ractor.make_shareable({:"id" => Id, :"parent_id" => ParentId, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"board_label" => BoardLabel, :"panel_label" => PanelLabel, :"package_label" => PackageLabel, :"type" => Type, :"direction" => Direction, :"frequency" => Frequency, :"frequency_supported" => FrequencySupported, :"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax, :"prio" => Prio, :"state" => State, :"capabilities" => Capabilities, :"parent_device" => ParentDevice, :"parent_pin" => ParentPin, :"phase_adjust_min" => PhaseAdjustMin, :"phase_adjust_max" => PhaseAdjustMax, :"phase_adjust" => PhaseAdjust, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"esync_frequency" => EsyncFrequency, :"esync_frequency_supported" => EsyncFrequencySupported, :"esync_pulse" => EsyncPulse, :"reference_sync" => ReferenceSync, :"phase_adjust_gran" => PhaseAdjustGran}) #: Hash[::Symbol, Attribute]
266
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"parent_id" => ParentId, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"board_label" => BoardLabel, :"panel_label" => PanelLabel, :"package_label" => PackageLabel, :"type" => Type, :"direction" => Direction, :"frequency" => Frequency, :"frequency_supported" => FrequencySupported, :"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax, :"prio" => Prio, :"state" => State, :"capabilities" => Capabilities, :"parent_device" => ParentDevice, :"parent_pin" => ParentPin, :"phase_adjust_min" => PhaseAdjustMin, :"phase_adjust_max" => PhaseAdjustMax, :"phase_adjust" => PhaseAdjust, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"esync_frequency" => EsyncFrequency, :"esync_frequency_supported" => EsyncFrequencySupported, :"esync_pulse" => EsyncPulse, :"reference_sync" => ReferenceSync, :"phase_adjust_gran" => PhaseAdjustGran, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt, :"measured_frequency" => MeasuredFrequency, :"operstate" => Operstate}) #: Hash[::Symbol, Attribute]
247
267
  # :nodoc:
248
- BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ParentId, 3 => ModuleName, 4 => Pad, 5 => ClockId, 6 => BoardLabel, 7 => PanelLabel, 8 => PackageLabel, 9 => Type, 10 => Direction, 11 => Frequency, 12 => FrequencySupported, 13 => FrequencyMin, 14 => FrequencyMax, 15 => Prio, 16 => State, 17 => Capabilities, 18 => ParentDevice, 19 => ParentPin, 20 => PhaseAdjustMin, 21 => PhaseAdjustMax, 22 => PhaseAdjust, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 25 => EsyncFrequency, 26 => EsyncFrequencySupported, 27 => EsyncPulse, 28 => ReferenceSync, 29 => PhaseAdjustGran}) #: Hash[::Integer, Attribute]
268
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ParentId, 3 => ModuleName, 4 => Pad, 5 => ClockId, 6 => BoardLabel, 7 => PanelLabel, 8 => PackageLabel, 9 => Type, 10 => Direction, 11 => Frequency, 12 => FrequencySupported, 13 => FrequencyMin, 14 => FrequencyMax, 15 => Prio, 16 => State, 17 => Capabilities, 18 => ParentDevice, 19 => ParentPin, 20 => PhaseAdjustMin, 21 => PhaseAdjustMax, 22 => PhaseAdjust, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 25 => EsyncFrequency, 26 => EsyncFrequencySupported, 27 => EsyncPulse, 28 => ReferenceSync, 29 => PhaseAdjustGran, 30 => FractionalFrequencyOffsetPpt, 31 => MeasuredFrequency, 32 => Operstate}) #: Hash[::Integer, Attribute]
249
269
  class << self
250
270
  # Looks up Attribute class by name.
251
271
  #--
@@ -283,15 +303,30 @@ class Dpll < ::Nl::Family
283
303
  NAME = :"state"
284
304
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
285
305
  end
306
+ class Operstate < Attribute
307
+ TYPE = 32
308
+ NAME = :"operstate"
309
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
310
+ end
286
311
  class PhaseOffset < Attribute
287
312
  TYPE = 23
288
313
  NAME = :"phase_offset"
289
314
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
290
315
  end
316
+ class FractionalFrequencyOffset < Attribute
317
+ TYPE = 24
318
+ NAME = :"fractional_frequency_offset"
319
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
320
+ end
321
+ class FractionalFrequencyOffsetPpt < Attribute
322
+ TYPE = 30
323
+ NAME = :"fractional_frequency_offset_ppt"
324
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
325
+ end
291
326
  # :nodoc:
292
- BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"direction" => Direction, :"prio" => Prio, :"state" => State, :"phase_offset" => PhaseOffset}) #: Hash[::Symbol, Attribute]
327
+ BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"direction" => Direction, :"prio" => Prio, :"state" => State, :"operstate" => Operstate, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt}) #: Hash[::Symbol, Attribute]
293
328
  # :nodoc:
294
- BY_TYPE = Ractor.make_shareable({2 => ParentId, 10 => Direction, 15 => Prio, 16 => State, 23 => PhaseOffset}) #: Hash[::Integer, Attribute]
329
+ BY_TYPE = Ractor.make_shareable({2 => ParentId, 10 => Direction, 15 => Prio, 16 => State, 32 => Operstate, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 30 => FractionalFrequencyOffsetPpt}) #: Hash[::Integer, Attribute]
295
330
  class << self
296
331
  # Looks up Attribute class by name.
297
332
  #--
@@ -451,7 +486,7 @@ class Dpll < ::Nl::Family
451
486
  TYPE = 2
452
487
  FIXED_HEADER = nil
453
488
  ATTRIBUTE_SET = AttributeSets::Dpll
454
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor])
489
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
455
490
  # Gets the value of `id` attribute in the message.
456
491
  #--
457
492
  # @rbs return: ::Integer
@@ -496,13 +531,17 @@ class Dpll < ::Nl::Family
496
531
  #--
497
532
  # @rbs return: ::Integer
498
533
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
534
+ # Gets the value of `frequency-monitor` attribute in the message.
535
+ #--
536
+ # @rbs return: ::Integer
537
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
499
538
  end
500
539
  # Get list of DPLL devices (dump) or attributes of a single dpll device
501
540
  class DumpDeviceGetReply < ::Nl::Protocols::Genl::Message
502
541
  TYPE = 2
503
542
  FIXED_HEADER = nil
504
543
  ATTRIBUTE_SET = AttributeSets::Dpll
505
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor])
544
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
506
545
  # Gets the value of `id` attribute in the message.
507
546
  #--
508
547
  # @rbs return: ::Integer
@@ -547,17 +586,25 @@ class Dpll < ::Nl::Family
547
586
  #--
548
587
  # @rbs return: ::Integer
549
588
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
589
+ # Gets the value of `frequency-monitor` attribute in the message.
590
+ #--
591
+ # @rbs return: ::Integer
592
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
550
593
  end
551
594
  # Set attributes for a DPLL device
552
595
  class DoDeviceSetRequest < ::Nl::Protocols::Genl::Message
553
596
  TYPE = 3
554
597
  FIXED_HEADER = nil
555
598
  ATTRIBUTE_SET = AttributeSets::Dpll
556
- ATTRIBUTES = Ractor.make_shareable(%i[id phase_offset_monitor phase_offset_avg_factor])
599
+ ATTRIBUTES = Ractor.make_shareable(%i[id mode phase_offset_monitor phase_offset_avg_factor frequency_monitor])
557
600
  # Gets the value of `id` attribute in the message.
558
601
  #--
559
602
  # @rbs return: ::Integer
560
603
  def id; attributes[:"id"]&.value; end
604
+ # Gets the value of `mode` attribute in the message.
605
+ #--
606
+ # @rbs return: ::Integer
607
+ def mode; attributes[:"mode"]&.value; end
561
608
  # Gets the value of `phase-offset-monitor` attribute in the message.
562
609
  #--
563
610
  # @rbs return: ::Integer
@@ -566,6 +613,10 @@ class Dpll < ::Nl::Family
566
613
  #--
567
614
  # @rbs return: ::Integer
568
615
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
616
+ # Gets the value of `frequency-monitor` attribute in the message.
617
+ #--
618
+ # @rbs return: ::Integer
619
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
569
620
  end
570
621
  # Get id of a pin that matches given attributes
571
622
  class DoPinIdGetRequest < ::Nl::Protocols::Genl::Message
@@ -637,7 +688,7 @@ class Dpll < ::Nl::Family
637
688
  TYPE = 8
638
689
  FIXED_HEADER = nil
639
690
  ATTRIBUTE_SET = AttributeSets::Pin
640
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran])
691
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
641
692
  # Gets the value of `id` attribute in the message.
642
693
  #--
643
694
  # @rbs return: ::Integer
@@ -722,6 +773,14 @@ class Dpll < ::Nl::Family
722
773
  #--
723
774
  # @rbs return: ::Integer
724
775
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
776
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
777
+ #--
778
+ # @rbs return: ::Integer
779
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
780
+ # Gets the value of `measured-frequency` attribute in the message.
781
+ #--
782
+ # @rbs return: ::Integer
783
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
725
784
  end
726
785
  # Get list of pins and its attributes.
727
786
  #
@@ -751,7 +810,7 @@ class Dpll < ::Nl::Family
751
810
  TYPE = 8
752
811
  FIXED_HEADER = nil
753
812
  ATTRIBUTE_SET = AttributeSets::Pin
754
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran])
813
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
755
814
  # Gets the value of `id` attribute in the message.
756
815
  #--
757
816
  # @rbs return: ::Integer
@@ -836,6 +895,14 @@ class Dpll < ::Nl::Family
836
895
  #--
837
896
  # @rbs return: ::Integer
838
897
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
898
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
899
+ #--
900
+ # @rbs return: ::Integer
901
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
902
+ # Gets the value of `measured-frequency` attribute in the message.
903
+ #--
904
+ # @rbs return: ::Integer
905
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
839
906
  end
840
907
  # Set attributes of a target pin
841
908
  class DoPinSetRequest < ::Nl::Protocols::Genl::Message
@@ -899,7 +966,7 @@ class Dpll < ::Nl::Family
899
966
  end
900
967
  # Set attributes for a DPLL device
901
968
  #--
902
- # @rbs (?id: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer) -> void
969
+ # @rbs (?id: ::Integer, ?mode: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer, ?frequency_monitor: ::Integer) -> void
903
970
  def do_device_set(**args)
904
971
  exchange_message(:"do", Messages::DoDeviceSetRequest, nil, args)
905
972
  end
@@ -0,0 +1,222 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #--
3
+ # frozen_string_literal: true
4
+ # rbs_inline: enabled
5
+ # This code is generated by Ynl::Generator. DO NOT EDIT.
6
+ require 'nl'
7
+ module Nl; module Linux
8
+ # DRM RAS (Reliability, Availability, Serviceability) over Generic Netlink. Provides a standardized mechanism for DRM drivers to register "nodes" representing hardware/software components capable of reporting error counters. Userspace tools can query the list of nodes or individual error counters via the Generic Netlink interface.
9
+ class DrmRas < ::Nl::Family
10
+ NAME = "drm-ras"
11
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("drm-ras"))
12
+ module Structs
13
+ end
14
+ module AttributeSets
15
+ class NodeAttrs < ::Nl::Protocols::Genl::AttributeSet
16
+ # Abstract class
17
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
18
+ end
19
+ class NodeId < Attribute
20
+ TYPE = 1
21
+ NAME = :"node_id"
22
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
23
+ end
24
+ class DeviceName < Attribute
25
+ TYPE = 2
26
+ NAME = :"device_name"
27
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
28
+ end
29
+ class NodeName < Attribute
30
+ TYPE = 3
31
+ NAME = :"node_name"
32
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
33
+ end
34
+ class NodeType < Attribute
35
+ TYPE = 4
36
+ NAME = :"node_type"
37
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
38
+ end
39
+ # :nodoc:
40
+ BY_NAME = Ractor.make_shareable({:"node_id" => NodeId, :"device_name" => DeviceName, :"node_name" => NodeName, :"node_type" => NodeType}) #: Hash[::Symbol, Attribute]
41
+ # :nodoc:
42
+ BY_TYPE = Ractor.make_shareable({1 => NodeId, 2 => DeviceName, 3 => NodeName, 4 => NodeType}) #: Hash[::Integer, Attribute]
43
+ class << self
44
+ # Looks up Attribute class by name.
45
+ #--
46
+ # @rbs name: Symbol
47
+ # @rbs return: Attribute
48
+ def by_name(name); BY_NAME.fetch(name); end
49
+ # Looks up Attribute class by type value.
50
+ #--
51
+ # @rbs type: Integer
52
+ # @rbs return: Attribute
53
+ def by_type(type); BY_TYPE.fetch(type); end
54
+ end
55
+ end
56
+ class ErrorCounterAttrs < ::Nl::Protocols::Genl::AttributeSet
57
+ # Abstract class
58
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
59
+ end
60
+ class NodeId < Attribute
61
+ TYPE = 1
62
+ NAME = :"node_id"
63
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
64
+ end
65
+ class ErrorId < Attribute
66
+ TYPE = 2
67
+ NAME = :"error_id"
68
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
69
+ end
70
+ class ErrorName < Attribute
71
+ TYPE = 3
72
+ NAME = :"error_name"
73
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
74
+ end
75
+ class ErrorValue < Attribute
76
+ TYPE = 4
77
+ NAME = :"error_value"
78
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
79
+ end
80
+ # :nodoc:
81
+ BY_NAME = Ractor.make_shareable({:"node_id" => NodeId, :"error_id" => ErrorId, :"error_name" => ErrorName, :"error_value" => ErrorValue}) #: Hash[::Symbol, Attribute]
82
+ # :nodoc:
83
+ BY_TYPE = Ractor.make_shareable({1 => NodeId, 2 => ErrorId, 3 => ErrorName, 4 => ErrorValue}) #: Hash[::Integer, Attribute]
84
+ class << self
85
+ # Looks up Attribute class by name.
86
+ #--
87
+ # @rbs name: Symbol
88
+ # @rbs return: Attribute
89
+ def by_name(name); BY_NAME.fetch(name); end
90
+ # Looks up Attribute class by type value.
91
+ #--
92
+ # @rbs type: Integer
93
+ # @rbs return: Attribute
94
+ def by_type(type); BY_TYPE.fetch(type); end
95
+ end
96
+ end
97
+ end
98
+ module Messages
99
+ # Retrieve the full list of currently registered DRM RAS nodes. Each node includes its dynamically assigned ID, name, and type. **Important:** User space must call this operation first to obtain the node IDs. These IDs are required for all subsequent operations on nodes, such as querying error counters.
100
+ class DumpListNodesReply < ::Nl::Protocols::Genl::Message
101
+ TYPE = 1
102
+ FIXED_HEADER = nil
103
+ ATTRIBUTE_SET = AttributeSets::NodeAttrs
104
+ ATTRIBUTES = Ractor.make_shareable(%i[node_id device_name node_name node_type])
105
+ # Gets the value of `node-id` attribute in the message.
106
+ #--
107
+ # @rbs return: ::Integer
108
+ def node_id; attributes[:"node_id"]&.value; end
109
+ # Gets the value of `device-name` attribute in the message.
110
+ #--
111
+ # @rbs return: ::String
112
+ def device_name; attributes[:"device_name"]&.value; end
113
+ # Gets the value of `node-name` attribute in the message.
114
+ #--
115
+ # @rbs return: ::String
116
+ def node_name; attributes[:"node_name"]&.value; end
117
+ # Gets the value of `node-type` attribute in the message.
118
+ #--
119
+ # @rbs return: ::Integer
120
+ def node_type; attributes[:"node_type"]&.value; end
121
+ end
122
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
123
+ class DoGetErrorCounterRequest < ::Nl::Protocols::Genl::Message
124
+ TYPE = 2
125
+ FIXED_HEADER = nil
126
+ ATTRIBUTE_SET = AttributeSets::ErrorCounterAttrs
127
+ ATTRIBUTES = Ractor.make_shareable(%i[node_id error_id])
128
+ # Gets the value of `node-id` attribute in the message.
129
+ #--
130
+ # @rbs return: ::Integer
131
+ def node_id; attributes[:"node_id"]&.value; end
132
+ # Gets the value of `error-id` attribute in the message.
133
+ #--
134
+ # @rbs return: ::Integer
135
+ def error_id; attributes[:"error_id"]&.value; end
136
+ end
137
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
138
+ class DoGetErrorCounterReply < ::Nl::Protocols::Genl::Message
139
+ TYPE = 2
140
+ FIXED_HEADER = nil
141
+ ATTRIBUTE_SET = AttributeSets::ErrorCounterAttrs
142
+ ATTRIBUTES = Ractor.make_shareable(%i[error_id error_name error_value])
143
+ # Gets the value of `error-id` attribute in the message.
144
+ #--
145
+ # @rbs return: ::Integer
146
+ def error_id; attributes[:"error_id"]&.value; end
147
+ # Gets the value of `error-name` attribute in the message.
148
+ #--
149
+ # @rbs return: ::String
150
+ def error_name; attributes[:"error_name"]&.value; end
151
+ # Gets the value of `error-value` attribute in the message.
152
+ #--
153
+ # @rbs return: ::Integer
154
+ def error_value; attributes[:"error_value"]&.value; end
155
+ end
156
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
157
+ class DumpGetErrorCounterRequest < ::Nl::Protocols::Genl::Message
158
+ TYPE = 2
159
+ FIXED_HEADER = nil
160
+ ATTRIBUTE_SET = AttributeSets::ErrorCounterAttrs
161
+ ATTRIBUTES = Ractor.make_shareable(%i[node_id])
162
+ # Gets the value of `node-id` attribute in the message.
163
+ #--
164
+ # @rbs return: ::Integer
165
+ def node_id; attributes[:"node_id"]&.value; end
166
+ end
167
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
168
+ class DumpGetErrorCounterReply < ::Nl::Protocols::Genl::Message
169
+ TYPE = 2
170
+ FIXED_HEADER = nil
171
+ ATTRIBUTE_SET = AttributeSets::ErrorCounterAttrs
172
+ ATTRIBUTES = Ractor.make_shareable(%i[error_id error_name error_value])
173
+ # Gets the value of `error-id` attribute in the message.
174
+ #--
175
+ # @rbs return: ::Integer
176
+ def error_id; attributes[:"error_id"]&.value; end
177
+ # Gets the value of `error-name` attribute in the message.
178
+ #--
179
+ # @rbs return: ::String
180
+ def error_name; attributes[:"error_name"]&.value; end
181
+ # Gets the value of `error-value` attribute in the message.
182
+ #--
183
+ # @rbs return: ::Integer
184
+ def error_value; attributes[:"error_value"]&.value; end
185
+ end
186
+ # Clear error counter for a given node. The request includes the error-id and node-id of the counter to be cleared.
187
+ class DoClearErrorCounterRequest < ::Nl::Protocols::Genl::Message
188
+ TYPE = 3
189
+ FIXED_HEADER = nil
190
+ ATTRIBUTE_SET = AttributeSets::ErrorCounterAttrs
191
+ ATTRIBUTES = Ractor.make_shareable(%i[node_id error_id])
192
+ # Gets the value of `node-id` attribute in the message.
193
+ #--
194
+ # @rbs return: ::Integer
195
+ def node_id; attributes[:"node_id"]&.value; end
196
+ # Gets the value of `error-id` attribute in the message.
197
+ #--
198
+ # @rbs return: ::Integer
199
+ def error_id; attributes[:"error_id"]&.value; end
200
+ end
201
+ end
202
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
203
+ #--
204
+ # @rbs (?node_id: ::Integer, ?error_id: ::Integer) -> Messages::DoGetErrorCounterReply
205
+ def do_get_error_counter(**args)
206
+ exchange_message(:"do", Messages::DoGetErrorCounterRequest, Messages::DoGetErrorCounterReply, args)
207
+ end
208
+ # Retrieve error counter for a given node. The response includes the id, the name, and even the current value of each counter.
209
+ #--
210
+ # @rbs (?node_id: ::Integer) -> Enumerable[Messages::DumpGetErrorCounterReply]
211
+ # | (?node_id: ::Integer) { (Messages::DumpGetErrorCounterReply) -> void } -> void
212
+ def dump_get_error_counter(**args, &block)
213
+ exchange_message(:"dump", Messages::DumpGetErrorCounterRequest, Messages::DumpGetErrorCounterReply, args, &block)
214
+ end
215
+ # Clear error counter for a given node. The request includes the error-id and node-id of the counter to be cleared.
216
+ #--
217
+ # @rbs (?node_id: ::Integer, ?error_id: ::Integer) -> void
218
+ def do_clear_error_counter(**args)
219
+ exchange_message(:"do", Messages::DoClearErrorCounterRequest, nil, args)
220
+ end
221
+ end
222
+ end; end
@@ -1133,10 +1133,20 @@ class Ethtool < ::Nl::Family
1133
1133
  TYPE = 30
1134
1134
  NAME = :"tx_profile"
1135
1135
  end
1136
+ class RxCqeFrames < Attribute
1137
+ TYPE = 31
1138
+ NAME = :"rx_cqe_frames"
1139
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1140
+ end
1141
+ class RxCqeNsecs < Attribute
1142
+ TYPE = 32
1143
+ NAME = :"rx_cqe_nsecs"
1144
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1145
+ end
1136
1146
  # :nodoc:
1137
- BY_NAME = Ractor.make_shareable({:"header" => Header, :"rx_usecs" => RxUsecs, :"rx_max_frames" => RxMaxFrames, :"rx_usecs_irq" => RxUsecsIrq, :"rx_max_frames_irq" => RxMaxFramesIrq, :"tx_usecs" => TxUsecs, :"tx_max_frames" => TxMaxFrames, :"tx_usecs_irq" => TxUsecsIrq, :"tx_max_frames_irq" => TxMaxFramesIrq, :"stats_block_usecs" => StatsBlockUsecs, :"use_adaptive_rx" => UseAdaptiveRx, :"use_adaptive_tx" => UseAdaptiveTx, :"pkt_rate_low" => PktRateLow, :"rx_usecs_low" => RxUsecsLow, :"rx_max_frames_low" => RxMaxFramesLow, :"tx_usecs_low" => TxUsecsLow, :"tx_max_frames_low" => TxMaxFramesLow, :"pkt_rate_high" => PktRateHigh, :"rx_usecs_high" => RxUsecsHigh, :"rx_max_frames_high" => RxMaxFramesHigh, :"tx_usecs_high" => TxUsecsHigh, :"tx_max_frames_high" => TxMaxFramesHigh, :"rate_sample_interval" => RateSampleInterval, :"use_cqe_mode_tx" => UseCqeModeTx, :"use_cqe_mode_rx" => UseCqeModeRx, :"tx_aggr_max_bytes" => TxAggrMaxBytes, :"tx_aggr_max_frames" => TxAggrMaxFrames, :"tx_aggr_time_usecs" => TxAggrTimeUsecs, :"rx_profile" => RxProfile, :"tx_profile" => TxProfile}) #: Hash[::Symbol, Attribute]
1147
+ BY_NAME = Ractor.make_shareable({:"header" => Header, :"rx_usecs" => RxUsecs, :"rx_max_frames" => RxMaxFrames, :"rx_usecs_irq" => RxUsecsIrq, :"rx_max_frames_irq" => RxMaxFramesIrq, :"tx_usecs" => TxUsecs, :"tx_max_frames" => TxMaxFrames, :"tx_usecs_irq" => TxUsecsIrq, :"tx_max_frames_irq" => TxMaxFramesIrq, :"stats_block_usecs" => StatsBlockUsecs, :"use_adaptive_rx" => UseAdaptiveRx, :"use_adaptive_tx" => UseAdaptiveTx, :"pkt_rate_low" => PktRateLow, :"rx_usecs_low" => RxUsecsLow, :"rx_max_frames_low" => RxMaxFramesLow, :"tx_usecs_low" => TxUsecsLow, :"tx_max_frames_low" => TxMaxFramesLow, :"pkt_rate_high" => PktRateHigh, :"rx_usecs_high" => RxUsecsHigh, :"rx_max_frames_high" => RxMaxFramesHigh, :"tx_usecs_high" => TxUsecsHigh, :"tx_max_frames_high" => TxMaxFramesHigh, :"rate_sample_interval" => RateSampleInterval, :"use_cqe_mode_tx" => UseCqeModeTx, :"use_cqe_mode_rx" => UseCqeModeRx, :"tx_aggr_max_bytes" => TxAggrMaxBytes, :"tx_aggr_max_frames" => TxAggrMaxFrames, :"tx_aggr_time_usecs" => TxAggrTimeUsecs, :"rx_profile" => RxProfile, :"tx_profile" => TxProfile, :"rx_cqe_frames" => RxCqeFrames, :"rx_cqe_nsecs" => RxCqeNsecs}) #: Hash[::Symbol, Attribute]
1138
1148
  # :nodoc:
1139
- BY_TYPE = Ractor.make_shareable({1 => Header, 2 => RxUsecs, 3 => RxMaxFrames, 4 => RxUsecsIrq, 5 => RxMaxFramesIrq, 6 => TxUsecs, 7 => TxMaxFrames, 8 => TxUsecsIrq, 9 => TxMaxFramesIrq, 10 => StatsBlockUsecs, 11 => UseAdaptiveRx, 12 => UseAdaptiveTx, 13 => PktRateLow, 14 => RxUsecsLow, 15 => RxMaxFramesLow, 16 => TxUsecsLow, 17 => TxMaxFramesLow, 18 => PktRateHigh, 19 => RxUsecsHigh, 20 => RxMaxFramesHigh, 21 => TxUsecsHigh, 22 => TxMaxFramesHigh, 23 => RateSampleInterval, 24 => UseCqeModeTx, 25 => UseCqeModeRx, 26 => TxAggrMaxBytes, 27 => TxAggrMaxFrames, 28 => TxAggrTimeUsecs, 29 => RxProfile, 30 => TxProfile}) #: Hash[::Integer, Attribute]
1149
+ BY_TYPE = Ractor.make_shareable({1 => Header, 2 => RxUsecs, 3 => RxMaxFrames, 4 => RxUsecsIrq, 5 => RxMaxFramesIrq, 6 => TxUsecs, 7 => TxMaxFrames, 8 => TxUsecsIrq, 9 => TxMaxFramesIrq, 10 => StatsBlockUsecs, 11 => UseAdaptiveRx, 12 => UseAdaptiveTx, 13 => PktRateLow, 14 => RxUsecsLow, 15 => RxMaxFramesLow, 16 => TxUsecsLow, 17 => TxMaxFramesLow, 18 => PktRateHigh, 19 => RxUsecsHigh, 20 => RxMaxFramesHigh, 21 => TxUsecsHigh, 22 => TxMaxFramesHigh, 23 => RateSampleInterval, 24 => UseCqeModeTx, 25 => UseCqeModeRx, 26 => TxAggrMaxBytes, 27 => TxAggrMaxFrames, 28 => TxAggrTimeUsecs, 29 => RxProfile, 30 => TxProfile, 31 => RxCqeFrames, 32 => RxCqeNsecs}) #: Hash[::Integer, Attribute]
1140
1150
  class << self
1141
1151
  # Looks up Attribute class by name.
1142
1152
  #--
@@ -1169,10 +1179,15 @@ class Ethtool < ::Nl::Family
1169
1179
  NAME = :"rx_frames"
1170
1180
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1171
1181
  end
1182
+ class TxPauseStormEvents < Attribute
1183
+ TYPE = 4
1184
+ NAME = :"tx_pause_storm_events"
1185
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1186
+ end
1172
1187
  # :nodoc:
1173
- BY_NAME = Ractor.make_shareable({:"pad" => Pad, :"tx_frames" => TxFrames, :"rx_frames" => RxFrames}) #: Hash[::Symbol, Attribute]
1188
+ BY_NAME = Ractor.make_shareable({:"pad" => Pad, :"tx_frames" => TxFrames, :"rx_frames" => RxFrames, :"tx_pause_storm_events" => TxPauseStormEvents}) #: Hash[::Symbol, Attribute]
1174
1189
  # :nodoc:
1175
- BY_TYPE = Ractor.make_shareable({1 => Pad, 2 => TxFrames, 3 => RxFrames}) #: Hash[::Integer, Attribute]
1190
+ BY_TYPE = Ractor.make_shareable({1 => Pad, 2 => TxFrames, 3 => RxFrames, 4 => TxPauseStormEvents}) #: Hash[::Integer, Attribute]
1176
1191
  class << self
1177
1192
  # Looks up Attribute class by name.
1178
1193
  #--
@@ -4235,7 +4250,7 @@ class Ethtool < ::Nl::Family
4235
4250
  TYPE = 20
4236
4251
  FIXED_HEADER = nil
4237
4252
  ATTRIBUTE_SET = AttributeSets::Coalesce
4238
- ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile])
4253
+ ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile rx_cqe_frames rx_cqe_nsecs])
4239
4254
  # Gets the value of `header` attribute in the message.
4240
4255
  #--
4241
4256
  # @rbs return: AttributeSets::Header
@@ -4356,6 +4371,14 @@ class Ethtool < ::Nl::Family
4356
4371
  #--
4357
4372
  # @rbs return: AttributeSets::Profile
4358
4373
  def tx_profile; attributes[:"tx_profile"]&.value; end
4374
+ # Gets the value of `rx-cqe-frames` attribute in the message.
4375
+ #--
4376
+ # @rbs return: ::Integer
4377
+ def rx_cqe_frames; attributes[:"rx_cqe_frames"]&.value; end
4378
+ # Gets the value of `rx-cqe-nsecs` attribute in the message.
4379
+ #--
4380
+ # @rbs return: ::Integer
4381
+ def rx_cqe_nsecs; attributes[:"rx_cqe_nsecs"]&.value; end
4359
4382
  end
4360
4383
  # Get coalesce params.
4361
4384
  class DumpCoalesceGetRequest < ::Nl::Protocols::Genl::Message
@@ -4373,7 +4396,7 @@ class Ethtool < ::Nl::Family
4373
4396
  TYPE = 20
4374
4397
  FIXED_HEADER = nil
4375
4398
  ATTRIBUTE_SET = AttributeSets::Coalesce
4376
- ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile])
4399
+ ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile rx_cqe_frames rx_cqe_nsecs])
4377
4400
  # Gets the value of `header` attribute in the message.
4378
4401
  #--
4379
4402
  # @rbs return: AttributeSets::Header
@@ -4494,13 +4517,21 @@ class Ethtool < ::Nl::Family
4494
4517
  #--
4495
4518
  # @rbs return: AttributeSets::Profile
4496
4519
  def tx_profile; attributes[:"tx_profile"]&.value; end
4520
+ # Gets the value of `rx-cqe-frames` attribute in the message.
4521
+ #--
4522
+ # @rbs return: ::Integer
4523
+ def rx_cqe_frames; attributes[:"rx_cqe_frames"]&.value; end
4524
+ # Gets the value of `rx-cqe-nsecs` attribute in the message.
4525
+ #--
4526
+ # @rbs return: ::Integer
4527
+ def rx_cqe_nsecs; attributes[:"rx_cqe_nsecs"]&.value; end
4497
4528
  end
4498
4529
  # Set coalesce params.
4499
4530
  class DoCoalesceSetRequest < ::Nl::Protocols::Genl::Message
4500
4531
  TYPE = 20
4501
4532
  FIXED_HEADER = nil
4502
4533
  ATTRIBUTE_SET = AttributeSets::Coalesce
4503
- ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile])
4534
+ ATTRIBUTES = Ractor.make_shareable(%i[header rx_usecs rx_max_frames rx_usecs_irq rx_max_frames_irq tx_usecs tx_max_frames tx_usecs_irq tx_max_frames_irq stats_block_usecs use_adaptive_rx use_adaptive_tx pkt_rate_low rx_usecs_low rx_max_frames_low tx_usecs_low tx_max_frames_low pkt_rate_high rx_usecs_high rx_max_frames_high tx_usecs_high tx_max_frames_high rate_sample_interval use_cqe_mode_tx use_cqe_mode_rx tx_aggr_max_bytes tx_aggr_max_frames tx_aggr_time_usecs rx_profile tx_profile rx_cqe_frames rx_cqe_nsecs])
4504
4535
  # Gets the value of `header` attribute in the message.
4505
4536
  #--
4506
4537
  # @rbs return: AttributeSets::Header
@@ -4621,6 +4652,14 @@ class Ethtool < ::Nl::Family
4621
4652
  #--
4622
4653
  # @rbs return: AttributeSets::Profile
4623
4654
  def tx_profile; attributes[:"tx_profile"]&.value; end
4655
+ # Gets the value of `rx-cqe-frames` attribute in the message.
4656
+ #--
4657
+ # @rbs return: ::Integer
4658
+ def rx_cqe_frames; attributes[:"rx_cqe_frames"]&.value; end
4659
+ # Gets the value of `rx-cqe-nsecs` attribute in the message.
4660
+ #--
4661
+ # @rbs return: ::Integer
4662
+ def rx_cqe_nsecs; attributes[:"rx_cqe_nsecs"]&.value; end
4624
4663
  end
4625
4664
  # Get pause params.
4626
4665
  class DoPauseGetRequest < ::Nl::Protocols::Genl::Message
@@ -6808,7 +6847,7 @@ class Ethtool < ::Nl::Family
6808
6847
  end
6809
6848
  # Set coalesce params.
6810
6849
  #--
6811
- # @rbs (?header: AttributeSets::Header, ?rx_usecs: ::Integer, ?rx_max_frames: ::Integer, ?rx_usecs_irq: ::Integer, ?rx_max_frames_irq: ::Integer, ?tx_usecs: ::Integer, ?tx_max_frames: ::Integer, ?tx_usecs_irq: ::Integer, ?tx_max_frames_irq: ::Integer, ?stats_block_usecs: ::Integer, ?use_adaptive_rx: ::Integer, ?use_adaptive_tx: ::Integer, ?pkt_rate_low: ::Integer, ?rx_usecs_low: ::Integer, ?rx_max_frames_low: ::Integer, ?tx_usecs_low: ::Integer, ?tx_max_frames_low: ::Integer, ?pkt_rate_high: ::Integer, ?rx_usecs_high: ::Integer, ?rx_max_frames_high: ::Integer, ?tx_usecs_high: ::Integer, ?tx_max_frames_high: ::Integer, ?rate_sample_interval: ::Integer, ?use_cqe_mode_tx: ::Integer, ?use_cqe_mode_rx: ::Integer, ?tx_aggr_max_bytes: ::Integer, ?tx_aggr_max_frames: ::Integer, ?tx_aggr_time_usecs: ::Integer, ?rx_profile: AttributeSets::Profile, ?tx_profile: AttributeSets::Profile) -> void
6850
+ # @rbs (?header: AttributeSets::Header, ?rx_usecs: ::Integer, ?rx_max_frames: ::Integer, ?rx_usecs_irq: ::Integer, ?rx_max_frames_irq: ::Integer, ?tx_usecs: ::Integer, ?tx_max_frames: ::Integer, ?tx_usecs_irq: ::Integer, ?tx_max_frames_irq: ::Integer, ?stats_block_usecs: ::Integer, ?use_adaptive_rx: ::Integer, ?use_adaptive_tx: ::Integer, ?pkt_rate_low: ::Integer, ?rx_usecs_low: ::Integer, ?rx_max_frames_low: ::Integer, ?tx_usecs_low: ::Integer, ?tx_max_frames_low: ::Integer, ?pkt_rate_high: ::Integer, ?rx_usecs_high: ::Integer, ?rx_max_frames_high: ::Integer, ?tx_usecs_high: ::Integer, ?tx_max_frames_high: ::Integer, ?rate_sample_interval: ::Integer, ?use_cqe_mode_tx: ::Integer, ?use_cqe_mode_rx: ::Integer, ?tx_aggr_max_bytes: ::Integer, ?tx_aggr_max_frames: ::Integer, ?tx_aggr_time_usecs: ::Integer, ?rx_profile: AttributeSets::Profile, ?tx_profile: AttributeSets::Profile, ?rx_cqe_frames: ::Integer, ?rx_cqe_nsecs: ::Integer) -> void
6812
6851
  def do_coalesce_set(**args)
6813
6852
  exchange_message(:"do", Messages::DoCoalesceSetRequest, nil, args)
6814
6853
  end
@@ -120,7 +120,7 @@ class Handshake < ::Nl::Family
120
120
  class Status < Attribute
121
121
  TYPE = 1
122
122
  NAME = :"status"
123
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
123
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is greater than maximum 4095" unless it <= 4095 })
124
124
  end
125
125
  class Sockfd < Attribute
126
126
  TYPE = 2
@@ -119,7 +119,7 @@ class NetShaper < ::Nl::Family
119
119
  class Id < Attribute
120
120
  TYPE = 2
121
121
  NAME = :"id"
122
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
122
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is greater than maximum 67108862" unless it <= 67108862 })
123
123
  end
124
124
  # :nodoc:
125
125
  BY_NAME = Ractor.make_shareable({:"scope" => Scope, :"id" => Id}) #: Hash[::Symbol, Attribute]