nl-linux 0.2.0 → 0.2.2
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 +4 -0
- data/Rakefile +31 -5
- data/generated/nl/linux/binder.rb +96 -0
- data/generated/nl/linux/conntrack.rb +1227 -0
- data/generated/nl/linux/dev_energymodel.rb +235 -0
- data/generated/nl/linux/devlink.rb +5177 -0
- data/generated/nl/linux/dpll.rb +944 -0
- data/generated/nl/linux/ethtool.rb +7121 -0
- data/generated/nl/linux/fou.rb +332 -0
- data/generated/nl/linux/handshake.rb +238 -0
- data/generated/nl/linux/lockd.rb +99 -0
- data/generated/nl/linux/mptcp_pm.rb +607 -0
- data/generated/nl/linux/net_shaper.rb +731 -0
- data/generated/nl/linux/netdev.rb +1450 -0
- data/generated/nl/linux/nfsd.rb +500 -0
- data/generated/nl/linux/nftables.rb +2924 -0
- data/generated/nl/linux/nl80211.rb +3393 -0
- data/generated/nl/linux/nlctrl.rb +397 -0
- data/generated/nl/linux/ovpn.rb +964 -0
- data/generated/nl/linux/ovs_datapath.rb +321 -0
- data/generated/nl/linux/ovs_flow.rb +1447 -0
- data/generated/nl/linux/ovs_vport.rb +391 -0
- data/generated/nl/linux/psp.rb +463 -0
- data/generated/nl/linux/rt_addr.rb +448 -0
- data/generated/nl/linux/rt_link.rb +4613 -0
- data/generated/nl/linux/rt_neigh.rb +897 -0
- data/generated/nl/linux/rt_route.rb +1126 -0
- data/generated/nl/linux/rt_rule.rb +708 -0
- data/generated/nl/linux/tc.rb +7066 -0
- data/generated/nl/linux/tcp_metrics.rb +317 -0
- data/generated/nl/linux/team.rb +339 -0
- data/generated/nl/linux/wireguard.rb +430 -0
- data/generated/nl/linux.rb +35 -0
- data/lib/nl/linux/version.rb +1 -1
- data/lib/nl-linux.rb +1 -1
- metadata +37 -7
- data/lib/nl/linux.rb +0 -3
|
@@ -0,0 +1,1450 @@
|
|
|
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
|
+
# netdev configuration over generic netlink.
|
|
9
|
+
class Netdev < ::Nl::Family
|
|
10
|
+
NAME = "netdev"
|
|
11
|
+
PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("netdev"))
|
|
12
|
+
module Structs
|
|
13
|
+
end
|
|
14
|
+
module AttributeSets
|
|
15
|
+
class Dev < ::Nl::Protocols::Genl::AttributeSet
|
|
16
|
+
# Abstract class
|
|
17
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
18
|
+
end
|
|
19
|
+
class Ifindex < Attribute
|
|
20
|
+
TYPE = 1
|
|
21
|
+
NAME = :"ifindex"
|
|
22
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
23
|
+
end
|
|
24
|
+
class Pad < Attribute
|
|
25
|
+
TYPE = 2
|
|
26
|
+
NAME = :"pad"
|
|
27
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
|
|
28
|
+
end
|
|
29
|
+
class XdpFeatures < Attribute
|
|
30
|
+
TYPE = 3
|
|
31
|
+
NAME = :"xdp_features"
|
|
32
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
33
|
+
end
|
|
34
|
+
class XdpZcMaxSegs < Attribute
|
|
35
|
+
TYPE = 4
|
|
36
|
+
NAME = :"xdp_zc_max_segs"
|
|
37
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
38
|
+
end
|
|
39
|
+
class XdpRxMetadataFeatures < Attribute
|
|
40
|
+
TYPE = 5
|
|
41
|
+
NAME = :"xdp_rx_metadata_features"
|
|
42
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
43
|
+
end
|
|
44
|
+
class XskFeatures < Attribute
|
|
45
|
+
TYPE = 6
|
|
46
|
+
NAME = :"xsk_features"
|
|
47
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
48
|
+
end
|
|
49
|
+
# :nodoc:
|
|
50
|
+
BY_NAME = Ractor.make_shareable({:"ifindex" => Ifindex, :"pad" => Pad, :"xdp_features" => XdpFeatures, :"xdp_zc_max_segs" => XdpZcMaxSegs, :"xdp_rx_metadata_features" => XdpRxMetadataFeatures, :"xsk_features" => XskFeatures}) #: Hash[::Symbol, Attribute]
|
|
51
|
+
# :nodoc:
|
|
52
|
+
BY_TYPE = Ractor.make_shareable({1 => Ifindex, 2 => Pad, 3 => XdpFeatures, 4 => XdpZcMaxSegs, 5 => XdpRxMetadataFeatures, 6 => XskFeatures}) #: Hash[::Integer, Attribute]
|
|
53
|
+
class << self
|
|
54
|
+
# Looks up Attribute class by name.
|
|
55
|
+
#--
|
|
56
|
+
# @rbs name: Symbol
|
|
57
|
+
# @rbs return: Attribute
|
|
58
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
59
|
+
# Looks up Attribute class by type value.
|
|
60
|
+
#--
|
|
61
|
+
# @rbs type: Integer
|
|
62
|
+
# @rbs return: Attribute
|
|
63
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
class IoUringProviderInfo < ::Nl::Protocols::Genl::AttributeSet
|
|
67
|
+
# Abstract class
|
|
68
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
69
|
+
end
|
|
70
|
+
# :nodoc:
|
|
71
|
+
BY_NAME = Ractor.make_shareable({}) #: Hash[::Symbol, Attribute]
|
|
72
|
+
# :nodoc:
|
|
73
|
+
BY_TYPE = Ractor.make_shareable({}) #: Hash[::Integer, Attribute]
|
|
74
|
+
class << self
|
|
75
|
+
# Looks up Attribute class by name.
|
|
76
|
+
#--
|
|
77
|
+
# @rbs name: Symbol
|
|
78
|
+
# @rbs return: Attribute
|
|
79
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
80
|
+
# Looks up Attribute class by type value.
|
|
81
|
+
#--
|
|
82
|
+
# @rbs type: Integer
|
|
83
|
+
# @rbs return: Attribute
|
|
84
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
class PagePool < ::Nl::Protocols::Genl::AttributeSet
|
|
88
|
+
# Abstract class
|
|
89
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
90
|
+
end
|
|
91
|
+
class Id < Attribute
|
|
92
|
+
TYPE = 1
|
|
93
|
+
NAME = :"id"
|
|
94
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1; raise ArgumentError, "Value #{it.inspect} is greater than maximum 4294967295" unless it <= 4294967295 })
|
|
95
|
+
end
|
|
96
|
+
class Ifindex < Attribute
|
|
97
|
+
TYPE = 2
|
|
98
|
+
NAME = :"ifindex"
|
|
99
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1; raise ArgumentError, "Value #{it.inspect} is greater than maximum 2147483647" unless it <= 2147483647 })
|
|
100
|
+
end
|
|
101
|
+
class NapiId < Attribute
|
|
102
|
+
TYPE = 3
|
|
103
|
+
NAME = :"napi_id"
|
|
104
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1; raise ArgumentError, "Value #{it.inspect} is greater than maximum 4294967295" unless it <= 4294967295 })
|
|
105
|
+
end
|
|
106
|
+
class Inflight < Attribute
|
|
107
|
+
TYPE = 4
|
|
108
|
+
NAME = :"inflight"
|
|
109
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
110
|
+
end
|
|
111
|
+
class InflightMem < Attribute
|
|
112
|
+
TYPE = 5
|
|
113
|
+
NAME = :"inflight_mem"
|
|
114
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
115
|
+
end
|
|
116
|
+
class DetachTime < Attribute
|
|
117
|
+
TYPE = 6
|
|
118
|
+
NAME = :"detach_time"
|
|
119
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
120
|
+
end
|
|
121
|
+
class Dmabuf < Attribute
|
|
122
|
+
TYPE = 7
|
|
123
|
+
NAME = :"dmabuf"
|
|
124
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
125
|
+
end
|
|
126
|
+
class IoUring < Attribute
|
|
127
|
+
TYPE = 8
|
|
128
|
+
NAME = :"io_uring"
|
|
129
|
+
end
|
|
130
|
+
# :nodoc:
|
|
131
|
+
BY_NAME = Ractor.make_shareable({:"id" => Id, :"ifindex" => Ifindex, :"napi_id" => NapiId, :"inflight" => Inflight, :"inflight_mem" => InflightMem, :"detach_time" => DetachTime, :"dmabuf" => Dmabuf, :"io_uring" => IoUring}) #: Hash[::Symbol, Attribute]
|
|
132
|
+
# :nodoc:
|
|
133
|
+
BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Ifindex, 3 => NapiId, 4 => Inflight, 5 => InflightMem, 6 => DetachTime, 7 => Dmabuf, 8 => IoUring}) #: Hash[::Integer, Attribute]
|
|
134
|
+
class << self
|
|
135
|
+
# Looks up Attribute class by name.
|
|
136
|
+
#--
|
|
137
|
+
# @rbs name: Symbol
|
|
138
|
+
# @rbs return: Attribute
|
|
139
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
140
|
+
# Looks up Attribute class by type value.
|
|
141
|
+
#--
|
|
142
|
+
# @rbs type: Integer
|
|
143
|
+
# @rbs return: Attribute
|
|
144
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
class PagePoolInfo < ::Nl::Protocols::Genl::AttributeSet
|
|
148
|
+
# Abstract class
|
|
149
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
150
|
+
end
|
|
151
|
+
class Id < Attribute
|
|
152
|
+
TYPE = 1
|
|
153
|
+
NAME = :"id"
|
|
154
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1; raise ArgumentError, "Value #{it.inspect} is greater than maximum 4294967295" unless it <= 4294967295 })
|
|
155
|
+
end
|
|
156
|
+
class Ifindex < Attribute
|
|
157
|
+
TYPE = 2
|
|
158
|
+
NAME = :"ifindex"
|
|
159
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1; raise ArgumentError, "Value #{it.inspect} is greater than maximum 2147483647" unless it <= 2147483647 })
|
|
160
|
+
end
|
|
161
|
+
# :nodoc:
|
|
162
|
+
BY_NAME = Ractor.make_shareable({:"id" => Id, :"ifindex" => Ifindex}) #: Hash[::Symbol, Attribute]
|
|
163
|
+
# :nodoc:
|
|
164
|
+
BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Ifindex}) #: Hash[::Integer, Attribute]
|
|
165
|
+
class << self
|
|
166
|
+
# Looks up Attribute class by name.
|
|
167
|
+
#--
|
|
168
|
+
# @rbs name: Symbol
|
|
169
|
+
# @rbs return: Attribute
|
|
170
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
171
|
+
# Looks up Attribute class by type value.
|
|
172
|
+
#--
|
|
173
|
+
# @rbs type: Integer
|
|
174
|
+
# @rbs return: Attribute
|
|
175
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
# Page pool statistics, see docs for struct page_pool_stats
|
|
179
|
+
# for information about individual statistics.
|
|
180
|
+
class PagePoolStats < ::Nl::Protocols::Genl::AttributeSet
|
|
181
|
+
# Abstract class
|
|
182
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
183
|
+
end
|
|
184
|
+
class Info < Attribute
|
|
185
|
+
TYPE = 1
|
|
186
|
+
NAME = :"info"
|
|
187
|
+
end
|
|
188
|
+
class AllocFast < Attribute
|
|
189
|
+
TYPE = 8
|
|
190
|
+
NAME = :"alloc_fast"
|
|
191
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
192
|
+
end
|
|
193
|
+
class AllocSlow < Attribute
|
|
194
|
+
TYPE = 9
|
|
195
|
+
NAME = :"alloc_slow"
|
|
196
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
197
|
+
end
|
|
198
|
+
class AllocSlowHighOrder < Attribute
|
|
199
|
+
TYPE = 10
|
|
200
|
+
NAME = :"alloc_slow_high_order"
|
|
201
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
202
|
+
end
|
|
203
|
+
class AllocEmpty < Attribute
|
|
204
|
+
TYPE = 11
|
|
205
|
+
NAME = :"alloc_empty"
|
|
206
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
207
|
+
end
|
|
208
|
+
class AllocRefill < Attribute
|
|
209
|
+
TYPE = 12
|
|
210
|
+
NAME = :"alloc_refill"
|
|
211
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
212
|
+
end
|
|
213
|
+
class AllocWaive < Attribute
|
|
214
|
+
TYPE = 13
|
|
215
|
+
NAME = :"alloc_waive"
|
|
216
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
217
|
+
end
|
|
218
|
+
class RecycleCached < Attribute
|
|
219
|
+
TYPE = 14
|
|
220
|
+
NAME = :"recycle_cached"
|
|
221
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
222
|
+
end
|
|
223
|
+
class RecycleCacheFull < Attribute
|
|
224
|
+
TYPE = 15
|
|
225
|
+
NAME = :"recycle_cache_full"
|
|
226
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
227
|
+
end
|
|
228
|
+
class RecycleRing < Attribute
|
|
229
|
+
TYPE = 16
|
|
230
|
+
NAME = :"recycle_ring"
|
|
231
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
232
|
+
end
|
|
233
|
+
class RecycleRingFull < Attribute
|
|
234
|
+
TYPE = 17
|
|
235
|
+
NAME = :"recycle_ring_full"
|
|
236
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
237
|
+
end
|
|
238
|
+
class RecycleReleasedRefcnt < Attribute
|
|
239
|
+
TYPE = 18
|
|
240
|
+
NAME = :"recycle_released_refcnt"
|
|
241
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
242
|
+
end
|
|
243
|
+
# :nodoc:
|
|
244
|
+
BY_NAME = Ractor.make_shareable({:"info" => Info, :"alloc_fast" => AllocFast, :"alloc_slow" => AllocSlow, :"alloc_slow_high_order" => AllocSlowHighOrder, :"alloc_empty" => AllocEmpty, :"alloc_refill" => AllocRefill, :"alloc_waive" => AllocWaive, :"recycle_cached" => RecycleCached, :"recycle_cache_full" => RecycleCacheFull, :"recycle_ring" => RecycleRing, :"recycle_ring_full" => RecycleRingFull, :"recycle_released_refcnt" => RecycleReleasedRefcnt}) #: Hash[::Symbol, Attribute]
|
|
245
|
+
# :nodoc:
|
|
246
|
+
BY_TYPE = Ractor.make_shareable({1 => Info, 8 => AllocFast, 9 => AllocSlow, 10 => AllocSlowHighOrder, 11 => AllocEmpty, 12 => AllocRefill, 13 => AllocWaive, 14 => RecycleCached, 15 => RecycleCacheFull, 16 => RecycleRing, 17 => RecycleRingFull, 18 => RecycleReleasedRefcnt}) #: Hash[::Integer, Attribute]
|
|
247
|
+
class << self
|
|
248
|
+
# Looks up Attribute class by name.
|
|
249
|
+
#--
|
|
250
|
+
# @rbs name: Symbol
|
|
251
|
+
# @rbs return: Attribute
|
|
252
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
253
|
+
# Looks up Attribute class by type value.
|
|
254
|
+
#--
|
|
255
|
+
# @rbs type: Integer
|
|
256
|
+
# @rbs return: Attribute
|
|
257
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
class Napi < ::Nl::Protocols::Genl::AttributeSet
|
|
261
|
+
# Abstract class
|
|
262
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
263
|
+
end
|
|
264
|
+
class Ifindex < Attribute
|
|
265
|
+
TYPE = 1
|
|
266
|
+
NAME = :"ifindex"
|
|
267
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
268
|
+
end
|
|
269
|
+
class Id < Attribute
|
|
270
|
+
TYPE = 2
|
|
271
|
+
NAME = :"id"
|
|
272
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
273
|
+
end
|
|
274
|
+
class Irq < Attribute
|
|
275
|
+
TYPE = 3
|
|
276
|
+
NAME = :"irq"
|
|
277
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
278
|
+
end
|
|
279
|
+
class Pid < Attribute
|
|
280
|
+
TYPE = 4
|
|
281
|
+
NAME = :"pid"
|
|
282
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
283
|
+
end
|
|
284
|
+
class DeferHardIrqs < Attribute
|
|
285
|
+
TYPE = 5
|
|
286
|
+
NAME = :"defer_hard_irqs"
|
|
287
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is greater than maximum 2147483647" unless it <= 2147483647 })
|
|
288
|
+
end
|
|
289
|
+
class GroFlushTimeout < Attribute
|
|
290
|
+
TYPE = 6
|
|
291
|
+
NAME = :"gro_flush_timeout"
|
|
292
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
293
|
+
end
|
|
294
|
+
class IrqSuspendTimeout < Attribute
|
|
295
|
+
TYPE = 7
|
|
296
|
+
NAME = :"irq_suspend_timeout"
|
|
297
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
298
|
+
end
|
|
299
|
+
class Threaded < Attribute
|
|
300
|
+
TYPE = 8
|
|
301
|
+
NAME = :"threaded"
|
|
302
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
303
|
+
end
|
|
304
|
+
# :nodoc:
|
|
305
|
+
BY_NAME = Ractor.make_shareable({:"ifindex" => Ifindex, :"id" => Id, :"irq" => Irq, :"pid" => Pid, :"defer_hard_irqs" => DeferHardIrqs, :"gro_flush_timeout" => GroFlushTimeout, :"irq_suspend_timeout" => IrqSuspendTimeout, :"threaded" => Threaded}) #: Hash[::Symbol, Attribute]
|
|
306
|
+
# :nodoc:
|
|
307
|
+
BY_TYPE = Ractor.make_shareable({1 => Ifindex, 2 => Id, 3 => Irq, 4 => Pid, 5 => DeferHardIrqs, 6 => GroFlushTimeout, 7 => IrqSuspendTimeout, 8 => Threaded}) #: Hash[::Integer, Attribute]
|
|
308
|
+
class << self
|
|
309
|
+
# Looks up Attribute class by name.
|
|
310
|
+
#--
|
|
311
|
+
# @rbs name: Symbol
|
|
312
|
+
# @rbs return: Attribute
|
|
313
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
314
|
+
# Looks up Attribute class by type value.
|
|
315
|
+
#--
|
|
316
|
+
# @rbs type: Integer
|
|
317
|
+
# @rbs return: Attribute
|
|
318
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
class XskInfo < ::Nl::Protocols::Genl::AttributeSet
|
|
322
|
+
# Abstract class
|
|
323
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
324
|
+
end
|
|
325
|
+
# :nodoc:
|
|
326
|
+
BY_NAME = Ractor.make_shareable({}) #: Hash[::Symbol, Attribute]
|
|
327
|
+
# :nodoc:
|
|
328
|
+
BY_TYPE = Ractor.make_shareable({}) #: Hash[::Integer, Attribute]
|
|
329
|
+
class << self
|
|
330
|
+
# Looks up Attribute class by name.
|
|
331
|
+
#--
|
|
332
|
+
# @rbs name: Symbol
|
|
333
|
+
# @rbs return: Attribute
|
|
334
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
335
|
+
# Looks up Attribute class by type value.
|
|
336
|
+
#--
|
|
337
|
+
# @rbs type: Integer
|
|
338
|
+
# @rbs return: Attribute
|
|
339
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
340
|
+
end
|
|
341
|
+
end
|
|
342
|
+
class Queue < ::Nl::Protocols::Genl::AttributeSet
|
|
343
|
+
# Abstract class
|
|
344
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
345
|
+
end
|
|
346
|
+
class Id < Attribute
|
|
347
|
+
TYPE = 1
|
|
348
|
+
NAME = :"id"
|
|
349
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
350
|
+
end
|
|
351
|
+
class Ifindex < Attribute
|
|
352
|
+
TYPE = 2
|
|
353
|
+
NAME = :"ifindex"
|
|
354
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
355
|
+
end
|
|
356
|
+
class Type < Attribute
|
|
357
|
+
TYPE = 3
|
|
358
|
+
NAME = :"type"
|
|
359
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
360
|
+
end
|
|
361
|
+
class NapiId < Attribute
|
|
362
|
+
TYPE = 4
|
|
363
|
+
NAME = :"napi_id"
|
|
364
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
365
|
+
end
|
|
366
|
+
class Dmabuf < Attribute
|
|
367
|
+
TYPE = 5
|
|
368
|
+
NAME = :"dmabuf"
|
|
369
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
370
|
+
end
|
|
371
|
+
class IoUring < Attribute
|
|
372
|
+
TYPE = 6
|
|
373
|
+
NAME = :"io_uring"
|
|
374
|
+
end
|
|
375
|
+
class Xsk < Attribute
|
|
376
|
+
TYPE = 7
|
|
377
|
+
NAME = :"xsk"
|
|
378
|
+
end
|
|
379
|
+
# :nodoc:
|
|
380
|
+
BY_NAME = Ractor.make_shareable({:"id" => Id, :"ifindex" => Ifindex, :"type" => Type, :"napi_id" => NapiId, :"dmabuf" => Dmabuf, :"io_uring" => IoUring, :"xsk" => Xsk}) #: Hash[::Symbol, Attribute]
|
|
381
|
+
# :nodoc:
|
|
382
|
+
BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Ifindex, 3 => Type, 4 => NapiId, 5 => Dmabuf, 6 => IoUring, 7 => Xsk}) #: Hash[::Integer, Attribute]
|
|
383
|
+
class << self
|
|
384
|
+
# Looks up Attribute class by name.
|
|
385
|
+
#--
|
|
386
|
+
# @rbs name: Symbol
|
|
387
|
+
# @rbs return: Attribute
|
|
388
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
389
|
+
# Looks up Attribute class by type value.
|
|
390
|
+
#--
|
|
391
|
+
# @rbs type: Integer
|
|
392
|
+
# @rbs return: Attribute
|
|
393
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
394
|
+
end
|
|
395
|
+
end
|
|
396
|
+
# Get device statistics, scoped to a device or a queue.
|
|
397
|
+
# These statistics extend (and partially duplicate) statistics available
|
|
398
|
+
# in struct rtnl_link_stats64.
|
|
399
|
+
# Value of the `scope` attribute determines how statistics are
|
|
400
|
+
# aggregated. When aggregated for the entire device the statistics
|
|
401
|
+
# represent the total number of events since last explicit reset of
|
|
402
|
+
# the device (i.e. not a reconfiguration like changing queue count).
|
|
403
|
+
# When reported per-queue, however, the statistics may not add
|
|
404
|
+
# up to the total number of events, will only be reported for currently
|
|
405
|
+
# active objects, and will likely report the number of events since last
|
|
406
|
+
# reconfiguration.
|
|
407
|
+
class Qstats < ::Nl::Protocols::Genl::AttributeSet
|
|
408
|
+
# Abstract class
|
|
409
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
410
|
+
end
|
|
411
|
+
class Ifindex < Attribute
|
|
412
|
+
TYPE = 1
|
|
413
|
+
NAME = :"ifindex"
|
|
414
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
415
|
+
end
|
|
416
|
+
class QueueType < Attribute
|
|
417
|
+
TYPE = 2
|
|
418
|
+
NAME = :"queue_type"
|
|
419
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
420
|
+
end
|
|
421
|
+
class QueueId < Attribute
|
|
422
|
+
TYPE = 3
|
|
423
|
+
NAME = :"queue_id"
|
|
424
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
425
|
+
end
|
|
426
|
+
class Scope < Attribute
|
|
427
|
+
TYPE = 4
|
|
428
|
+
NAME = :"scope"
|
|
429
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
430
|
+
end
|
|
431
|
+
class RxPackets < Attribute
|
|
432
|
+
TYPE = 8
|
|
433
|
+
NAME = :"rx_packets"
|
|
434
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
435
|
+
end
|
|
436
|
+
class RxBytes < Attribute
|
|
437
|
+
TYPE = 9
|
|
438
|
+
NAME = :"rx_bytes"
|
|
439
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
440
|
+
end
|
|
441
|
+
class TxPackets < Attribute
|
|
442
|
+
TYPE = 10
|
|
443
|
+
NAME = :"tx_packets"
|
|
444
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
445
|
+
end
|
|
446
|
+
class TxBytes < Attribute
|
|
447
|
+
TYPE = 11
|
|
448
|
+
NAME = :"tx_bytes"
|
|
449
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
450
|
+
end
|
|
451
|
+
class RxAllocFail < Attribute
|
|
452
|
+
TYPE = 12
|
|
453
|
+
NAME = :"rx_alloc_fail"
|
|
454
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
455
|
+
end
|
|
456
|
+
class RxHwDrops < Attribute
|
|
457
|
+
TYPE = 13
|
|
458
|
+
NAME = :"rx_hw_drops"
|
|
459
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
460
|
+
end
|
|
461
|
+
class RxHwDropOverruns < Attribute
|
|
462
|
+
TYPE = 14
|
|
463
|
+
NAME = :"rx_hw_drop_overruns"
|
|
464
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
465
|
+
end
|
|
466
|
+
class RxCsumComplete < Attribute
|
|
467
|
+
TYPE = 15
|
|
468
|
+
NAME = :"rx_csum_complete"
|
|
469
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
470
|
+
end
|
|
471
|
+
class RxCsumUnnecessary < Attribute
|
|
472
|
+
TYPE = 16
|
|
473
|
+
NAME = :"rx_csum_unnecessary"
|
|
474
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
475
|
+
end
|
|
476
|
+
class RxCsumNone < Attribute
|
|
477
|
+
TYPE = 17
|
|
478
|
+
NAME = :"rx_csum_none"
|
|
479
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
480
|
+
end
|
|
481
|
+
class RxCsumBad < Attribute
|
|
482
|
+
TYPE = 18
|
|
483
|
+
NAME = :"rx_csum_bad"
|
|
484
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
485
|
+
end
|
|
486
|
+
class RxHwGroPackets < Attribute
|
|
487
|
+
TYPE = 19
|
|
488
|
+
NAME = :"rx_hw_gro_packets"
|
|
489
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
490
|
+
end
|
|
491
|
+
class RxHwGroBytes < Attribute
|
|
492
|
+
TYPE = 20
|
|
493
|
+
NAME = :"rx_hw_gro_bytes"
|
|
494
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
495
|
+
end
|
|
496
|
+
class RxHwGroWirePackets < Attribute
|
|
497
|
+
TYPE = 21
|
|
498
|
+
NAME = :"rx_hw_gro_wire_packets"
|
|
499
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
500
|
+
end
|
|
501
|
+
class RxHwGroWireBytes < Attribute
|
|
502
|
+
TYPE = 22
|
|
503
|
+
NAME = :"rx_hw_gro_wire_bytes"
|
|
504
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
505
|
+
end
|
|
506
|
+
class RxHwDropRatelimits < Attribute
|
|
507
|
+
TYPE = 23
|
|
508
|
+
NAME = :"rx_hw_drop_ratelimits"
|
|
509
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
510
|
+
end
|
|
511
|
+
class TxHwDrops < Attribute
|
|
512
|
+
TYPE = 24
|
|
513
|
+
NAME = :"tx_hw_drops"
|
|
514
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
515
|
+
end
|
|
516
|
+
class TxHwDropErrors < Attribute
|
|
517
|
+
TYPE = 25
|
|
518
|
+
NAME = :"tx_hw_drop_errors"
|
|
519
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
520
|
+
end
|
|
521
|
+
class TxCsumNone < Attribute
|
|
522
|
+
TYPE = 26
|
|
523
|
+
NAME = :"tx_csum_none"
|
|
524
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
525
|
+
end
|
|
526
|
+
class TxNeedsCsum < Attribute
|
|
527
|
+
TYPE = 27
|
|
528
|
+
NAME = :"tx_needs_csum"
|
|
529
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
530
|
+
end
|
|
531
|
+
class TxHwGsoPackets < Attribute
|
|
532
|
+
TYPE = 28
|
|
533
|
+
NAME = :"tx_hw_gso_packets"
|
|
534
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
535
|
+
end
|
|
536
|
+
class TxHwGsoBytes < Attribute
|
|
537
|
+
TYPE = 29
|
|
538
|
+
NAME = :"tx_hw_gso_bytes"
|
|
539
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
540
|
+
end
|
|
541
|
+
class TxHwGsoWirePackets < Attribute
|
|
542
|
+
TYPE = 30
|
|
543
|
+
NAME = :"tx_hw_gso_wire_packets"
|
|
544
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
545
|
+
end
|
|
546
|
+
class TxHwGsoWireBytes < Attribute
|
|
547
|
+
TYPE = 31
|
|
548
|
+
NAME = :"tx_hw_gso_wire_bytes"
|
|
549
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
550
|
+
end
|
|
551
|
+
class TxHwDropRatelimits < Attribute
|
|
552
|
+
TYPE = 32
|
|
553
|
+
NAME = :"tx_hw_drop_ratelimits"
|
|
554
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
555
|
+
end
|
|
556
|
+
class TxStop < Attribute
|
|
557
|
+
TYPE = 33
|
|
558
|
+
NAME = :"tx_stop"
|
|
559
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
560
|
+
end
|
|
561
|
+
class TxWake < Attribute
|
|
562
|
+
TYPE = 34
|
|
563
|
+
NAME = :"tx_wake"
|
|
564
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
|
|
565
|
+
end
|
|
566
|
+
# :nodoc:
|
|
567
|
+
BY_NAME = Ractor.make_shareable({:"ifindex" => Ifindex, :"queue_type" => QueueType, :"queue_id" => QueueId, :"scope" => Scope, :"rx_packets" => RxPackets, :"rx_bytes" => RxBytes, :"tx_packets" => TxPackets, :"tx_bytes" => TxBytes, :"rx_alloc_fail" => RxAllocFail, :"rx_hw_drops" => RxHwDrops, :"rx_hw_drop_overruns" => RxHwDropOverruns, :"rx_csum_complete" => RxCsumComplete, :"rx_csum_unnecessary" => RxCsumUnnecessary, :"rx_csum_none" => RxCsumNone, :"rx_csum_bad" => RxCsumBad, :"rx_hw_gro_packets" => RxHwGroPackets, :"rx_hw_gro_bytes" => RxHwGroBytes, :"rx_hw_gro_wire_packets" => RxHwGroWirePackets, :"rx_hw_gro_wire_bytes" => RxHwGroWireBytes, :"rx_hw_drop_ratelimits" => RxHwDropRatelimits, :"tx_hw_drops" => TxHwDrops, :"tx_hw_drop_errors" => TxHwDropErrors, :"tx_csum_none" => TxCsumNone, :"tx_needs_csum" => TxNeedsCsum, :"tx_hw_gso_packets" => TxHwGsoPackets, :"tx_hw_gso_bytes" => TxHwGsoBytes, :"tx_hw_gso_wire_packets" => TxHwGsoWirePackets, :"tx_hw_gso_wire_bytes" => TxHwGsoWireBytes, :"tx_hw_drop_ratelimits" => TxHwDropRatelimits, :"tx_stop" => TxStop, :"tx_wake" => TxWake}) #: Hash[::Symbol, Attribute]
|
|
568
|
+
# :nodoc:
|
|
569
|
+
BY_TYPE = Ractor.make_shareable({1 => Ifindex, 2 => QueueType, 3 => QueueId, 4 => Scope, 8 => RxPackets, 9 => RxBytes, 10 => TxPackets, 11 => TxBytes, 12 => RxAllocFail, 13 => RxHwDrops, 14 => RxHwDropOverruns, 15 => RxCsumComplete, 16 => RxCsumUnnecessary, 17 => RxCsumNone, 18 => RxCsumBad, 19 => RxHwGroPackets, 20 => RxHwGroBytes, 21 => RxHwGroWirePackets, 22 => RxHwGroWireBytes, 23 => RxHwDropRatelimits, 24 => TxHwDrops, 25 => TxHwDropErrors, 26 => TxCsumNone, 27 => TxNeedsCsum, 28 => TxHwGsoPackets, 29 => TxHwGsoBytes, 30 => TxHwGsoWirePackets, 31 => TxHwGsoWireBytes, 32 => TxHwDropRatelimits, 33 => TxStop, 34 => TxWake}) #: 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 QueueId < ::Nl::Protocols::Genl::AttributeSet
|
|
584
|
+
# Abstract class
|
|
585
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
586
|
+
end
|
|
587
|
+
class Id < Attribute
|
|
588
|
+
TYPE = 1
|
|
589
|
+
NAME = :"id"
|
|
590
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
591
|
+
end
|
|
592
|
+
class Type < Attribute
|
|
593
|
+
TYPE = 3
|
|
594
|
+
NAME = :"type"
|
|
595
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
596
|
+
end
|
|
597
|
+
# :nodoc:
|
|
598
|
+
BY_NAME = Ractor.make_shareable({:"id" => Id, :"type" => Type}) #: Hash[::Symbol, Attribute]
|
|
599
|
+
# :nodoc:
|
|
600
|
+
BY_TYPE = Ractor.make_shareable({1 => Id, 3 => Type}) #: Hash[::Integer, Attribute]
|
|
601
|
+
class << self
|
|
602
|
+
# Looks up Attribute class by name.
|
|
603
|
+
#--
|
|
604
|
+
# @rbs name: Symbol
|
|
605
|
+
# @rbs return: Attribute
|
|
606
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
607
|
+
# Looks up Attribute class by type value.
|
|
608
|
+
#--
|
|
609
|
+
# @rbs type: Integer
|
|
610
|
+
# @rbs return: Attribute
|
|
611
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
612
|
+
end
|
|
613
|
+
end
|
|
614
|
+
class Dmabuf < ::Nl::Protocols::Genl::AttributeSet
|
|
615
|
+
# Abstract class
|
|
616
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
617
|
+
end
|
|
618
|
+
class Ifindex < Attribute
|
|
619
|
+
TYPE = 1
|
|
620
|
+
NAME = :"ifindex"
|
|
621
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
622
|
+
end
|
|
623
|
+
class Queues < Attribute
|
|
624
|
+
TYPE = 2
|
|
625
|
+
NAME = :"queues"
|
|
626
|
+
end
|
|
627
|
+
class Fd < Attribute
|
|
628
|
+
TYPE = 3
|
|
629
|
+
NAME = :"fd"
|
|
630
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
631
|
+
end
|
|
632
|
+
class Id < Attribute
|
|
633
|
+
TYPE = 4
|
|
634
|
+
NAME = :"id"
|
|
635
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: -> { raise ArgumentError, "Value #{it.inspect} is less than minimum 1" unless it >= 1 })
|
|
636
|
+
end
|
|
637
|
+
# :nodoc:
|
|
638
|
+
BY_NAME = Ractor.make_shareable({:"ifindex" => Ifindex, :"queues" => Queues, :"fd" => Fd, :"id" => Id}) #: Hash[::Symbol, Attribute]
|
|
639
|
+
# :nodoc:
|
|
640
|
+
BY_TYPE = Ractor.make_shareable({1 => Ifindex, 2 => Queues, 3 => Fd, 4 => Id}) #: Hash[::Integer, Attribute]
|
|
641
|
+
class << self
|
|
642
|
+
# Looks up Attribute class by name.
|
|
643
|
+
#--
|
|
644
|
+
# @rbs name: Symbol
|
|
645
|
+
# @rbs return: Attribute
|
|
646
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
647
|
+
# Looks up Attribute class by type value.
|
|
648
|
+
#--
|
|
649
|
+
# @rbs type: Integer
|
|
650
|
+
# @rbs return: Attribute
|
|
651
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
652
|
+
end
|
|
653
|
+
end
|
|
654
|
+
PagePool::IoUring::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IoUringProviderInfo)
|
|
655
|
+
PagePoolStats::Info::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(PagePoolInfo)
|
|
656
|
+
Queue::IoUring::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IoUringProviderInfo)
|
|
657
|
+
Queue::Xsk::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(XskInfo)
|
|
658
|
+
Dmabuf::Queues::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(QueueId)
|
|
659
|
+
end
|
|
660
|
+
module Messages
|
|
661
|
+
# Get / dump information about a netdev.
|
|
662
|
+
class DoDevGetRequest < ::Nl::Protocols::Genl::Message
|
|
663
|
+
TYPE = 1
|
|
664
|
+
FIXED_HEADER = nil
|
|
665
|
+
ATTRIBUTE_SET = AttributeSets::Dev
|
|
666
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex])
|
|
667
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
668
|
+
#--
|
|
669
|
+
# @rbs return: ::Integer
|
|
670
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
671
|
+
end
|
|
672
|
+
# Get / dump information about a netdev.
|
|
673
|
+
class DoDevGetReply < ::Nl::Protocols::Genl::Message
|
|
674
|
+
TYPE = 1
|
|
675
|
+
FIXED_HEADER = nil
|
|
676
|
+
ATTRIBUTE_SET = AttributeSets::Dev
|
|
677
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex xdp_features xdp_zc_max_segs xdp_rx_metadata_features xsk_features])
|
|
678
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
679
|
+
#--
|
|
680
|
+
# @rbs return: ::Integer
|
|
681
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
682
|
+
# Gets the value of `xdp-features` attribute in the message.
|
|
683
|
+
#--
|
|
684
|
+
# @rbs return: ::Integer
|
|
685
|
+
def xdp_features; attributes[:"xdp_features"]&.value; end
|
|
686
|
+
# Gets the value of `xdp-zc-max-segs` attribute in the message.
|
|
687
|
+
#--
|
|
688
|
+
# @rbs return: ::Integer
|
|
689
|
+
def xdp_zc_max_segs; attributes[:"xdp_zc_max_segs"]&.value; end
|
|
690
|
+
# Gets the value of `xdp-rx-metadata-features` attribute in the message.
|
|
691
|
+
#--
|
|
692
|
+
# @rbs return: ::Integer
|
|
693
|
+
def xdp_rx_metadata_features; attributes[:"xdp_rx_metadata_features"]&.value; end
|
|
694
|
+
# Gets the value of `xsk-features` attribute in the message.
|
|
695
|
+
#--
|
|
696
|
+
# @rbs return: ::Integer
|
|
697
|
+
def xsk_features; attributes[:"xsk_features"]&.value; end
|
|
698
|
+
end
|
|
699
|
+
# Get / dump information about a netdev.
|
|
700
|
+
class DumpDevGetReply < ::Nl::Protocols::Genl::Message
|
|
701
|
+
TYPE = 1
|
|
702
|
+
FIXED_HEADER = nil
|
|
703
|
+
ATTRIBUTE_SET = AttributeSets::Dev
|
|
704
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex xdp_features xdp_zc_max_segs xdp_rx_metadata_features xsk_features])
|
|
705
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
706
|
+
#--
|
|
707
|
+
# @rbs return: ::Integer
|
|
708
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
709
|
+
# Gets the value of `xdp-features` attribute in the message.
|
|
710
|
+
#--
|
|
711
|
+
# @rbs return: ::Integer
|
|
712
|
+
def xdp_features; attributes[:"xdp_features"]&.value; end
|
|
713
|
+
# Gets the value of `xdp-zc-max-segs` attribute in the message.
|
|
714
|
+
#--
|
|
715
|
+
# @rbs return: ::Integer
|
|
716
|
+
def xdp_zc_max_segs; attributes[:"xdp_zc_max_segs"]&.value; end
|
|
717
|
+
# Gets the value of `xdp-rx-metadata-features` attribute in the message.
|
|
718
|
+
#--
|
|
719
|
+
# @rbs return: ::Integer
|
|
720
|
+
def xdp_rx_metadata_features; attributes[:"xdp_rx_metadata_features"]&.value; end
|
|
721
|
+
# Gets the value of `xsk-features` attribute in the message.
|
|
722
|
+
#--
|
|
723
|
+
# @rbs return: ::Integer
|
|
724
|
+
def xsk_features; attributes[:"xsk_features"]&.value; end
|
|
725
|
+
end
|
|
726
|
+
# Get / dump information about Page Pools.
|
|
727
|
+
# Only Page Pools associated by the driver with a net_device
|
|
728
|
+
# can be listed. ifindex will not be reported if the net_device
|
|
729
|
+
# no longer exists.
|
|
730
|
+
class DoPagePoolGetRequest < ::Nl::Protocols::Genl::Message
|
|
731
|
+
TYPE = 5
|
|
732
|
+
FIXED_HEADER = nil
|
|
733
|
+
ATTRIBUTE_SET = AttributeSets::PagePool
|
|
734
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id])
|
|
735
|
+
# Gets the value of `id` attribute in the message.
|
|
736
|
+
#--
|
|
737
|
+
# @rbs return: ::Integer
|
|
738
|
+
def id; attributes[:"id"]&.value; end
|
|
739
|
+
end
|
|
740
|
+
# Get / dump information about Page Pools.
|
|
741
|
+
# Only Page Pools associated by the driver with a net_device
|
|
742
|
+
# can be listed. ifindex will not be reported if the net_device
|
|
743
|
+
# no longer exists.
|
|
744
|
+
class DoPagePoolGetReply < ::Nl::Protocols::Genl::Message
|
|
745
|
+
TYPE = 5
|
|
746
|
+
FIXED_HEADER = nil
|
|
747
|
+
ATTRIBUTE_SET = AttributeSets::PagePool
|
|
748
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id ifindex napi_id inflight inflight_mem detach_time dmabuf io_uring])
|
|
749
|
+
# Gets the value of `id` attribute in the message.
|
|
750
|
+
#--
|
|
751
|
+
# @rbs return: ::Integer
|
|
752
|
+
def id; attributes[:"id"]&.value; end
|
|
753
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
754
|
+
#--
|
|
755
|
+
# @rbs return: ::Integer
|
|
756
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
757
|
+
# Gets the value of `napi-id` attribute in the message.
|
|
758
|
+
#--
|
|
759
|
+
# @rbs return: ::Integer
|
|
760
|
+
def napi_id; attributes[:"napi_id"]&.value; end
|
|
761
|
+
# Gets the value of `inflight` attribute in the message.
|
|
762
|
+
#--
|
|
763
|
+
# @rbs return: ::Integer
|
|
764
|
+
def inflight; attributes[:"inflight"]&.value; end
|
|
765
|
+
# Gets the value of `inflight-mem` attribute in the message.
|
|
766
|
+
#--
|
|
767
|
+
# @rbs return: ::Integer
|
|
768
|
+
def inflight_mem; attributes[:"inflight_mem"]&.value; end
|
|
769
|
+
# Gets the value of `detach-time` attribute in the message.
|
|
770
|
+
#--
|
|
771
|
+
# @rbs return: ::Integer
|
|
772
|
+
def detach_time; attributes[:"detach_time"]&.value; end
|
|
773
|
+
# Gets the value of `dmabuf` attribute in the message.
|
|
774
|
+
#--
|
|
775
|
+
# @rbs return: ::Integer
|
|
776
|
+
def dmabuf; attributes[:"dmabuf"]&.value; end
|
|
777
|
+
# Gets the value of `io-uring` attribute in the message.
|
|
778
|
+
#--
|
|
779
|
+
# @rbs return: AttributeSets::IoUringProviderInfo
|
|
780
|
+
def io_uring; attributes[:"io_uring"]&.value; end
|
|
781
|
+
end
|
|
782
|
+
# Get / dump information about Page Pools.
|
|
783
|
+
# Only Page Pools associated by the driver with a net_device
|
|
784
|
+
# can be listed. ifindex will not be reported if the net_device
|
|
785
|
+
# no longer exists.
|
|
786
|
+
class DumpPagePoolGetReply < ::Nl::Protocols::Genl::Message
|
|
787
|
+
TYPE = 5
|
|
788
|
+
FIXED_HEADER = nil
|
|
789
|
+
ATTRIBUTE_SET = AttributeSets::PagePool
|
|
790
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id ifindex napi_id inflight inflight_mem detach_time dmabuf io_uring])
|
|
791
|
+
# Gets the value of `id` attribute in the message.
|
|
792
|
+
#--
|
|
793
|
+
# @rbs return: ::Integer
|
|
794
|
+
def id; attributes[:"id"]&.value; end
|
|
795
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
796
|
+
#--
|
|
797
|
+
# @rbs return: ::Integer
|
|
798
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
799
|
+
# Gets the value of `napi-id` attribute in the message.
|
|
800
|
+
#--
|
|
801
|
+
# @rbs return: ::Integer
|
|
802
|
+
def napi_id; attributes[:"napi_id"]&.value; end
|
|
803
|
+
# Gets the value of `inflight` attribute in the message.
|
|
804
|
+
#--
|
|
805
|
+
# @rbs return: ::Integer
|
|
806
|
+
def inflight; attributes[:"inflight"]&.value; end
|
|
807
|
+
# Gets the value of `inflight-mem` attribute in the message.
|
|
808
|
+
#--
|
|
809
|
+
# @rbs return: ::Integer
|
|
810
|
+
def inflight_mem; attributes[:"inflight_mem"]&.value; end
|
|
811
|
+
# Gets the value of `detach-time` attribute in the message.
|
|
812
|
+
#--
|
|
813
|
+
# @rbs return: ::Integer
|
|
814
|
+
def detach_time; attributes[:"detach_time"]&.value; end
|
|
815
|
+
# Gets the value of `dmabuf` attribute in the message.
|
|
816
|
+
#--
|
|
817
|
+
# @rbs return: ::Integer
|
|
818
|
+
def dmabuf; attributes[:"dmabuf"]&.value; end
|
|
819
|
+
# Gets the value of `io-uring` attribute in the message.
|
|
820
|
+
#--
|
|
821
|
+
# @rbs return: AttributeSets::IoUringProviderInfo
|
|
822
|
+
def io_uring; attributes[:"io_uring"]&.value; end
|
|
823
|
+
end
|
|
824
|
+
# Get page pool statistics.
|
|
825
|
+
class DoPagePoolStatsGetRequest < ::Nl::Protocols::Genl::Message
|
|
826
|
+
TYPE = 9
|
|
827
|
+
FIXED_HEADER = nil
|
|
828
|
+
ATTRIBUTE_SET = AttributeSets::PagePoolStats
|
|
829
|
+
ATTRIBUTES = Ractor.make_shareable(%i[info])
|
|
830
|
+
# Gets the value of `info` attribute in the message.
|
|
831
|
+
#--
|
|
832
|
+
# @rbs return: AttributeSets::PagePoolInfo
|
|
833
|
+
def info; attributes[:"info"]&.value; end
|
|
834
|
+
end
|
|
835
|
+
# Get page pool statistics.
|
|
836
|
+
class DoPagePoolStatsGetReply < ::Nl::Protocols::Genl::Message
|
|
837
|
+
TYPE = 9
|
|
838
|
+
FIXED_HEADER = nil
|
|
839
|
+
ATTRIBUTE_SET = AttributeSets::PagePoolStats
|
|
840
|
+
ATTRIBUTES = Ractor.make_shareable(%i[info alloc_fast alloc_slow alloc_slow_high_order alloc_empty alloc_refill alloc_waive recycle_cached recycle_cache_full recycle_ring recycle_ring_full recycle_released_refcnt])
|
|
841
|
+
# Gets the value of `info` attribute in the message.
|
|
842
|
+
#--
|
|
843
|
+
# @rbs return: AttributeSets::PagePoolInfo
|
|
844
|
+
def info; attributes[:"info"]&.value; end
|
|
845
|
+
# Gets the value of `alloc-fast` attribute in the message.
|
|
846
|
+
#--
|
|
847
|
+
# @rbs return: ::Integer
|
|
848
|
+
def alloc_fast; attributes[:"alloc_fast"]&.value; end
|
|
849
|
+
# Gets the value of `alloc-slow` attribute in the message.
|
|
850
|
+
#--
|
|
851
|
+
# @rbs return: ::Integer
|
|
852
|
+
def alloc_slow; attributes[:"alloc_slow"]&.value; end
|
|
853
|
+
# Gets the value of `alloc-slow-high-order` attribute in the message.
|
|
854
|
+
#--
|
|
855
|
+
# @rbs return: ::Integer
|
|
856
|
+
def alloc_slow_high_order; attributes[:"alloc_slow_high_order"]&.value; end
|
|
857
|
+
# Gets the value of `alloc-empty` attribute in the message.
|
|
858
|
+
#--
|
|
859
|
+
# @rbs return: ::Integer
|
|
860
|
+
def alloc_empty; attributes[:"alloc_empty"]&.value; end
|
|
861
|
+
# Gets the value of `alloc-refill` attribute in the message.
|
|
862
|
+
#--
|
|
863
|
+
# @rbs return: ::Integer
|
|
864
|
+
def alloc_refill; attributes[:"alloc_refill"]&.value; end
|
|
865
|
+
# Gets the value of `alloc-waive` attribute in the message.
|
|
866
|
+
#--
|
|
867
|
+
# @rbs return: ::Integer
|
|
868
|
+
def alloc_waive; attributes[:"alloc_waive"]&.value; end
|
|
869
|
+
# Gets the value of `recycle-cached` attribute in the message.
|
|
870
|
+
#--
|
|
871
|
+
# @rbs return: ::Integer
|
|
872
|
+
def recycle_cached; attributes[:"recycle_cached"]&.value; end
|
|
873
|
+
# Gets the value of `recycle-cache-full` attribute in the message.
|
|
874
|
+
#--
|
|
875
|
+
# @rbs return: ::Integer
|
|
876
|
+
def recycle_cache_full; attributes[:"recycle_cache_full"]&.value; end
|
|
877
|
+
# Gets the value of `recycle-ring` attribute in the message.
|
|
878
|
+
#--
|
|
879
|
+
# @rbs return: ::Integer
|
|
880
|
+
def recycle_ring; attributes[:"recycle_ring"]&.value; end
|
|
881
|
+
# Gets the value of `recycle-ring-full` attribute in the message.
|
|
882
|
+
#--
|
|
883
|
+
# @rbs return: ::Integer
|
|
884
|
+
def recycle_ring_full; attributes[:"recycle_ring_full"]&.value; end
|
|
885
|
+
# Gets the value of `recycle-released-refcnt` attribute in the message.
|
|
886
|
+
#--
|
|
887
|
+
# @rbs return: ::Integer
|
|
888
|
+
def recycle_released_refcnt; attributes[:"recycle_released_refcnt"]&.value; end
|
|
889
|
+
end
|
|
890
|
+
# Get page pool statistics.
|
|
891
|
+
class DumpPagePoolStatsGetReply < ::Nl::Protocols::Genl::Message
|
|
892
|
+
TYPE = 9
|
|
893
|
+
FIXED_HEADER = nil
|
|
894
|
+
ATTRIBUTE_SET = AttributeSets::PagePoolStats
|
|
895
|
+
ATTRIBUTES = Ractor.make_shareable(%i[info alloc_fast alloc_slow alloc_slow_high_order alloc_empty alloc_refill alloc_waive recycle_cached recycle_cache_full recycle_ring recycle_ring_full recycle_released_refcnt])
|
|
896
|
+
# Gets the value of `info` attribute in the message.
|
|
897
|
+
#--
|
|
898
|
+
# @rbs return: AttributeSets::PagePoolInfo
|
|
899
|
+
def info; attributes[:"info"]&.value; end
|
|
900
|
+
# Gets the value of `alloc-fast` attribute in the message.
|
|
901
|
+
#--
|
|
902
|
+
# @rbs return: ::Integer
|
|
903
|
+
def alloc_fast; attributes[:"alloc_fast"]&.value; end
|
|
904
|
+
# Gets the value of `alloc-slow` attribute in the message.
|
|
905
|
+
#--
|
|
906
|
+
# @rbs return: ::Integer
|
|
907
|
+
def alloc_slow; attributes[:"alloc_slow"]&.value; end
|
|
908
|
+
# Gets the value of `alloc-slow-high-order` attribute in the message.
|
|
909
|
+
#--
|
|
910
|
+
# @rbs return: ::Integer
|
|
911
|
+
def alloc_slow_high_order; attributes[:"alloc_slow_high_order"]&.value; end
|
|
912
|
+
# Gets the value of `alloc-empty` attribute in the message.
|
|
913
|
+
#--
|
|
914
|
+
# @rbs return: ::Integer
|
|
915
|
+
def alloc_empty; attributes[:"alloc_empty"]&.value; end
|
|
916
|
+
# Gets the value of `alloc-refill` attribute in the message.
|
|
917
|
+
#--
|
|
918
|
+
# @rbs return: ::Integer
|
|
919
|
+
def alloc_refill; attributes[:"alloc_refill"]&.value; end
|
|
920
|
+
# Gets the value of `alloc-waive` attribute in the message.
|
|
921
|
+
#--
|
|
922
|
+
# @rbs return: ::Integer
|
|
923
|
+
def alloc_waive; attributes[:"alloc_waive"]&.value; end
|
|
924
|
+
# Gets the value of `recycle-cached` attribute in the message.
|
|
925
|
+
#--
|
|
926
|
+
# @rbs return: ::Integer
|
|
927
|
+
def recycle_cached; attributes[:"recycle_cached"]&.value; end
|
|
928
|
+
# Gets the value of `recycle-cache-full` attribute in the message.
|
|
929
|
+
#--
|
|
930
|
+
# @rbs return: ::Integer
|
|
931
|
+
def recycle_cache_full; attributes[:"recycle_cache_full"]&.value; end
|
|
932
|
+
# Gets the value of `recycle-ring` attribute in the message.
|
|
933
|
+
#--
|
|
934
|
+
# @rbs return: ::Integer
|
|
935
|
+
def recycle_ring; attributes[:"recycle_ring"]&.value; end
|
|
936
|
+
# Gets the value of `recycle-ring-full` attribute in the message.
|
|
937
|
+
#--
|
|
938
|
+
# @rbs return: ::Integer
|
|
939
|
+
def recycle_ring_full; attributes[:"recycle_ring_full"]&.value; end
|
|
940
|
+
# Gets the value of `recycle-released-refcnt` attribute in the message.
|
|
941
|
+
#--
|
|
942
|
+
# @rbs return: ::Integer
|
|
943
|
+
def recycle_released_refcnt; attributes[:"recycle_released_refcnt"]&.value; end
|
|
944
|
+
end
|
|
945
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
946
|
+
class DoQueueGetRequest < ::Nl::Protocols::Genl::Message
|
|
947
|
+
TYPE = 10
|
|
948
|
+
FIXED_HEADER = nil
|
|
949
|
+
ATTRIBUTE_SET = AttributeSets::Queue
|
|
950
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id ifindex type])
|
|
951
|
+
# Gets the value of `id` attribute in the message.
|
|
952
|
+
#--
|
|
953
|
+
# @rbs return: ::Integer
|
|
954
|
+
def id; attributes[:"id"]&.value; end
|
|
955
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
956
|
+
#--
|
|
957
|
+
# @rbs return: ::Integer
|
|
958
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
959
|
+
# Gets the value of `type` attribute in the message.
|
|
960
|
+
#--
|
|
961
|
+
# @rbs return: ::Integer
|
|
962
|
+
def type; attributes[:"type"]&.value; end
|
|
963
|
+
end
|
|
964
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
965
|
+
class DoQueueGetReply < ::Nl::Protocols::Genl::Message
|
|
966
|
+
TYPE = 10
|
|
967
|
+
FIXED_HEADER = nil
|
|
968
|
+
ATTRIBUTE_SET = AttributeSets::Queue
|
|
969
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id ifindex type napi_id dmabuf io_uring xsk])
|
|
970
|
+
# Gets the value of `id` attribute in the message.
|
|
971
|
+
#--
|
|
972
|
+
# @rbs return: ::Integer
|
|
973
|
+
def id; attributes[:"id"]&.value; end
|
|
974
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
975
|
+
#--
|
|
976
|
+
# @rbs return: ::Integer
|
|
977
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
978
|
+
# Gets the value of `type` attribute in the message.
|
|
979
|
+
#--
|
|
980
|
+
# @rbs return: ::Integer
|
|
981
|
+
def type; attributes[:"type"]&.value; end
|
|
982
|
+
# Gets the value of `napi-id` attribute in the message.
|
|
983
|
+
#--
|
|
984
|
+
# @rbs return: ::Integer
|
|
985
|
+
def napi_id; attributes[:"napi_id"]&.value; end
|
|
986
|
+
# Gets the value of `dmabuf` attribute in the message.
|
|
987
|
+
#--
|
|
988
|
+
# @rbs return: ::Integer
|
|
989
|
+
def dmabuf; attributes[:"dmabuf"]&.value; end
|
|
990
|
+
# Gets the value of `io-uring` attribute in the message.
|
|
991
|
+
#--
|
|
992
|
+
# @rbs return: AttributeSets::IoUringProviderInfo
|
|
993
|
+
def io_uring; attributes[:"io_uring"]&.value; end
|
|
994
|
+
# Gets the value of `xsk` attribute in the message.
|
|
995
|
+
#--
|
|
996
|
+
# @rbs return: AttributeSets::XskInfo
|
|
997
|
+
def xsk; attributes[:"xsk"]&.value; end
|
|
998
|
+
end
|
|
999
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
1000
|
+
class DumpQueueGetRequest < ::Nl::Protocols::Genl::Message
|
|
1001
|
+
TYPE = 10
|
|
1002
|
+
FIXED_HEADER = nil
|
|
1003
|
+
ATTRIBUTE_SET = AttributeSets::Queue
|
|
1004
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex])
|
|
1005
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1006
|
+
#--
|
|
1007
|
+
# @rbs return: ::Integer
|
|
1008
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1009
|
+
end
|
|
1010
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
1011
|
+
class DumpQueueGetReply < ::Nl::Protocols::Genl::Message
|
|
1012
|
+
TYPE = 10
|
|
1013
|
+
FIXED_HEADER = nil
|
|
1014
|
+
ATTRIBUTE_SET = AttributeSets::Queue
|
|
1015
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id ifindex type napi_id dmabuf io_uring xsk])
|
|
1016
|
+
# Gets the value of `id` attribute in the message.
|
|
1017
|
+
#--
|
|
1018
|
+
# @rbs return: ::Integer
|
|
1019
|
+
def id; attributes[:"id"]&.value; end
|
|
1020
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1021
|
+
#--
|
|
1022
|
+
# @rbs return: ::Integer
|
|
1023
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1024
|
+
# Gets the value of `type` attribute in the message.
|
|
1025
|
+
#--
|
|
1026
|
+
# @rbs return: ::Integer
|
|
1027
|
+
def type; attributes[:"type"]&.value; end
|
|
1028
|
+
# Gets the value of `napi-id` attribute in the message.
|
|
1029
|
+
#--
|
|
1030
|
+
# @rbs return: ::Integer
|
|
1031
|
+
def napi_id; attributes[:"napi_id"]&.value; end
|
|
1032
|
+
# Gets the value of `dmabuf` attribute in the message.
|
|
1033
|
+
#--
|
|
1034
|
+
# @rbs return: ::Integer
|
|
1035
|
+
def dmabuf; attributes[:"dmabuf"]&.value; end
|
|
1036
|
+
# Gets the value of `io-uring` attribute in the message.
|
|
1037
|
+
#--
|
|
1038
|
+
# @rbs return: AttributeSets::IoUringProviderInfo
|
|
1039
|
+
def io_uring; attributes[:"io_uring"]&.value; end
|
|
1040
|
+
# Gets the value of `xsk` attribute in the message.
|
|
1041
|
+
#--
|
|
1042
|
+
# @rbs return: AttributeSets::XskInfo
|
|
1043
|
+
def xsk; attributes[:"xsk"]&.value; end
|
|
1044
|
+
end
|
|
1045
|
+
# Get information about NAPI instances configured on the system.
|
|
1046
|
+
class DoNapiGetRequest < ::Nl::Protocols::Genl::Message
|
|
1047
|
+
TYPE = 11
|
|
1048
|
+
FIXED_HEADER = nil
|
|
1049
|
+
ATTRIBUTE_SET = AttributeSets::Napi
|
|
1050
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id])
|
|
1051
|
+
# Gets the value of `id` attribute in the message.
|
|
1052
|
+
#--
|
|
1053
|
+
# @rbs return: ::Integer
|
|
1054
|
+
def id; attributes[:"id"]&.value; end
|
|
1055
|
+
end
|
|
1056
|
+
# Get information about NAPI instances configured on the system.
|
|
1057
|
+
class DoNapiGetReply < ::Nl::Protocols::Genl::Message
|
|
1058
|
+
TYPE = 11
|
|
1059
|
+
FIXED_HEADER = nil
|
|
1060
|
+
ATTRIBUTE_SET = AttributeSets::Napi
|
|
1061
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex id irq pid defer_hard_irqs gro_flush_timeout irq_suspend_timeout threaded])
|
|
1062
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1063
|
+
#--
|
|
1064
|
+
# @rbs return: ::Integer
|
|
1065
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1066
|
+
# Gets the value of `id` attribute in the message.
|
|
1067
|
+
#--
|
|
1068
|
+
# @rbs return: ::Integer
|
|
1069
|
+
def id; attributes[:"id"]&.value; end
|
|
1070
|
+
# Gets the value of `irq` attribute in the message.
|
|
1071
|
+
#--
|
|
1072
|
+
# @rbs return: ::Integer
|
|
1073
|
+
def irq; attributes[:"irq"]&.value; end
|
|
1074
|
+
# Gets the value of `pid` attribute in the message.
|
|
1075
|
+
#--
|
|
1076
|
+
# @rbs return: ::Integer
|
|
1077
|
+
def pid; attributes[:"pid"]&.value; end
|
|
1078
|
+
# Gets the value of `defer-hard-irqs` attribute in the message.
|
|
1079
|
+
#--
|
|
1080
|
+
# @rbs return: ::Integer
|
|
1081
|
+
def defer_hard_irqs; attributes[:"defer_hard_irqs"]&.value; end
|
|
1082
|
+
# Gets the value of `gro-flush-timeout` attribute in the message.
|
|
1083
|
+
#--
|
|
1084
|
+
# @rbs return: ::Integer
|
|
1085
|
+
def gro_flush_timeout; attributes[:"gro_flush_timeout"]&.value; end
|
|
1086
|
+
# Gets the value of `irq-suspend-timeout` attribute in the message.
|
|
1087
|
+
#--
|
|
1088
|
+
# @rbs return: ::Integer
|
|
1089
|
+
def irq_suspend_timeout; attributes[:"irq_suspend_timeout"]&.value; end
|
|
1090
|
+
# Gets the value of `threaded` attribute in the message.
|
|
1091
|
+
#--
|
|
1092
|
+
# @rbs return: ::Integer
|
|
1093
|
+
def threaded; attributes[:"threaded"]&.value; end
|
|
1094
|
+
end
|
|
1095
|
+
# Get information about NAPI instances configured on the system.
|
|
1096
|
+
class DumpNapiGetRequest < ::Nl::Protocols::Genl::Message
|
|
1097
|
+
TYPE = 11
|
|
1098
|
+
FIXED_HEADER = nil
|
|
1099
|
+
ATTRIBUTE_SET = AttributeSets::Napi
|
|
1100
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex])
|
|
1101
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1102
|
+
#--
|
|
1103
|
+
# @rbs return: ::Integer
|
|
1104
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1105
|
+
end
|
|
1106
|
+
# Get information about NAPI instances configured on the system.
|
|
1107
|
+
class DumpNapiGetReply < ::Nl::Protocols::Genl::Message
|
|
1108
|
+
TYPE = 11
|
|
1109
|
+
FIXED_HEADER = nil
|
|
1110
|
+
ATTRIBUTE_SET = AttributeSets::Napi
|
|
1111
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex id irq pid defer_hard_irqs gro_flush_timeout irq_suspend_timeout threaded])
|
|
1112
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1113
|
+
#--
|
|
1114
|
+
# @rbs return: ::Integer
|
|
1115
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1116
|
+
# Gets the value of `id` attribute in the message.
|
|
1117
|
+
#--
|
|
1118
|
+
# @rbs return: ::Integer
|
|
1119
|
+
def id; attributes[:"id"]&.value; end
|
|
1120
|
+
# Gets the value of `irq` attribute in the message.
|
|
1121
|
+
#--
|
|
1122
|
+
# @rbs return: ::Integer
|
|
1123
|
+
def irq; attributes[:"irq"]&.value; end
|
|
1124
|
+
# Gets the value of `pid` attribute in the message.
|
|
1125
|
+
#--
|
|
1126
|
+
# @rbs return: ::Integer
|
|
1127
|
+
def pid; attributes[:"pid"]&.value; end
|
|
1128
|
+
# Gets the value of `defer-hard-irqs` attribute in the message.
|
|
1129
|
+
#--
|
|
1130
|
+
# @rbs return: ::Integer
|
|
1131
|
+
def defer_hard_irqs; attributes[:"defer_hard_irqs"]&.value; end
|
|
1132
|
+
# Gets the value of `gro-flush-timeout` attribute in the message.
|
|
1133
|
+
#--
|
|
1134
|
+
# @rbs return: ::Integer
|
|
1135
|
+
def gro_flush_timeout; attributes[:"gro_flush_timeout"]&.value; end
|
|
1136
|
+
# Gets the value of `irq-suspend-timeout` attribute in the message.
|
|
1137
|
+
#--
|
|
1138
|
+
# @rbs return: ::Integer
|
|
1139
|
+
def irq_suspend_timeout; attributes[:"irq_suspend_timeout"]&.value; end
|
|
1140
|
+
# Gets the value of `threaded` attribute in the message.
|
|
1141
|
+
#--
|
|
1142
|
+
# @rbs return: ::Integer
|
|
1143
|
+
def threaded; attributes[:"threaded"]&.value; end
|
|
1144
|
+
end
|
|
1145
|
+
# Get / dump fine grained statistics. Which statistics are reported
|
|
1146
|
+
# depends on the device and the driver, and whether the driver stores
|
|
1147
|
+
# software counters per-queue.
|
|
1148
|
+
class DumpQstatsGetRequest < ::Nl::Protocols::Genl::Message
|
|
1149
|
+
TYPE = 12
|
|
1150
|
+
FIXED_HEADER = nil
|
|
1151
|
+
ATTRIBUTE_SET = AttributeSets::Qstats
|
|
1152
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex scope])
|
|
1153
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1154
|
+
#--
|
|
1155
|
+
# @rbs return: ::Integer
|
|
1156
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1157
|
+
# Gets the value of `scope` attribute in the message.
|
|
1158
|
+
#--
|
|
1159
|
+
# @rbs return: ::Integer
|
|
1160
|
+
def scope; attributes[:"scope"]&.value; end
|
|
1161
|
+
end
|
|
1162
|
+
# Get / dump fine grained statistics. Which statistics are reported
|
|
1163
|
+
# depends on the device and the driver, and whether the driver stores
|
|
1164
|
+
# software counters per-queue.
|
|
1165
|
+
class DumpQstatsGetReply < ::Nl::Protocols::Genl::Message
|
|
1166
|
+
TYPE = 12
|
|
1167
|
+
FIXED_HEADER = nil
|
|
1168
|
+
ATTRIBUTE_SET = AttributeSets::Qstats
|
|
1169
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex queue_type queue_id rx_packets rx_bytes tx_packets tx_bytes rx_alloc_fail rx_hw_drops rx_hw_drop_overruns rx_csum_complete rx_csum_unnecessary rx_csum_none rx_csum_bad rx_hw_gro_packets rx_hw_gro_bytes rx_hw_gro_wire_packets rx_hw_gro_wire_bytes rx_hw_drop_ratelimits tx_hw_drops tx_hw_drop_errors tx_csum_none tx_needs_csum tx_hw_gso_packets tx_hw_gso_bytes tx_hw_gso_wire_packets tx_hw_gso_wire_bytes tx_hw_drop_ratelimits tx_stop tx_wake])
|
|
1170
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1171
|
+
#--
|
|
1172
|
+
# @rbs return: ::Integer
|
|
1173
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1174
|
+
# Gets the value of `queue-type` attribute in the message.
|
|
1175
|
+
#--
|
|
1176
|
+
# @rbs return: ::Integer
|
|
1177
|
+
def queue_type; attributes[:"queue_type"]&.value; end
|
|
1178
|
+
# Gets the value of `queue-id` attribute in the message.
|
|
1179
|
+
#--
|
|
1180
|
+
# @rbs return: ::Integer
|
|
1181
|
+
def queue_id; attributes[:"queue_id"]&.value; end
|
|
1182
|
+
# Gets the value of `rx-packets` attribute in the message.
|
|
1183
|
+
#--
|
|
1184
|
+
# @rbs return: ::Integer
|
|
1185
|
+
def rx_packets; attributes[:"rx_packets"]&.value; end
|
|
1186
|
+
# Gets the value of `rx-bytes` attribute in the message.
|
|
1187
|
+
#--
|
|
1188
|
+
# @rbs return: ::Integer
|
|
1189
|
+
def rx_bytes; attributes[:"rx_bytes"]&.value; end
|
|
1190
|
+
# Gets the value of `tx-packets` attribute in the message.
|
|
1191
|
+
#--
|
|
1192
|
+
# @rbs return: ::Integer
|
|
1193
|
+
def tx_packets; attributes[:"tx_packets"]&.value; end
|
|
1194
|
+
# Gets the value of `tx-bytes` attribute in the message.
|
|
1195
|
+
#--
|
|
1196
|
+
# @rbs return: ::Integer
|
|
1197
|
+
def tx_bytes; attributes[:"tx_bytes"]&.value; end
|
|
1198
|
+
# Gets the value of `rx-alloc-fail` attribute in the message.
|
|
1199
|
+
#--
|
|
1200
|
+
# @rbs return: ::Integer
|
|
1201
|
+
def rx_alloc_fail; attributes[:"rx_alloc_fail"]&.value; end
|
|
1202
|
+
# Gets the value of `rx-hw-drops` attribute in the message.
|
|
1203
|
+
#--
|
|
1204
|
+
# @rbs return: ::Integer
|
|
1205
|
+
def rx_hw_drops; attributes[:"rx_hw_drops"]&.value; end
|
|
1206
|
+
# Gets the value of `rx-hw-drop-overruns` attribute in the message.
|
|
1207
|
+
#--
|
|
1208
|
+
# @rbs return: ::Integer
|
|
1209
|
+
def rx_hw_drop_overruns; attributes[:"rx_hw_drop_overruns"]&.value; end
|
|
1210
|
+
# Gets the value of `rx-csum-complete` attribute in the message.
|
|
1211
|
+
#--
|
|
1212
|
+
# @rbs return: ::Integer
|
|
1213
|
+
def rx_csum_complete; attributes[:"rx_csum_complete"]&.value; end
|
|
1214
|
+
# Gets the value of `rx-csum-unnecessary` attribute in the message.
|
|
1215
|
+
#--
|
|
1216
|
+
# @rbs return: ::Integer
|
|
1217
|
+
def rx_csum_unnecessary; attributes[:"rx_csum_unnecessary"]&.value; end
|
|
1218
|
+
# Gets the value of `rx-csum-none` attribute in the message.
|
|
1219
|
+
#--
|
|
1220
|
+
# @rbs return: ::Integer
|
|
1221
|
+
def rx_csum_none; attributes[:"rx_csum_none"]&.value; end
|
|
1222
|
+
# Gets the value of `rx-csum-bad` attribute in the message.
|
|
1223
|
+
#--
|
|
1224
|
+
# @rbs return: ::Integer
|
|
1225
|
+
def rx_csum_bad; attributes[:"rx_csum_bad"]&.value; end
|
|
1226
|
+
# Gets the value of `rx-hw-gro-packets` attribute in the message.
|
|
1227
|
+
#--
|
|
1228
|
+
# @rbs return: ::Integer
|
|
1229
|
+
def rx_hw_gro_packets; attributes[:"rx_hw_gro_packets"]&.value; end
|
|
1230
|
+
# Gets the value of `rx-hw-gro-bytes` attribute in the message.
|
|
1231
|
+
#--
|
|
1232
|
+
# @rbs return: ::Integer
|
|
1233
|
+
def rx_hw_gro_bytes; attributes[:"rx_hw_gro_bytes"]&.value; end
|
|
1234
|
+
# Gets the value of `rx-hw-gro-wire-packets` attribute in the message.
|
|
1235
|
+
#--
|
|
1236
|
+
# @rbs return: ::Integer
|
|
1237
|
+
def rx_hw_gro_wire_packets; attributes[:"rx_hw_gro_wire_packets"]&.value; end
|
|
1238
|
+
# Gets the value of `rx-hw-gro-wire-bytes` attribute in the message.
|
|
1239
|
+
#--
|
|
1240
|
+
# @rbs return: ::Integer
|
|
1241
|
+
def rx_hw_gro_wire_bytes; attributes[:"rx_hw_gro_wire_bytes"]&.value; end
|
|
1242
|
+
# Gets the value of `rx-hw-drop-ratelimits` attribute in the message.
|
|
1243
|
+
#--
|
|
1244
|
+
# @rbs return: ::Integer
|
|
1245
|
+
def rx_hw_drop_ratelimits; attributes[:"rx_hw_drop_ratelimits"]&.value; end
|
|
1246
|
+
# Gets the value of `tx-hw-drops` attribute in the message.
|
|
1247
|
+
#--
|
|
1248
|
+
# @rbs return: ::Integer
|
|
1249
|
+
def tx_hw_drops; attributes[:"tx_hw_drops"]&.value; end
|
|
1250
|
+
# Gets the value of `tx-hw-drop-errors` attribute in the message.
|
|
1251
|
+
#--
|
|
1252
|
+
# @rbs return: ::Integer
|
|
1253
|
+
def tx_hw_drop_errors; attributes[:"tx_hw_drop_errors"]&.value; end
|
|
1254
|
+
# Gets the value of `tx-csum-none` attribute in the message.
|
|
1255
|
+
#--
|
|
1256
|
+
# @rbs return: ::Integer
|
|
1257
|
+
def tx_csum_none; attributes[:"tx_csum_none"]&.value; end
|
|
1258
|
+
# Gets the value of `tx-needs-csum` attribute in the message.
|
|
1259
|
+
#--
|
|
1260
|
+
# @rbs return: ::Integer
|
|
1261
|
+
def tx_needs_csum; attributes[:"tx_needs_csum"]&.value; end
|
|
1262
|
+
# Gets the value of `tx-hw-gso-packets` attribute in the message.
|
|
1263
|
+
#--
|
|
1264
|
+
# @rbs return: ::Integer
|
|
1265
|
+
def tx_hw_gso_packets; attributes[:"tx_hw_gso_packets"]&.value; end
|
|
1266
|
+
# Gets the value of `tx-hw-gso-bytes` attribute in the message.
|
|
1267
|
+
#--
|
|
1268
|
+
# @rbs return: ::Integer
|
|
1269
|
+
def tx_hw_gso_bytes; attributes[:"tx_hw_gso_bytes"]&.value; end
|
|
1270
|
+
# Gets the value of `tx-hw-gso-wire-packets` attribute in the message.
|
|
1271
|
+
#--
|
|
1272
|
+
# @rbs return: ::Integer
|
|
1273
|
+
def tx_hw_gso_wire_packets; attributes[:"tx_hw_gso_wire_packets"]&.value; end
|
|
1274
|
+
# Gets the value of `tx-hw-gso-wire-bytes` attribute in the message.
|
|
1275
|
+
#--
|
|
1276
|
+
# @rbs return: ::Integer
|
|
1277
|
+
def tx_hw_gso_wire_bytes; attributes[:"tx_hw_gso_wire_bytes"]&.value; end
|
|
1278
|
+
# Gets the value of `tx-hw-drop-ratelimits` attribute in the message.
|
|
1279
|
+
#--
|
|
1280
|
+
# @rbs return: ::Integer
|
|
1281
|
+
def tx_hw_drop_ratelimits; attributes[:"tx_hw_drop_ratelimits"]&.value; end
|
|
1282
|
+
# Gets the value of `tx-stop` attribute in the message.
|
|
1283
|
+
#--
|
|
1284
|
+
# @rbs return: ::Integer
|
|
1285
|
+
def tx_stop; attributes[:"tx_stop"]&.value; end
|
|
1286
|
+
# Gets the value of `tx-wake` attribute in the message.
|
|
1287
|
+
#--
|
|
1288
|
+
# @rbs return: ::Integer
|
|
1289
|
+
def tx_wake; attributes[:"tx_wake"]&.value; end
|
|
1290
|
+
end
|
|
1291
|
+
# Bind dmabuf to netdev
|
|
1292
|
+
class DoBindRxRequest < ::Nl::Protocols::Genl::Message
|
|
1293
|
+
TYPE = 13
|
|
1294
|
+
FIXED_HEADER = nil
|
|
1295
|
+
ATTRIBUTE_SET = AttributeSets::Dmabuf
|
|
1296
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex queues fd])
|
|
1297
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1298
|
+
#--
|
|
1299
|
+
# @rbs return: ::Integer
|
|
1300
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1301
|
+
# Gets the value of `queues` attribute in the message.
|
|
1302
|
+
#--
|
|
1303
|
+
# @rbs return: AttributeSets::QueueId
|
|
1304
|
+
def queues; attributes[:"queues"]&.value; end
|
|
1305
|
+
# Gets the value of `fd` attribute in the message.
|
|
1306
|
+
#--
|
|
1307
|
+
# @rbs return: ::Integer
|
|
1308
|
+
def fd; attributes[:"fd"]&.value; end
|
|
1309
|
+
end
|
|
1310
|
+
# Bind dmabuf to netdev
|
|
1311
|
+
class DoBindRxReply < ::Nl::Protocols::Genl::Message
|
|
1312
|
+
TYPE = 13
|
|
1313
|
+
FIXED_HEADER = nil
|
|
1314
|
+
ATTRIBUTE_SET = AttributeSets::Dmabuf
|
|
1315
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id])
|
|
1316
|
+
# Gets the value of `id` attribute in the message.
|
|
1317
|
+
#--
|
|
1318
|
+
# @rbs return: ::Integer
|
|
1319
|
+
def id; attributes[:"id"]&.value; end
|
|
1320
|
+
end
|
|
1321
|
+
# Set configurable NAPI instance settings.
|
|
1322
|
+
class DoNapiSetRequest < ::Nl::Protocols::Genl::Message
|
|
1323
|
+
TYPE = 14
|
|
1324
|
+
FIXED_HEADER = nil
|
|
1325
|
+
ATTRIBUTE_SET = AttributeSets::Napi
|
|
1326
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id defer_hard_irqs gro_flush_timeout irq_suspend_timeout threaded])
|
|
1327
|
+
# Gets the value of `id` attribute in the message.
|
|
1328
|
+
#--
|
|
1329
|
+
# @rbs return: ::Integer
|
|
1330
|
+
def id; attributes[:"id"]&.value; end
|
|
1331
|
+
# Gets the value of `defer-hard-irqs` attribute in the message.
|
|
1332
|
+
#--
|
|
1333
|
+
# @rbs return: ::Integer
|
|
1334
|
+
def defer_hard_irqs; attributes[:"defer_hard_irqs"]&.value; end
|
|
1335
|
+
# Gets the value of `gro-flush-timeout` attribute in the message.
|
|
1336
|
+
#--
|
|
1337
|
+
# @rbs return: ::Integer
|
|
1338
|
+
def gro_flush_timeout; attributes[:"gro_flush_timeout"]&.value; end
|
|
1339
|
+
# Gets the value of `irq-suspend-timeout` attribute in the message.
|
|
1340
|
+
#--
|
|
1341
|
+
# @rbs return: ::Integer
|
|
1342
|
+
def irq_suspend_timeout; attributes[:"irq_suspend_timeout"]&.value; end
|
|
1343
|
+
# Gets the value of `threaded` attribute in the message.
|
|
1344
|
+
#--
|
|
1345
|
+
# @rbs return: ::Integer
|
|
1346
|
+
def threaded; attributes[:"threaded"]&.value; end
|
|
1347
|
+
end
|
|
1348
|
+
# Bind dmabuf to netdev for TX
|
|
1349
|
+
class DoBindTxRequest < ::Nl::Protocols::Genl::Message
|
|
1350
|
+
TYPE = 15
|
|
1351
|
+
FIXED_HEADER = nil
|
|
1352
|
+
ATTRIBUTE_SET = AttributeSets::Dmabuf
|
|
1353
|
+
ATTRIBUTES = Ractor.make_shareable(%i[ifindex fd])
|
|
1354
|
+
# Gets the value of `ifindex` attribute in the message.
|
|
1355
|
+
#--
|
|
1356
|
+
# @rbs return: ::Integer
|
|
1357
|
+
def ifindex; attributes[:"ifindex"]&.value; end
|
|
1358
|
+
# Gets the value of `fd` attribute in the message.
|
|
1359
|
+
#--
|
|
1360
|
+
# @rbs return: ::Integer
|
|
1361
|
+
def fd; attributes[:"fd"]&.value; end
|
|
1362
|
+
end
|
|
1363
|
+
# Bind dmabuf to netdev for TX
|
|
1364
|
+
class DoBindTxReply < ::Nl::Protocols::Genl::Message
|
|
1365
|
+
TYPE = 15
|
|
1366
|
+
FIXED_HEADER = nil
|
|
1367
|
+
ATTRIBUTE_SET = AttributeSets::Dmabuf
|
|
1368
|
+
ATTRIBUTES = Ractor.make_shareable(%i[id])
|
|
1369
|
+
# Gets the value of `id` attribute in the message.
|
|
1370
|
+
#--
|
|
1371
|
+
# @rbs return: ::Integer
|
|
1372
|
+
def id; attributes[:"id"]&.value; end
|
|
1373
|
+
end
|
|
1374
|
+
end
|
|
1375
|
+
# Get / dump information about a netdev.
|
|
1376
|
+
#--
|
|
1377
|
+
# @rbs (?ifindex: ::Integer) -> Messages::DoDevGetReply
|
|
1378
|
+
def do_dev_get(**args)
|
|
1379
|
+
exchange_message(:"do", Messages::DoDevGetRequest, Messages::DoDevGetReply, args)
|
|
1380
|
+
end
|
|
1381
|
+
# Get / dump information about Page Pools.
|
|
1382
|
+
# Only Page Pools associated by the driver with a net_device
|
|
1383
|
+
# can be listed. ifindex will not be reported if the net_device
|
|
1384
|
+
# no longer exists.
|
|
1385
|
+
#--
|
|
1386
|
+
# @rbs (?id: ::Integer) -> Messages::DoPagePoolGetReply
|
|
1387
|
+
def do_page_pool_get(**args)
|
|
1388
|
+
exchange_message(:"do", Messages::DoPagePoolGetRequest, Messages::DoPagePoolGetReply, args)
|
|
1389
|
+
end
|
|
1390
|
+
# Get page pool statistics.
|
|
1391
|
+
#--
|
|
1392
|
+
# @rbs (?info: AttributeSets::PagePoolInfo) -> Messages::DoPagePoolStatsGetReply
|
|
1393
|
+
def do_page_pool_stats_get(**args)
|
|
1394
|
+
exchange_message(:"do", Messages::DoPagePoolStatsGetRequest, Messages::DoPagePoolStatsGetReply, args)
|
|
1395
|
+
end
|
|
1396
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
1397
|
+
#--
|
|
1398
|
+
# @rbs (?id: ::Integer, ?ifindex: ::Integer, ?type: ::Integer) -> Messages::DoQueueGetReply
|
|
1399
|
+
def do_queue_get(**args)
|
|
1400
|
+
exchange_message(:"do", Messages::DoQueueGetRequest, Messages::DoQueueGetReply, args)
|
|
1401
|
+
end
|
|
1402
|
+
# Get queue information from the kernel. Only configured queues will be reported (as opposed to all available hardware queues).
|
|
1403
|
+
#--
|
|
1404
|
+
# @rbs (?ifindex: ::Integer) -> Enumerable[Messages::DumpQueueGetReply]
|
|
1405
|
+
# | (?ifindex: ::Integer) { (Messages::DumpQueueGetReply) -> void } -> void
|
|
1406
|
+
def dump_queue_get(**args, &block)
|
|
1407
|
+
exchange_message(:"dump", Messages::DumpQueueGetRequest, Messages::DumpQueueGetReply, args, &block)
|
|
1408
|
+
end
|
|
1409
|
+
# Get information about NAPI instances configured on the system.
|
|
1410
|
+
#--
|
|
1411
|
+
# @rbs (?id: ::Integer) -> Messages::DoNapiGetReply
|
|
1412
|
+
def do_napi_get(**args)
|
|
1413
|
+
exchange_message(:"do", Messages::DoNapiGetRequest, Messages::DoNapiGetReply, args)
|
|
1414
|
+
end
|
|
1415
|
+
# Get information about NAPI instances configured on the system.
|
|
1416
|
+
#--
|
|
1417
|
+
# @rbs (?ifindex: ::Integer) -> Enumerable[Messages::DumpNapiGetReply]
|
|
1418
|
+
# | (?ifindex: ::Integer) { (Messages::DumpNapiGetReply) -> void } -> void
|
|
1419
|
+
def dump_napi_get(**args, &block)
|
|
1420
|
+
exchange_message(:"dump", Messages::DumpNapiGetRequest, Messages::DumpNapiGetReply, args, &block)
|
|
1421
|
+
end
|
|
1422
|
+
# Get / dump fine grained statistics. Which statistics are reported
|
|
1423
|
+
# depends on the device and the driver, and whether the driver stores
|
|
1424
|
+
# software counters per-queue.
|
|
1425
|
+
#--
|
|
1426
|
+
# @rbs (?ifindex: ::Integer, ?scope: ::Integer) -> Enumerable[Messages::DumpQstatsGetReply]
|
|
1427
|
+
# | (?ifindex: ::Integer, ?scope: ::Integer) { (Messages::DumpQstatsGetReply) -> void } -> void
|
|
1428
|
+
def dump_qstats_get(**args, &block)
|
|
1429
|
+
exchange_message(:"dump", Messages::DumpQstatsGetRequest, Messages::DumpQstatsGetReply, args, &block)
|
|
1430
|
+
end
|
|
1431
|
+
# Bind dmabuf to netdev
|
|
1432
|
+
#--
|
|
1433
|
+
# @rbs (?ifindex: ::Integer, ?queues: AttributeSets::QueueId, ?fd: ::Integer) -> Messages::DoBindRxReply
|
|
1434
|
+
def do_bind_rx(**args)
|
|
1435
|
+
exchange_message(:"do", Messages::DoBindRxRequest, Messages::DoBindRxReply, args)
|
|
1436
|
+
end
|
|
1437
|
+
# Set configurable NAPI instance settings.
|
|
1438
|
+
#--
|
|
1439
|
+
# @rbs (?id: ::Integer, ?defer_hard_irqs: ::Integer, ?gro_flush_timeout: ::Integer, ?irq_suspend_timeout: ::Integer, ?threaded: ::Integer) -> void
|
|
1440
|
+
def do_napi_set(**args)
|
|
1441
|
+
exchange_message(:"do", Messages::DoNapiSetRequest, nil, args)
|
|
1442
|
+
end
|
|
1443
|
+
# Bind dmabuf to netdev for TX
|
|
1444
|
+
#--
|
|
1445
|
+
# @rbs (?ifindex: ::Integer, ?fd: ::Integer) -> Messages::DoBindTxReply
|
|
1446
|
+
def do_bind_tx(**args)
|
|
1447
|
+
exchange_message(:"do", Messages::DoBindTxRequest, Messages::DoBindTxReply, args)
|
|
1448
|
+
end
|
|
1449
|
+
end
|
|
1450
|
+
end; end
|