nl-linux 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4611 @@
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
+ # Link configuration over rtnetlink.
8
+ class Nl::Linux::RtLink < ::Nl::Family
9
+ NAME = "rt-link"
10
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-link", 0))
11
+ module Structs
12
+ Rtgenmsg = Struct.new(
13
+ :"family", #: ::Integer
14
+ )
15
+ class Rtgenmsg
16
+ # :nodoc:
17
+ MEMBERS = Ractor.make_shareable({family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
18
+ # Decodes the struct.
19
+ #--
20
+ # @rbs decoder: ::Nl::Decoder
21
+ # @rbs return: instance
22
+ def self.decode(decoder)
23
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
24
+ end
25
+ # Encodes the struct.
26
+ #--
27
+ # @rbs encoder: ::Nl::Encoder
28
+ # @rbs return: void
29
+ def encode(encoder)
30
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
31
+ end
32
+ end
33
+ Ifinfomsg = Struct.new(
34
+ :"ifi_family", #: ::Integer
35
+ :"pad", #: nil
36
+ :"ifi_type", #: ::Integer
37
+ :"ifi_index", #: ::Integer
38
+ :"ifi_flags", #: ::Integer
39
+ :"ifi_change", #: ::Integer
40
+ )
41
+ class Ifinfomsg
42
+ # :nodoc:
43
+ MEMBERS = Ractor.make_shareable({ifi_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), pad: ::Nl::Protocols::Raw::DataTypes::Pad.new(1), ifi_type: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), ifi_index: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), ifi_flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ifi_change: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
44
+ # Decodes the struct.
45
+ #--
46
+ # @rbs decoder: ::Nl::Decoder
47
+ # @rbs return: instance
48
+ def self.decode(decoder)
49
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
50
+ end
51
+ # Encodes the struct.
52
+ #--
53
+ # @rbs encoder: ::Nl::Encoder
54
+ # @rbs return: void
55
+ def encode(encoder)
56
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
57
+ end
58
+ end
59
+ IflaBridgeId = Struct.new(
60
+ :"prio", #: ::Integer
61
+ :"addr", #: untyped
62
+ )
63
+ class IflaBridgeId
64
+ # :nodoc:
65
+ MEMBERS = Ractor.make_shareable({prio: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), addr: ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
66
+ # Decodes the struct.
67
+ #--
68
+ # @rbs decoder: ::Nl::Decoder
69
+ # @rbs return: instance
70
+ def self.decode(decoder)
71
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
72
+ end
73
+ # Encodes the struct.
74
+ #--
75
+ # @rbs encoder: ::Nl::Encoder
76
+ # @rbs return: void
77
+ def encode(encoder)
78
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
79
+ end
80
+ end
81
+ IflaCacheinfo = Struct.new(
82
+ :"max_reasm_len", #: ::Integer
83
+ :"tstamp", #: ::Integer
84
+ :"reachable_time", #: ::Integer
85
+ :"retrans_time", #: ::Integer
86
+ )
87
+ class IflaCacheinfo
88
+ # :nodoc:
89
+ MEMBERS = Ractor.make_shareable({max_reasm_len: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tstamp: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), reachable_time: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), retrans_time: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
90
+ # Decodes the struct.
91
+ #--
92
+ # @rbs decoder: ::Nl::Decoder
93
+ # @rbs return: instance
94
+ def self.decode(decoder)
95
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
96
+ end
97
+ # Encodes the struct.
98
+ #--
99
+ # @rbs encoder: ::Nl::Encoder
100
+ # @rbs return: void
101
+ def encode(encoder)
102
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
103
+ end
104
+ end
105
+ RtnlLinkStats = Struct.new(
106
+ :"rx_packets", #: ::Integer
107
+ :"tx_packets", #: ::Integer
108
+ :"rx_bytes", #: ::Integer
109
+ :"tx_bytes", #: ::Integer
110
+ :"rx_errors", #: ::Integer
111
+ :"tx_errors", #: ::Integer
112
+ :"rx_dropped", #: ::Integer
113
+ :"tx_dropped", #: ::Integer
114
+ :"multicast", #: ::Integer
115
+ :"collisions", #: ::Integer
116
+ :"rx_length_errors", #: ::Integer
117
+ :"rx_over_errors", #: ::Integer
118
+ :"rx_crc_errors", #: ::Integer
119
+ :"rx_frame_errors", #: ::Integer
120
+ :"rx_fifo_errors", #: ::Integer
121
+ :"rx_missed_errors", #: ::Integer
122
+ :"tx_aborted_errors", #: ::Integer
123
+ :"tx_carrier_errors", #: ::Integer
124
+ :"tx_fifo_errors", #: ::Integer
125
+ :"tx_heartbeat_errors", #: ::Integer
126
+ :"tx_window_errors", #: ::Integer
127
+ :"rx_compressed", #: ::Integer
128
+ :"tx_compressed", #: ::Integer
129
+ :"rx_nohandler", #: ::Integer
130
+ )
131
+ class RtnlLinkStats
132
+ # :nodoc:
133
+ MEMBERS = Ractor.make_shareable({rx_packets: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_packets: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_bytes: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_bytes: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_dropped: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_dropped: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), multicast: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), collisions: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_length_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_over_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_crc_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_frame_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_fifo_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_missed_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_aborted_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_carrier_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_fifo_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_heartbeat_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_window_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_compressed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tx_compressed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rx_nohandler: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
134
+ # Decodes the struct.
135
+ #--
136
+ # @rbs decoder: ::Nl::Decoder
137
+ # @rbs return: instance
138
+ def self.decode(decoder)
139
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
140
+ end
141
+ # Encodes the struct.
142
+ #--
143
+ # @rbs encoder: ::Nl::Encoder
144
+ # @rbs return: void
145
+ def encode(encoder)
146
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
147
+ end
148
+ end
149
+ RtnlLinkStats64 = Struct.new(
150
+ :"rx_packets", #: ::Integer
151
+ :"tx_packets", #: ::Integer
152
+ :"rx_bytes", #: ::Integer
153
+ :"tx_bytes", #: ::Integer
154
+ :"rx_errors", #: ::Integer
155
+ :"tx_errors", #: ::Integer
156
+ :"rx_dropped", #: ::Integer
157
+ :"tx_dropped", #: ::Integer
158
+ :"multicast", #: ::Integer
159
+ :"collisions", #: ::Integer
160
+ :"rx_length_errors", #: ::Integer
161
+ :"rx_over_errors", #: ::Integer
162
+ :"rx_crc_errors", #: ::Integer
163
+ :"rx_frame_errors", #: ::Integer
164
+ :"rx_fifo_errors", #: ::Integer
165
+ :"rx_missed_errors", #: ::Integer
166
+ :"tx_aborted_errors", #: ::Integer
167
+ :"tx_carrier_errors", #: ::Integer
168
+ :"tx_fifo_errors", #: ::Integer
169
+ :"tx_heartbeat_errors", #: ::Integer
170
+ :"tx_window_errors", #: ::Integer
171
+ :"rx_compressed", #: ::Integer
172
+ :"tx_compressed", #: ::Integer
173
+ :"rx_nohandler", #: ::Integer
174
+ :"rx_otherhost_dropped", #: ::Integer
175
+ )
176
+ class RtnlLinkStats64
177
+ # :nodoc:
178
+ MEMBERS = Ractor.make_shareable({rx_packets: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_packets: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_bytes: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_bytes: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_dropped: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_dropped: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), multicast: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), collisions: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_length_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_over_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_crc_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_frame_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_fifo_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_missed_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_aborted_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_carrier_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_fifo_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_heartbeat_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_window_errors: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_compressed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), tx_compressed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_nohandler: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rx_otherhost_dropped: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
179
+ # Decodes the struct.
180
+ #--
181
+ # @rbs decoder: ::Nl::Decoder
182
+ # @rbs return: instance
183
+ def self.decode(decoder)
184
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
185
+ end
186
+ # Encodes the struct.
187
+ #--
188
+ # @rbs encoder: ::Nl::Encoder
189
+ # @rbs return: void
190
+ def encode(encoder)
191
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
192
+ end
193
+ end
194
+ RtnlLinkIfmap = Struct.new(
195
+ :"mem_start", #: ::Integer
196
+ :"mem_end", #: ::Integer
197
+ :"base_addr", #: ::Integer
198
+ :"irq", #: ::Integer
199
+ :"dma", #: ::Integer
200
+ :"port", #: ::Integer
201
+ )
202
+ class RtnlLinkIfmap
203
+ # :nodoc:
204
+ MEMBERS = Ractor.make_shareable({mem_start: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), mem_end: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), base_addr: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), irq: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), dma: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), port: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
205
+ # Decodes the struct.
206
+ #--
207
+ # @rbs decoder: ::Nl::Decoder
208
+ # @rbs return: instance
209
+ def self.decode(decoder)
210
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
211
+ end
212
+ # Encodes the struct.
213
+ #--
214
+ # @rbs encoder: ::Nl::Encoder
215
+ # @rbs return: void
216
+ def encode(encoder)
217
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
218
+ end
219
+ end
220
+ BrBooloptMulti = Struct.new(
221
+ :"optval", #: ::Integer
222
+ :"optmask", #: ::Integer
223
+ )
224
+ class BrBooloptMulti
225
+ # :nodoc:
226
+ MEMBERS = Ractor.make_shareable({optval: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), optmask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
227
+ # Decodes the struct.
228
+ #--
229
+ # @rbs decoder: ::Nl::Decoder
230
+ # @rbs return: instance
231
+ def self.decode(decoder)
232
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
233
+ end
234
+ # Encodes the struct.
235
+ #--
236
+ # @rbs encoder: ::Nl::Encoder
237
+ # @rbs return: void
238
+ def encode(encoder)
239
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
240
+ end
241
+ end
242
+ IfStatsMsg = Struct.new(
243
+ :"family", #: ::Integer
244
+ :"pad", #: nil
245
+ :"ifindex", #: ::Integer
246
+ :"filter_mask", #: ::Integer
247
+ )
248
+ class IfStatsMsg
249
+ # :nodoc:
250
+ MEMBERS = Ractor.make_shareable({family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), pad: ::Nl::Protocols::Raw::DataTypes::Pad.new(3), ifindex: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), filter_mask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
251
+ # Decodes the struct.
252
+ #--
253
+ # @rbs decoder: ::Nl::Decoder
254
+ # @rbs return: instance
255
+ def self.decode(decoder)
256
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
257
+ end
258
+ # Encodes the struct.
259
+ #--
260
+ # @rbs encoder: ::Nl::Encoder
261
+ # @rbs return: void
262
+ def encode(encoder)
263
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
264
+ end
265
+ end
266
+ IflaVlanFlags = Struct.new(
267
+ :"flags", #: ::Integer
268
+ :"mask", #: ::Integer
269
+ )
270
+ class IflaVlanFlags
271
+ # :nodoc:
272
+ MEMBERS = Ractor.make_shareable({flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), mask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
273
+ # Decodes the struct.
274
+ #--
275
+ # @rbs decoder: ::Nl::Decoder
276
+ # @rbs return: instance
277
+ def self.decode(decoder)
278
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
279
+ end
280
+ # Encodes the struct.
281
+ #--
282
+ # @rbs encoder: ::Nl::Encoder
283
+ # @rbs return: void
284
+ def encode(encoder)
285
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
286
+ end
287
+ end
288
+ IflaVlanQosMapping = Struct.new(
289
+ :"from", #: ::Integer
290
+ :"to", #: ::Integer
291
+ )
292
+ class IflaVlanQosMapping
293
+ # :nodoc:
294
+ MEMBERS = Ractor.make_shareable({from: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), to: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
295
+ # Decodes the struct.
296
+ #--
297
+ # @rbs decoder: ::Nl::Decoder
298
+ # @rbs return: instance
299
+ def self.decode(decoder)
300
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
301
+ end
302
+ # Encodes the struct.
303
+ #--
304
+ # @rbs encoder: ::Nl::Encoder
305
+ # @rbs return: void
306
+ def encode(encoder)
307
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
308
+ end
309
+ end
310
+ IflaGenevePortRange = Struct.new(
311
+ :"low", #: ::Integer
312
+ :"high", #: ::Integer
313
+ )
314
+ class IflaGenevePortRange
315
+ # :nodoc:
316
+ MEMBERS = Ractor.make_shareable({low: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil), high: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
317
+ # Decodes the struct.
318
+ #--
319
+ # @rbs decoder: ::Nl::Decoder
320
+ # @rbs return: instance
321
+ def self.decode(decoder)
322
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
323
+ end
324
+ # Encodes the struct.
325
+ #--
326
+ # @rbs encoder: ::Nl::Encoder
327
+ # @rbs return: void
328
+ def encode(encoder)
329
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
330
+ end
331
+ end
332
+ IflaVfMac = Struct.new(
333
+ :"vf", #: ::Integer
334
+ :"mac", #: untyped
335
+ )
336
+ class IflaVfMac
337
+ # :nodoc:
338
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), mac: ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
339
+ # Decodes the struct.
340
+ #--
341
+ # @rbs decoder: ::Nl::Decoder
342
+ # @rbs return: instance
343
+ def self.decode(decoder)
344
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
345
+ end
346
+ # Encodes the struct.
347
+ #--
348
+ # @rbs encoder: ::Nl::Encoder
349
+ # @rbs return: void
350
+ def encode(encoder)
351
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
352
+ end
353
+ end
354
+ IflaVfVlan = Struct.new(
355
+ :"vf", #: ::Integer
356
+ :"vlan", #: ::Integer
357
+ :"qos", #: ::Integer
358
+ )
359
+ class IflaVfVlan
360
+ # :nodoc:
361
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), vlan: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), qos: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
362
+ # Decodes the struct.
363
+ #--
364
+ # @rbs decoder: ::Nl::Decoder
365
+ # @rbs return: instance
366
+ def self.decode(decoder)
367
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
368
+ end
369
+ # Encodes the struct.
370
+ #--
371
+ # @rbs encoder: ::Nl::Encoder
372
+ # @rbs return: void
373
+ def encode(encoder)
374
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
375
+ end
376
+ end
377
+ IflaVfTxRate = Struct.new(
378
+ :"vf", #: ::Integer
379
+ :"rate", #: ::Integer
380
+ )
381
+ class IflaVfTxRate
382
+ # :nodoc:
383
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rate: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
384
+ # Decodes the struct.
385
+ #--
386
+ # @rbs decoder: ::Nl::Decoder
387
+ # @rbs return: instance
388
+ def self.decode(decoder)
389
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
390
+ end
391
+ # Encodes the struct.
392
+ #--
393
+ # @rbs encoder: ::Nl::Encoder
394
+ # @rbs return: void
395
+ def encode(encoder)
396
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
397
+ end
398
+ end
399
+ IflaVfSpoofchk = Struct.new(
400
+ :"vf", #: ::Integer
401
+ :"setting", #: ::Integer
402
+ )
403
+ class IflaVfSpoofchk
404
+ # :nodoc:
405
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), setting: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
406
+ # Decodes the struct.
407
+ #--
408
+ # @rbs decoder: ::Nl::Decoder
409
+ # @rbs return: instance
410
+ def self.decode(decoder)
411
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
412
+ end
413
+ # Encodes the struct.
414
+ #--
415
+ # @rbs encoder: ::Nl::Encoder
416
+ # @rbs return: void
417
+ def encode(encoder)
418
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
419
+ end
420
+ end
421
+ IflaVfLinkState = Struct.new(
422
+ :"vf", #: ::Integer
423
+ :"link_state", #: ::Integer
424
+ )
425
+ class IflaVfLinkState
426
+ # :nodoc:
427
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), link_state: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
428
+ # Decodes the struct.
429
+ #--
430
+ # @rbs decoder: ::Nl::Decoder
431
+ # @rbs return: instance
432
+ def self.decode(decoder)
433
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
434
+ end
435
+ # Encodes the struct.
436
+ #--
437
+ # @rbs encoder: ::Nl::Encoder
438
+ # @rbs return: void
439
+ def encode(encoder)
440
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
441
+ end
442
+ end
443
+ IflaVfRate = Struct.new(
444
+ :"vf", #: ::Integer
445
+ :"min_tx_rate", #: ::Integer
446
+ :"max_tx_rate", #: ::Integer
447
+ )
448
+ class IflaVfRate
449
+ # :nodoc:
450
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), min_tx_rate: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_tx_rate: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
451
+ # Decodes the struct.
452
+ #--
453
+ # @rbs decoder: ::Nl::Decoder
454
+ # @rbs return: instance
455
+ def self.decode(decoder)
456
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
457
+ end
458
+ # Encodes the struct.
459
+ #--
460
+ # @rbs encoder: ::Nl::Encoder
461
+ # @rbs return: void
462
+ def encode(encoder)
463
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
464
+ end
465
+ end
466
+ IflaVfRssQueryEn = Struct.new(
467
+ :"vf", #: ::Integer
468
+ :"setting", #: ::Integer
469
+ )
470
+ class IflaVfRssQueryEn
471
+ # :nodoc:
472
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), setting: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
473
+ # Decodes the struct.
474
+ #--
475
+ # @rbs decoder: ::Nl::Decoder
476
+ # @rbs return: instance
477
+ def self.decode(decoder)
478
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
479
+ end
480
+ # Encodes the struct.
481
+ #--
482
+ # @rbs encoder: ::Nl::Encoder
483
+ # @rbs return: void
484
+ def encode(encoder)
485
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
486
+ end
487
+ end
488
+ IflaVfTrust = Struct.new(
489
+ :"vf", #: ::Integer
490
+ :"setting", #: ::Integer
491
+ )
492
+ class IflaVfTrust
493
+ # :nodoc:
494
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), setting: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
495
+ # Decodes the struct.
496
+ #--
497
+ # @rbs decoder: ::Nl::Decoder
498
+ # @rbs return: instance
499
+ def self.decode(decoder)
500
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
501
+ end
502
+ # Encodes the struct.
503
+ #--
504
+ # @rbs encoder: ::Nl::Encoder
505
+ # @rbs return: void
506
+ def encode(encoder)
507
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
508
+ end
509
+ end
510
+ IflaVfGuid = Struct.new(
511
+ :"vf", #: ::Integer
512
+ :"guid", #: ::Integer
513
+ )
514
+ class IflaVfGuid
515
+ # :nodoc:
516
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), guid: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
517
+ # Decodes the struct.
518
+ #--
519
+ # @rbs decoder: ::Nl::Decoder
520
+ # @rbs return: instance
521
+ def self.decode(decoder)
522
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
523
+ end
524
+ # Encodes the struct.
525
+ #--
526
+ # @rbs encoder: ::Nl::Encoder
527
+ # @rbs return: void
528
+ def encode(encoder)
529
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
530
+ end
531
+ end
532
+ IflaVfVlanInfo = Struct.new(
533
+ :"vf", #: ::Integer
534
+ :"vlan", #: ::Integer
535
+ :"qos", #: ::Integer
536
+ :"vlan_proto", #: ::Integer
537
+ )
538
+ class IflaVfVlanInfo
539
+ # :nodoc:
540
+ MEMBERS = Ractor.make_shareable({vf: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), vlan: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), qos: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), vlan_proto: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
541
+ # Decodes the struct.
542
+ #--
543
+ # @rbs decoder: ::Nl::Decoder
544
+ # @rbs return: instance
545
+ def self.decode(decoder)
546
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
547
+ end
548
+ # Encodes the struct.
549
+ #--
550
+ # @rbs encoder: ::Nl::Encoder
551
+ # @rbs return: void
552
+ def encode(encoder)
553
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
554
+ end
555
+ end
556
+ end
557
+ module AttributeSets
558
+ class LinkAttrs < ::Nl::Protocols::Raw::AttributeSet
559
+ # Abstract class
560
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
561
+ end
562
+ class Address < Attribute
563
+ TYPE = 1
564
+ NAME = :"address"
565
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
566
+ end
567
+ class Broadcast < Attribute
568
+ TYPE = 2
569
+ NAME = :"broadcast"
570
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
571
+ end
572
+ class Ifname < Attribute
573
+ TYPE = 3
574
+ NAME = :"ifname"
575
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
576
+ end
577
+ class Mtu < Attribute
578
+ TYPE = 4
579
+ NAME = :"mtu"
580
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
581
+ end
582
+ class Link < Attribute
583
+ TYPE = 5
584
+ NAME = :"link"
585
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
586
+ end
587
+ class Qdisc < Attribute
588
+ TYPE = 6
589
+ NAME = :"qdisc"
590
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
591
+ end
592
+ class Stats < Attribute
593
+ TYPE = 7
594
+ NAME = :"stats"
595
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
596
+ end
597
+ class Cost < Attribute
598
+ TYPE = 8
599
+ NAME = :"cost"
600
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
601
+ end
602
+ class Priority < Attribute
603
+ TYPE = 9
604
+ NAME = :"priority"
605
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
606
+ end
607
+ class Master < Attribute
608
+ TYPE = 10
609
+ NAME = :"master"
610
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
611
+ end
612
+ class Wireless < Attribute
613
+ TYPE = 11
614
+ NAME = :"wireless"
615
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
616
+ end
617
+ class Protinfo < Attribute
618
+ TYPE = 12
619
+ NAME = :"protinfo"
620
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
621
+ end
622
+ class Txqlen < Attribute
623
+ TYPE = 13
624
+ NAME = :"txqlen"
625
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
626
+ end
627
+ class Map < Attribute
628
+ TYPE = 14
629
+ NAME = :"map"
630
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
631
+ end
632
+ class Weight < Attribute
633
+ TYPE = 15
634
+ NAME = :"weight"
635
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
636
+ end
637
+ class Operstate < Attribute
638
+ TYPE = 16
639
+ NAME = :"operstate"
640
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
641
+ end
642
+ class Linkmode < Attribute
643
+ TYPE = 17
644
+ NAME = :"linkmode"
645
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
646
+ end
647
+ class Linkinfo < Attribute
648
+ TYPE = 18
649
+ NAME = :"linkinfo"
650
+ end
651
+ class NetNsPid < Attribute
652
+ TYPE = 19
653
+ NAME = :"net_ns_pid"
654
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
655
+ end
656
+ class Ifalias < Attribute
657
+ TYPE = 20
658
+ NAME = :"ifalias"
659
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
660
+ end
661
+ class NumVf < Attribute
662
+ TYPE = 21
663
+ NAME = :"num_vf"
664
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
665
+ end
666
+ class VfinfoList < Attribute
667
+ TYPE = 22
668
+ NAME = :"vfinfo_list"
669
+ end
670
+ class Stats64 < Attribute
671
+ TYPE = 23
672
+ NAME = :"stats64"
673
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
674
+ end
675
+ class VfPorts < Attribute
676
+ TYPE = 24
677
+ NAME = :"vf_ports"
678
+ end
679
+ class PortSelf < Attribute
680
+ TYPE = 25
681
+ NAME = :"port_self"
682
+ end
683
+ class AfSpec < Attribute
684
+ TYPE = 26
685
+ NAME = :"af_spec"
686
+ end
687
+ class Group < Attribute
688
+ TYPE = 27
689
+ NAME = :"group"
690
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
691
+ end
692
+ class NetNsFd < Attribute
693
+ TYPE = 28
694
+ NAME = :"net_ns_fd"
695
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
696
+ end
697
+ class ExtMask < Attribute
698
+ TYPE = 29
699
+ NAME = :"ext_mask"
700
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
701
+ end
702
+ class Promiscuity < Attribute
703
+ TYPE = 30
704
+ NAME = :"promiscuity"
705
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
706
+ end
707
+ class NumTxQueues < Attribute
708
+ TYPE = 31
709
+ NAME = :"num_tx_queues"
710
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
711
+ end
712
+ class NumRxQueues < Attribute
713
+ TYPE = 32
714
+ NAME = :"num_rx_queues"
715
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
716
+ end
717
+ class Carrier < Attribute
718
+ TYPE = 33
719
+ NAME = :"carrier"
720
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
721
+ end
722
+ class PhysPortId < Attribute
723
+ TYPE = 34
724
+ NAME = :"phys_port_id"
725
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
726
+ end
727
+ class CarrierChanges < Attribute
728
+ TYPE = 35
729
+ NAME = :"carrier_changes"
730
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
731
+ end
732
+ class PhysSwitchId < Attribute
733
+ TYPE = 36
734
+ NAME = :"phys_switch_id"
735
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
736
+ end
737
+ class LinkNetnsid < Attribute
738
+ TYPE = 37
739
+ NAME = :"link_netnsid"
740
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
741
+ end
742
+ class PhysPortName < Attribute
743
+ TYPE = 38
744
+ NAME = :"phys_port_name"
745
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
746
+ end
747
+ class ProtoDown < Attribute
748
+ TYPE = 39
749
+ NAME = :"proto_down"
750
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
751
+ end
752
+ class GsoMaxSegs < Attribute
753
+ TYPE = 40
754
+ NAME = :"gso_max_segs"
755
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
756
+ end
757
+ class GsoMaxSize < Attribute
758
+ TYPE = 41
759
+ NAME = :"gso_max_size"
760
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
761
+ end
762
+ class Pad < Attribute
763
+ TYPE = 42
764
+ NAME = :"pad"
765
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
766
+ end
767
+ class Xdp < Attribute
768
+ TYPE = 43
769
+ NAME = :"xdp"
770
+ end
771
+ class Event < Attribute
772
+ TYPE = 44
773
+ NAME = :"event"
774
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
775
+ end
776
+ class NewNetnsid < Attribute
777
+ TYPE = 45
778
+ NAME = :"new_netnsid"
779
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
780
+ end
781
+ class TargetNetnsid < Attribute
782
+ TYPE = 46
783
+ NAME = :"target_netnsid"
784
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
785
+ end
786
+ class CarrierUpCount < Attribute
787
+ TYPE = 47
788
+ NAME = :"carrier_up_count"
789
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
790
+ end
791
+ class CarrierDownCount < Attribute
792
+ TYPE = 48
793
+ NAME = :"carrier_down_count"
794
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
795
+ end
796
+ class NewIfindex < Attribute
797
+ TYPE = 49
798
+ NAME = :"new_ifindex"
799
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
800
+ end
801
+ class MinMtu < Attribute
802
+ TYPE = 50
803
+ NAME = :"min_mtu"
804
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
805
+ end
806
+ class MaxMtu < Attribute
807
+ TYPE = 51
808
+ NAME = :"max_mtu"
809
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
810
+ end
811
+ class PropList < Attribute
812
+ TYPE = 52
813
+ NAME = :"prop_list"
814
+ end
815
+ class AltIfname < Attribute
816
+ TYPE = 53
817
+ NAME = :"alt_ifname"
818
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
819
+ end
820
+ class PermAddress < Attribute
821
+ TYPE = 54
822
+ NAME = :"perm_address"
823
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
824
+ end
825
+ class ProtoDownReason < Attribute
826
+ TYPE = 55
827
+ NAME = :"proto_down_reason"
828
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
829
+ end
830
+ class ParentDevName < Attribute
831
+ TYPE = 56
832
+ NAME = :"parent_dev_name"
833
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
834
+ end
835
+ class ParentDevBusName < Attribute
836
+ TYPE = 57
837
+ NAME = :"parent_dev_bus_name"
838
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
839
+ end
840
+ class GroMaxSize < Attribute
841
+ TYPE = 58
842
+ NAME = :"gro_max_size"
843
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
844
+ end
845
+ class TsoMaxSize < Attribute
846
+ TYPE = 59
847
+ NAME = :"tso_max_size"
848
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
849
+ end
850
+ class TsoMaxSegs < Attribute
851
+ TYPE = 60
852
+ NAME = :"tso_max_segs"
853
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
854
+ end
855
+ class Allmulti < Attribute
856
+ TYPE = 61
857
+ NAME = :"allmulti"
858
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
859
+ end
860
+ class DevlinkPort < Attribute
861
+ TYPE = 62
862
+ NAME = :"devlink_port"
863
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
864
+ end
865
+ class GsoIpv4MaxSize < Attribute
866
+ TYPE = 63
867
+ NAME = :"gso_ipv4_max_size"
868
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
869
+ end
870
+ class GroIpv4MaxSize < Attribute
871
+ TYPE = 64
872
+ NAME = :"gro_ipv4_max_size"
873
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
874
+ end
875
+ class DpllPin < Attribute
876
+ TYPE = 65
877
+ NAME = :"dpll_pin"
878
+ end
879
+ class MaxPacingOffloadHorizon < Attribute
880
+ TYPE = 66
881
+ NAME = :"max_pacing_offload_horizon"
882
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::UINT, check: nil)
883
+ end
884
+ class NetnsImmutable < Attribute
885
+ TYPE = 67
886
+ NAME = :"netns_immutable"
887
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
888
+ end
889
+ class Headroom < Attribute
890
+ TYPE = 68
891
+ NAME = :"headroom"
892
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
893
+ end
894
+ class Tailroom < Attribute
895
+ TYPE = 69
896
+ NAME = :"tailroom"
897
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
898
+ end
899
+ # :nodoc:
900
+ BY_NAME = Ractor.make_shareable({:"address" => Address, :"broadcast" => Broadcast, :"ifname" => Ifname, :"mtu" => Mtu, :"link" => Link, :"qdisc" => Qdisc, :"stats" => Stats, :"cost" => Cost, :"priority" => Priority, :"master" => Master, :"wireless" => Wireless, :"protinfo" => Protinfo, :"txqlen" => Txqlen, :"map" => Map, :"weight" => Weight, :"operstate" => Operstate, :"linkmode" => Linkmode, :"linkinfo" => Linkinfo, :"net_ns_pid" => NetNsPid, :"ifalias" => Ifalias, :"num_vf" => NumVf, :"vfinfo_list" => VfinfoList, :"stats64" => Stats64, :"vf_ports" => VfPorts, :"port_self" => PortSelf, :"af_spec" => AfSpec, :"group" => Group, :"net_ns_fd" => NetNsFd, :"ext_mask" => ExtMask, :"promiscuity" => Promiscuity, :"num_tx_queues" => NumTxQueues, :"num_rx_queues" => NumRxQueues, :"carrier" => Carrier, :"phys_port_id" => PhysPortId, :"carrier_changes" => CarrierChanges, :"phys_switch_id" => PhysSwitchId, :"link_netnsid" => LinkNetnsid, :"phys_port_name" => PhysPortName, :"proto_down" => ProtoDown, :"gso_max_segs" => GsoMaxSegs, :"gso_max_size" => GsoMaxSize, :"pad" => Pad, :"xdp" => Xdp, :"event" => Event, :"new_netnsid" => NewNetnsid, :"target_netnsid" => TargetNetnsid, :"carrier_up_count" => CarrierUpCount, :"carrier_down_count" => CarrierDownCount, :"new_ifindex" => NewIfindex, :"min_mtu" => MinMtu, :"max_mtu" => MaxMtu, :"prop_list" => PropList, :"alt_ifname" => AltIfname, :"perm_address" => PermAddress, :"proto_down_reason" => ProtoDownReason, :"parent_dev_name" => ParentDevName, :"parent_dev_bus_name" => ParentDevBusName, :"gro_max_size" => GroMaxSize, :"tso_max_size" => TsoMaxSize, :"tso_max_segs" => TsoMaxSegs, :"allmulti" => Allmulti, :"devlink_port" => DevlinkPort, :"gso_ipv4_max_size" => GsoIpv4MaxSize, :"gro_ipv4_max_size" => GroIpv4MaxSize, :"dpll_pin" => DpllPin, :"max_pacing_offload_horizon" => MaxPacingOffloadHorizon, :"netns_immutable" => NetnsImmutable, :"headroom" => Headroom, :"tailroom" => Tailroom}) #: Hash[::Symbol, Attribute]
901
+ # :nodoc:
902
+ BY_TYPE = Ractor.make_shareable({1 => Address, 2 => Broadcast, 3 => Ifname, 4 => Mtu, 5 => Link, 6 => Qdisc, 7 => Stats, 8 => Cost, 9 => Priority, 10 => Master, 11 => Wireless, 12 => Protinfo, 13 => Txqlen, 14 => Map, 15 => Weight, 16 => Operstate, 17 => Linkmode, 18 => Linkinfo, 19 => NetNsPid, 20 => Ifalias, 21 => NumVf, 22 => VfinfoList, 23 => Stats64, 24 => VfPorts, 25 => PortSelf, 26 => AfSpec, 27 => Group, 28 => NetNsFd, 29 => ExtMask, 30 => Promiscuity, 31 => NumTxQueues, 32 => NumRxQueues, 33 => Carrier, 34 => PhysPortId, 35 => CarrierChanges, 36 => PhysSwitchId, 37 => LinkNetnsid, 38 => PhysPortName, 39 => ProtoDown, 40 => GsoMaxSegs, 41 => GsoMaxSize, 42 => Pad, 43 => Xdp, 44 => Event, 45 => NewNetnsid, 46 => TargetNetnsid, 47 => CarrierUpCount, 48 => CarrierDownCount, 49 => NewIfindex, 50 => MinMtu, 51 => MaxMtu, 52 => PropList, 53 => AltIfname, 54 => PermAddress, 55 => ProtoDownReason, 56 => ParentDevName, 57 => ParentDevBusName, 58 => GroMaxSize, 59 => TsoMaxSize, 60 => TsoMaxSegs, 61 => Allmulti, 62 => DevlinkPort, 63 => GsoIpv4MaxSize, 64 => GroIpv4MaxSize, 65 => DpllPin, 66 => MaxPacingOffloadHorizon, 67 => NetnsImmutable, 68 => Headroom, 69 => Tailroom}) #: Hash[::Integer, Attribute]
903
+ class << self
904
+ # Looks up Attribute class by name.
905
+ #--
906
+ # @rbs name: Symbol
907
+ # @rbs return: Attribute
908
+ def by_name(name); BY_NAME.fetch(name); end
909
+ # Looks up Attribute class by type value.
910
+ #--
911
+ # @rbs type: Integer
912
+ # @rbs return: Attribute
913
+ def by_type(type); BY_TYPE.fetch(type); end
914
+ end
915
+ end
916
+ class PropListLinkAttrs < ::Nl::Protocols::Raw::AttributeSet
917
+ # Abstract class
918
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
919
+ end
920
+ class AltIfname < Attribute
921
+ TYPE = 53
922
+ NAME = :"alt_ifname"
923
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
924
+ end
925
+ # :nodoc:
926
+ BY_NAME = Ractor.make_shareable({:"alt_ifname" => AltIfname}) #: Hash[::Symbol, Attribute]
927
+ # :nodoc:
928
+ BY_TYPE = Ractor.make_shareable({53 => AltIfname}) #: Hash[::Integer, Attribute]
929
+ class << self
930
+ # Looks up Attribute class by name.
931
+ #--
932
+ # @rbs name: Symbol
933
+ # @rbs return: Attribute
934
+ def by_name(name); BY_NAME.fetch(name); end
935
+ # Looks up Attribute class by type value.
936
+ #--
937
+ # @rbs type: Integer
938
+ # @rbs return: Attribute
939
+ def by_type(type); BY_TYPE.fetch(type); end
940
+ end
941
+ end
942
+ class AfSpecAttrs < ::Nl::Protocols::Raw::AttributeSet
943
+ # Abstract class
944
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
945
+ end
946
+ class Inet < Attribute
947
+ TYPE = 2
948
+ NAME = :"inet"
949
+ end
950
+ class Inet6 < Attribute
951
+ TYPE = 10
952
+ NAME = :"inet6"
953
+ end
954
+ class Mctp < Attribute
955
+ TYPE = 45
956
+ NAME = :"mctp"
957
+ end
958
+ # :nodoc:
959
+ BY_NAME = Ractor.make_shareable({:"inet" => Inet, :"inet6" => Inet6, :"mctp" => Mctp}) #: Hash[::Symbol, Attribute]
960
+ # :nodoc:
961
+ BY_TYPE = Ractor.make_shareable({2 => Inet, 10 => Inet6, 45 => Mctp}) #: Hash[::Integer, Attribute]
962
+ class << self
963
+ # Looks up Attribute class by name.
964
+ #--
965
+ # @rbs name: Symbol
966
+ # @rbs return: Attribute
967
+ def by_name(name); BY_NAME.fetch(name); end
968
+ # Looks up Attribute class by type value.
969
+ #--
970
+ # @rbs type: Integer
971
+ # @rbs return: Attribute
972
+ def by_type(type); BY_TYPE.fetch(type); end
973
+ end
974
+ end
975
+ class VfinfoListAttrs < ::Nl::Protocols::Raw::AttributeSet
976
+ # Abstract class
977
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
978
+ end
979
+ class Info < Attribute
980
+ TYPE = 1
981
+ NAME = :"info"
982
+ end
983
+ # :nodoc:
984
+ BY_NAME = Ractor.make_shareable({:"info" => Info}) #: Hash[::Symbol, Attribute]
985
+ # :nodoc:
986
+ BY_TYPE = Ractor.make_shareable({1 => Info}) #: Hash[::Integer, Attribute]
987
+ class << self
988
+ # Looks up Attribute class by name.
989
+ #--
990
+ # @rbs name: Symbol
991
+ # @rbs return: Attribute
992
+ def by_name(name); BY_NAME.fetch(name); end
993
+ # Looks up Attribute class by type value.
994
+ #--
995
+ # @rbs type: Integer
996
+ # @rbs return: Attribute
997
+ def by_type(type); BY_TYPE.fetch(type); end
998
+ end
999
+ end
1000
+ class VfinfoAttrs < ::Nl::Protocols::Raw::AttributeSet
1001
+ # Abstract class
1002
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1003
+ end
1004
+ class Mac < Attribute
1005
+ TYPE = 1
1006
+ NAME = :"mac"
1007
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1008
+ end
1009
+ class Vlan < Attribute
1010
+ TYPE = 2
1011
+ NAME = :"vlan"
1012
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1013
+ end
1014
+ class TxRate < Attribute
1015
+ TYPE = 3
1016
+ NAME = :"tx_rate"
1017
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1018
+ end
1019
+ class Spoofchk < Attribute
1020
+ TYPE = 4
1021
+ NAME = :"spoofchk"
1022
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1023
+ end
1024
+ class LinkState < Attribute
1025
+ TYPE = 5
1026
+ NAME = :"link_state"
1027
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1028
+ end
1029
+ class Rate < Attribute
1030
+ TYPE = 6
1031
+ NAME = :"rate"
1032
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1033
+ end
1034
+ class RssQueryEn < Attribute
1035
+ TYPE = 7
1036
+ NAME = :"rss_query_en"
1037
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1038
+ end
1039
+ class Stats < Attribute
1040
+ TYPE = 8
1041
+ NAME = :"stats"
1042
+ end
1043
+ class Trust < Attribute
1044
+ TYPE = 9
1045
+ NAME = :"trust"
1046
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1047
+ end
1048
+ class IbNodeGuid < Attribute
1049
+ TYPE = 10
1050
+ NAME = :"ib_node_guid"
1051
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1052
+ end
1053
+ class IbPortGuid < Attribute
1054
+ TYPE = 11
1055
+ NAME = :"ib_port_guid"
1056
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1057
+ end
1058
+ class VlanList < Attribute
1059
+ TYPE = 12
1060
+ NAME = :"vlan_list"
1061
+ end
1062
+ class Broadcast < Attribute
1063
+ TYPE = 13
1064
+ NAME = :"broadcast"
1065
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1066
+ end
1067
+ # :nodoc:
1068
+ BY_NAME = Ractor.make_shareable({:"mac" => Mac, :"vlan" => Vlan, :"tx_rate" => TxRate, :"spoofchk" => Spoofchk, :"link_state" => LinkState, :"rate" => Rate, :"rss_query_en" => RssQueryEn, :"stats" => Stats, :"trust" => Trust, :"ib_node_guid" => IbNodeGuid, :"ib_port_guid" => IbPortGuid, :"vlan_list" => VlanList, :"broadcast" => Broadcast}) #: Hash[::Symbol, Attribute]
1069
+ # :nodoc:
1070
+ BY_TYPE = Ractor.make_shareable({1 => Mac, 2 => Vlan, 3 => TxRate, 4 => Spoofchk, 5 => LinkState, 6 => Rate, 7 => RssQueryEn, 8 => Stats, 9 => Trust, 10 => IbNodeGuid, 11 => IbPortGuid, 12 => VlanList, 13 => Broadcast}) #: Hash[::Integer, Attribute]
1071
+ class << self
1072
+ # Looks up Attribute class by name.
1073
+ #--
1074
+ # @rbs name: Symbol
1075
+ # @rbs return: Attribute
1076
+ def by_name(name); BY_NAME.fetch(name); end
1077
+ # Looks up Attribute class by type value.
1078
+ #--
1079
+ # @rbs type: Integer
1080
+ # @rbs return: Attribute
1081
+ def by_type(type); BY_TYPE.fetch(type); end
1082
+ end
1083
+ end
1084
+ class VfStatsAttrs < ::Nl::Protocols::Raw::AttributeSet
1085
+ # Abstract class
1086
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1087
+ end
1088
+ class RxPackets < Attribute
1089
+ TYPE = 0
1090
+ NAME = :"rx_packets"
1091
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1092
+ end
1093
+ class TxPackets < Attribute
1094
+ TYPE = 1
1095
+ NAME = :"tx_packets"
1096
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1097
+ end
1098
+ class RxBytes < Attribute
1099
+ TYPE = 2
1100
+ NAME = :"rx_bytes"
1101
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1102
+ end
1103
+ class TxBytes < Attribute
1104
+ TYPE = 3
1105
+ NAME = :"tx_bytes"
1106
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1107
+ end
1108
+ class Broadcast < Attribute
1109
+ TYPE = 4
1110
+ NAME = :"broadcast"
1111
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1112
+ end
1113
+ class Multicast < Attribute
1114
+ TYPE = 5
1115
+ NAME = :"multicast"
1116
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1117
+ end
1118
+ class Pad < Attribute
1119
+ TYPE = 6
1120
+ NAME = :"pad"
1121
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
1122
+ end
1123
+ class RxDropped < Attribute
1124
+ TYPE = 7
1125
+ NAME = :"rx_dropped"
1126
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1127
+ end
1128
+ class TxDropped < Attribute
1129
+ TYPE = 8
1130
+ NAME = :"tx_dropped"
1131
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1132
+ end
1133
+ # :nodoc:
1134
+ BY_NAME = Ractor.make_shareable({:"rx_packets" => RxPackets, :"tx_packets" => TxPackets, :"rx_bytes" => RxBytes, :"tx_bytes" => TxBytes, :"broadcast" => Broadcast, :"multicast" => Multicast, :"pad" => Pad, :"rx_dropped" => RxDropped, :"tx_dropped" => TxDropped}) #: Hash[::Symbol, Attribute]
1135
+ # :nodoc:
1136
+ BY_TYPE = Ractor.make_shareable({0 => RxPackets, 1 => TxPackets, 2 => RxBytes, 3 => TxBytes, 4 => Broadcast, 5 => Multicast, 6 => Pad, 7 => RxDropped, 8 => TxDropped}) #: Hash[::Integer, Attribute]
1137
+ class << self
1138
+ # Looks up Attribute class by name.
1139
+ #--
1140
+ # @rbs name: Symbol
1141
+ # @rbs return: Attribute
1142
+ def by_name(name); BY_NAME.fetch(name); end
1143
+ # Looks up Attribute class by type value.
1144
+ #--
1145
+ # @rbs type: Integer
1146
+ # @rbs return: Attribute
1147
+ def by_type(type); BY_TYPE.fetch(type); end
1148
+ end
1149
+ end
1150
+ class VfVlanAttrs < ::Nl::Protocols::Raw::AttributeSet
1151
+ # Abstract class
1152
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1153
+ end
1154
+ class Info < Attribute
1155
+ TYPE = 1
1156
+ NAME = :"info"
1157
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1158
+ end
1159
+ # :nodoc:
1160
+ BY_NAME = Ractor.make_shareable({:"info" => Info}) #: Hash[::Symbol, Attribute]
1161
+ # :nodoc:
1162
+ BY_TYPE = Ractor.make_shareable({1 => Info}) #: Hash[::Integer, Attribute]
1163
+ class << self
1164
+ # Looks up Attribute class by name.
1165
+ #--
1166
+ # @rbs name: Symbol
1167
+ # @rbs return: Attribute
1168
+ def by_name(name); BY_NAME.fetch(name); end
1169
+ # Looks up Attribute class by type value.
1170
+ #--
1171
+ # @rbs type: Integer
1172
+ # @rbs return: Attribute
1173
+ def by_type(type); BY_TYPE.fetch(type); end
1174
+ end
1175
+ end
1176
+ class VfPortsAttrs < ::Nl::Protocols::Raw::AttributeSet
1177
+ # Abstract class
1178
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1179
+ end
1180
+ # :nodoc:
1181
+ BY_NAME = Ractor.make_shareable({}) #: Hash[::Symbol, Attribute]
1182
+ # :nodoc:
1183
+ BY_TYPE = Ractor.make_shareable({}) #: Hash[::Integer, Attribute]
1184
+ class << self
1185
+ # Looks up Attribute class by name.
1186
+ #--
1187
+ # @rbs name: Symbol
1188
+ # @rbs return: Attribute
1189
+ def by_name(name); BY_NAME.fetch(name); end
1190
+ # Looks up Attribute class by type value.
1191
+ #--
1192
+ # @rbs type: Integer
1193
+ # @rbs return: Attribute
1194
+ def by_type(type); BY_TYPE.fetch(type); end
1195
+ end
1196
+ end
1197
+ class PortSelfAttrs < ::Nl::Protocols::Raw::AttributeSet
1198
+ # Abstract class
1199
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1200
+ end
1201
+ # :nodoc:
1202
+ BY_NAME = Ractor.make_shareable({}) #: Hash[::Symbol, Attribute]
1203
+ # :nodoc:
1204
+ BY_TYPE = Ractor.make_shareable({}) #: Hash[::Integer, Attribute]
1205
+ class << self
1206
+ # Looks up Attribute class by name.
1207
+ #--
1208
+ # @rbs name: Symbol
1209
+ # @rbs return: Attribute
1210
+ def by_name(name); BY_NAME.fetch(name); end
1211
+ # Looks up Attribute class by type value.
1212
+ #--
1213
+ # @rbs type: Integer
1214
+ # @rbs return: Attribute
1215
+ def by_type(type); BY_TYPE.fetch(type); end
1216
+ end
1217
+ end
1218
+ class LinkinfoAttrs < ::Nl::Protocols::Raw::AttributeSet
1219
+ # Abstract class
1220
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1221
+ end
1222
+ class Kind < Attribute
1223
+ TYPE = 1
1224
+ NAME = :"kind"
1225
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
1226
+ end
1227
+ class Data < Attribute
1228
+ TYPE = 2
1229
+ NAME = :"data"
1230
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1231
+ end
1232
+ class Xstats < Attribute
1233
+ TYPE = 3
1234
+ NAME = :"xstats"
1235
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1236
+ end
1237
+ class SlaveKind < Attribute
1238
+ TYPE = 4
1239
+ NAME = :"slave_kind"
1240
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
1241
+ end
1242
+ class SlaveData < Attribute
1243
+ TYPE = 5
1244
+ NAME = :"slave_data"
1245
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1246
+ end
1247
+ # :nodoc:
1248
+ BY_NAME = Ractor.make_shareable({:"kind" => Kind, :"data" => Data, :"xstats" => Xstats, :"slave_kind" => SlaveKind, :"slave_data" => SlaveData}) #: Hash[::Symbol, Attribute]
1249
+ # :nodoc:
1250
+ BY_TYPE = Ractor.make_shareable({1 => Kind, 2 => Data, 3 => Xstats, 4 => SlaveKind, 5 => SlaveData}) #: Hash[::Integer, Attribute]
1251
+ class << self
1252
+ # Looks up Attribute class by name.
1253
+ #--
1254
+ # @rbs name: Symbol
1255
+ # @rbs return: Attribute
1256
+ def by_name(name); BY_NAME.fetch(name); end
1257
+ # Looks up Attribute class by type value.
1258
+ #--
1259
+ # @rbs type: Integer
1260
+ # @rbs return: Attribute
1261
+ def by_type(type); BY_TYPE.fetch(type); end
1262
+ end
1263
+ end
1264
+ class LinkinfoBondAttrs < ::Nl::Protocols::Raw::AttributeSet
1265
+ # Abstract class
1266
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1267
+ end
1268
+ class Mode < Attribute
1269
+ TYPE = 1
1270
+ NAME = :"mode"
1271
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1272
+ end
1273
+ class ActiveSlave < Attribute
1274
+ TYPE = 2
1275
+ NAME = :"active_slave"
1276
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1277
+ end
1278
+ class Miimon < Attribute
1279
+ TYPE = 3
1280
+ NAME = :"miimon"
1281
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1282
+ end
1283
+ class Updelay < Attribute
1284
+ TYPE = 4
1285
+ NAME = :"updelay"
1286
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1287
+ end
1288
+ class Downdelay < Attribute
1289
+ TYPE = 5
1290
+ NAME = :"downdelay"
1291
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1292
+ end
1293
+ class UseCarrier < Attribute
1294
+ TYPE = 6
1295
+ NAME = :"use_carrier"
1296
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1297
+ end
1298
+ class ArpInterval < Attribute
1299
+ TYPE = 7
1300
+ NAME = :"arp_interval"
1301
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1302
+ end
1303
+ class ArpIpTarget < Attribute
1304
+ TYPE = 8
1305
+ NAME = :"arp_ip_target"
1306
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::IndexedArray.new(::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil))
1307
+ end
1308
+ class ArpValidate < Attribute
1309
+ TYPE = 9
1310
+ NAME = :"arp_validate"
1311
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1312
+ end
1313
+ class ArpAllTargets < Attribute
1314
+ TYPE = 10
1315
+ NAME = :"arp_all_targets"
1316
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1317
+ end
1318
+ class Primary < Attribute
1319
+ TYPE = 11
1320
+ NAME = :"primary"
1321
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1322
+ end
1323
+ class PrimaryReselect < Attribute
1324
+ TYPE = 12
1325
+ NAME = :"primary_reselect"
1326
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1327
+ end
1328
+ class FailOverMac < Attribute
1329
+ TYPE = 13
1330
+ NAME = :"fail_over_mac"
1331
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1332
+ end
1333
+ class XmitHashPolicy < Attribute
1334
+ TYPE = 14
1335
+ NAME = :"xmit_hash_policy"
1336
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1337
+ end
1338
+ class ResendIgmp < Attribute
1339
+ TYPE = 15
1340
+ NAME = :"resend_igmp"
1341
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1342
+ end
1343
+ class NumPeerNotif < Attribute
1344
+ TYPE = 16
1345
+ NAME = :"num_peer_notif"
1346
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1347
+ end
1348
+ class AllSlavesActive < Attribute
1349
+ TYPE = 17
1350
+ NAME = :"all_slaves_active"
1351
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1352
+ end
1353
+ class MinLinks < Attribute
1354
+ TYPE = 18
1355
+ NAME = :"min_links"
1356
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1357
+ end
1358
+ class LpInterval < Attribute
1359
+ TYPE = 19
1360
+ NAME = :"lp_interval"
1361
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1362
+ end
1363
+ class PacketsPerSlave < Attribute
1364
+ TYPE = 20
1365
+ NAME = :"packets_per_slave"
1366
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1367
+ end
1368
+ class AdLacpRate < Attribute
1369
+ TYPE = 21
1370
+ NAME = :"ad_lacp_rate"
1371
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1372
+ end
1373
+ class AdSelect < Attribute
1374
+ TYPE = 22
1375
+ NAME = :"ad_select"
1376
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1377
+ end
1378
+ class AdInfo < Attribute
1379
+ TYPE = 23
1380
+ NAME = :"ad_info"
1381
+ end
1382
+ class AdActorSysPrio < Attribute
1383
+ TYPE = 24
1384
+ NAME = :"ad_actor_sys_prio"
1385
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1386
+ end
1387
+ class AdUserPortKey < Attribute
1388
+ TYPE = 25
1389
+ NAME = :"ad_user_port_key"
1390
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1391
+ end
1392
+ class AdActorSystem < Attribute
1393
+ TYPE = 26
1394
+ NAME = :"ad_actor_system"
1395
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1396
+ end
1397
+ class TlbDynamicLb < Attribute
1398
+ TYPE = 27
1399
+ NAME = :"tlb_dynamic_lb"
1400
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1401
+ end
1402
+ class PeerNotifDelay < Attribute
1403
+ TYPE = 28
1404
+ NAME = :"peer_notif_delay"
1405
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1406
+ end
1407
+ class AdLacpActive < Attribute
1408
+ TYPE = 29
1409
+ NAME = :"ad_lacp_active"
1410
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1411
+ end
1412
+ class MissedMax < Attribute
1413
+ TYPE = 30
1414
+ NAME = :"missed_max"
1415
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1416
+ end
1417
+ class NsIp6Target < Attribute
1418
+ TYPE = 31
1419
+ NAME = :"ns_ip6_target"
1420
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::IndexedArray.new(::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil))
1421
+ end
1422
+ class CoupledControl < Attribute
1423
+ TYPE = 32
1424
+ NAME = :"coupled_control"
1425
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1426
+ end
1427
+ # :nodoc:
1428
+ BY_NAME = Ractor.make_shareable({:"mode" => Mode, :"active_slave" => ActiveSlave, :"miimon" => Miimon, :"updelay" => Updelay, :"downdelay" => Downdelay, :"use_carrier" => UseCarrier, :"arp_interval" => ArpInterval, :"arp_ip_target" => ArpIpTarget, :"arp_validate" => ArpValidate, :"arp_all_targets" => ArpAllTargets, :"primary" => Primary, :"primary_reselect" => PrimaryReselect, :"fail_over_mac" => FailOverMac, :"xmit_hash_policy" => XmitHashPolicy, :"resend_igmp" => ResendIgmp, :"num_peer_notif" => NumPeerNotif, :"all_slaves_active" => AllSlavesActive, :"min_links" => MinLinks, :"lp_interval" => LpInterval, :"packets_per_slave" => PacketsPerSlave, :"ad_lacp_rate" => AdLacpRate, :"ad_select" => AdSelect, :"ad_info" => AdInfo, :"ad_actor_sys_prio" => AdActorSysPrio, :"ad_user_port_key" => AdUserPortKey, :"ad_actor_system" => AdActorSystem, :"tlb_dynamic_lb" => TlbDynamicLb, :"peer_notif_delay" => PeerNotifDelay, :"ad_lacp_active" => AdLacpActive, :"missed_max" => MissedMax, :"ns_ip6_target" => NsIp6Target, :"coupled_control" => CoupledControl}) #: Hash[::Symbol, Attribute]
1429
+ # :nodoc:
1430
+ BY_TYPE = Ractor.make_shareable({1 => Mode, 2 => ActiveSlave, 3 => Miimon, 4 => Updelay, 5 => Downdelay, 6 => UseCarrier, 7 => ArpInterval, 8 => ArpIpTarget, 9 => ArpValidate, 10 => ArpAllTargets, 11 => Primary, 12 => PrimaryReselect, 13 => FailOverMac, 14 => XmitHashPolicy, 15 => ResendIgmp, 16 => NumPeerNotif, 17 => AllSlavesActive, 18 => MinLinks, 19 => LpInterval, 20 => PacketsPerSlave, 21 => AdLacpRate, 22 => AdSelect, 23 => AdInfo, 24 => AdActorSysPrio, 25 => AdUserPortKey, 26 => AdActorSystem, 27 => TlbDynamicLb, 28 => PeerNotifDelay, 29 => AdLacpActive, 30 => MissedMax, 31 => NsIp6Target, 32 => CoupledControl}) #: Hash[::Integer, Attribute]
1431
+ class << self
1432
+ # Looks up Attribute class by name.
1433
+ #--
1434
+ # @rbs name: Symbol
1435
+ # @rbs return: Attribute
1436
+ def by_name(name); BY_NAME.fetch(name); end
1437
+ # Looks up Attribute class by type value.
1438
+ #--
1439
+ # @rbs type: Integer
1440
+ # @rbs return: Attribute
1441
+ def by_type(type); BY_TYPE.fetch(type); end
1442
+ end
1443
+ end
1444
+ class BondAdInfoAttrs < ::Nl::Protocols::Raw::AttributeSet
1445
+ # Abstract class
1446
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1447
+ end
1448
+ class Aggregator < Attribute
1449
+ TYPE = 1
1450
+ NAME = :"aggregator"
1451
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1452
+ end
1453
+ class NumPorts < Attribute
1454
+ TYPE = 2
1455
+ NAME = :"num_ports"
1456
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1457
+ end
1458
+ class ActorKey < Attribute
1459
+ TYPE = 3
1460
+ NAME = :"actor_key"
1461
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1462
+ end
1463
+ class PartnerKey < Attribute
1464
+ TYPE = 4
1465
+ NAME = :"partner_key"
1466
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1467
+ end
1468
+ class PartnerMac < Attribute
1469
+ TYPE = 5
1470
+ NAME = :"partner_mac"
1471
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1472
+ end
1473
+ # :nodoc:
1474
+ BY_NAME = Ractor.make_shareable({:"aggregator" => Aggregator, :"num_ports" => NumPorts, :"actor_key" => ActorKey, :"partner_key" => PartnerKey, :"partner_mac" => PartnerMac}) #: Hash[::Symbol, Attribute]
1475
+ # :nodoc:
1476
+ BY_TYPE = Ractor.make_shareable({1 => Aggregator, 2 => NumPorts, 3 => ActorKey, 4 => PartnerKey, 5 => PartnerMac}) #: Hash[::Integer, Attribute]
1477
+ class << self
1478
+ # Looks up Attribute class by name.
1479
+ #--
1480
+ # @rbs name: Symbol
1481
+ # @rbs return: Attribute
1482
+ def by_name(name); BY_NAME.fetch(name); end
1483
+ # Looks up Attribute class by type value.
1484
+ #--
1485
+ # @rbs type: Integer
1486
+ # @rbs return: Attribute
1487
+ def by_type(type); BY_TYPE.fetch(type); end
1488
+ end
1489
+ end
1490
+ class BondSlaveAttrs < ::Nl::Protocols::Raw::AttributeSet
1491
+ # Abstract class
1492
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1493
+ end
1494
+ class State < Attribute
1495
+ TYPE = 1
1496
+ NAME = :"state"
1497
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1498
+ end
1499
+ class MiiStatus < Attribute
1500
+ TYPE = 2
1501
+ NAME = :"mii_status"
1502
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1503
+ end
1504
+ class LinkFailureCount < Attribute
1505
+ TYPE = 3
1506
+ NAME = :"link_failure_count"
1507
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1508
+ end
1509
+ class PermHwaddr < Attribute
1510
+ TYPE = 4
1511
+ NAME = :"perm_hwaddr"
1512
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1513
+ end
1514
+ class QueueId < Attribute
1515
+ TYPE = 5
1516
+ NAME = :"queue_id"
1517
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1518
+ end
1519
+ class AdAggregatorId < Attribute
1520
+ TYPE = 6
1521
+ NAME = :"ad_aggregator_id"
1522
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1523
+ end
1524
+ class AdActorOperPortState < Attribute
1525
+ TYPE = 7
1526
+ NAME = :"ad_actor_oper_port_state"
1527
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1528
+ end
1529
+ class AdPartnerOperPortState < Attribute
1530
+ TYPE = 8
1531
+ NAME = :"ad_partner_oper_port_state"
1532
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1533
+ end
1534
+ class Prio < Attribute
1535
+ TYPE = 9
1536
+ NAME = :"prio"
1537
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1538
+ end
1539
+ # :nodoc:
1540
+ BY_NAME = Ractor.make_shareable({:"state" => State, :"mii_status" => MiiStatus, :"link_failure_count" => LinkFailureCount, :"perm_hwaddr" => PermHwaddr, :"queue_id" => QueueId, :"ad_aggregator_id" => AdAggregatorId, :"ad_actor_oper_port_state" => AdActorOperPortState, :"ad_partner_oper_port_state" => AdPartnerOperPortState, :"prio" => Prio}) #: Hash[::Symbol, Attribute]
1541
+ # :nodoc:
1542
+ BY_TYPE = Ractor.make_shareable({1 => State, 2 => MiiStatus, 3 => LinkFailureCount, 4 => PermHwaddr, 5 => QueueId, 6 => AdAggregatorId, 7 => AdActorOperPortState, 8 => AdPartnerOperPortState, 9 => Prio}) #: Hash[::Integer, Attribute]
1543
+ class << self
1544
+ # Looks up Attribute class by name.
1545
+ #--
1546
+ # @rbs name: Symbol
1547
+ # @rbs return: Attribute
1548
+ def by_name(name); BY_NAME.fetch(name); end
1549
+ # Looks up Attribute class by type value.
1550
+ #--
1551
+ # @rbs type: Integer
1552
+ # @rbs return: Attribute
1553
+ def by_type(type); BY_TYPE.fetch(type); end
1554
+ end
1555
+ end
1556
+ class LinkinfoBridgeAttrs < ::Nl::Protocols::Raw::AttributeSet
1557
+ # Abstract class
1558
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1559
+ end
1560
+ class ForwardDelay < Attribute
1561
+ TYPE = 1
1562
+ NAME = :"forward_delay"
1563
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1564
+ end
1565
+ class HelloTime < Attribute
1566
+ TYPE = 2
1567
+ NAME = :"hello_time"
1568
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1569
+ end
1570
+ class MaxAge < Attribute
1571
+ TYPE = 3
1572
+ NAME = :"max_age"
1573
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1574
+ end
1575
+ class AgeingTime < Attribute
1576
+ TYPE = 4
1577
+ NAME = :"ageing_time"
1578
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1579
+ end
1580
+ class StpState < Attribute
1581
+ TYPE = 5
1582
+ NAME = :"stp_state"
1583
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1584
+ end
1585
+ class Priority < Attribute
1586
+ TYPE = 6
1587
+ NAME = :"priority"
1588
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1589
+ end
1590
+ class VlanFiltering < Attribute
1591
+ TYPE = 7
1592
+ NAME = :"vlan_filtering"
1593
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1594
+ end
1595
+ class VlanProtocol < Attribute
1596
+ TYPE = 8
1597
+ NAME = :"vlan_protocol"
1598
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1599
+ end
1600
+ class GroupFwdMask < Attribute
1601
+ TYPE = 9
1602
+ NAME = :"group_fwd_mask"
1603
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1604
+ end
1605
+ class RootId < Attribute
1606
+ TYPE = 10
1607
+ NAME = :"root_id"
1608
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1609
+ end
1610
+ class BridgeId < Attribute
1611
+ TYPE = 11
1612
+ NAME = :"bridge_id"
1613
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1614
+ end
1615
+ class RootPort < Attribute
1616
+ TYPE = 12
1617
+ NAME = :"root_port"
1618
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1619
+ end
1620
+ class RootPathCost < Attribute
1621
+ TYPE = 13
1622
+ NAME = :"root_path_cost"
1623
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1624
+ end
1625
+ class TopologyChange < Attribute
1626
+ TYPE = 14
1627
+ NAME = :"topology_change"
1628
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1629
+ end
1630
+ class TopologyChangeDetected < Attribute
1631
+ TYPE = 15
1632
+ NAME = :"topology_change_detected"
1633
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1634
+ end
1635
+ class HelloTimer < Attribute
1636
+ TYPE = 16
1637
+ NAME = :"hello_timer"
1638
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1639
+ end
1640
+ class TcnTimer < Attribute
1641
+ TYPE = 17
1642
+ NAME = :"tcn_timer"
1643
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1644
+ end
1645
+ class TopologyChangeTimer < Attribute
1646
+ TYPE = 18
1647
+ NAME = :"topology_change_timer"
1648
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1649
+ end
1650
+ class GcTimer < Attribute
1651
+ TYPE = 19
1652
+ NAME = :"gc_timer"
1653
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1654
+ end
1655
+ class GroupAddr < Attribute
1656
+ TYPE = 20
1657
+ NAME = :"group_addr"
1658
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1659
+ end
1660
+ class FdbFlush < Attribute
1661
+ TYPE = 21
1662
+ NAME = :"fdb_flush"
1663
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1664
+ end
1665
+ class McastRouter < Attribute
1666
+ TYPE = 22
1667
+ NAME = :"mcast_router"
1668
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1669
+ end
1670
+ class McastSnooping < Attribute
1671
+ TYPE = 23
1672
+ NAME = :"mcast_snooping"
1673
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1674
+ end
1675
+ class McastQueryUseIfaddr < Attribute
1676
+ TYPE = 24
1677
+ NAME = :"mcast_query_use_ifaddr"
1678
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1679
+ end
1680
+ class McastQuerier < Attribute
1681
+ TYPE = 25
1682
+ NAME = :"mcast_querier"
1683
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1684
+ end
1685
+ class McastHashElasticity < Attribute
1686
+ TYPE = 26
1687
+ NAME = :"mcast_hash_elasticity"
1688
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1689
+ end
1690
+ class McastHashMax < Attribute
1691
+ TYPE = 27
1692
+ NAME = :"mcast_hash_max"
1693
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1694
+ end
1695
+ class McastLastMemberCnt < Attribute
1696
+ TYPE = 28
1697
+ NAME = :"mcast_last_member_cnt"
1698
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1699
+ end
1700
+ class McastStartupQueryCnt < Attribute
1701
+ TYPE = 29
1702
+ NAME = :"mcast_startup_query_cnt"
1703
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1704
+ end
1705
+ class McastLastMemberIntvl < Attribute
1706
+ TYPE = 30
1707
+ NAME = :"mcast_last_member_intvl"
1708
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1709
+ end
1710
+ class McastMembershipIntvl < Attribute
1711
+ TYPE = 31
1712
+ NAME = :"mcast_membership_intvl"
1713
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1714
+ end
1715
+ class McastQuerierIntvl < Attribute
1716
+ TYPE = 32
1717
+ NAME = :"mcast_querier_intvl"
1718
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1719
+ end
1720
+ class McastQueryIntvl < Attribute
1721
+ TYPE = 33
1722
+ NAME = :"mcast_query_intvl"
1723
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1724
+ end
1725
+ class McastQueryResponseIntvl < Attribute
1726
+ TYPE = 34
1727
+ NAME = :"mcast_query_response_intvl"
1728
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1729
+ end
1730
+ class McastStartupQueryIntvl < Attribute
1731
+ TYPE = 35
1732
+ NAME = :"mcast_startup_query_intvl"
1733
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1734
+ end
1735
+ class NfCallIptables < Attribute
1736
+ TYPE = 36
1737
+ NAME = :"nf_call_iptables"
1738
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1739
+ end
1740
+ class NfCallIp6tables < Attribute
1741
+ TYPE = 37
1742
+ NAME = :"nf_call_ip6tables"
1743
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1744
+ end
1745
+ class NfCallArptables < Attribute
1746
+ TYPE = 38
1747
+ NAME = :"nf_call_arptables"
1748
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1749
+ end
1750
+ class VlanDefaultPvid < Attribute
1751
+ TYPE = 39
1752
+ NAME = :"vlan_default_pvid"
1753
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1754
+ end
1755
+ class Pad < Attribute
1756
+ TYPE = 40
1757
+ NAME = :"pad"
1758
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
1759
+ end
1760
+ class VlanStatsEnabled < Attribute
1761
+ TYPE = 41
1762
+ NAME = :"vlan_stats_enabled"
1763
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1764
+ end
1765
+ class McastStatsEnabled < Attribute
1766
+ TYPE = 42
1767
+ NAME = :"mcast_stats_enabled"
1768
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1769
+ end
1770
+ class McastIgmpVersion < Attribute
1771
+ TYPE = 43
1772
+ NAME = :"mcast_igmp_version"
1773
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1774
+ end
1775
+ class McastMldVersion < Attribute
1776
+ TYPE = 44
1777
+ NAME = :"mcast_mld_version"
1778
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1779
+ end
1780
+ class VlanStatsPerPort < Attribute
1781
+ TYPE = 45
1782
+ NAME = :"vlan_stats_per_port"
1783
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1784
+ end
1785
+ class MultiBoolopt < Attribute
1786
+ TYPE = 46
1787
+ NAME = :"multi_boolopt"
1788
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1789
+ end
1790
+ class McastQuerierState < Attribute
1791
+ TYPE = 47
1792
+ NAME = :"mcast_querier_state"
1793
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1794
+ end
1795
+ class FdbNLearned < Attribute
1796
+ TYPE = 48
1797
+ NAME = :"fdb_n_learned"
1798
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1799
+ end
1800
+ class FdbMaxLearned < Attribute
1801
+ TYPE = 49
1802
+ NAME = :"fdb_max_learned"
1803
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1804
+ end
1805
+ # :nodoc:
1806
+ BY_NAME = Ractor.make_shareable({:"forward_delay" => ForwardDelay, :"hello_time" => HelloTime, :"max_age" => MaxAge, :"ageing_time" => AgeingTime, :"stp_state" => StpState, :"priority" => Priority, :"vlan_filtering" => VlanFiltering, :"vlan_protocol" => VlanProtocol, :"group_fwd_mask" => GroupFwdMask, :"root_id" => RootId, :"bridge_id" => BridgeId, :"root_port" => RootPort, :"root_path_cost" => RootPathCost, :"topology_change" => TopologyChange, :"topology_change_detected" => TopologyChangeDetected, :"hello_timer" => HelloTimer, :"tcn_timer" => TcnTimer, :"topology_change_timer" => TopologyChangeTimer, :"gc_timer" => GcTimer, :"group_addr" => GroupAddr, :"fdb_flush" => FdbFlush, :"mcast_router" => McastRouter, :"mcast_snooping" => McastSnooping, :"mcast_query_use_ifaddr" => McastQueryUseIfaddr, :"mcast_querier" => McastQuerier, :"mcast_hash_elasticity" => McastHashElasticity, :"mcast_hash_max" => McastHashMax, :"mcast_last_member_cnt" => McastLastMemberCnt, :"mcast_startup_query_cnt" => McastStartupQueryCnt, :"mcast_last_member_intvl" => McastLastMemberIntvl, :"mcast_membership_intvl" => McastMembershipIntvl, :"mcast_querier_intvl" => McastQuerierIntvl, :"mcast_query_intvl" => McastQueryIntvl, :"mcast_query_response_intvl" => McastQueryResponseIntvl, :"mcast_startup_query_intvl" => McastStartupQueryIntvl, :"nf_call_iptables" => NfCallIptables, :"nf_call_ip6tables" => NfCallIp6tables, :"nf_call_arptables" => NfCallArptables, :"vlan_default_pvid" => VlanDefaultPvid, :"pad" => Pad, :"vlan_stats_enabled" => VlanStatsEnabled, :"mcast_stats_enabled" => McastStatsEnabled, :"mcast_igmp_version" => McastIgmpVersion, :"mcast_mld_version" => McastMldVersion, :"vlan_stats_per_port" => VlanStatsPerPort, :"multi_boolopt" => MultiBoolopt, :"mcast_querier_state" => McastQuerierState, :"fdb_n_learned" => FdbNLearned, :"fdb_max_learned" => FdbMaxLearned}) #: Hash[::Symbol, Attribute]
1807
+ # :nodoc:
1808
+ BY_TYPE = Ractor.make_shareable({1 => ForwardDelay, 2 => HelloTime, 3 => MaxAge, 4 => AgeingTime, 5 => StpState, 6 => Priority, 7 => VlanFiltering, 8 => VlanProtocol, 9 => GroupFwdMask, 10 => RootId, 11 => BridgeId, 12 => RootPort, 13 => RootPathCost, 14 => TopologyChange, 15 => TopologyChangeDetected, 16 => HelloTimer, 17 => TcnTimer, 18 => TopologyChangeTimer, 19 => GcTimer, 20 => GroupAddr, 21 => FdbFlush, 22 => McastRouter, 23 => McastSnooping, 24 => McastQueryUseIfaddr, 25 => McastQuerier, 26 => McastHashElasticity, 27 => McastHashMax, 28 => McastLastMemberCnt, 29 => McastStartupQueryCnt, 30 => McastLastMemberIntvl, 31 => McastMembershipIntvl, 32 => McastQuerierIntvl, 33 => McastQueryIntvl, 34 => McastQueryResponseIntvl, 35 => McastStartupQueryIntvl, 36 => NfCallIptables, 37 => NfCallIp6tables, 38 => NfCallArptables, 39 => VlanDefaultPvid, 40 => Pad, 41 => VlanStatsEnabled, 42 => McastStatsEnabled, 43 => McastIgmpVersion, 44 => McastMldVersion, 45 => VlanStatsPerPort, 46 => MultiBoolopt, 47 => McastQuerierState, 48 => FdbNLearned, 49 => FdbMaxLearned}) #: Hash[::Integer, Attribute]
1809
+ class << self
1810
+ # Looks up Attribute class by name.
1811
+ #--
1812
+ # @rbs name: Symbol
1813
+ # @rbs return: Attribute
1814
+ def by_name(name); BY_NAME.fetch(name); end
1815
+ # Looks up Attribute class by type value.
1816
+ #--
1817
+ # @rbs type: Integer
1818
+ # @rbs return: Attribute
1819
+ def by_type(type); BY_TYPE.fetch(type); end
1820
+ end
1821
+ end
1822
+ class LinkinfoBrportAttrs < ::Nl::Protocols::Raw::AttributeSet
1823
+ # Abstract class
1824
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1825
+ end
1826
+ class State < Attribute
1827
+ TYPE = 1
1828
+ NAME = :"state"
1829
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1830
+ end
1831
+ class Priority < Attribute
1832
+ TYPE = 2
1833
+ NAME = :"priority"
1834
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1835
+ end
1836
+ class Cost < Attribute
1837
+ TYPE = 3
1838
+ NAME = :"cost"
1839
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1840
+ end
1841
+ class Mode < Attribute
1842
+ TYPE = 4
1843
+ NAME = :"mode"
1844
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1845
+ end
1846
+ class Guard < Attribute
1847
+ TYPE = 5
1848
+ NAME = :"guard"
1849
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1850
+ end
1851
+ class Protect < Attribute
1852
+ TYPE = 6
1853
+ NAME = :"protect"
1854
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1855
+ end
1856
+ class FastLeave < Attribute
1857
+ TYPE = 7
1858
+ NAME = :"fast_leave"
1859
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1860
+ end
1861
+ class Learning < Attribute
1862
+ TYPE = 8
1863
+ NAME = :"learning"
1864
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1865
+ end
1866
+ class UnicastFlood < Attribute
1867
+ TYPE = 9
1868
+ NAME = :"unicast_flood"
1869
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1870
+ end
1871
+ class Proxyarp < Attribute
1872
+ TYPE = 10
1873
+ NAME = :"proxyarp"
1874
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1875
+ end
1876
+ class LearningSync < Attribute
1877
+ TYPE = 11
1878
+ NAME = :"learning_sync"
1879
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1880
+ end
1881
+ class ProxyarpWifi < Attribute
1882
+ TYPE = 12
1883
+ NAME = :"proxyarp_wifi"
1884
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1885
+ end
1886
+ class RootId < Attribute
1887
+ TYPE = 13
1888
+ NAME = :"root_id"
1889
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1890
+ end
1891
+ class BridgeId < Attribute
1892
+ TYPE = 14
1893
+ NAME = :"bridge_id"
1894
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1895
+ end
1896
+ class DesignatedPort < Attribute
1897
+ TYPE = 15
1898
+ NAME = :"designated_port"
1899
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1900
+ end
1901
+ class DesignatedCost < Attribute
1902
+ TYPE = 16
1903
+ NAME = :"designated_cost"
1904
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1905
+ end
1906
+ class Id < Attribute
1907
+ TYPE = 17
1908
+ NAME = :"id"
1909
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1910
+ end
1911
+ class No < Attribute
1912
+ TYPE = 18
1913
+ NAME = :"no"
1914
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1915
+ end
1916
+ class TopologyChangeAck < Attribute
1917
+ TYPE = 19
1918
+ NAME = :"topology_change_ack"
1919
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1920
+ end
1921
+ class ConfigPending < Attribute
1922
+ TYPE = 20
1923
+ NAME = :"config_pending"
1924
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1925
+ end
1926
+ class MessageAgeTimer < Attribute
1927
+ TYPE = 21
1928
+ NAME = :"message_age_timer"
1929
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1930
+ end
1931
+ class ForwardDelayTimer < Attribute
1932
+ TYPE = 22
1933
+ NAME = :"forward_delay_timer"
1934
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1935
+ end
1936
+ class HoldTimer < Attribute
1937
+ TYPE = 23
1938
+ NAME = :"hold_timer"
1939
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1940
+ end
1941
+ class Flush < Attribute
1942
+ TYPE = 24
1943
+ NAME = :"flush"
1944
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1945
+ end
1946
+ class MulticastRouter < Attribute
1947
+ TYPE = 25
1948
+ NAME = :"multicast_router"
1949
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1950
+ end
1951
+ class Pad < Attribute
1952
+ TYPE = 26
1953
+ NAME = :"pad"
1954
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
1955
+ end
1956
+ class McastFlood < Attribute
1957
+ TYPE = 27
1958
+ NAME = :"mcast_flood"
1959
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1960
+ end
1961
+ class McastToUcast < Attribute
1962
+ TYPE = 28
1963
+ NAME = :"mcast_to_ucast"
1964
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1965
+ end
1966
+ class VlanTunnel < Attribute
1967
+ TYPE = 29
1968
+ NAME = :"vlan_tunnel"
1969
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1970
+ end
1971
+ class BcastFlood < Attribute
1972
+ TYPE = 30
1973
+ NAME = :"bcast_flood"
1974
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1975
+ end
1976
+ class GroupFwdMask < Attribute
1977
+ TYPE = 31
1978
+ NAME = :"group_fwd_mask"
1979
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
1980
+ end
1981
+ class NeighSuppress < Attribute
1982
+ TYPE = 32
1983
+ NAME = :"neigh_suppress"
1984
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1985
+ end
1986
+ class Isolated < Attribute
1987
+ TYPE = 33
1988
+ NAME = :"isolated"
1989
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1990
+ end
1991
+ class BackupPort < Attribute
1992
+ TYPE = 34
1993
+ NAME = :"backup_port"
1994
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1995
+ end
1996
+ class MrpRingOpen < Attribute
1997
+ TYPE = 35
1998
+ NAME = :"mrp_ring_open"
1999
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2000
+ end
2001
+ class MrpInOpen < Attribute
2002
+ TYPE = 36
2003
+ NAME = :"mrp_in_open"
2004
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2005
+ end
2006
+ class McastEhtHostsLimit < Attribute
2007
+ TYPE = 37
2008
+ NAME = :"mcast_eht_hosts_limit"
2009
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2010
+ end
2011
+ class McastEhtHostsCnt < Attribute
2012
+ TYPE = 38
2013
+ NAME = :"mcast_eht_hosts_cnt"
2014
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2015
+ end
2016
+ class Locked < Attribute
2017
+ TYPE = 39
2018
+ NAME = :"locked"
2019
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2020
+ end
2021
+ class Mab < Attribute
2022
+ TYPE = 40
2023
+ NAME = :"mab"
2024
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2025
+ end
2026
+ class McastNGroups < Attribute
2027
+ TYPE = 41
2028
+ NAME = :"mcast_n_groups"
2029
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2030
+ end
2031
+ class McastMaxGroups < Attribute
2032
+ TYPE = 42
2033
+ NAME = :"mcast_max_groups"
2034
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2035
+ end
2036
+ class NeighVlanSuppress < Attribute
2037
+ TYPE = 43
2038
+ NAME = :"neigh_vlan_suppress"
2039
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2040
+ end
2041
+ class BackupNhid < Attribute
2042
+ TYPE = 44
2043
+ NAME = :"backup_nhid"
2044
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2045
+ end
2046
+ # :nodoc:
2047
+ BY_NAME = Ractor.make_shareable({:"state" => State, :"priority" => Priority, :"cost" => Cost, :"mode" => Mode, :"guard" => Guard, :"protect" => Protect, :"fast_leave" => FastLeave, :"learning" => Learning, :"unicast_flood" => UnicastFlood, :"proxyarp" => Proxyarp, :"learning_sync" => LearningSync, :"proxyarp_wifi" => ProxyarpWifi, :"root_id" => RootId, :"bridge_id" => BridgeId, :"designated_port" => DesignatedPort, :"designated_cost" => DesignatedCost, :"id" => Id, :"no" => No, :"topology_change_ack" => TopologyChangeAck, :"config_pending" => ConfigPending, :"message_age_timer" => MessageAgeTimer, :"forward_delay_timer" => ForwardDelayTimer, :"hold_timer" => HoldTimer, :"flush" => Flush, :"multicast_router" => MulticastRouter, :"pad" => Pad, :"mcast_flood" => McastFlood, :"mcast_to_ucast" => McastToUcast, :"vlan_tunnel" => VlanTunnel, :"bcast_flood" => BcastFlood, :"group_fwd_mask" => GroupFwdMask, :"neigh_suppress" => NeighSuppress, :"isolated" => Isolated, :"backup_port" => BackupPort, :"mrp_ring_open" => MrpRingOpen, :"mrp_in_open" => MrpInOpen, :"mcast_eht_hosts_limit" => McastEhtHostsLimit, :"mcast_eht_hosts_cnt" => McastEhtHostsCnt, :"locked" => Locked, :"mab" => Mab, :"mcast_n_groups" => McastNGroups, :"mcast_max_groups" => McastMaxGroups, :"neigh_vlan_suppress" => NeighVlanSuppress, :"backup_nhid" => BackupNhid}) #: Hash[::Symbol, Attribute]
2048
+ # :nodoc:
2049
+ BY_TYPE = Ractor.make_shareable({1 => State, 2 => Priority, 3 => Cost, 4 => Mode, 5 => Guard, 6 => Protect, 7 => FastLeave, 8 => Learning, 9 => UnicastFlood, 10 => Proxyarp, 11 => LearningSync, 12 => ProxyarpWifi, 13 => RootId, 14 => BridgeId, 15 => DesignatedPort, 16 => DesignatedCost, 17 => Id, 18 => No, 19 => TopologyChangeAck, 20 => ConfigPending, 21 => MessageAgeTimer, 22 => ForwardDelayTimer, 23 => HoldTimer, 24 => Flush, 25 => MulticastRouter, 26 => Pad, 27 => McastFlood, 28 => McastToUcast, 29 => VlanTunnel, 30 => BcastFlood, 31 => GroupFwdMask, 32 => NeighSuppress, 33 => Isolated, 34 => BackupPort, 35 => MrpRingOpen, 36 => MrpInOpen, 37 => McastEhtHostsLimit, 38 => McastEhtHostsCnt, 39 => Locked, 40 => Mab, 41 => McastNGroups, 42 => McastMaxGroups, 43 => NeighVlanSuppress, 44 => BackupNhid}) #: Hash[::Integer, Attribute]
2050
+ class << self
2051
+ # Looks up Attribute class by name.
2052
+ #--
2053
+ # @rbs name: Symbol
2054
+ # @rbs return: Attribute
2055
+ def by_name(name); BY_NAME.fetch(name); end
2056
+ # Looks up Attribute class by type value.
2057
+ #--
2058
+ # @rbs type: Integer
2059
+ # @rbs return: Attribute
2060
+ def by_type(type); BY_TYPE.fetch(type); end
2061
+ end
2062
+ end
2063
+ class LinkinfoGreAttrs < ::Nl::Protocols::Raw::AttributeSet
2064
+ # Abstract class
2065
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2066
+ end
2067
+ class Link < Attribute
2068
+ TYPE = 1
2069
+ NAME = :"link"
2070
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2071
+ end
2072
+ class Iflags < Attribute
2073
+ TYPE = 2
2074
+ NAME = :"iflags"
2075
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2076
+ end
2077
+ class Oflags < Attribute
2078
+ TYPE = 3
2079
+ NAME = :"oflags"
2080
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2081
+ end
2082
+ class Ikey < Attribute
2083
+ TYPE = 4
2084
+ NAME = :"ikey"
2085
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2086
+ end
2087
+ class Okey < Attribute
2088
+ TYPE = 5
2089
+ NAME = :"okey"
2090
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2091
+ end
2092
+ class Local < Attribute
2093
+ TYPE = 6
2094
+ NAME = :"local"
2095
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2096
+ end
2097
+ class Remote < Attribute
2098
+ TYPE = 7
2099
+ NAME = :"remote"
2100
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2101
+ end
2102
+ class Ttl < Attribute
2103
+ TYPE = 8
2104
+ NAME = :"ttl"
2105
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2106
+ end
2107
+ class Tos < Attribute
2108
+ TYPE = 9
2109
+ NAME = :"tos"
2110
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2111
+ end
2112
+ class Pmtudisc < Attribute
2113
+ TYPE = 10
2114
+ NAME = :"pmtudisc"
2115
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2116
+ end
2117
+ class EncapLimit < Attribute
2118
+ TYPE = 11
2119
+ NAME = :"encap_limit"
2120
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2121
+ end
2122
+ class Flowinfo < Attribute
2123
+ TYPE = 12
2124
+ NAME = :"flowinfo"
2125
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2126
+ end
2127
+ class Flags < Attribute
2128
+ TYPE = 13
2129
+ NAME = :"flags"
2130
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2131
+ end
2132
+ class EncapType < Attribute
2133
+ TYPE = 14
2134
+ NAME = :"encap_type"
2135
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2136
+ end
2137
+ class EncapFlags < Attribute
2138
+ TYPE = 15
2139
+ NAME = :"encap_flags"
2140
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2141
+ end
2142
+ class EncapSport < Attribute
2143
+ TYPE = 16
2144
+ NAME = :"encap_sport"
2145
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2146
+ end
2147
+ class EncapDport < Attribute
2148
+ TYPE = 17
2149
+ NAME = :"encap_dport"
2150
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2151
+ end
2152
+ class CollectMetadata < Attribute
2153
+ TYPE = 18
2154
+ NAME = :"collect_metadata"
2155
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2156
+ end
2157
+ class IgnoreDf < Attribute
2158
+ TYPE = 19
2159
+ NAME = :"ignore_df"
2160
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2161
+ end
2162
+ class Fwmark < Attribute
2163
+ TYPE = 20
2164
+ NAME = :"fwmark"
2165
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2166
+ end
2167
+ class ErspanIndex < Attribute
2168
+ TYPE = 21
2169
+ NAME = :"erspan_index"
2170
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2171
+ end
2172
+ class ErspanVer < Attribute
2173
+ TYPE = 22
2174
+ NAME = :"erspan_ver"
2175
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2176
+ end
2177
+ class ErspanDir < Attribute
2178
+ TYPE = 23
2179
+ NAME = :"erspan_dir"
2180
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2181
+ end
2182
+ class ErspanHwid < Attribute
2183
+ TYPE = 24
2184
+ NAME = :"erspan_hwid"
2185
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2186
+ end
2187
+ # :nodoc:
2188
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"iflags" => Iflags, :"oflags" => Oflags, :"ikey" => Ikey, :"okey" => Okey, :"local" => Local, :"remote" => Remote, :"ttl" => Ttl, :"tos" => Tos, :"pmtudisc" => Pmtudisc, :"encap_limit" => EncapLimit, :"flowinfo" => Flowinfo, :"flags" => Flags, :"encap_type" => EncapType, :"encap_flags" => EncapFlags, :"encap_sport" => EncapSport, :"encap_dport" => EncapDport, :"collect_metadata" => CollectMetadata, :"ignore_df" => IgnoreDf, :"fwmark" => Fwmark, :"erspan_index" => ErspanIndex, :"erspan_ver" => ErspanVer, :"erspan_dir" => ErspanDir, :"erspan_hwid" => ErspanHwid}) #: Hash[::Symbol, Attribute]
2189
+ # :nodoc:
2190
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Iflags, 3 => Oflags, 4 => Ikey, 5 => Okey, 6 => Local, 7 => Remote, 8 => Ttl, 9 => Tos, 10 => Pmtudisc, 11 => EncapLimit, 12 => Flowinfo, 13 => Flags, 14 => EncapType, 15 => EncapFlags, 16 => EncapSport, 17 => EncapDport, 18 => CollectMetadata, 19 => IgnoreDf, 20 => Fwmark, 21 => ErspanIndex, 22 => ErspanVer, 23 => ErspanDir, 24 => ErspanHwid}) #: Hash[::Integer, Attribute]
2191
+ class << self
2192
+ # Looks up Attribute class by name.
2193
+ #--
2194
+ # @rbs name: Symbol
2195
+ # @rbs return: Attribute
2196
+ def by_name(name); BY_NAME.fetch(name); end
2197
+ # Looks up Attribute class by type value.
2198
+ #--
2199
+ # @rbs type: Integer
2200
+ # @rbs return: Attribute
2201
+ def by_type(type); BY_TYPE.fetch(type); end
2202
+ end
2203
+ end
2204
+ class LinkinfoGre6Attrs < ::Nl::Protocols::Raw::AttributeSet
2205
+ # Abstract class
2206
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2207
+ end
2208
+ class Link < Attribute
2209
+ TYPE = 1
2210
+ NAME = :"link"
2211
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2212
+ end
2213
+ class Iflags < Attribute
2214
+ TYPE = 2
2215
+ NAME = :"iflags"
2216
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2217
+ end
2218
+ class Oflags < Attribute
2219
+ TYPE = 3
2220
+ NAME = :"oflags"
2221
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2222
+ end
2223
+ class Ikey < Attribute
2224
+ TYPE = 4
2225
+ NAME = :"ikey"
2226
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2227
+ end
2228
+ class Okey < Attribute
2229
+ TYPE = 5
2230
+ NAME = :"okey"
2231
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2232
+ end
2233
+ class Local < Attribute
2234
+ TYPE = 6
2235
+ NAME = :"local"
2236
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2237
+ end
2238
+ class Remote < Attribute
2239
+ TYPE = 7
2240
+ NAME = :"remote"
2241
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2242
+ end
2243
+ class Ttl < Attribute
2244
+ TYPE = 8
2245
+ NAME = :"ttl"
2246
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2247
+ end
2248
+ class EncapLimit < Attribute
2249
+ TYPE = 11
2250
+ NAME = :"encap_limit"
2251
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2252
+ end
2253
+ class Flowinfo < Attribute
2254
+ TYPE = 12
2255
+ NAME = :"flowinfo"
2256
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2257
+ end
2258
+ class Flags < Attribute
2259
+ TYPE = 13
2260
+ NAME = :"flags"
2261
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2262
+ end
2263
+ class EncapType < Attribute
2264
+ TYPE = 14
2265
+ NAME = :"encap_type"
2266
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2267
+ end
2268
+ class EncapFlags < Attribute
2269
+ TYPE = 15
2270
+ NAME = :"encap_flags"
2271
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2272
+ end
2273
+ class EncapSport < Attribute
2274
+ TYPE = 16
2275
+ NAME = :"encap_sport"
2276
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2277
+ end
2278
+ class EncapDport < Attribute
2279
+ TYPE = 17
2280
+ NAME = :"encap_dport"
2281
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2282
+ end
2283
+ class CollectMetadata < Attribute
2284
+ TYPE = 18
2285
+ NAME = :"collect_metadata"
2286
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2287
+ end
2288
+ class Fwmark < Attribute
2289
+ TYPE = 20
2290
+ NAME = :"fwmark"
2291
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2292
+ end
2293
+ class ErspanIndex < Attribute
2294
+ TYPE = 21
2295
+ NAME = :"erspan_index"
2296
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2297
+ end
2298
+ class ErspanVer < Attribute
2299
+ TYPE = 22
2300
+ NAME = :"erspan_ver"
2301
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2302
+ end
2303
+ class ErspanDir < Attribute
2304
+ TYPE = 23
2305
+ NAME = :"erspan_dir"
2306
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2307
+ end
2308
+ class ErspanHwid < Attribute
2309
+ TYPE = 24
2310
+ NAME = :"erspan_hwid"
2311
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2312
+ end
2313
+ # :nodoc:
2314
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"iflags" => Iflags, :"oflags" => Oflags, :"ikey" => Ikey, :"okey" => Okey, :"local" => Local, :"remote" => Remote, :"ttl" => Ttl, :"encap_limit" => EncapLimit, :"flowinfo" => Flowinfo, :"flags" => Flags, :"encap_type" => EncapType, :"encap_flags" => EncapFlags, :"encap_sport" => EncapSport, :"encap_dport" => EncapDport, :"collect_metadata" => CollectMetadata, :"fwmark" => Fwmark, :"erspan_index" => ErspanIndex, :"erspan_ver" => ErspanVer, :"erspan_dir" => ErspanDir, :"erspan_hwid" => ErspanHwid}) #: Hash[::Symbol, Attribute]
2315
+ # :nodoc:
2316
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Iflags, 3 => Oflags, 4 => Ikey, 5 => Okey, 6 => Local, 7 => Remote, 8 => Ttl, 11 => EncapLimit, 12 => Flowinfo, 13 => Flags, 14 => EncapType, 15 => EncapFlags, 16 => EncapSport, 17 => EncapDport, 18 => CollectMetadata, 20 => Fwmark, 21 => ErspanIndex, 22 => ErspanVer, 23 => ErspanDir, 24 => ErspanHwid}) #: Hash[::Integer, Attribute]
2317
+ class << self
2318
+ # Looks up Attribute class by name.
2319
+ #--
2320
+ # @rbs name: Symbol
2321
+ # @rbs return: Attribute
2322
+ def by_name(name); BY_NAME.fetch(name); end
2323
+ # Looks up Attribute class by type value.
2324
+ #--
2325
+ # @rbs type: Integer
2326
+ # @rbs return: Attribute
2327
+ def by_type(type); BY_TYPE.fetch(type); end
2328
+ end
2329
+ end
2330
+ class LinkinfoVtiAttrs < ::Nl::Protocols::Raw::AttributeSet
2331
+ # Abstract class
2332
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2333
+ end
2334
+ class Link < Attribute
2335
+ TYPE = 1
2336
+ NAME = :"link"
2337
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2338
+ end
2339
+ class Ikey < Attribute
2340
+ TYPE = 2
2341
+ NAME = :"ikey"
2342
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2343
+ end
2344
+ class Okey < Attribute
2345
+ TYPE = 3
2346
+ NAME = :"okey"
2347
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2348
+ end
2349
+ class Local < Attribute
2350
+ TYPE = 4
2351
+ NAME = :"local"
2352
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2353
+ end
2354
+ class Remote < Attribute
2355
+ TYPE = 5
2356
+ NAME = :"remote"
2357
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2358
+ end
2359
+ class Fwmark < Attribute
2360
+ TYPE = 6
2361
+ NAME = :"fwmark"
2362
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2363
+ end
2364
+ # :nodoc:
2365
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"ikey" => Ikey, :"okey" => Okey, :"local" => Local, :"remote" => Remote, :"fwmark" => Fwmark}) #: Hash[::Symbol, Attribute]
2366
+ # :nodoc:
2367
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Ikey, 3 => Okey, 4 => Local, 5 => Remote, 6 => Fwmark}) #: Hash[::Integer, Attribute]
2368
+ class << self
2369
+ # Looks up Attribute class by name.
2370
+ #--
2371
+ # @rbs name: Symbol
2372
+ # @rbs return: Attribute
2373
+ def by_name(name); BY_NAME.fetch(name); end
2374
+ # Looks up Attribute class by type value.
2375
+ #--
2376
+ # @rbs type: Integer
2377
+ # @rbs return: Attribute
2378
+ def by_type(type); BY_TYPE.fetch(type); end
2379
+ end
2380
+ end
2381
+ class LinkinfoVti6Attrs < ::Nl::Protocols::Raw::AttributeSet
2382
+ # Abstract class
2383
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2384
+ end
2385
+ class Link < Attribute
2386
+ TYPE = 1
2387
+ NAME = :"link"
2388
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2389
+ end
2390
+ class Ikey < Attribute
2391
+ TYPE = 2
2392
+ NAME = :"ikey"
2393
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2394
+ end
2395
+ class Okey < Attribute
2396
+ TYPE = 3
2397
+ NAME = :"okey"
2398
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2399
+ end
2400
+ class Local < Attribute
2401
+ TYPE = 4
2402
+ NAME = :"local"
2403
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2404
+ end
2405
+ class Remote < Attribute
2406
+ TYPE = 5
2407
+ NAME = :"remote"
2408
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2409
+ end
2410
+ class Fwmark < Attribute
2411
+ TYPE = 6
2412
+ NAME = :"fwmark"
2413
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2414
+ end
2415
+ # :nodoc:
2416
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"ikey" => Ikey, :"okey" => Okey, :"local" => Local, :"remote" => Remote, :"fwmark" => Fwmark}) #: Hash[::Symbol, Attribute]
2417
+ # :nodoc:
2418
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Ikey, 3 => Okey, 4 => Local, 5 => Remote, 6 => Fwmark}) #: Hash[::Integer, Attribute]
2419
+ class << self
2420
+ # Looks up Attribute class by name.
2421
+ #--
2422
+ # @rbs name: Symbol
2423
+ # @rbs return: Attribute
2424
+ def by_name(name); BY_NAME.fetch(name); end
2425
+ # Looks up Attribute class by type value.
2426
+ #--
2427
+ # @rbs type: Integer
2428
+ # @rbs return: Attribute
2429
+ def by_type(type); BY_TYPE.fetch(type); end
2430
+ end
2431
+ end
2432
+ class LinkinfoGeneveAttrs < ::Nl::Protocols::Raw::AttributeSet
2433
+ # Abstract class
2434
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2435
+ end
2436
+ class Id < Attribute
2437
+ TYPE = 1
2438
+ NAME = :"id"
2439
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2440
+ end
2441
+ class Remote < Attribute
2442
+ TYPE = 2
2443
+ NAME = :"remote"
2444
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2445
+ end
2446
+ class Ttl < Attribute
2447
+ TYPE = 3
2448
+ NAME = :"ttl"
2449
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2450
+ end
2451
+ class Tos < Attribute
2452
+ TYPE = 4
2453
+ NAME = :"tos"
2454
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2455
+ end
2456
+ class Port < Attribute
2457
+ TYPE = 5
2458
+ NAME = :"port"
2459
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2460
+ end
2461
+ class CollectMetadata < Attribute
2462
+ TYPE = 6
2463
+ NAME = :"collect_metadata"
2464
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2465
+ end
2466
+ class Remote6 < Attribute
2467
+ TYPE = 7
2468
+ NAME = :"remote6"
2469
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2470
+ end
2471
+ class UdpCsum < Attribute
2472
+ TYPE = 8
2473
+ NAME = :"udp_csum"
2474
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2475
+ end
2476
+ class UdpZeroCsum6Tx < Attribute
2477
+ TYPE = 9
2478
+ NAME = :"udp_zero_csum6_tx"
2479
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2480
+ end
2481
+ class UdpZeroCsum6Rx < Attribute
2482
+ TYPE = 10
2483
+ NAME = :"udp_zero_csum6_rx"
2484
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2485
+ end
2486
+ class Label < Attribute
2487
+ TYPE = 11
2488
+ NAME = :"label"
2489
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2490
+ end
2491
+ class TtlInherit < Attribute
2492
+ TYPE = 12
2493
+ NAME = :"ttl_inherit"
2494
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2495
+ end
2496
+ class Df < Attribute
2497
+ TYPE = 13
2498
+ NAME = :"df"
2499
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2500
+ end
2501
+ class InnerProtoInherit < Attribute
2502
+ TYPE = 14
2503
+ NAME = :"inner_proto_inherit"
2504
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2505
+ end
2506
+ class PortRange < Attribute
2507
+ TYPE = 15
2508
+ NAME = :"port_range"
2509
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2510
+ end
2511
+ # :nodoc:
2512
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"remote" => Remote, :"ttl" => Ttl, :"tos" => Tos, :"port" => Port, :"collect_metadata" => CollectMetadata, :"remote6" => Remote6, :"udp_csum" => UdpCsum, :"udp_zero_csum6_tx" => UdpZeroCsum6Tx, :"udp_zero_csum6_rx" => UdpZeroCsum6Rx, :"label" => Label, :"ttl_inherit" => TtlInherit, :"df" => Df, :"inner_proto_inherit" => InnerProtoInherit, :"port_range" => PortRange}) #: Hash[::Symbol, Attribute]
2513
+ # :nodoc:
2514
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Remote, 3 => Ttl, 4 => Tos, 5 => Port, 6 => CollectMetadata, 7 => Remote6, 8 => UdpCsum, 9 => UdpZeroCsum6Tx, 10 => UdpZeroCsum6Rx, 11 => Label, 12 => TtlInherit, 13 => Df, 14 => InnerProtoInherit, 15 => PortRange}) #: Hash[::Integer, Attribute]
2515
+ class << self
2516
+ # Looks up Attribute class by name.
2517
+ #--
2518
+ # @rbs name: Symbol
2519
+ # @rbs return: Attribute
2520
+ def by_name(name); BY_NAME.fetch(name); end
2521
+ # Looks up Attribute class by type value.
2522
+ #--
2523
+ # @rbs type: Integer
2524
+ # @rbs return: Attribute
2525
+ def by_type(type); BY_TYPE.fetch(type); end
2526
+ end
2527
+ end
2528
+ class LinkinfoHsrAttrs < ::Nl::Protocols::Raw::AttributeSet
2529
+ # Abstract class
2530
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2531
+ end
2532
+ class Slave1 < Attribute
2533
+ TYPE = 1
2534
+ NAME = :"slave1"
2535
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2536
+ end
2537
+ class Slave2 < Attribute
2538
+ TYPE = 2
2539
+ NAME = :"slave2"
2540
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2541
+ end
2542
+ class MulticastSpec < Attribute
2543
+ TYPE = 3
2544
+ NAME = :"multicast_spec"
2545
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2546
+ end
2547
+ class SupervisionAddr < Attribute
2548
+ TYPE = 4
2549
+ NAME = :"supervision_addr"
2550
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2551
+ end
2552
+ class SeqNr < Attribute
2553
+ TYPE = 5
2554
+ NAME = :"seq_nr"
2555
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2556
+ end
2557
+ class Version < Attribute
2558
+ TYPE = 6
2559
+ NAME = :"version"
2560
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2561
+ end
2562
+ class Protocol < Attribute
2563
+ TYPE = 7
2564
+ NAME = :"protocol"
2565
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2566
+ end
2567
+ class Interlink < Attribute
2568
+ TYPE = 8
2569
+ NAME = :"interlink"
2570
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2571
+ end
2572
+ # :nodoc:
2573
+ BY_NAME = Ractor.make_shareable({:"slave1" => Slave1, :"slave2" => Slave2, :"multicast_spec" => MulticastSpec, :"supervision_addr" => SupervisionAddr, :"seq_nr" => SeqNr, :"version" => Version, :"protocol" => Protocol, :"interlink" => Interlink}) #: Hash[::Symbol, Attribute]
2574
+ # :nodoc:
2575
+ BY_TYPE = Ractor.make_shareable({1 => Slave1, 2 => Slave2, 3 => MulticastSpec, 4 => SupervisionAddr, 5 => SeqNr, 6 => Version, 7 => Protocol, 8 => Interlink}) #: Hash[::Integer, Attribute]
2576
+ class << self
2577
+ # Looks up Attribute class by name.
2578
+ #--
2579
+ # @rbs name: Symbol
2580
+ # @rbs return: Attribute
2581
+ def by_name(name); BY_NAME.fetch(name); end
2582
+ # Looks up Attribute class by type value.
2583
+ #--
2584
+ # @rbs type: Integer
2585
+ # @rbs return: Attribute
2586
+ def by_type(type); BY_TYPE.fetch(type); end
2587
+ end
2588
+ end
2589
+ class LinkinfoIptunAttrs < ::Nl::Protocols::Raw::AttributeSet
2590
+ # Abstract class
2591
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2592
+ end
2593
+ class Link < Attribute
2594
+ TYPE = 1
2595
+ NAME = :"link"
2596
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2597
+ end
2598
+ class Local < Attribute
2599
+ TYPE = 2
2600
+ NAME = :"local"
2601
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2602
+ end
2603
+ class Remote < Attribute
2604
+ TYPE = 3
2605
+ NAME = :"remote"
2606
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2607
+ end
2608
+ class Ttl < Attribute
2609
+ TYPE = 4
2610
+ NAME = :"ttl"
2611
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2612
+ end
2613
+ class Tos < Attribute
2614
+ TYPE = 5
2615
+ NAME = :"tos"
2616
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2617
+ end
2618
+ class EncapLimit < Attribute
2619
+ TYPE = 6
2620
+ NAME = :"encap_limit"
2621
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2622
+ end
2623
+ class Flowinfo < Attribute
2624
+ TYPE = 7
2625
+ NAME = :"flowinfo"
2626
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2627
+ end
2628
+ class Flags < Attribute
2629
+ TYPE = 8
2630
+ NAME = :"flags"
2631
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2632
+ end
2633
+ class Proto < Attribute
2634
+ TYPE = 9
2635
+ NAME = :"proto"
2636
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2637
+ end
2638
+ class Pmtudisc < Attribute
2639
+ TYPE = 10
2640
+ NAME = :"pmtudisc"
2641
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2642
+ end
2643
+ class X6rdPrefix < Attribute
2644
+ TYPE = 11
2645
+ NAME = :"x_6rd_prefix"
2646
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2647
+ end
2648
+ class X6rdRelayPrefix < Attribute
2649
+ TYPE = 12
2650
+ NAME = :"x_6rd_relay_prefix"
2651
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2652
+ end
2653
+ class X6rdPrefixlen < Attribute
2654
+ TYPE = 13
2655
+ NAME = :"x_6rd_prefixlen"
2656
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2657
+ end
2658
+ class X6rdRelayPrefixlen < Attribute
2659
+ TYPE = 14
2660
+ NAME = :"x_6rd_relay_prefixlen"
2661
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2662
+ end
2663
+ class EncapType < Attribute
2664
+ TYPE = 15
2665
+ NAME = :"encap_type"
2666
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2667
+ end
2668
+ class EncapFlags < Attribute
2669
+ TYPE = 16
2670
+ NAME = :"encap_flags"
2671
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2672
+ end
2673
+ class EncapSport < Attribute
2674
+ TYPE = 17
2675
+ NAME = :"encap_sport"
2676
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2677
+ end
2678
+ class EncapDport < Attribute
2679
+ TYPE = 18
2680
+ NAME = :"encap_dport"
2681
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2682
+ end
2683
+ class CollectMetadata < Attribute
2684
+ TYPE = 19
2685
+ NAME = :"collect_metadata"
2686
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2687
+ end
2688
+ class Fwmark < Attribute
2689
+ TYPE = 20
2690
+ NAME = :"fwmark"
2691
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2692
+ end
2693
+ # :nodoc:
2694
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"local" => Local, :"remote" => Remote, :"ttl" => Ttl, :"tos" => Tos, :"encap_limit" => EncapLimit, :"flowinfo" => Flowinfo, :"flags" => Flags, :"proto" => Proto, :"pmtudisc" => Pmtudisc, :"x_6rd_prefix" => X6rdPrefix, :"x_6rd_relay_prefix" => X6rdRelayPrefix, :"x_6rd_prefixlen" => X6rdPrefixlen, :"x_6rd_relay_prefixlen" => X6rdRelayPrefixlen, :"encap_type" => EncapType, :"encap_flags" => EncapFlags, :"encap_sport" => EncapSport, :"encap_dport" => EncapDport, :"collect_metadata" => CollectMetadata, :"fwmark" => Fwmark}) #: Hash[::Symbol, Attribute]
2695
+ # :nodoc:
2696
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Local, 3 => Remote, 4 => Ttl, 5 => Tos, 6 => EncapLimit, 7 => Flowinfo, 8 => Flags, 9 => Proto, 10 => Pmtudisc, 11 => X6rdPrefix, 12 => X6rdRelayPrefix, 13 => X6rdPrefixlen, 14 => X6rdRelayPrefixlen, 15 => EncapType, 16 => EncapFlags, 17 => EncapSport, 18 => EncapDport, 19 => CollectMetadata, 20 => Fwmark}) #: Hash[::Integer, Attribute]
2697
+ class << self
2698
+ # Looks up Attribute class by name.
2699
+ #--
2700
+ # @rbs name: Symbol
2701
+ # @rbs return: Attribute
2702
+ def by_name(name); BY_NAME.fetch(name); end
2703
+ # Looks up Attribute class by type value.
2704
+ #--
2705
+ # @rbs type: Integer
2706
+ # @rbs return: Attribute
2707
+ def by_type(type); BY_TYPE.fetch(type); end
2708
+ end
2709
+ end
2710
+ class LinkinfoIp6tnlAttrs < ::Nl::Protocols::Raw::AttributeSet
2711
+ # Abstract class
2712
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2713
+ end
2714
+ class Link < Attribute
2715
+ TYPE = 1
2716
+ NAME = :"link"
2717
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2718
+ end
2719
+ class Local < Attribute
2720
+ TYPE = 2
2721
+ NAME = :"local"
2722
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2723
+ end
2724
+ class Remote < Attribute
2725
+ TYPE = 3
2726
+ NAME = :"remote"
2727
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2728
+ end
2729
+ class Ttl < Attribute
2730
+ TYPE = 4
2731
+ NAME = :"ttl"
2732
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2733
+ end
2734
+ class EncapLimit < Attribute
2735
+ TYPE = 6
2736
+ NAME = :"encap_limit"
2737
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2738
+ end
2739
+ class Flowinfo < Attribute
2740
+ TYPE = 7
2741
+ NAME = :"flowinfo"
2742
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2743
+ end
2744
+ class Flags < Attribute
2745
+ TYPE = 8
2746
+ NAME = :"flags"
2747
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2748
+ end
2749
+ class Proto < Attribute
2750
+ TYPE = 9
2751
+ NAME = :"proto"
2752
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2753
+ end
2754
+ class EncapType < Attribute
2755
+ TYPE = 15
2756
+ NAME = :"encap_type"
2757
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2758
+ end
2759
+ class EncapFlags < Attribute
2760
+ TYPE = 16
2761
+ NAME = :"encap_flags"
2762
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2763
+ end
2764
+ class EncapSport < Attribute
2765
+ TYPE = 17
2766
+ NAME = :"encap_sport"
2767
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2768
+ end
2769
+ class EncapDport < Attribute
2770
+ TYPE = 18
2771
+ NAME = :"encap_dport"
2772
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2773
+ end
2774
+ class CollectMetadata < Attribute
2775
+ TYPE = 19
2776
+ NAME = :"collect_metadata"
2777
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2778
+ end
2779
+ class Fwmark < Attribute
2780
+ TYPE = 20
2781
+ NAME = :"fwmark"
2782
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2783
+ end
2784
+ # :nodoc:
2785
+ BY_NAME = Ractor.make_shareable({:"link" => Link, :"local" => Local, :"remote" => Remote, :"ttl" => Ttl, :"encap_limit" => EncapLimit, :"flowinfo" => Flowinfo, :"flags" => Flags, :"proto" => Proto, :"encap_type" => EncapType, :"encap_flags" => EncapFlags, :"encap_sport" => EncapSport, :"encap_dport" => EncapDport, :"collect_metadata" => CollectMetadata, :"fwmark" => Fwmark}) #: Hash[::Symbol, Attribute]
2786
+ # :nodoc:
2787
+ BY_TYPE = Ractor.make_shareable({1 => Link, 2 => Local, 3 => Remote, 4 => Ttl, 6 => EncapLimit, 7 => Flowinfo, 8 => Flags, 9 => Proto, 15 => EncapType, 16 => EncapFlags, 17 => EncapSport, 18 => EncapDport, 19 => CollectMetadata, 20 => Fwmark}) #: Hash[::Integer, Attribute]
2788
+ class << self
2789
+ # Looks up Attribute class by name.
2790
+ #--
2791
+ # @rbs name: Symbol
2792
+ # @rbs return: Attribute
2793
+ def by_name(name); BY_NAME.fetch(name); end
2794
+ # Looks up Attribute class by type value.
2795
+ #--
2796
+ # @rbs type: Integer
2797
+ # @rbs return: Attribute
2798
+ def by_type(type); BY_TYPE.fetch(type); end
2799
+ end
2800
+ end
2801
+ class LinkinfoTunAttrs < ::Nl::Protocols::Raw::AttributeSet
2802
+ # Abstract class
2803
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2804
+ end
2805
+ class Owner < Attribute
2806
+ TYPE = 1
2807
+ NAME = :"owner"
2808
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2809
+ end
2810
+ class Group < Attribute
2811
+ TYPE = 2
2812
+ NAME = :"group"
2813
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2814
+ end
2815
+ class Type < Attribute
2816
+ TYPE = 3
2817
+ NAME = :"type"
2818
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2819
+ end
2820
+ class Pi < Attribute
2821
+ TYPE = 4
2822
+ NAME = :"pi"
2823
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2824
+ end
2825
+ class VnetHdr < Attribute
2826
+ TYPE = 5
2827
+ NAME = :"vnet_hdr"
2828
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2829
+ end
2830
+ class Persist < Attribute
2831
+ TYPE = 6
2832
+ NAME = :"persist"
2833
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2834
+ end
2835
+ class MultiQueue < Attribute
2836
+ TYPE = 7
2837
+ NAME = :"multi_queue"
2838
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2839
+ end
2840
+ class NumQueues < Attribute
2841
+ TYPE = 8
2842
+ NAME = :"num_queues"
2843
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2844
+ end
2845
+ class NumDisabledQueues < Attribute
2846
+ TYPE = 9
2847
+ NAME = :"num_disabled_queues"
2848
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2849
+ end
2850
+ # :nodoc:
2851
+ BY_NAME = Ractor.make_shareable({:"owner" => Owner, :"group" => Group, :"type" => Type, :"pi" => Pi, :"vnet_hdr" => VnetHdr, :"persist" => Persist, :"multi_queue" => MultiQueue, :"num_queues" => NumQueues, :"num_disabled_queues" => NumDisabledQueues}) #: Hash[::Symbol, Attribute]
2852
+ # :nodoc:
2853
+ BY_TYPE = Ractor.make_shareable({1 => Owner, 2 => Group, 3 => Type, 4 => Pi, 5 => VnetHdr, 6 => Persist, 7 => MultiQueue, 8 => NumQueues, 9 => NumDisabledQueues}) #: Hash[::Integer, Attribute]
2854
+ class << self
2855
+ # Looks up Attribute class by name.
2856
+ #--
2857
+ # @rbs name: Symbol
2858
+ # @rbs return: Attribute
2859
+ def by_name(name); BY_NAME.fetch(name); end
2860
+ # Looks up Attribute class by type value.
2861
+ #--
2862
+ # @rbs type: Integer
2863
+ # @rbs return: Attribute
2864
+ def by_type(type); BY_TYPE.fetch(type); end
2865
+ end
2866
+ end
2867
+ class LinkinfoVlanAttrs < ::Nl::Protocols::Raw::AttributeSet
2868
+ # Abstract class
2869
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2870
+ end
2871
+ class Id < Attribute
2872
+ TYPE = 1
2873
+ NAME = :"id"
2874
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
2875
+ end
2876
+ class Flags < Attribute
2877
+ TYPE = 2
2878
+ NAME = :"flags"
2879
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2880
+ end
2881
+ class EgressQos < Attribute
2882
+ TYPE = 3
2883
+ NAME = :"egress_qos"
2884
+ end
2885
+ class IngressQos < Attribute
2886
+ TYPE = 4
2887
+ NAME = :"ingress_qos"
2888
+ end
2889
+ class Protocol < Attribute
2890
+ TYPE = 5
2891
+ NAME = :"protocol"
2892
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
2893
+ end
2894
+ # :nodoc:
2895
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"flags" => Flags, :"egress_qos" => EgressQos, :"ingress_qos" => IngressQos, :"protocol" => Protocol}) #: Hash[::Symbol, Attribute]
2896
+ # :nodoc:
2897
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Flags, 3 => EgressQos, 4 => IngressQos, 5 => Protocol}) #: Hash[::Integer, Attribute]
2898
+ class << self
2899
+ # Looks up Attribute class by name.
2900
+ #--
2901
+ # @rbs name: Symbol
2902
+ # @rbs return: Attribute
2903
+ def by_name(name); BY_NAME.fetch(name); end
2904
+ # Looks up Attribute class by type value.
2905
+ #--
2906
+ # @rbs type: Integer
2907
+ # @rbs return: Attribute
2908
+ def by_type(type); BY_TYPE.fetch(type); end
2909
+ end
2910
+ end
2911
+ class IflaVlanQos < ::Nl::Protocols::Raw::AttributeSet
2912
+ # Abstract class
2913
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2914
+ end
2915
+ class Mapping < Attribute
2916
+ TYPE = 1
2917
+ NAME = :"mapping"
2918
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2919
+ end
2920
+ # :nodoc:
2921
+ BY_NAME = Ractor.make_shareable({:"mapping" => Mapping}) #: Hash[::Symbol, Attribute]
2922
+ # :nodoc:
2923
+ BY_TYPE = Ractor.make_shareable({1 => Mapping}) #: Hash[::Integer, Attribute]
2924
+ class << self
2925
+ # Looks up Attribute class by name.
2926
+ #--
2927
+ # @rbs name: Symbol
2928
+ # @rbs return: Attribute
2929
+ def by_name(name); BY_NAME.fetch(name); end
2930
+ # Looks up Attribute class by type value.
2931
+ #--
2932
+ # @rbs type: Integer
2933
+ # @rbs return: Attribute
2934
+ def by_type(type); BY_TYPE.fetch(type); end
2935
+ end
2936
+ end
2937
+ class LinkinfoVrfAttrs < ::Nl::Protocols::Raw::AttributeSet
2938
+ # Abstract class
2939
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2940
+ end
2941
+ class Table < Attribute
2942
+ TYPE = 1
2943
+ NAME = :"table"
2944
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2945
+ end
2946
+ # :nodoc:
2947
+ BY_NAME = Ractor.make_shareable({:"table" => Table}) #: Hash[::Symbol, Attribute]
2948
+ # :nodoc:
2949
+ BY_TYPE = Ractor.make_shareable({1 => Table}) #: Hash[::Integer, Attribute]
2950
+ class << self
2951
+ # Looks up Attribute class by name.
2952
+ #--
2953
+ # @rbs name: Symbol
2954
+ # @rbs return: Attribute
2955
+ def by_name(name); BY_NAME.fetch(name); end
2956
+ # Looks up Attribute class by type value.
2957
+ #--
2958
+ # @rbs type: Integer
2959
+ # @rbs return: Attribute
2960
+ def by_type(type); BY_TYPE.fetch(type); end
2961
+ end
2962
+ end
2963
+ class XdpAttrs < ::Nl::Protocols::Raw::AttributeSet
2964
+ # Abstract class
2965
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
2966
+ end
2967
+ class Fd < Attribute
2968
+ TYPE = 1
2969
+ NAME = :"fd"
2970
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
2971
+ end
2972
+ class Attached < Attribute
2973
+ TYPE = 2
2974
+ NAME = :"attached"
2975
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2976
+ end
2977
+ class Flags < Attribute
2978
+ TYPE = 3
2979
+ NAME = :"flags"
2980
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2981
+ end
2982
+ class ProgId < Attribute
2983
+ TYPE = 4
2984
+ NAME = :"prog_id"
2985
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2986
+ end
2987
+ class DrvProgId < Attribute
2988
+ TYPE = 5
2989
+ NAME = :"drv_prog_id"
2990
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2991
+ end
2992
+ class SkbProgId < Attribute
2993
+ TYPE = 6
2994
+ NAME = :"skb_prog_id"
2995
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2996
+ end
2997
+ class HwProgId < Attribute
2998
+ TYPE = 7
2999
+ NAME = :"hw_prog_id"
3000
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3001
+ end
3002
+ class ExpectedFd < Attribute
3003
+ TYPE = 8
3004
+ NAME = :"expected_fd"
3005
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
3006
+ end
3007
+ # :nodoc:
3008
+ BY_NAME = Ractor.make_shareable({:"fd" => Fd, :"attached" => Attached, :"flags" => Flags, :"prog_id" => ProgId, :"drv_prog_id" => DrvProgId, :"skb_prog_id" => SkbProgId, :"hw_prog_id" => HwProgId, :"expected_fd" => ExpectedFd}) #: Hash[::Symbol, Attribute]
3009
+ # :nodoc:
3010
+ BY_TYPE = Ractor.make_shareable({1 => Fd, 2 => Attached, 3 => Flags, 4 => ProgId, 5 => DrvProgId, 6 => SkbProgId, 7 => HwProgId, 8 => ExpectedFd}) #: Hash[::Integer, Attribute]
3011
+ class << self
3012
+ # Looks up Attribute class by name.
3013
+ #--
3014
+ # @rbs name: Symbol
3015
+ # @rbs return: Attribute
3016
+ def by_name(name); BY_NAME.fetch(name); end
3017
+ # Looks up Attribute class by type value.
3018
+ #--
3019
+ # @rbs type: Integer
3020
+ # @rbs return: Attribute
3021
+ def by_type(type); BY_TYPE.fetch(type); end
3022
+ end
3023
+ end
3024
+ class IflaAttrs < ::Nl::Protocols::Raw::AttributeSet
3025
+ # Abstract class
3026
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3027
+ end
3028
+ class Conf < Attribute
3029
+ TYPE = 1
3030
+ NAME = :"conf"
3031
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3032
+ end
3033
+ # :nodoc:
3034
+ BY_NAME = Ractor.make_shareable({:"conf" => Conf}) #: Hash[::Symbol, Attribute]
3035
+ # :nodoc:
3036
+ BY_TYPE = Ractor.make_shareable({1 => Conf}) #: Hash[::Integer, Attribute]
3037
+ class << self
3038
+ # Looks up Attribute class by name.
3039
+ #--
3040
+ # @rbs name: Symbol
3041
+ # @rbs return: Attribute
3042
+ def by_name(name); BY_NAME.fetch(name); end
3043
+ # Looks up Attribute class by type value.
3044
+ #--
3045
+ # @rbs type: Integer
3046
+ # @rbs return: Attribute
3047
+ def by_type(type); BY_TYPE.fetch(type); end
3048
+ end
3049
+ end
3050
+ class Ifla6Attrs < ::Nl::Protocols::Raw::AttributeSet
3051
+ # Abstract class
3052
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3053
+ end
3054
+ class Flags < Attribute
3055
+ TYPE = 1
3056
+ NAME = :"flags"
3057
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3058
+ end
3059
+ class Conf < Attribute
3060
+ TYPE = 2
3061
+ NAME = :"conf"
3062
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3063
+ end
3064
+ class Stats < Attribute
3065
+ TYPE = 3
3066
+ NAME = :"stats"
3067
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3068
+ end
3069
+ class Mcast < Attribute
3070
+ TYPE = 4
3071
+ NAME = :"mcast"
3072
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3073
+ end
3074
+ class Cacheinfo < Attribute
3075
+ TYPE = 5
3076
+ NAME = :"cacheinfo"
3077
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3078
+ end
3079
+ class Icmp6stats < Attribute
3080
+ TYPE = 6
3081
+ NAME = :"icmp6stats"
3082
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3083
+ end
3084
+ class Token < Attribute
3085
+ TYPE = 7
3086
+ NAME = :"token"
3087
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3088
+ end
3089
+ class AddrGenMode < Attribute
3090
+ TYPE = 8
3091
+ NAME = :"addr_gen_mode"
3092
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3093
+ end
3094
+ class RaMtu < Attribute
3095
+ TYPE = 9
3096
+ NAME = :"ra_mtu"
3097
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3098
+ end
3099
+ # :nodoc:
3100
+ BY_NAME = Ractor.make_shareable({:"flags" => Flags, :"conf" => Conf, :"stats" => Stats, :"mcast" => Mcast, :"cacheinfo" => Cacheinfo, :"icmp6stats" => Icmp6stats, :"token" => Token, :"addr_gen_mode" => AddrGenMode, :"ra_mtu" => RaMtu}) #: Hash[::Symbol, Attribute]
3101
+ # :nodoc:
3102
+ BY_TYPE = Ractor.make_shareable({1 => Flags, 2 => Conf, 3 => Stats, 4 => Mcast, 5 => Cacheinfo, 6 => Icmp6stats, 7 => Token, 8 => AddrGenMode, 9 => RaMtu}) #: Hash[::Integer, Attribute]
3103
+ class << self
3104
+ # Looks up Attribute class by name.
3105
+ #--
3106
+ # @rbs name: Symbol
3107
+ # @rbs return: Attribute
3108
+ def by_name(name); BY_NAME.fetch(name); end
3109
+ # Looks up Attribute class by type value.
3110
+ #--
3111
+ # @rbs type: Integer
3112
+ # @rbs return: Attribute
3113
+ def by_type(type); BY_TYPE.fetch(type); end
3114
+ end
3115
+ end
3116
+ class MctpAttrs < ::Nl::Protocols::Raw::AttributeSet
3117
+ # Abstract class
3118
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3119
+ end
3120
+ class Net < Attribute
3121
+ TYPE = 1
3122
+ NAME = :"net"
3123
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3124
+ end
3125
+ class PhysBinding < Attribute
3126
+ TYPE = 2
3127
+ NAME = :"phys_binding"
3128
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3129
+ end
3130
+ # :nodoc:
3131
+ BY_NAME = Ractor.make_shareable({:"net" => Net, :"phys_binding" => PhysBinding}) #: Hash[::Symbol, Attribute]
3132
+ # :nodoc:
3133
+ BY_TYPE = Ractor.make_shareable({1 => Net, 2 => PhysBinding}) #: Hash[::Integer, Attribute]
3134
+ class << self
3135
+ # Looks up Attribute class by name.
3136
+ #--
3137
+ # @rbs name: Symbol
3138
+ # @rbs return: Attribute
3139
+ def by_name(name); BY_NAME.fetch(name); end
3140
+ # Looks up Attribute class by type value.
3141
+ #--
3142
+ # @rbs type: Integer
3143
+ # @rbs return: Attribute
3144
+ def by_type(type); BY_TYPE.fetch(type); end
3145
+ end
3146
+ end
3147
+ class StatsAttrs < ::Nl::Protocols::Raw::AttributeSet
3148
+ # Abstract class
3149
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3150
+ end
3151
+ class Link64 < Attribute
3152
+ TYPE = 1
3153
+ NAME = :"link_64"
3154
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3155
+ end
3156
+ class LinkXstats < Attribute
3157
+ TYPE = 2
3158
+ NAME = :"link_xstats"
3159
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3160
+ end
3161
+ class LinkXstatsSlave < Attribute
3162
+ TYPE = 3
3163
+ NAME = :"link_xstats_slave"
3164
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3165
+ end
3166
+ class LinkOffloadXstats < Attribute
3167
+ TYPE = 4
3168
+ NAME = :"link_offload_xstats"
3169
+ end
3170
+ class AfSpec < Attribute
3171
+ TYPE = 5
3172
+ NAME = :"af_spec"
3173
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3174
+ end
3175
+ # :nodoc:
3176
+ BY_NAME = Ractor.make_shareable({:"link_64" => Link64, :"link_xstats" => LinkXstats, :"link_xstats_slave" => LinkXstatsSlave, :"link_offload_xstats" => LinkOffloadXstats, :"af_spec" => AfSpec}) #: Hash[::Symbol, Attribute]
3177
+ # :nodoc:
3178
+ BY_TYPE = Ractor.make_shareable({1 => Link64, 2 => LinkXstats, 3 => LinkXstatsSlave, 4 => LinkOffloadXstats, 5 => AfSpec}) #: Hash[::Integer, Attribute]
3179
+ class << self
3180
+ # Looks up Attribute class by name.
3181
+ #--
3182
+ # @rbs name: Symbol
3183
+ # @rbs return: Attribute
3184
+ def by_name(name); BY_NAME.fetch(name); end
3185
+ # Looks up Attribute class by type value.
3186
+ #--
3187
+ # @rbs type: Integer
3188
+ # @rbs return: Attribute
3189
+ def by_type(type); BY_TYPE.fetch(type); end
3190
+ end
3191
+ end
3192
+ class LinkOffloadXstats < ::Nl::Protocols::Raw::AttributeSet
3193
+ # Abstract class
3194
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3195
+ end
3196
+ class CpuHit < Attribute
3197
+ TYPE = 1
3198
+ NAME = :"cpu_hit"
3199
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3200
+ end
3201
+ class HwSInfo < Attribute
3202
+ TYPE = 2
3203
+ NAME = :"hw_s_info"
3204
+ end
3205
+ class L3Stats < Attribute
3206
+ TYPE = 3
3207
+ NAME = :"l3_stats"
3208
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3209
+ end
3210
+ # :nodoc:
3211
+ BY_NAME = Ractor.make_shareable({:"cpu_hit" => CpuHit, :"hw_s_info" => HwSInfo, :"l3_stats" => L3Stats}) #: Hash[::Symbol, Attribute]
3212
+ # :nodoc:
3213
+ BY_TYPE = Ractor.make_shareable({1 => CpuHit, 2 => HwSInfo, 3 => L3Stats}) #: Hash[::Integer, Attribute]
3214
+ class << self
3215
+ # Looks up Attribute class by name.
3216
+ #--
3217
+ # @rbs name: Symbol
3218
+ # @rbs return: Attribute
3219
+ def by_name(name); BY_NAME.fetch(name); end
3220
+ # Looks up Attribute class by type value.
3221
+ #--
3222
+ # @rbs type: Integer
3223
+ # @rbs return: Attribute
3224
+ def by_type(type); BY_TYPE.fetch(type); end
3225
+ end
3226
+ end
3227
+ class HwSInfoOne < ::Nl::Protocols::Raw::AttributeSet
3228
+ # Abstract class
3229
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3230
+ end
3231
+ class Request < Attribute
3232
+ TYPE = 1
3233
+ NAME = :"request"
3234
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3235
+ end
3236
+ class Used < Attribute
3237
+ TYPE = 2
3238
+ NAME = :"used"
3239
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3240
+ end
3241
+ # :nodoc:
3242
+ BY_NAME = Ractor.make_shareable({:"request" => Request, :"used" => Used}) #: Hash[::Symbol, Attribute]
3243
+ # :nodoc:
3244
+ BY_TYPE = Ractor.make_shareable({1 => Request, 2 => Used}) #: Hash[::Integer, Attribute]
3245
+ class << self
3246
+ # Looks up Attribute class by name.
3247
+ #--
3248
+ # @rbs name: Symbol
3249
+ # @rbs return: Attribute
3250
+ def by_name(name); BY_NAME.fetch(name); end
3251
+ # Looks up Attribute class by type value.
3252
+ #--
3253
+ # @rbs type: Integer
3254
+ # @rbs return: Attribute
3255
+ def by_type(type); BY_TYPE.fetch(type); end
3256
+ end
3257
+ end
3258
+ class LinkDpllPinAttrs < ::Nl::Protocols::Raw::AttributeSet
3259
+ # Abstract class
3260
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3261
+ end
3262
+ class Id < Attribute
3263
+ TYPE = 1
3264
+ NAME = :"id"
3265
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3266
+ end
3267
+ # :nodoc:
3268
+ BY_NAME = Ractor.make_shareable({:"id" => Id}) #: Hash[::Symbol, Attribute]
3269
+ # :nodoc:
3270
+ BY_TYPE = Ractor.make_shareable({1 => Id}) #: Hash[::Integer, Attribute]
3271
+ class << self
3272
+ # Looks up Attribute class by name.
3273
+ #--
3274
+ # @rbs name: Symbol
3275
+ # @rbs return: Attribute
3276
+ def by_name(name); BY_NAME.fetch(name); end
3277
+ # Looks up Attribute class by type value.
3278
+ #--
3279
+ # @rbs type: Integer
3280
+ # @rbs return: Attribute
3281
+ def by_type(type); BY_TYPE.fetch(type); end
3282
+ end
3283
+ end
3284
+ class LinkinfoNetkitAttrs < ::Nl::Protocols::Raw::AttributeSet
3285
+ # Abstract class
3286
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3287
+ end
3288
+ class PeerInfo < Attribute
3289
+ TYPE = 1
3290
+ NAME = :"peer_info"
3291
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
3292
+ end
3293
+ class Primary < Attribute
3294
+ TYPE = 2
3295
+ NAME = :"primary"
3296
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3297
+ end
3298
+ class Policy < Attribute
3299
+ TYPE = 3
3300
+ NAME = :"policy"
3301
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3302
+ end
3303
+ class PeerPolicy < Attribute
3304
+ TYPE = 4
3305
+ NAME = :"peer_policy"
3306
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3307
+ end
3308
+ class Mode < Attribute
3309
+ TYPE = 5
3310
+ NAME = :"mode"
3311
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3312
+ end
3313
+ class Scrub < Attribute
3314
+ TYPE = 6
3315
+ NAME = :"scrub"
3316
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3317
+ end
3318
+ class PeerScrub < Attribute
3319
+ TYPE = 7
3320
+ NAME = :"peer_scrub"
3321
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3322
+ end
3323
+ class Headroom < Attribute
3324
+ TYPE = 8
3325
+ NAME = :"headroom"
3326
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
3327
+ end
3328
+ class Tailroom < Attribute
3329
+ TYPE = 9
3330
+ NAME = :"tailroom"
3331
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
3332
+ end
3333
+ # :nodoc:
3334
+ BY_NAME = Ractor.make_shareable({:"peer_info" => PeerInfo, :"primary" => Primary, :"policy" => Policy, :"peer_policy" => PeerPolicy, :"mode" => Mode, :"scrub" => Scrub, :"peer_scrub" => PeerScrub, :"headroom" => Headroom, :"tailroom" => Tailroom}) #: Hash[::Symbol, Attribute]
3335
+ # :nodoc:
3336
+ BY_TYPE = Ractor.make_shareable({1 => PeerInfo, 2 => Primary, 3 => Policy, 4 => PeerPolicy, 5 => Mode, 6 => Scrub, 7 => PeerScrub, 8 => Headroom, 9 => Tailroom}) #: Hash[::Integer, Attribute]
3337
+ class << self
3338
+ # Looks up Attribute class by name.
3339
+ #--
3340
+ # @rbs name: Symbol
3341
+ # @rbs return: Attribute
3342
+ def by_name(name); BY_NAME.fetch(name); end
3343
+ # Looks up Attribute class by type value.
3344
+ #--
3345
+ # @rbs type: Integer
3346
+ # @rbs return: Attribute
3347
+ def by_type(type); BY_TYPE.fetch(type); end
3348
+ end
3349
+ end
3350
+ class LinkinfoOvpnAttrs < ::Nl::Protocols::Raw::AttributeSet
3351
+ # Abstract class
3352
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
3353
+ end
3354
+ class Mode < Attribute
3355
+ TYPE = 1
3356
+ NAME = :"mode"
3357
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
3358
+ end
3359
+ # :nodoc:
3360
+ BY_NAME = Ractor.make_shareable({:"mode" => Mode}) #: Hash[::Symbol, Attribute]
3361
+ # :nodoc:
3362
+ BY_TYPE = Ractor.make_shareable({1 => Mode}) #: Hash[::Integer, Attribute]
3363
+ class << self
3364
+ # Looks up Attribute class by name.
3365
+ #--
3366
+ # @rbs name: Symbol
3367
+ # @rbs return: Attribute
3368
+ def by_name(name); BY_NAME.fetch(name); end
3369
+ # Looks up Attribute class by type value.
3370
+ #--
3371
+ # @rbs type: Integer
3372
+ # @rbs return: Attribute
3373
+ def by_type(type); BY_TYPE.fetch(type); end
3374
+ end
3375
+ end
3376
+ LinkAttrs::Linkinfo::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(LinkinfoAttrs)
3377
+ LinkAttrs::VfinfoList::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(VfinfoListAttrs)
3378
+ LinkAttrs::VfPorts::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(VfPortsAttrs)
3379
+ LinkAttrs::PortSelf::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(PortSelfAttrs)
3380
+ LinkAttrs::AfSpec::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(AfSpecAttrs)
3381
+ LinkAttrs::Xdp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(XdpAttrs)
3382
+ LinkAttrs::PropList::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(PropListLinkAttrs)
3383
+ LinkAttrs::DpllPin::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(LinkDpllPinAttrs)
3384
+ AfSpecAttrs::Inet::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(IflaAttrs)
3385
+ AfSpecAttrs::Inet6::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(Ifla6Attrs)
3386
+ AfSpecAttrs::Mctp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(MctpAttrs)
3387
+ VfinfoListAttrs::Info::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(VfinfoAttrs)
3388
+ VfinfoAttrs::Stats::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(VfStatsAttrs)
3389
+ VfinfoAttrs::VlanList::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(VfVlanAttrs)
3390
+ LinkinfoBondAttrs::AdInfo::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(BondAdInfoAttrs)
3391
+ LinkinfoVlanAttrs::EgressQos::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(IflaVlanQos)
3392
+ LinkinfoVlanAttrs::IngressQos::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(IflaVlanQos)
3393
+ StatsAttrs::LinkOffloadXstats::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(LinkOffloadXstats)
3394
+ LinkOffloadXstats::HwSInfo::DATATYPE = ::Nl::Protocols::Raw::DataTypes::IndexedArray.new(::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(HwSInfoOne))
3395
+ end
3396
+ module Messages
3397
+ # Create a new link.
3398
+ class DoNewlinkRequest < ::Nl::Protocols::Raw::Message
3399
+ TYPE = 16
3400
+ FIXED_HEADER = Structs::Ifinfomsg
3401
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3402
+ ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu txqlen operstate linkmode linkinfo net_ns_pid af_spec group net_ns_fd num_tx_queues num_rx_queues link_netnsid gso_max_segs gso_max_size target_netnsid gro_max_size gso_ipv4_max_size gro_ipv4_max_size])
3403
+ # Gets the value of `ifi-family` field in the message's fixed header.
3404
+ #--
3405
+ # @rbs return: ::Integer
3406
+ def ifi_family; fixed_header.ifi_family; end
3407
+ # Gets the value of `ifi-type` field in the message's fixed header.
3408
+ #--
3409
+ # @rbs return: ::Integer
3410
+ def ifi_type; fixed_header.ifi_type; end
3411
+ # Gets the value of `ifi-index` field in the message's fixed header.
3412
+ #--
3413
+ # @rbs return: ::Integer
3414
+ def ifi_index; fixed_header.ifi_index; end
3415
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3416
+ #--
3417
+ # @rbs return: ::Integer
3418
+ def ifi_flags; fixed_header.ifi_flags; end
3419
+ # Gets the value of `ifi-change` field in the message's fixed header.
3420
+ #--
3421
+ # @rbs return: ::Integer
3422
+ def ifi_change; fixed_header.ifi_change; end
3423
+ # Gets the value of `address` attribute in the message.
3424
+ #--
3425
+ # @rbs return: untyped
3426
+ def address; attributes[:"address"]&.value; end
3427
+ # Gets the value of `broadcast` attribute in the message.
3428
+ #--
3429
+ # @rbs return: untyped
3430
+ def broadcast; attributes[:"broadcast"]&.value; end
3431
+ # Gets the value of `ifname` attribute in the message.
3432
+ #--
3433
+ # @rbs return: ::String
3434
+ def ifname; attributes[:"ifname"]&.value; end
3435
+ # Gets the value of `mtu` attribute in the message.
3436
+ #--
3437
+ # @rbs return: ::Integer
3438
+ def mtu; attributes[:"mtu"]&.value; end
3439
+ # Gets the value of `txqlen` attribute in the message.
3440
+ #--
3441
+ # @rbs return: ::Integer
3442
+ def txqlen; attributes[:"txqlen"]&.value; end
3443
+ # Gets the value of `operstate` attribute in the message.
3444
+ #--
3445
+ # @rbs return: ::Integer
3446
+ def operstate; attributes[:"operstate"]&.value; end
3447
+ # Gets the value of `linkmode` attribute in the message.
3448
+ #--
3449
+ # @rbs return: ::Integer
3450
+ def linkmode; attributes[:"linkmode"]&.value; end
3451
+ # Gets the value of `linkinfo` attribute in the message.
3452
+ #--
3453
+ # @rbs return: AttributeSets::LinkinfoAttrs
3454
+ def linkinfo; attributes[:"linkinfo"]&.value; end
3455
+ # Gets the value of `net-ns-pid` attribute in the message.
3456
+ #--
3457
+ # @rbs return: ::Integer
3458
+ def net_ns_pid; attributes[:"net_ns_pid"]&.value; end
3459
+ # Gets the value of `af-spec` attribute in the message.
3460
+ #--
3461
+ # @rbs return: AttributeSets::AfSpecAttrs
3462
+ def af_spec; attributes[:"af_spec"]&.value; end
3463
+ # Gets the value of `group` attribute in the message.
3464
+ #--
3465
+ # @rbs return: ::Integer
3466
+ def group; attributes[:"group"]&.value; end
3467
+ # Gets the value of `net-ns-fd` attribute in the message.
3468
+ #--
3469
+ # @rbs return: ::Integer
3470
+ def net_ns_fd; attributes[:"net_ns_fd"]&.value; end
3471
+ # Gets the value of `num-tx-queues` attribute in the message.
3472
+ #--
3473
+ # @rbs return: ::Integer
3474
+ def num_tx_queues; attributes[:"num_tx_queues"]&.value; end
3475
+ # Gets the value of `num-rx-queues` attribute in the message.
3476
+ #--
3477
+ # @rbs return: ::Integer
3478
+ def num_rx_queues; attributes[:"num_rx_queues"]&.value; end
3479
+ # Gets the value of `link-netnsid` attribute in the message.
3480
+ #--
3481
+ # @rbs return: ::Integer
3482
+ def link_netnsid; attributes[:"link_netnsid"]&.value; end
3483
+ # Gets the value of `gso-max-segs` attribute in the message.
3484
+ #--
3485
+ # @rbs return: ::Integer
3486
+ def gso_max_segs; attributes[:"gso_max_segs"]&.value; end
3487
+ # Gets the value of `gso-max-size` attribute in the message.
3488
+ #--
3489
+ # @rbs return: ::Integer
3490
+ def gso_max_size; attributes[:"gso_max_size"]&.value; end
3491
+ # Gets the value of `target-netnsid` attribute in the message.
3492
+ #--
3493
+ # @rbs return: ::Integer
3494
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
3495
+ # Gets the value of `gro-max-size` attribute in the message.
3496
+ #--
3497
+ # @rbs return: ::Integer
3498
+ def gro_max_size; attributes[:"gro_max_size"]&.value; end
3499
+ # Gets the value of `gso-ipv4-max-size` attribute in the message.
3500
+ #--
3501
+ # @rbs return: ::Integer
3502
+ def gso_ipv4_max_size; attributes[:"gso_ipv4_max_size"]&.value; end
3503
+ # Gets the value of `gro-ipv4-max-size` attribute in the message.
3504
+ #--
3505
+ # @rbs return: ::Integer
3506
+ def gro_ipv4_max_size; attributes[:"gro_ipv4_max_size"]&.value; end
3507
+ end
3508
+ # Delete an existing link.
3509
+ class DoDellinkRequest < ::Nl::Protocols::Raw::Message
3510
+ TYPE = 17
3511
+ FIXED_HEADER = Structs::Ifinfomsg
3512
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3513
+ ATTRIBUTES = Ractor.make_shareable(%i[ifname])
3514
+ # Gets the value of `ifi-family` field in the message's fixed header.
3515
+ #--
3516
+ # @rbs return: ::Integer
3517
+ def ifi_family; fixed_header.ifi_family; end
3518
+ # Gets the value of `ifi-type` field in the message's fixed header.
3519
+ #--
3520
+ # @rbs return: ::Integer
3521
+ def ifi_type; fixed_header.ifi_type; end
3522
+ # Gets the value of `ifi-index` field in the message's fixed header.
3523
+ #--
3524
+ # @rbs return: ::Integer
3525
+ def ifi_index; fixed_header.ifi_index; end
3526
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3527
+ #--
3528
+ # @rbs return: ::Integer
3529
+ def ifi_flags; fixed_header.ifi_flags; end
3530
+ # Gets the value of `ifi-change` field in the message's fixed header.
3531
+ #--
3532
+ # @rbs return: ::Integer
3533
+ def ifi_change; fixed_header.ifi_change; end
3534
+ # Gets the value of `ifname` attribute in the message.
3535
+ #--
3536
+ # @rbs return: ::String
3537
+ def ifname; attributes[:"ifname"]&.value; end
3538
+ end
3539
+ # Get / dump information about a link.
3540
+ class DoGetlinkRequest < ::Nl::Protocols::Raw::Message
3541
+ TYPE = 18
3542
+ FIXED_HEADER = Structs::Ifinfomsg
3543
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3544
+ ATTRIBUTES = Ractor.make_shareable(%i[ifname ext_mask target_netnsid alt_ifname])
3545
+ # Gets the value of `ifi-family` field in the message's fixed header.
3546
+ #--
3547
+ # @rbs return: ::Integer
3548
+ def ifi_family; fixed_header.ifi_family; end
3549
+ # Gets the value of `ifi-type` field in the message's fixed header.
3550
+ #--
3551
+ # @rbs return: ::Integer
3552
+ def ifi_type; fixed_header.ifi_type; end
3553
+ # Gets the value of `ifi-index` field in the message's fixed header.
3554
+ #--
3555
+ # @rbs return: ::Integer
3556
+ def ifi_index; fixed_header.ifi_index; end
3557
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3558
+ #--
3559
+ # @rbs return: ::Integer
3560
+ def ifi_flags; fixed_header.ifi_flags; end
3561
+ # Gets the value of `ifi-change` field in the message's fixed header.
3562
+ #--
3563
+ # @rbs return: ::Integer
3564
+ def ifi_change; fixed_header.ifi_change; end
3565
+ # Gets the value of `ifname` attribute in the message.
3566
+ #--
3567
+ # @rbs return: ::String
3568
+ def ifname; attributes[:"ifname"]&.value; end
3569
+ # Gets the value of `ext-mask` attribute in the message.
3570
+ #--
3571
+ # @rbs return: ::Integer
3572
+ def ext_mask; attributes[:"ext_mask"]&.value; end
3573
+ # Gets the value of `target-netnsid` attribute in the message.
3574
+ #--
3575
+ # @rbs return: ::Integer
3576
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
3577
+ # Gets the value of `alt-ifname` attribute in the message.
3578
+ #--
3579
+ # @rbs return: ::String
3580
+ def alt_ifname; attributes[:"alt_ifname"]&.value; end
3581
+ end
3582
+ # Get / dump information about a link.
3583
+ class DoGetlinkReply < ::Nl::Protocols::Raw::Message
3584
+ TYPE = 16
3585
+ FIXED_HEADER = Structs::Ifinfomsg
3586
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3587
+ ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority master wireless protinfo txqlen map weight operstate linkmode linkinfo net_ns_pid ifalias num_vf vfinfo_list stats64 vf_ports port_self af_spec group net_ns_fd ext_mask promiscuity num_tx_queues num_rx_queues carrier phys_port_id carrier_changes phys_switch_id link_netnsid phys_port_name proto_down gso_max_segs gso_max_size pad xdp event new_netnsid target_netnsid carrier_up_count carrier_down_count new_ifindex min_mtu max_mtu prop_list perm_address proto_down_reason parent_dev_name parent_dev_bus_name gro_max_size tso_max_size tso_max_segs allmulti devlink_port gso_ipv4_max_size gro_ipv4_max_size])
3588
+ # Gets the value of `ifi-family` field in the message's fixed header.
3589
+ #--
3590
+ # @rbs return: ::Integer
3591
+ def ifi_family; fixed_header.ifi_family; end
3592
+ # Gets the value of `ifi-type` field in the message's fixed header.
3593
+ #--
3594
+ # @rbs return: ::Integer
3595
+ def ifi_type; fixed_header.ifi_type; end
3596
+ # Gets the value of `ifi-index` field in the message's fixed header.
3597
+ #--
3598
+ # @rbs return: ::Integer
3599
+ def ifi_index; fixed_header.ifi_index; end
3600
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3601
+ #--
3602
+ # @rbs return: ::Integer
3603
+ def ifi_flags; fixed_header.ifi_flags; end
3604
+ # Gets the value of `ifi-change` field in the message's fixed header.
3605
+ #--
3606
+ # @rbs return: ::Integer
3607
+ def ifi_change; fixed_header.ifi_change; end
3608
+ # Gets the value of `address` attribute in the message.
3609
+ #--
3610
+ # @rbs return: untyped
3611
+ def address; attributes[:"address"]&.value; end
3612
+ # Gets the value of `broadcast` attribute in the message.
3613
+ #--
3614
+ # @rbs return: untyped
3615
+ def broadcast; attributes[:"broadcast"]&.value; end
3616
+ # Gets the value of `ifname` attribute in the message.
3617
+ #--
3618
+ # @rbs return: ::String
3619
+ def ifname; attributes[:"ifname"]&.value; end
3620
+ # Gets the value of `mtu` attribute in the message.
3621
+ #--
3622
+ # @rbs return: ::Integer
3623
+ def mtu; attributes[:"mtu"]&.value; end
3624
+ # Gets the value of `link` attribute in the message.
3625
+ #--
3626
+ # @rbs return: ::Integer
3627
+ def link; attributes[:"link"]&.value; end
3628
+ # Gets the value of `qdisc` attribute in the message.
3629
+ #--
3630
+ # @rbs return: ::String
3631
+ def qdisc; attributes[:"qdisc"]&.value; end
3632
+ # Gets the value of `stats` attribute in the message.
3633
+ #--
3634
+ # @rbs return: untyped
3635
+ def stats; attributes[:"stats"]&.value; end
3636
+ # Gets the value of `cost` attribute in the message.
3637
+ #--
3638
+ # @rbs return: ::String
3639
+ def cost; attributes[:"cost"]&.value; end
3640
+ # Gets the value of `priority` attribute in the message.
3641
+ #--
3642
+ # @rbs return: ::String
3643
+ def priority; attributes[:"priority"]&.value; end
3644
+ # Gets the value of `master` attribute in the message.
3645
+ #--
3646
+ # @rbs return: ::Integer
3647
+ def master; attributes[:"master"]&.value; end
3648
+ # Gets the value of `wireless` attribute in the message.
3649
+ #--
3650
+ # @rbs return: ::String
3651
+ def wireless; attributes[:"wireless"]&.value; end
3652
+ # Gets the value of `protinfo` attribute in the message.
3653
+ #--
3654
+ # @rbs return: ::String
3655
+ def protinfo; attributes[:"protinfo"]&.value; end
3656
+ # Gets the value of `txqlen` attribute in the message.
3657
+ #--
3658
+ # @rbs return: ::Integer
3659
+ def txqlen; attributes[:"txqlen"]&.value; end
3660
+ # Gets the value of `map` attribute in the message.
3661
+ #--
3662
+ # @rbs return: untyped
3663
+ def map; attributes[:"map"]&.value; end
3664
+ # Gets the value of `weight` attribute in the message.
3665
+ #--
3666
+ # @rbs return: ::Integer
3667
+ def weight; attributes[:"weight"]&.value; end
3668
+ # Gets the value of `operstate` attribute in the message.
3669
+ #--
3670
+ # @rbs return: ::Integer
3671
+ def operstate; attributes[:"operstate"]&.value; end
3672
+ # Gets the value of `linkmode` attribute in the message.
3673
+ #--
3674
+ # @rbs return: ::Integer
3675
+ def linkmode; attributes[:"linkmode"]&.value; end
3676
+ # Gets the value of `linkinfo` attribute in the message.
3677
+ #--
3678
+ # @rbs return: AttributeSets::LinkinfoAttrs
3679
+ def linkinfo; attributes[:"linkinfo"]&.value; end
3680
+ # Gets the value of `net-ns-pid` attribute in the message.
3681
+ #--
3682
+ # @rbs return: ::Integer
3683
+ def net_ns_pid; attributes[:"net_ns_pid"]&.value; end
3684
+ # Gets the value of `ifalias` attribute in the message.
3685
+ #--
3686
+ # @rbs return: ::String
3687
+ def ifalias; attributes[:"ifalias"]&.value; end
3688
+ # Gets the value of `num-vf` attribute in the message.
3689
+ #--
3690
+ # @rbs return: ::Integer
3691
+ def num_vf; attributes[:"num_vf"]&.value; end
3692
+ # Gets the value of `vfinfo-list` attribute in the message.
3693
+ #--
3694
+ # @rbs return: AttributeSets::VfinfoListAttrs
3695
+ def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
3696
+ # Gets the value of `stats64` attribute in the message.
3697
+ #--
3698
+ # @rbs return: untyped
3699
+ def stats64; attributes[:"stats64"]&.value; end
3700
+ # Gets the value of `vf-ports` attribute in the message.
3701
+ #--
3702
+ # @rbs return: AttributeSets::VfPortsAttrs
3703
+ def vf_ports; attributes[:"vf_ports"]&.value; end
3704
+ # Gets the value of `port-self` attribute in the message.
3705
+ #--
3706
+ # @rbs return: AttributeSets::PortSelfAttrs
3707
+ def port_self; attributes[:"port_self"]&.value; end
3708
+ # Gets the value of `af-spec` attribute in the message.
3709
+ #--
3710
+ # @rbs return: AttributeSets::AfSpecAttrs
3711
+ def af_spec; attributes[:"af_spec"]&.value; end
3712
+ # Gets the value of `group` attribute in the message.
3713
+ #--
3714
+ # @rbs return: ::Integer
3715
+ def group; attributes[:"group"]&.value; end
3716
+ # Gets the value of `net-ns-fd` attribute in the message.
3717
+ #--
3718
+ # @rbs return: ::Integer
3719
+ def net_ns_fd; attributes[:"net_ns_fd"]&.value; end
3720
+ # Gets the value of `ext-mask` attribute in the message.
3721
+ #--
3722
+ # @rbs return: ::Integer
3723
+ def ext_mask; attributes[:"ext_mask"]&.value; end
3724
+ # Gets the value of `promiscuity` attribute in the message.
3725
+ #--
3726
+ # @rbs return: ::Integer
3727
+ def promiscuity; attributes[:"promiscuity"]&.value; end
3728
+ # Gets the value of `num-tx-queues` attribute in the message.
3729
+ #--
3730
+ # @rbs return: ::Integer
3731
+ def num_tx_queues; attributes[:"num_tx_queues"]&.value; end
3732
+ # Gets the value of `num-rx-queues` attribute in the message.
3733
+ #--
3734
+ # @rbs return: ::Integer
3735
+ def num_rx_queues; attributes[:"num_rx_queues"]&.value; end
3736
+ # Gets the value of `carrier` attribute in the message.
3737
+ #--
3738
+ # @rbs return: ::Integer
3739
+ def carrier; attributes[:"carrier"]&.value; end
3740
+ # Gets the value of `phys-port-id` attribute in the message.
3741
+ #--
3742
+ # @rbs return: untyped
3743
+ def phys_port_id; attributes[:"phys_port_id"]&.value; end
3744
+ # Gets the value of `carrier-changes` attribute in the message.
3745
+ #--
3746
+ # @rbs return: ::Integer
3747
+ def carrier_changes; attributes[:"carrier_changes"]&.value; end
3748
+ # Gets the value of `phys-switch-id` attribute in the message.
3749
+ #--
3750
+ # @rbs return: untyped
3751
+ def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
3752
+ # Gets the value of `link-netnsid` attribute in the message.
3753
+ #--
3754
+ # @rbs return: ::Integer
3755
+ def link_netnsid; attributes[:"link_netnsid"]&.value; end
3756
+ # Gets the value of `phys-port-name` attribute in the message.
3757
+ #--
3758
+ # @rbs return: ::String
3759
+ def phys_port_name; attributes[:"phys_port_name"]&.value; end
3760
+ # Gets the value of `proto-down` attribute in the message.
3761
+ #--
3762
+ # @rbs return: ::Integer
3763
+ def proto_down; attributes[:"proto_down"]&.value; end
3764
+ # Gets the value of `gso-max-segs` attribute in the message.
3765
+ #--
3766
+ # @rbs return: ::Integer
3767
+ def gso_max_segs; attributes[:"gso_max_segs"]&.value; end
3768
+ # Gets the value of `gso-max-size` attribute in the message.
3769
+ #--
3770
+ # @rbs return: ::Integer
3771
+ def gso_max_size; attributes[:"gso_max_size"]&.value; end
3772
+ # Gets the value of `xdp` attribute in the message.
3773
+ #--
3774
+ # @rbs return: AttributeSets::XdpAttrs
3775
+ def xdp; attributes[:"xdp"]&.value; end
3776
+ # Gets the value of `event` attribute in the message.
3777
+ #--
3778
+ # @rbs return: ::Integer
3779
+ def event; attributes[:"event"]&.value; end
3780
+ # Gets the value of `new-netnsid` attribute in the message.
3781
+ #--
3782
+ # @rbs return: ::Integer
3783
+ def new_netnsid; attributes[:"new_netnsid"]&.value; end
3784
+ # Gets the value of `target-netnsid` attribute in the message.
3785
+ #--
3786
+ # @rbs return: ::Integer
3787
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
3788
+ # Gets the value of `carrier-up-count` attribute in the message.
3789
+ #--
3790
+ # @rbs return: ::Integer
3791
+ def carrier_up_count; attributes[:"carrier_up_count"]&.value; end
3792
+ # Gets the value of `carrier-down-count` attribute in the message.
3793
+ #--
3794
+ # @rbs return: ::Integer
3795
+ def carrier_down_count; attributes[:"carrier_down_count"]&.value; end
3796
+ # Gets the value of `new-ifindex` attribute in the message.
3797
+ #--
3798
+ # @rbs return: ::Integer
3799
+ def new_ifindex; attributes[:"new_ifindex"]&.value; end
3800
+ # Gets the value of `min-mtu` attribute in the message.
3801
+ #--
3802
+ # @rbs return: ::Integer
3803
+ def min_mtu; attributes[:"min_mtu"]&.value; end
3804
+ # Gets the value of `max-mtu` attribute in the message.
3805
+ #--
3806
+ # @rbs return: ::Integer
3807
+ def max_mtu; attributes[:"max_mtu"]&.value; end
3808
+ # Gets the value of `prop-list` attribute in the message.
3809
+ #--
3810
+ # @rbs return: AttributeSets::PropListLinkAttrs
3811
+ def prop_list; attributes[:"prop_list"]&.value; end
3812
+ # Gets the value of `perm-address` attribute in the message.
3813
+ #--
3814
+ # @rbs return: untyped
3815
+ def perm_address; attributes[:"perm_address"]&.value; end
3816
+ # Gets the value of `proto-down-reason` attribute in the message.
3817
+ #--
3818
+ # @rbs return: ::String
3819
+ def proto_down_reason; attributes[:"proto_down_reason"]&.value; end
3820
+ # Gets the value of `parent-dev-name` attribute in the message.
3821
+ #--
3822
+ # @rbs return: ::String
3823
+ def parent_dev_name; attributes[:"parent_dev_name"]&.value; end
3824
+ # Gets the value of `parent-dev-bus-name` attribute in the message.
3825
+ #--
3826
+ # @rbs return: ::String
3827
+ def parent_dev_bus_name; attributes[:"parent_dev_bus_name"]&.value; end
3828
+ # Gets the value of `gro-max-size` attribute in the message.
3829
+ #--
3830
+ # @rbs return: ::Integer
3831
+ def gro_max_size; attributes[:"gro_max_size"]&.value; end
3832
+ # Gets the value of `tso-max-size` attribute in the message.
3833
+ #--
3834
+ # @rbs return: ::Integer
3835
+ def tso_max_size; attributes[:"tso_max_size"]&.value; end
3836
+ # Gets the value of `tso-max-segs` attribute in the message.
3837
+ #--
3838
+ # @rbs return: ::Integer
3839
+ def tso_max_segs; attributes[:"tso_max_segs"]&.value; end
3840
+ # Gets the value of `allmulti` attribute in the message.
3841
+ #--
3842
+ # @rbs return: ::Integer
3843
+ def allmulti; attributes[:"allmulti"]&.value; end
3844
+ # Gets the value of `devlink-port` attribute in the message.
3845
+ #--
3846
+ # @rbs return: untyped
3847
+ def devlink_port; attributes[:"devlink_port"]&.value; end
3848
+ # Gets the value of `gso-ipv4-max-size` attribute in the message.
3849
+ #--
3850
+ # @rbs return: ::Integer
3851
+ def gso_ipv4_max_size; attributes[:"gso_ipv4_max_size"]&.value; end
3852
+ # Gets the value of `gro-ipv4-max-size` attribute in the message.
3853
+ #--
3854
+ # @rbs return: ::Integer
3855
+ def gro_ipv4_max_size; attributes[:"gro_ipv4_max_size"]&.value; end
3856
+ end
3857
+ # Get / dump information about a link.
3858
+ class DumpGetlinkRequest < ::Nl::Protocols::Raw::Message
3859
+ TYPE = 18
3860
+ FIXED_HEADER = Structs::Ifinfomsg
3861
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3862
+ ATTRIBUTES = Ractor.make_shareable(%i[master linkinfo ext_mask target_netnsid])
3863
+ # Gets the value of `ifi-family` field in the message's fixed header.
3864
+ #--
3865
+ # @rbs return: ::Integer
3866
+ def ifi_family; fixed_header.ifi_family; end
3867
+ # Gets the value of `ifi-type` field in the message's fixed header.
3868
+ #--
3869
+ # @rbs return: ::Integer
3870
+ def ifi_type; fixed_header.ifi_type; end
3871
+ # Gets the value of `ifi-index` field in the message's fixed header.
3872
+ #--
3873
+ # @rbs return: ::Integer
3874
+ def ifi_index; fixed_header.ifi_index; end
3875
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3876
+ #--
3877
+ # @rbs return: ::Integer
3878
+ def ifi_flags; fixed_header.ifi_flags; end
3879
+ # Gets the value of `ifi-change` field in the message's fixed header.
3880
+ #--
3881
+ # @rbs return: ::Integer
3882
+ def ifi_change; fixed_header.ifi_change; end
3883
+ # Gets the value of `master` attribute in the message.
3884
+ #--
3885
+ # @rbs return: ::Integer
3886
+ def master; attributes[:"master"]&.value; end
3887
+ # Gets the value of `linkinfo` attribute in the message.
3888
+ #--
3889
+ # @rbs return: AttributeSets::LinkinfoAttrs
3890
+ def linkinfo; attributes[:"linkinfo"]&.value; end
3891
+ # Gets the value of `ext-mask` attribute in the message.
3892
+ #--
3893
+ # @rbs return: ::Integer
3894
+ def ext_mask; attributes[:"ext_mask"]&.value; end
3895
+ # Gets the value of `target-netnsid` attribute in the message.
3896
+ #--
3897
+ # @rbs return: ::Integer
3898
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
3899
+ end
3900
+ # Get / dump information about a link.
3901
+ class DumpGetlinkReply < ::Nl::Protocols::Raw::Message
3902
+ TYPE = 16
3903
+ FIXED_HEADER = Structs::Ifinfomsg
3904
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
3905
+ ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority master wireless protinfo txqlen map weight operstate linkmode linkinfo net_ns_pid ifalias num_vf vfinfo_list stats64 vf_ports port_self af_spec group net_ns_fd ext_mask promiscuity num_tx_queues num_rx_queues carrier phys_port_id carrier_changes phys_switch_id link_netnsid phys_port_name proto_down gso_max_segs gso_max_size pad xdp event new_netnsid target_netnsid carrier_up_count carrier_down_count new_ifindex min_mtu max_mtu prop_list perm_address proto_down_reason parent_dev_name parent_dev_bus_name gro_max_size tso_max_size tso_max_segs allmulti devlink_port gso_ipv4_max_size gro_ipv4_max_size])
3906
+ # Gets the value of `ifi-family` field in the message's fixed header.
3907
+ #--
3908
+ # @rbs return: ::Integer
3909
+ def ifi_family; fixed_header.ifi_family; end
3910
+ # Gets the value of `ifi-type` field in the message's fixed header.
3911
+ #--
3912
+ # @rbs return: ::Integer
3913
+ def ifi_type; fixed_header.ifi_type; end
3914
+ # Gets the value of `ifi-index` field in the message's fixed header.
3915
+ #--
3916
+ # @rbs return: ::Integer
3917
+ def ifi_index; fixed_header.ifi_index; end
3918
+ # Gets the value of `ifi-flags` field in the message's fixed header.
3919
+ #--
3920
+ # @rbs return: ::Integer
3921
+ def ifi_flags; fixed_header.ifi_flags; end
3922
+ # Gets the value of `ifi-change` field in the message's fixed header.
3923
+ #--
3924
+ # @rbs return: ::Integer
3925
+ def ifi_change; fixed_header.ifi_change; end
3926
+ # Gets the value of `address` attribute in the message.
3927
+ #--
3928
+ # @rbs return: untyped
3929
+ def address; attributes[:"address"]&.value; end
3930
+ # Gets the value of `broadcast` attribute in the message.
3931
+ #--
3932
+ # @rbs return: untyped
3933
+ def broadcast; attributes[:"broadcast"]&.value; end
3934
+ # Gets the value of `ifname` attribute in the message.
3935
+ #--
3936
+ # @rbs return: ::String
3937
+ def ifname; attributes[:"ifname"]&.value; end
3938
+ # Gets the value of `mtu` attribute in the message.
3939
+ #--
3940
+ # @rbs return: ::Integer
3941
+ def mtu; attributes[:"mtu"]&.value; end
3942
+ # Gets the value of `link` attribute in the message.
3943
+ #--
3944
+ # @rbs return: ::Integer
3945
+ def link; attributes[:"link"]&.value; end
3946
+ # Gets the value of `qdisc` attribute in the message.
3947
+ #--
3948
+ # @rbs return: ::String
3949
+ def qdisc; attributes[:"qdisc"]&.value; end
3950
+ # Gets the value of `stats` attribute in the message.
3951
+ #--
3952
+ # @rbs return: untyped
3953
+ def stats; attributes[:"stats"]&.value; end
3954
+ # Gets the value of `cost` attribute in the message.
3955
+ #--
3956
+ # @rbs return: ::String
3957
+ def cost; attributes[:"cost"]&.value; end
3958
+ # Gets the value of `priority` attribute in the message.
3959
+ #--
3960
+ # @rbs return: ::String
3961
+ def priority; attributes[:"priority"]&.value; end
3962
+ # Gets the value of `master` attribute in the message.
3963
+ #--
3964
+ # @rbs return: ::Integer
3965
+ def master; attributes[:"master"]&.value; end
3966
+ # Gets the value of `wireless` attribute in the message.
3967
+ #--
3968
+ # @rbs return: ::String
3969
+ def wireless; attributes[:"wireless"]&.value; end
3970
+ # Gets the value of `protinfo` attribute in the message.
3971
+ #--
3972
+ # @rbs return: ::String
3973
+ def protinfo; attributes[:"protinfo"]&.value; end
3974
+ # Gets the value of `txqlen` attribute in the message.
3975
+ #--
3976
+ # @rbs return: ::Integer
3977
+ def txqlen; attributes[:"txqlen"]&.value; end
3978
+ # Gets the value of `map` attribute in the message.
3979
+ #--
3980
+ # @rbs return: untyped
3981
+ def map; attributes[:"map"]&.value; end
3982
+ # Gets the value of `weight` attribute in the message.
3983
+ #--
3984
+ # @rbs return: ::Integer
3985
+ def weight; attributes[:"weight"]&.value; end
3986
+ # Gets the value of `operstate` attribute in the message.
3987
+ #--
3988
+ # @rbs return: ::Integer
3989
+ def operstate; attributes[:"operstate"]&.value; end
3990
+ # Gets the value of `linkmode` attribute in the message.
3991
+ #--
3992
+ # @rbs return: ::Integer
3993
+ def linkmode; attributes[:"linkmode"]&.value; end
3994
+ # Gets the value of `linkinfo` attribute in the message.
3995
+ #--
3996
+ # @rbs return: AttributeSets::LinkinfoAttrs
3997
+ def linkinfo; attributes[:"linkinfo"]&.value; end
3998
+ # Gets the value of `net-ns-pid` attribute in the message.
3999
+ #--
4000
+ # @rbs return: ::Integer
4001
+ def net_ns_pid; attributes[:"net_ns_pid"]&.value; end
4002
+ # Gets the value of `ifalias` attribute in the message.
4003
+ #--
4004
+ # @rbs return: ::String
4005
+ def ifalias; attributes[:"ifalias"]&.value; end
4006
+ # Gets the value of `num-vf` attribute in the message.
4007
+ #--
4008
+ # @rbs return: ::Integer
4009
+ def num_vf; attributes[:"num_vf"]&.value; end
4010
+ # Gets the value of `vfinfo-list` attribute in the message.
4011
+ #--
4012
+ # @rbs return: AttributeSets::VfinfoListAttrs
4013
+ def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
4014
+ # Gets the value of `stats64` attribute in the message.
4015
+ #--
4016
+ # @rbs return: untyped
4017
+ def stats64; attributes[:"stats64"]&.value; end
4018
+ # Gets the value of `vf-ports` attribute in the message.
4019
+ #--
4020
+ # @rbs return: AttributeSets::VfPortsAttrs
4021
+ def vf_ports; attributes[:"vf_ports"]&.value; end
4022
+ # Gets the value of `port-self` attribute in the message.
4023
+ #--
4024
+ # @rbs return: AttributeSets::PortSelfAttrs
4025
+ def port_self; attributes[:"port_self"]&.value; end
4026
+ # Gets the value of `af-spec` attribute in the message.
4027
+ #--
4028
+ # @rbs return: AttributeSets::AfSpecAttrs
4029
+ def af_spec; attributes[:"af_spec"]&.value; end
4030
+ # Gets the value of `group` attribute in the message.
4031
+ #--
4032
+ # @rbs return: ::Integer
4033
+ def group; attributes[:"group"]&.value; end
4034
+ # Gets the value of `net-ns-fd` attribute in the message.
4035
+ #--
4036
+ # @rbs return: ::Integer
4037
+ def net_ns_fd; attributes[:"net_ns_fd"]&.value; end
4038
+ # Gets the value of `ext-mask` attribute in the message.
4039
+ #--
4040
+ # @rbs return: ::Integer
4041
+ def ext_mask; attributes[:"ext_mask"]&.value; end
4042
+ # Gets the value of `promiscuity` attribute in the message.
4043
+ #--
4044
+ # @rbs return: ::Integer
4045
+ def promiscuity; attributes[:"promiscuity"]&.value; end
4046
+ # Gets the value of `num-tx-queues` attribute in the message.
4047
+ #--
4048
+ # @rbs return: ::Integer
4049
+ def num_tx_queues; attributes[:"num_tx_queues"]&.value; end
4050
+ # Gets the value of `num-rx-queues` attribute in the message.
4051
+ #--
4052
+ # @rbs return: ::Integer
4053
+ def num_rx_queues; attributes[:"num_rx_queues"]&.value; end
4054
+ # Gets the value of `carrier` attribute in the message.
4055
+ #--
4056
+ # @rbs return: ::Integer
4057
+ def carrier; attributes[:"carrier"]&.value; end
4058
+ # Gets the value of `phys-port-id` attribute in the message.
4059
+ #--
4060
+ # @rbs return: untyped
4061
+ def phys_port_id; attributes[:"phys_port_id"]&.value; end
4062
+ # Gets the value of `carrier-changes` attribute in the message.
4063
+ #--
4064
+ # @rbs return: ::Integer
4065
+ def carrier_changes; attributes[:"carrier_changes"]&.value; end
4066
+ # Gets the value of `phys-switch-id` attribute in the message.
4067
+ #--
4068
+ # @rbs return: untyped
4069
+ def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
4070
+ # Gets the value of `link-netnsid` attribute in the message.
4071
+ #--
4072
+ # @rbs return: ::Integer
4073
+ def link_netnsid; attributes[:"link_netnsid"]&.value; end
4074
+ # Gets the value of `phys-port-name` attribute in the message.
4075
+ #--
4076
+ # @rbs return: ::String
4077
+ def phys_port_name; attributes[:"phys_port_name"]&.value; end
4078
+ # Gets the value of `proto-down` attribute in the message.
4079
+ #--
4080
+ # @rbs return: ::Integer
4081
+ def proto_down; attributes[:"proto_down"]&.value; end
4082
+ # Gets the value of `gso-max-segs` attribute in the message.
4083
+ #--
4084
+ # @rbs return: ::Integer
4085
+ def gso_max_segs; attributes[:"gso_max_segs"]&.value; end
4086
+ # Gets the value of `gso-max-size` attribute in the message.
4087
+ #--
4088
+ # @rbs return: ::Integer
4089
+ def gso_max_size; attributes[:"gso_max_size"]&.value; end
4090
+ # Gets the value of `xdp` attribute in the message.
4091
+ #--
4092
+ # @rbs return: AttributeSets::XdpAttrs
4093
+ def xdp; attributes[:"xdp"]&.value; end
4094
+ # Gets the value of `event` attribute in the message.
4095
+ #--
4096
+ # @rbs return: ::Integer
4097
+ def event; attributes[:"event"]&.value; end
4098
+ # Gets the value of `new-netnsid` attribute in the message.
4099
+ #--
4100
+ # @rbs return: ::Integer
4101
+ def new_netnsid; attributes[:"new_netnsid"]&.value; end
4102
+ # Gets the value of `target-netnsid` attribute in the message.
4103
+ #--
4104
+ # @rbs return: ::Integer
4105
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
4106
+ # Gets the value of `carrier-up-count` attribute in the message.
4107
+ #--
4108
+ # @rbs return: ::Integer
4109
+ def carrier_up_count; attributes[:"carrier_up_count"]&.value; end
4110
+ # Gets the value of `carrier-down-count` attribute in the message.
4111
+ #--
4112
+ # @rbs return: ::Integer
4113
+ def carrier_down_count; attributes[:"carrier_down_count"]&.value; end
4114
+ # Gets the value of `new-ifindex` attribute in the message.
4115
+ #--
4116
+ # @rbs return: ::Integer
4117
+ def new_ifindex; attributes[:"new_ifindex"]&.value; end
4118
+ # Gets the value of `min-mtu` attribute in the message.
4119
+ #--
4120
+ # @rbs return: ::Integer
4121
+ def min_mtu; attributes[:"min_mtu"]&.value; end
4122
+ # Gets the value of `max-mtu` attribute in the message.
4123
+ #--
4124
+ # @rbs return: ::Integer
4125
+ def max_mtu; attributes[:"max_mtu"]&.value; end
4126
+ # Gets the value of `prop-list` attribute in the message.
4127
+ #--
4128
+ # @rbs return: AttributeSets::PropListLinkAttrs
4129
+ def prop_list; attributes[:"prop_list"]&.value; end
4130
+ # Gets the value of `perm-address` attribute in the message.
4131
+ #--
4132
+ # @rbs return: untyped
4133
+ def perm_address; attributes[:"perm_address"]&.value; end
4134
+ # Gets the value of `proto-down-reason` attribute in the message.
4135
+ #--
4136
+ # @rbs return: ::String
4137
+ def proto_down_reason; attributes[:"proto_down_reason"]&.value; end
4138
+ # Gets the value of `parent-dev-name` attribute in the message.
4139
+ #--
4140
+ # @rbs return: ::String
4141
+ def parent_dev_name; attributes[:"parent_dev_name"]&.value; end
4142
+ # Gets the value of `parent-dev-bus-name` attribute in the message.
4143
+ #--
4144
+ # @rbs return: ::String
4145
+ def parent_dev_bus_name; attributes[:"parent_dev_bus_name"]&.value; end
4146
+ # Gets the value of `gro-max-size` attribute in the message.
4147
+ #--
4148
+ # @rbs return: ::Integer
4149
+ def gro_max_size; attributes[:"gro_max_size"]&.value; end
4150
+ # Gets the value of `tso-max-size` attribute in the message.
4151
+ #--
4152
+ # @rbs return: ::Integer
4153
+ def tso_max_size; attributes[:"tso_max_size"]&.value; end
4154
+ # Gets the value of `tso-max-segs` attribute in the message.
4155
+ #--
4156
+ # @rbs return: ::Integer
4157
+ def tso_max_segs; attributes[:"tso_max_segs"]&.value; end
4158
+ # Gets the value of `allmulti` attribute in the message.
4159
+ #--
4160
+ # @rbs return: ::Integer
4161
+ def allmulti; attributes[:"allmulti"]&.value; end
4162
+ # Gets the value of `devlink-port` attribute in the message.
4163
+ #--
4164
+ # @rbs return: untyped
4165
+ def devlink_port; attributes[:"devlink_port"]&.value; end
4166
+ # Gets the value of `gso-ipv4-max-size` attribute in the message.
4167
+ #--
4168
+ # @rbs return: ::Integer
4169
+ def gso_ipv4_max_size; attributes[:"gso_ipv4_max_size"]&.value; end
4170
+ # Gets the value of `gro-ipv4-max-size` attribute in the message.
4171
+ #--
4172
+ # @rbs return: ::Integer
4173
+ def gro_ipv4_max_size; attributes[:"gro_ipv4_max_size"]&.value; end
4174
+ end
4175
+ # Set information about a link.
4176
+ class DoSetlinkRequest < ::Nl::Protocols::Raw::Message
4177
+ TYPE = 19
4178
+ FIXED_HEADER = Structs::Ifinfomsg
4179
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
4180
+ ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority master wireless protinfo txqlen map weight operstate linkmode linkinfo net_ns_pid ifalias num_vf vfinfo_list stats64 vf_ports port_self af_spec group net_ns_fd ext_mask promiscuity num_tx_queues num_rx_queues carrier phys_port_id carrier_changes phys_switch_id link_netnsid phys_port_name proto_down gso_max_segs gso_max_size pad xdp event new_netnsid target_netnsid carrier_up_count carrier_down_count new_ifindex min_mtu max_mtu prop_list perm_address proto_down_reason parent_dev_name parent_dev_bus_name gro_max_size tso_max_size tso_max_segs allmulti devlink_port gso_ipv4_max_size gro_ipv4_max_size])
4181
+ # Gets the value of `ifi-family` field in the message's fixed header.
4182
+ #--
4183
+ # @rbs return: ::Integer
4184
+ def ifi_family; fixed_header.ifi_family; end
4185
+ # Gets the value of `ifi-type` field in the message's fixed header.
4186
+ #--
4187
+ # @rbs return: ::Integer
4188
+ def ifi_type; fixed_header.ifi_type; end
4189
+ # Gets the value of `ifi-index` field in the message's fixed header.
4190
+ #--
4191
+ # @rbs return: ::Integer
4192
+ def ifi_index; fixed_header.ifi_index; end
4193
+ # Gets the value of `ifi-flags` field in the message's fixed header.
4194
+ #--
4195
+ # @rbs return: ::Integer
4196
+ def ifi_flags; fixed_header.ifi_flags; end
4197
+ # Gets the value of `ifi-change` field in the message's fixed header.
4198
+ #--
4199
+ # @rbs return: ::Integer
4200
+ def ifi_change; fixed_header.ifi_change; end
4201
+ # Gets the value of `address` attribute in the message.
4202
+ #--
4203
+ # @rbs return: untyped
4204
+ def address; attributes[:"address"]&.value; end
4205
+ # Gets the value of `broadcast` attribute in the message.
4206
+ #--
4207
+ # @rbs return: untyped
4208
+ def broadcast; attributes[:"broadcast"]&.value; end
4209
+ # Gets the value of `ifname` attribute in the message.
4210
+ #--
4211
+ # @rbs return: ::String
4212
+ def ifname; attributes[:"ifname"]&.value; end
4213
+ # Gets the value of `mtu` attribute in the message.
4214
+ #--
4215
+ # @rbs return: ::Integer
4216
+ def mtu; attributes[:"mtu"]&.value; end
4217
+ # Gets the value of `link` attribute in the message.
4218
+ #--
4219
+ # @rbs return: ::Integer
4220
+ def link; attributes[:"link"]&.value; end
4221
+ # Gets the value of `qdisc` attribute in the message.
4222
+ #--
4223
+ # @rbs return: ::String
4224
+ def qdisc; attributes[:"qdisc"]&.value; end
4225
+ # Gets the value of `stats` attribute in the message.
4226
+ #--
4227
+ # @rbs return: untyped
4228
+ def stats; attributes[:"stats"]&.value; end
4229
+ # Gets the value of `cost` attribute in the message.
4230
+ #--
4231
+ # @rbs return: ::String
4232
+ def cost; attributes[:"cost"]&.value; end
4233
+ # Gets the value of `priority` attribute in the message.
4234
+ #--
4235
+ # @rbs return: ::String
4236
+ def priority; attributes[:"priority"]&.value; end
4237
+ # Gets the value of `master` attribute in the message.
4238
+ #--
4239
+ # @rbs return: ::Integer
4240
+ def master; attributes[:"master"]&.value; end
4241
+ # Gets the value of `wireless` attribute in the message.
4242
+ #--
4243
+ # @rbs return: ::String
4244
+ def wireless; attributes[:"wireless"]&.value; end
4245
+ # Gets the value of `protinfo` attribute in the message.
4246
+ #--
4247
+ # @rbs return: ::String
4248
+ def protinfo; attributes[:"protinfo"]&.value; end
4249
+ # Gets the value of `txqlen` attribute in the message.
4250
+ #--
4251
+ # @rbs return: ::Integer
4252
+ def txqlen; attributes[:"txqlen"]&.value; end
4253
+ # Gets the value of `map` attribute in the message.
4254
+ #--
4255
+ # @rbs return: untyped
4256
+ def map; attributes[:"map"]&.value; end
4257
+ # Gets the value of `weight` attribute in the message.
4258
+ #--
4259
+ # @rbs return: ::Integer
4260
+ def weight; attributes[:"weight"]&.value; end
4261
+ # Gets the value of `operstate` attribute in the message.
4262
+ #--
4263
+ # @rbs return: ::Integer
4264
+ def operstate; attributes[:"operstate"]&.value; end
4265
+ # Gets the value of `linkmode` attribute in the message.
4266
+ #--
4267
+ # @rbs return: ::Integer
4268
+ def linkmode; attributes[:"linkmode"]&.value; end
4269
+ # Gets the value of `linkinfo` attribute in the message.
4270
+ #--
4271
+ # @rbs return: AttributeSets::LinkinfoAttrs
4272
+ def linkinfo; attributes[:"linkinfo"]&.value; end
4273
+ # Gets the value of `net-ns-pid` attribute in the message.
4274
+ #--
4275
+ # @rbs return: ::Integer
4276
+ def net_ns_pid; attributes[:"net_ns_pid"]&.value; end
4277
+ # Gets the value of `ifalias` attribute in the message.
4278
+ #--
4279
+ # @rbs return: ::String
4280
+ def ifalias; attributes[:"ifalias"]&.value; end
4281
+ # Gets the value of `num-vf` attribute in the message.
4282
+ #--
4283
+ # @rbs return: ::Integer
4284
+ def num_vf; attributes[:"num_vf"]&.value; end
4285
+ # Gets the value of `vfinfo-list` attribute in the message.
4286
+ #--
4287
+ # @rbs return: AttributeSets::VfinfoListAttrs
4288
+ def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
4289
+ # Gets the value of `stats64` attribute in the message.
4290
+ #--
4291
+ # @rbs return: untyped
4292
+ def stats64; attributes[:"stats64"]&.value; end
4293
+ # Gets the value of `vf-ports` attribute in the message.
4294
+ #--
4295
+ # @rbs return: AttributeSets::VfPortsAttrs
4296
+ def vf_ports; attributes[:"vf_ports"]&.value; end
4297
+ # Gets the value of `port-self` attribute in the message.
4298
+ #--
4299
+ # @rbs return: AttributeSets::PortSelfAttrs
4300
+ def port_self; attributes[:"port_self"]&.value; end
4301
+ # Gets the value of `af-spec` attribute in the message.
4302
+ #--
4303
+ # @rbs return: AttributeSets::AfSpecAttrs
4304
+ def af_spec; attributes[:"af_spec"]&.value; end
4305
+ # Gets the value of `group` attribute in the message.
4306
+ #--
4307
+ # @rbs return: ::Integer
4308
+ def group; attributes[:"group"]&.value; end
4309
+ # Gets the value of `net-ns-fd` attribute in the message.
4310
+ #--
4311
+ # @rbs return: ::Integer
4312
+ def net_ns_fd; attributes[:"net_ns_fd"]&.value; end
4313
+ # Gets the value of `ext-mask` attribute in the message.
4314
+ #--
4315
+ # @rbs return: ::Integer
4316
+ def ext_mask; attributes[:"ext_mask"]&.value; end
4317
+ # Gets the value of `promiscuity` attribute in the message.
4318
+ #--
4319
+ # @rbs return: ::Integer
4320
+ def promiscuity; attributes[:"promiscuity"]&.value; end
4321
+ # Gets the value of `num-tx-queues` attribute in the message.
4322
+ #--
4323
+ # @rbs return: ::Integer
4324
+ def num_tx_queues; attributes[:"num_tx_queues"]&.value; end
4325
+ # Gets the value of `num-rx-queues` attribute in the message.
4326
+ #--
4327
+ # @rbs return: ::Integer
4328
+ def num_rx_queues; attributes[:"num_rx_queues"]&.value; end
4329
+ # Gets the value of `carrier` attribute in the message.
4330
+ #--
4331
+ # @rbs return: ::Integer
4332
+ def carrier; attributes[:"carrier"]&.value; end
4333
+ # Gets the value of `phys-port-id` attribute in the message.
4334
+ #--
4335
+ # @rbs return: untyped
4336
+ def phys_port_id; attributes[:"phys_port_id"]&.value; end
4337
+ # Gets the value of `carrier-changes` attribute in the message.
4338
+ #--
4339
+ # @rbs return: ::Integer
4340
+ def carrier_changes; attributes[:"carrier_changes"]&.value; end
4341
+ # Gets the value of `phys-switch-id` attribute in the message.
4342
+ #--
4343
+ # @rbs return: untyped
4344
+ def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
4345
+ # Gets the value of `link-netnsid` attribute in the message.
4346
+ #--
4347
+ # @rbs return: ::Integer
4348
+ def link_netnsid; attributes[:"link_netnsid"]&.value; end
4349
+ # Gets the value of `phys-port-name` attribute in the message.
4350
+ #--
4351
+ # @rbs return: ::String
4352
+ def phys_port_name; attributes[:"phys_port_name"]&.value; end
4353
+ # Gets the value of `proto-down` attribute in the message.
4354
+ #--
4355
+ # @rbs return: ::Integer
4356
+ def proto_down; attributes[:"proto_down"]&.value; end
4357
+ # Gets the value of `gso-max-segs` attribute in the message.
4358
+ #--
4359
+ # @rbs return: ::Integer
4360
+ def gso_max_segs; attributes[:"gso_max_segs"]&.value; end
4361
+ # Gets the value of `gso-max-size` attribute in the message.
4362
+ #--
4363
+ # @rbs return: ::Integer
4364
+ def gso_max_size; attributes[:"gso_max_size"]&.value; end
4365
+ # Gets the value of `xdp` attribute in the message.
4366
+ #--
4367
+ # @rbs return: AttributeSets::XdpAttrs
4368
+ def xdp; attributes[:"xdp"]&.value; end
4369
+ # Gets the value of `event` attribute in the message.
4370
+ #--
4371
+ # @rbs return: ::Integer
4372
+ def event; attributes[:"event"]&.value; end
4373
+ # Gets the value of `new-netnsid` attribute in the message.
4374
+ #--
4375
+ # @rbs return: ::Integer
4376
+ def new_netnsid; attributes[:"new_netnsid"]&.value; end
4377
+ # Gets the value of `target-netnsid` attribute in the message.
4378
+ #--
4379
+ # @rbs return: ::Integer
4380
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
4381
+ # Gets the value of `carrier-up-count` attribute in the message.
4382
+ #--
4383
+ # @rbs return: ::Integer
4384
+ def carrier_up_count; attributes[:"carrier_up_count"]&.value; end
4385
+ # Gets the value of `carrier-down-count` attribute in the message.
4386
+ #--
4387
+ # @rbs return: ::Integer
4388
+ def carrier_down_count; attributes[:"carrier_down_count"]&.value; end
4389
+ # Gets the value of `new-ifindex` attribute in the message.
4390
+ #--
4391
+ # @rbs return: ::Integer
4392
+ def new_ifindex; attributes[:"new_ifindex"]&.value; end
4393
+ # Gets the value of `min-mtu` attribute in the message.
4394
+ #--
4395
+ # @rbs return: ::Integer
4396
+ def min_mtu; attributes[:"min_mtu"]&.value; end
4397
+ # Gets the value of `max-mtu` attribute in the message.
4398
+ #--
4399
+ # @rbs return: ::Integer
4400
+ def max_mtu; attributes[:"max_mtu"]&.value; end
4401
+ # Gets the value of `prop-list` attribute in the message.
4402
+ #--
4403
+ # @rbs return: AttributeSets::PropListLinkAttrs
4404
+ def prop_list; attributes[:"prop_list"]&.value; end
4405
+ # Gets the value of `perm-address` attribute in the message.
4406
+ #--
4407
+ # @rbs return: untyped
4408
+ def perm_address; attributes[:"perm_address"]&.value; end
4409
+ # Gets the value of `proto-down-reason` attribute in the message.
4410
+ #--
4411
+ # @rbs return: ::String
4412
+ def proto_down_reason; attributes[:"proto_down_reason"]&.value; end
4413
+ # Gets the value of `parent-dev-name` attribute in the message.
4414
+ #--
4415
+ # @rbs return: ::String
4416
+ def parent_dev_name; attributes[:"parent_dev_name"]&.value; end
4417
+ # Gets the value of `parent-dev-bus-name` attribute in the message.
4418
+ #--
4419
+ # @rbs return: ::String
4420
+ def parent_dev_bus_name; attributes[:"parent_dev_bus_name"]&.value; end
4421
+ # Gets the value of `gro-max-size` attribute in the message.
4422
+ #--
4423
+ # @rbs return: ::Integer
4424
+ def gro_max_size; attributes[:"gro_max_size"]&.value; end
4425
+ # Gets the value of `tso-max-size` attribute in the message.
4426
+ #--
4427
+ # @rbs return: ::Integer
4428
+ def tso_max_size; attributes[:"tso_max_size"]&.value; end
4429
+ # Gets the value of `tso-max-segs` attribute in the message.
4430
+ #--
4431
+ # @rbs return: ::Integer
4432
+ def tso_max_segs; attributes[:"tso_max_segs"]&.value; end
4433
+ # Gets the value of `allmulti` attribute in the message.
4434
+ #--
4435
+ # @rbs return: ::Integer
4436
+ def allmulti; attributes[:"allmulti"]&.value; end
4437
+ # Gets the value of `devlink-port` attribute in the message.
4438
+ #--
4439
+ # @rbs return: untyped
4440
+ def devlink_port; attributes[:"devlink_port"]&.value; end
4441
+ # Gets the value of `gso-ipv4-max-size` attribute in the message.
4442
+ #--
4443
+ # @rbs return: ::Integer
4444
+ def gso_ipv4_max_size; attributes[:"gso_ipv4_max_size"]&.value; end
4445
+ # Gets the value of `gro-ipv4-max-size` attribute in the message.
4446
+ #--
4447
+ # @rbs return: ::Integer
4448
+ def gro_ipv4_max_size; attributes[:"gro_ipv4_max_size"]&.value; end
4449
+ end
4450
+ # Get / dump link stats.
4451
+ class DoGetstatsRequest < ::Nl::Protocols::Raw::Message
4452
+ TYPE = 94
4453
+ FIXED_HEADER = Structs::IfStatsMsg
4454
+ ATTRIBUTE_SET = AttributeSets::StatsAttrs
4455
+ ATTRIBUTES = Ractor.make_shareable(%i[])
4456
+ # Gets the value of `family` field in the message's fixed header.
4457
+ #--
4458
+ # @rbs return: ::Integer
4459
+ def family; fixed_header.family; end
4460
+ # Gets the value of `ifindex` field in the message's fixed header.
4461
+ #--
4462
+ # @rbs return: ::Integer
4463
+ def ifindex; fixed_header.ifindex; end
4464
+ # Gets the value of `filter-mask` field in the message's fixed header.
4465
+ #--
4466
+ # @rbs return: ::Integer
4467
+ def filter_mask; fixed_header.filter_mask; end
4468
+ end
4469
+ # Get / dump link stats.
4470
+ class DoGetstatsReply < ::Nl::Protocols::Raw::Message
4471
+ TYPE = 92
4472
+ FIXED_HEADER = Structs::IfStatsMsg
4473
+ ATTRIBUTE_SET = AttributeSets::StatsAttrs
4474
+ ATTRIBUTES = Ractor.make_shareable(%i[link_64 link_xstats link_xstats_slave link_offload_xstats af_spec])
4475
+ # Gets the value of `family` field in the message's fixed header.
4476
+ #--
4477
+ # @rbs return: ::Integer
4478
+ def family; fixed_header.family; end
4479
+ # Gets the value of `ifindex` field in the message's fixed header.
4480
+ #--
4481
+ # @rbs return: ::Integer
4482
+ def ifindex; fixed_header.ifindex; end
4483
+ # Gets the value of `filter-mask` field in the message's fixed header.
4484
+ #--
4485
+ # @rbs return: ::Integer
4486
+ def filter_mask; fixed_header.filter_mask; end
4487
+ # Gets the value of `link-64` attribute in the message.
4488
+ #--
4489
+ # @rbs return: untyped
4490
+ def link_64; attributes[:"link_64"]&.value; end
4491
+ # Gets the value of `link-xstats` attribute in the message.
4492
+ #--
4493
+ # @rbs return: untyped
4494
+ def link_xstats; attributes[:"link_xstats"]&.value; end
4495
+ # Gets the value of `link-xstats-slave` attribute in the message.
4496
+ #--
4497
+ # @rbs return: untyped
4498
+ def link_xstats_slave; attributes[:"link_xstats_slave"]&.value; end
4499
+ # Gets the value of `link-offload-xstats` attribute in the message.
4500
+ #--
4501
+ # @rbs return: AttributeSets::LinkOffloadXstats
4502
+ def link_offload_xstats; attributes[:"link_offload_xstats"]&.value; end
4503
+ # Gets the value of `af-spec` attribute in the message.
4504
+ #--
4505
+ # @rbs return: untyped
4506
+ def af_spec; attributes[:"af_spec"]&.value; end
4507
+ end
4508
+ # Get / dump link stats.
4509
+ class DumpGetstatsRequest < ::Nl::Protocols::Raw::Message
4510
+ TYPE = 94
4511
+ FIXED_HEADER = Structs::IfStatsMsg
4512
+ ATTRIBUTE_SET = AttributeSets::StatsAttrs
4513
+ ATTRIBUTES = Ractor.make_shareable(%i[])
4514
+ # Gets the value of `family` field in the message's fixed header.
4515
+ #--
4516
+ # @rbs return: ::Integer
4517
+ def family; fixed_header.family; end
4518
+ # Gets the value of `ifindex` field in the message's fixed header.
4519
+ #--
4520
+ # @rbs return: ::Integer
4521
+ def ifindex; fixed_header.ifindex; end
4522
+ # Gets the value of `filter-mask` field in the message's fixed header.
4523
+ #--
4524
+ # @rbs return: ::Integer
4525
+ def filter_mask; fixed_header.filter_mask; end
4526
+ end
4527
+ # Get / dump link stats.
4528
+ class DumpGetstatsReply < ::Nl::Protocols::Raw::Message
4529
+ TYPE = 92
4530
+ FIXED_HEADER = Structs::IfStatsMsg
4531
+ ATTRIBUTE_SET = AttributeSets::StatsAttrs
4532
+ ATTRIBUTES = Ractor.make_shareable(%i[link_64 link_xstats link_xstats_slave link_offload_xstats af_spec])
4533
+ # Gets the value of `family` field in the message's fixed header.
4534
+ #--
4535
+ # @rbs return: ::Integer
4536
+ def family; fixed_header.family; end
4537
+ # Gets the value of `ifindex` field in the message's fixed header.
4538
+ #--
4539
+ # @rbs return: ::Integer
4540
+ def ifindex; fixed_header.ifindex; end
4541
+ # Gets the value of `filter-mask` field in the message's fixed header.
4542
+ #--
4543
+ # @rbs return: ::Integer
4544
+ def filter_mask; fixed_header.filter_mask; end
4545
+ # Gets the value of `link-64` attribute in the message.
4546
+ #--
4547
+ # @rbs return: untyped
4548
+ def link_64; attributes[:"link_64"]&.value; end
4549
+ # Gets the value of `link-xstats` attribute in the message.
4550
+ #--
4551
+ # @rbs return: untyped
4552
+ def link_xstats; attributes[:"link_xstats"]&.value; end
4553
+ # Gets the value of `link-xstats-slave` attribute in the message.
4554
+ #--
4555
+ # @rbs return: untyped
4556
+ def link_xstats_slave; attributes[:"link_xstats_slave"]&.value; end
4557
+ # Gets the value of `link-offload-xstats` attribute in the message.
4558
+ #--
4559
+ # @rbs return: AttributeSets::LinkOffloadXstats
4560
+ def link_offload_xstats; attributes[:"link_offload_xstats"]&.value; end
4561
+ # Gets the value of `af-spec` attribute in the message.
4562
+ #--
4563
+ # @rbs return: untyped
4564
+ def af_spec; attributes[:"af_spec"]&.value; end
4565
+ end
4566
+ end
4567
+ # Create a new link.
4568
+ #--
4569
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: untyped, ?broadcast: untyped, ?ifname: ::String, ?mtu: ::Integer, ?txqlen: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?link_netnsid: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?target_netnsid: ::Integer, ?gro_max_size: ::Integer, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4570
+ def do_newlink(**args)
4571
+ exchange_message(:"do", Messages::DoNewlinkRequest, nil, args)
4572
+ end
4573
+ # Delete an existing link.
4574
+ #--
4575
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?ifname: ::String) -> void
4576
+ def do_dellink(**args)
4577
+ exchange_message(:"do", Messages::DoDellinkRequest, nil, args)
4578
+ end
4579
+ # Get / dump information about a link.
4580
+ #--
4581
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?ifname: ::String, ?ext_mask: ::Integer, ?target_netnsid: ::Integer, ?alt_ifname: ::String) -> Messages::DoGetlinkReply
4582
+ def do_getlink(**args)
4583
+ exchange_message(:"do", Messages::DoGetlinkRequest, Messages::DoGetlinkReply, args)
4584
+ end
4585
+ # Get / dump information about a link.
4586
+ #--
4587
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?master: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?ext_mask: ::Integer, ?target_netnsid: ::Integer) -> Enumerable[Messages::DumpGetlinkReply]
4588
+ # | (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?master: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?ext_mask: ::Integer, ?target_netnsid: ::Integer) { (Messages::DumpGetlinkReply) -> void } -> void
4589
+ def dump_getlink(**args, &block)
4590
+ exchange_message(:"dump", Messages::DumpGetlinkRequest, Messages::DumpGetlinkReply, args, &block)
4591
+ end
4592
+ # Set information about a link.
4593
+ #--
4594
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: untyped, ?broadcast: untyped, ?ifname: ::String, ?mtu: ::Integer, ?link: ::Integer, ?qdisc: ::String, ?stats: untyped, ?cost: ::String, ?priority: ::String, ?master: ::Integer, ?wireless: ::String, ?protinfo: ::String, ?txqlen: ::Integer, ?map: untyped, ?weight: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?ifalias: ::String, ?num_vf: ::Integer, ?vfinfo_list: AttributeSets::VfinfoListAttrs, ?stats64: untyped, ?vf_ports: AttributeSets::VfPortsAttrs, ?port_self: AttributeSets::PortSelfAttrs, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?ext_mask: ::Integer, ?promiscuity: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?carrier: ::Integer, ?phys_port_id: untyped, ?carrier_changes: ::Integer, ?phys_switch_id: untyped, ?link_netnsid: ::Integer, ?phys_port_name: ::String, ?proto_down: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?xdp: AttributeSets::XdpAttrs, ?event: ::Integer, ?new_netnsid: ::Integer, ?target_netnsid: ::Integer, ?carrier_up_count: ::Integer, ?carrier_down_count: ::Integer, ?new_ifindex: ::Integer, ?min_mtu: ::Integer, ?max_mtu: ::Integer, ?prop_list: AttributeSets::PropListLinkAttrs, ?perm_address: untyped, ?proto_down_reason: ::String, ?parent_dev_name: ::String, ?parent_dev_bus_name: ::String, ?gro_max_size: ::Integer, ?tso_max_size: ::Integer, ?tso_max_segs: ::Integer, ?allmulti: ::Integer, ?devlink_port: untyped, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4595
+ def do_setlink(**args)
4596
+ exchange_message(:"do", Messages::DoSetlinkRequest, nil, args)
4597
+ end
4598
+ # Get / dump link stats.
4599
+ #--
4600
+ # @rbs (?family: ::Integer, ?ifindex: ::Integer, ?filter_mask: ::Integer) -> Messages::DoGetstatsReply
4601
+ def do_getstats(**args)
4602
+ exchange_message(:"do", Messages::DoGetstatsRequest, Messages::DoGetstatsReply, args)
4603
+ end
4604
+ # Get / dump link stats.
4605
+ #--
4606
+ # @rbs (?family: ::Integer, ?ifindex: ::Integer, ?filter_mask: ::Integer) -> Enumerable[Messages::DumpGetstatsReply]
4607
+ # | (?family: ::Integer, ?ifindex: ::Integer, ?filter_mask: ::Integer) { (Messages::DumpGetstatsReply) -> void } -> void
4608
+ def dump_getstats(**args, &block)
4609
+ exchange_message(:"dump", Messages::DumpGetstatsRequest, Messages::DumpGetstatsReply, args, &block)
4610
+ end
4611
+ end