nl-linux 0.2.0 → 0.2.2

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