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,1126 @@
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
+ # Route configuration over rtnetlink.
9
+ class RtRoute < ::Nl::Family
10
+ NAME = "rt-route"
11
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-route", 0))
12
+ module Structs
13
+ Rtmsg = Struct.new(
14
+ :"rtm_family", #: ::Integer
15
+ :"rtm_dst_len", #: ::Integer
16
+ :"rtm_src_len", #: ::Integer
17
+ :"rtm_tos", #: ::Integer
18
+ :"rtm_table", #: ::Integer
19
+ :"rtm_protocol", #: ::Integer
20
+ :"rtm_scope", #: ::Integer
21
+ :"rtm_type", #: ::Integer
22
+ :"rtm_flags", #: ::Integer
23
+ )
24
+ class Rtmsg
25
+ # :nodoc:
26
+ MEMBERS = Ractor.make_shareable({rtm_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_dst_len: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_src_len: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_tos: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_table: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_protocol: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_scope: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_type: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
27
+ # Decodes the struct.
28
+ #--
29
+ # @rbs decoder: ::Nl::Decoder
30
+ # @rbs return: instance
31
+ def self.decode(decoder)
32
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
33
+ end
34
+ # Encodes the struct.
35
+ #--
36
+ # @rbs encoder: ::Nl::Encoder
37
+ # @rbs return: void
38
+ def encode(encoder)
39
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
40
+ end
41
+ end
42
+ RtaCacheinfo = Struct.new(
43
+ :"rta_clntref", #: ::Integer
44
+ :"rta_lastuse", #: ::Integer
45
+ :"rta_expires", #: ::Integer
46
+ :"rta_error", #: ::Integer
47
+ :"rta_used", #: ::Integer
48
+ )
49
+ class RtaCacheinfo
50
+ # :nodoc:
51
+ MEMBERS = Ractor.make_shareable({rta_clntref: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_lastuse: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_expires: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_error: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_used: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
52
+ # Decodes the struct.
53
+ #--
54
+ # @rbs decoder: ::Nl::Decoder
55
+ # @rbs return: instance
56
+ def self.decode(decoder)
57
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
58
+ end
59
+ # Encodes the struct.
60
+ #--
61
+ # @rbs encoder: ::Nl::Encoder
62
+ # @rbs return: void
63
+ def encode(encoder)
64
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
65
+ end
66
+ end
67
+ end
68
+ module AttributeSets
69
+ class RouteAttrs < ::Nl::Protocols::Raw::AttributeSet
70
+ # Abstract class
71
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
72
+ end
73
+ class Dst < Attribute
74
+ TYPE = 1
75
+ NAME = :"dst"
76
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
77
+ end
78
+ class Src < Attribute
79
+ TYPE = 2
80
+ NAME = :"src"
81
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
82
+ end
83
+ class Iif < Attribute
84
+ TYPE = 3
85
+ NAME = :"iif"
86
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
87
+ end
88
+ class Oif < Attribute
89
+ TYPE = 4
90
+ NAME = :"oif"
91
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
92
+ end
93
+ class Gateway < Attribute
94
+ TYPE = 5
95
+ NAME = :"gateway"
96
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
97
+ end
98
+ class Priority < Attribute
99
+ TYPE = 6
100
+ NAME = :"priority"
101
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
102
+ end
103
+ class Prefsrc < Attribute
104
+ TYPE = 7
105
+ NAME = :"prefsrc"
106
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
107
+ end
108
+ class Metrics < Attribute
109
+ TYPE = 8
110
+ NAME = :"metrics"
111
+ end
112
+ class Multipath < Attribute
113
+ TYPE = 9
114
+ NAME = :"multipath"
115
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
116
+ end
117
+ class Protoinfo < Attribute
118
+ TYPE = 10
119
+ NAME = :"protoinfo"
120
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
121
+ end
122
+ class Flow < Attribute
123
+ TYPE = 11
124
+ NAME = :"flow"
125
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
126
+ end
127
+ class Cacheinfo < Attribute
128
+ TYPE = 12
129
+ NAME = :"cacheinfo"
130
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
131
+ end
132
+ class Session < Attribute
133
+ TYPE = 13
134
+ NAME = :"session"
135
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
136
+ end
137
+ class MpAlgo < Attribute
138
+ TYPE = 14
139
+ NAME = :"mp_algo"
140
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
141
+ end
142
+ class Table < Attribute
143
+ TYPE = 15
144
+ NAME = :"table"
145
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
146
+ end
147
+ class Mark < Attribute
148
+ TYPE = 16
149
+ NAME = :"mark"
150
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
151
+ end
152
+ class MfcStats < Attribute
153
+ TYPE = 17
154
+ NAME = :"mfc_stats"
155
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
156
+ end
157
+ class Via < Attribute
158
+ TYPE = 18
159
+ NAME = :"via"
160
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
161
+ end
162
+ class Newdst < Attribute
163
+ TYPE = 19
164
+ NAME = :"newdst"
165
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
166
+ end
167
+ class Pref < Attribute
168
+ TYPE = 20
169
+ NAME = :"pref"
170
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
171
+ end
172
+ class EncapType < Attribute
173
+ TYPE = 21
174
+ NAME = :"encap_type"
175
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
176
+ end
177
+ class Encap < Attribute
178
+ TYPE = 22
179
+ NAME = :"encap"
180
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
181
+ end
182
+ class Expires < Attribute
183
+ TYPE = 23
184
+ NAME = :"expires"
185
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
186
+ end
187
+ class Pad < Attribute
188
+ TYPE = 24
189
+ NAME = :"pad"
190
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
191
+ end
192
+ class Uid < Attribute
193
+ TYPE = 25
194
+ NAME = :"uid"
195
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
196
+ end
197
+ class TtlPropagate < Attribute
198
+ TYPE = 26
199
+ NAME = :"ttl_propagate"
200
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
201
+ end
202
+ class IpProto < Attribute
203
+ TYPE = 27
204
+ NAME = :"ip_proto"
205
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
206
+ end
207
+ class Sport < Attribute
208
+ TYPE = 28
209
+ NAME = :"sport"
210
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
211
+ end
212
+ class Dport < Attribute
213
+ TYPE = 29
214
+ NAME = :"dport"
215
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
216
+ end
217
+ class NhId < Attribute
218
+ TYPE = 30
219
+ NAME = :"nh_id"
220
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
221
+ end
222
+ class Flowlabel < Attribute
223
+ TYPE = 31
224
+ NAME = :"flowlabel"
225
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
226
+ end
227
+ # :nodoc:
228
+ BY_NAME = Ractor.make_shareable({:"dst" => Dst, :"src" => Src, :"iif" => Iif, :"oif" => Oif, :"gateway" => Gateway, :"priority" => Priority, :"prefsrc" => Prefsrc, :"metrics" => Metrics, :"multipath" => Multipath, :"protoinfo" => Protoinfo, :"flow" => Flow, :"cacheinfo" => Cacheinfo, :"session" => Session, :"mp_algo" => MpAlgo, :"table" => Table, :"mark" => Mark, :"mfc_stats" => MfcStats, :"via" => Via, :"newdst" => Newdst, :"pref" => Pref, :"encap_type" => EncapType, :"encap" => Encap, :"expires" => Expires, :"pad" => Pad, :"uid" => Uid, :"ttl_propagate" => TtlPropagate, :"ip_proto" => IpProto, :"sport" => Sport, :"dport" => Dport, :"nh_id" => NhId, :"flowlabel" => Flowlabel}) #: Hash[::Symbol, Attribute]
229
+ # :nodoc:
230
+ BY_TYPE = Ractor.make_shareable({1 => Dst, 2 => Src, 3 => Iif, 4 => Oif, 5 => Gateway, 6 => Priority, 7 => Prefsrc, 8 => Metrics, 9 => Multipath, 10 => Protoinfo, 11 => Flow, 12 => Cacheinfo, 13 => Session, 14 => MpAlgo, 15 => Table, 16 => Mark, 17 => MfcStats, 18 => Via, 19 => Newdst, 20 => Pref, 21 => EncapType, 22 => Encap, 23 => Expires, 24 => Pad, 25 => Uid, 26 => TtlPropagate, 27 => IpProto, 28 => Sport, 29 => Dport, 30 => NhId, 31 => Flowlabel}) #: Hash[::Integer, Attribute]
231
+ class << self
232
+ # Looks up Attribute class by name.
233
+ #--
234
+ # @rbs name: Symbol
235
+ # @rbs return: Attribute
236
+ def by_name(name); BY_NAME.fetch(name); end
237
+ # Looks up Attribute class by type value.
238
+ #--
239
+ # @rbs type: Integer
240
+ # @rbs return: Attribute
241
+ def by_type(type); BY_TYPE.fetch(type); end
242
+ end
243
+ end
244
+ class Metrics < ::Nl::Protocols::Raw::AttributeSet
245
+ # Abstract class
246
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
247
+ end
248
+ class Lock < Attribute
249
+ TYPE = 1
250
+ NAME = :"lock"
251
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
252
+ end
253
+ class Mtu < Attribute
254
+ TYPE = 2
255
+ NAME = :"mtu"
256
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
257
+ end
258
+ class Window < Attribute
259
+ TYPE = 3
260
+ NAME = :"window"
261
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
262
+ end
263
+ class Rtt < Attribute
264
+ TYPE = 4
265
+ NAME = :"rtt"
266
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
267
+ end
268
+ class Rttvar < Attribute
269
+ TYPE = 5
270
+ NAME = :"rttvar"
271
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
272
+ end
273
+ class Ssthresh < Attribute
274
+ TYPE = 6
275
+ NAME = :"ssthresh"
276
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
277
+ end
278
+ class Cwnd < Attribute
279
+ TYPE = 7
280
+ NAME = :"cwnd"
281
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
282
+ end
283
+ class Advmss < Attribute
284
+ TYPE = 8
285
+ NAME = :"advmss"
286
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
287
+ end
288
+ class Reordering < Attribute
289
+ TYPE = 9
290
+ NAME = :"reordering"
291
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
292
+ end
293
+ class Hoplimit < Attribute
294
+ TYPE = 10
295
+ NAME = :"hoplimit"
296
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
297
+ end
298
+ class Initcwnd < Attribute
299
+ TYPE = 11
300
+ NAME = :"initcwnd"
301
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
302
+ end
303
+ class Features < Attribute
304
+ TYPE = 12
305
+ NAME = :"features"
306
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
307
+ end
308
+ class RtoMin < Attribute
309
+ TYPE = 13
310
+ NAME = :"rto_min"
311
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
312
+ end
313
+ class Initrwnd < Attribute
314
+ TYPE = 14
315
+ NAME = :"initrwnd"
316
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
317
+ end
318
+ class Quickack < Attribute
319
+ TYPE = 15
320
+ NAME = :"quickack"
321
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
322
+ end
323
+ class CcAlgo < Attribute
324
+ TYPE = 16
325
+ NAME = :"cc_algo"
326
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
327
+ end
328
+ class FastopenNoCookie < Attribute
329
+ TYPE = 17
330
+ NAME = :"fastopen_no_cookie"
331
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
332
+ end
333
+ # :nodoc:
334
+ BY_NAME = Ractor.make_shareable({:"lock" => Lock, :"mtu" => Mtu, :"window" => Window, :"rtt" => Rtt, :"rttvar" => Rttvar, :"ssthresh" => Ssthresh, :"cwnd" => Cwnd, :"advmss" => Advmss, :"reordering" => Reordering, :"hoplimit" => Hoplimit, :"initcwnd" => Initcwnd, :"features" => Features, :"rto_min" => RtoMin, :"initrwnd" => Initrwnd, :"quickack" => Quickack, :"cc_algo" => CcAlgo, :"fastopen_no_cookie" => FastopenNoCookie}) #: Hash[::Symbol, Attribute]
335
+ # :nodoc:
336
+ BY_TYPE = Ractor.make_shareable({1 => Lock, 2 => Mtu, 3 => Window, 4 => Rtt, 5 => Rttvar, 6 => Ssthresh, 7 => Cwnd, 8 => Advmss, 9 => Reordering, 10 => Hoplimit, 11 => Initcwnd, 12 => Features, 13 => RtoMin, 14 => Initrwnd, 15 => Quickack, 16 => CcAlgo, 17 => FastopenNoCookie}) #: Hash[::Integer, Attribute]
337
+ class << self
338
+ # Looks up Attribute class by name.
339
+ #--
340
+ # @rbs name: Symbol
341
+ # @rbs return: Attribute
342
+ def by_name(name); BY_NAME.fetch(name); end
343
+ # Looks up Attribute class by type value.
344
+ #--
345
+ # @rbs type: Integer
346
+ # @rbs return: Attribute
347
+ def by_type(type); BY_TYPE.fetch(type); end
348
+ end
349
+ end
350
+ RouteAttrs::Metrics::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(Metrics)
351
+ end
352
+ module Messages
353
+ # Dump route information.
354
+ class DoGetrouteRequest < ::Nl::Protocols::Raw::Message
355
+ TYPE = 26
356
+ FIXED_HEADER = Structs::Rtmsg
357
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
358
+ ATTRIBUTES = Ractor.make_shareable(%i[dst src iif oif mark uid ip_proto sport dport flowlabel])
359
+ # Gets the value of `rtm-family` field in the message's fixed header.
360
+ #--
361
+ # @rbs return: ::Integer
362
+ def rtm_family; fixed_header.rtm_family; end
363
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
364
+ #--
365
+ # @rbs return: ::Integer
366
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
367
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
368
+ #--
369
+ # @rbs return: ::Integer
370
+ def rtm_src_len; fixed_header.rtm_src_len; end
371
+ # Gets the value of `rtm-tos` field in the message's fixed header.
372
+ #--
373
+ # @rbs return: ::Integer
374
+ def rtm_tos; fixed_header.rtm_tos; end
375
+ # Gets the value of `rtm-table` field in the message's fixed header.
376
+ #--
377
+ # @rbs return: ::Integer
378
+ def rtm_table; fixed_header.rtm_table; end
379
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
380
+ #--
381
+ # @rbs return: ::Integer
382
+ def rtm_protocol; fixed_header.rtm_protocol; end
383
+ # Gets the value of `rtm-scope` field in the message's fixed header.
384
+ #--
385
+ # @rbs return: ::Integer
386
+ def rtm_scope; fixed_header.rtm_scope; end
387
+ # Gets the value of `rtm-type` field in the message's fixed header.
388
+ #--
389
+ # @rbs return: ::Integer
390
+ def rtm_type; fixed_header.rtm_type; end
391
+ # Gets the value of `rtm-flags` field in the message's fixed header.
392
+ #--
393
+ # @rbs return: ::Integer
394
+ def rtm_flags; fixed_header.rtm_flags; end
395
+ # Gets the value of `dst` attribute in the message.
396
+ #--
397
+ # @rbs return: untyped
398
+ def dst; attributes[:"dst"]&.value; end
399
+ # Gets the value of `src` attribute in the message.
400
+ #--
401
+ # @rbs return: untyped
402
+ def src; attributes[:"src"]&.value; end
403
+ # Gets the value of `iif` attribute in the message.
404
+ #--
405
+ # @rbs return: ::Integer
406
+ def iif; attributes[:"iif"]&.value; end
407
+ # Gets the value of `oif` attribute in the message.
408
+ #--
409
+ # @rbs return: ::Integer
410
+ def oif; attributes[:"oif"]&.value; end
411
+ # Gets the value of `mark` attribute in the message.
412
+ #--
413
+ # @rbs return: ::Integer
414
+ def mark; attributes[:"mark"]&.value; end
415
+ # Gets the value of `uid` attribute in the message.
416
+ #--
417
+ # @rbs return: ::Integer
418
+ def uid; attributes[:"uid"]&.value; end
419
+ # Gets the value of `ip-proto` attribute in the message.
420
+ #--
421
+ # @rbs return: ::Integer
422
+ def ip_proto; attributes[:"ip_proto"]&.value; end
423
+ # Gets the value of `sport` attribute in the message.
424
+ #--
425
+ # @rbs return: ::Integer
426
+ def sport; attributes[:"sport"]&.value; end
427
+ # Gets the value of `dport` attribute in the message.
428
+ #--
429
+ # @rbs return: ::Integer
430
+ def dport; attributes[:"dport"]&.value; end
431
+ # Gets the value of `flowlabel` attribute in the message.
432
+ #--
433
+ # @rbs return: ::Integer
434
+ def flowlabel; attributes[:"flowlabel"]&.value; end
435
+ end
436
+ # Dump route information.
437
+ class DoGetrouteReply < ::Nl::Protocols::Raw::Message
438
+ TYPE = 24
439
+ FIXED_HEADER = Structs::Rtmsg
440
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
441
+ ATTRIBUTES = Ractor.make_shareable(%i[dst src iif oif gateway priority prefsrc metrics multipath flow cacheinfo table mark mfc_stats via newdst pref encap_type encap expires pad uid ttl_propagate ip_proto sport dport nh_id flowlabel])
442
+ # Gets the value of `rtm-family` field in the message's fixed header.
443
+ #--
444
+ # @rbs return: ::Integer
445
+ def rtm_family; fixed_header.rtm_family; end
446
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
447
+ #--
448
+ # @rbs return: ::Integer
449
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
450
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
451
+ #--
452
+ # @rbs return: ::Integer
453
+ def rtm_src_len; fixed_header.rtm_src_len; end
454
+ # Gets the value of `rtm-tos` field in the message's fixed header.
455
+ #--
456
+ # @rbs return: ::Integer
457
+ def rtm_tos; fixed_header.rtm_tos; end
458
+ # Gets the value of `rtm-table` field in the message's fixed header.
459
+ #--
460
+ # @rbs return: ::Integer
461
+ def rtm_table; fixed_header.rtm_table; end
462
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
463
+ #--
464
+ # @rbs return: ::Integer
465
+ def rtm_protocol; fixed_header.rtm_protocol; end
466
+ # Gets the value of `rtm-scope` field in the message's fixed header.
467
+ #--
468
+ # @rbs return: ::Integer
469
+ def rtm_scope; fixed_header.rtm_scope; end
470
+ # Gets the value of `rtm-type` field in the message's fixed header.
471
+ #--
472
+ # @rbs return: ::Integer
473
+ def rtm_type; fixed_header.rtm_type; end
474
+ # Gets the value of `rtm-flags` field in the message's fixed header.
475
+ #--
476
+ # @rbs return: ::Integer
477
+ def rtm_flags; fixed_header.rtm_flags; end
478
+ # Gets the value of `dst` attribute in the message.
479
+ #--
480
+ # @rbs return: untyped
481
+ def dst; attributes[:"dst"]&.value; end
482
+ # Gets the value of `src` attribute in the message.
483
+ #--
484
+ # @rbs return: untyped
485
+ def src; attributes[:"src"]&.value; end
486
+ # Gets the value of `iif` attribute in the message.
487
+ #--
488
+ # @rbs return: ::Integer
489
+ def iif; attributes[:"iif"]&.value; end
490
+ # Gets the value of `oif` attribute in the message.
491
+ #--
492
+ # @rbs return: ::Integer
493
+ def oif; attributes[:"oif"]&.value; end
494
+ # Gets the value of `gateway` attribute in the message.
495
+ #--
496
+ # @rbs return: untyped
497
+ def gateway; attributes[:"gateway"]&.value; end
498
+ # Gets the value of `priority` attribute in the message.
499
+ #--
500
+ # @rbs return: ::Integer
501
+ def priority; attributes[:"priority"]&.value; end
502
+ # Gets the value of `prefsrc` attribute in the message.
503
+ #--
504
+ # @rbs return: untyped
505
+ def prefsrc; attributes[:"prefsrc"]&.value; end
506
+ # Gets the value of `metrics` attribute in the message.
507
+ #--
508
+ # @rbs return: AttributeSets::Metrics
509
+ def metrics; attributes[:"metrics"]&.value; end
510
+ # Gets the value of `multipath` attribute in the message.
511
+ #--
512
+ # @rbs return: untyped
513
+ def multipath; attributes[:"multipath"]&.value; end
514
+ # Gets the value of `flow` attribute in the message.
515
+ #--
516
+ # @rbs return: ::Integer
517
+ def flow; attributes[:"flow"]&.value; end
518
+ # Gets the value of `cacheinfo` attribute in the message.
519
+ #--
520
+ # @rbs return: untyped
521
+ def cacheinfo; attributes[:"cacheinfo"]&.value; end
522
+ # Gets the value of `table` attribute in the message.
523
+ #--
524
+ # @rbs return: ::Integer
525
+ def table; attributes[:"table"]&.value; end
526
+ # Gets the value of `mark` attribute in the message.
527
+ #--
528
+ # @rbs return: ::Integer
529
+ def mark; attributes[:"mark"]&.value; end
530
+ # Gets the value of `mfc-stats` attribute in the message.
531
+ #--
532
+ # @rbs return: untyped
533
+ def mfc_stats; attributes[:"mfc_stats"]&.value; end
534
+ # Gets the value of `via` attribute in the message.
535
+ #--
536
+ # @rbs return: untyped
537
+ def via; attributes[:"via"]&.value; end
538
+ # Gets the value of `newdst` attribute in the message.
539
+ #--
540
+ # @rbs return: untyped
541
+ def newdst; attributes[:"newdst"]&.value; end
542
+ # Gets the value of `pref` attribute in the message.
543
+ #--
544
+ # @rbs return: ::Integer
545
+ def pref; attributes[:"pref"]&.value; end
546
+ # Gets the value of `encap-type` attribute in the message.
547
+ #--
548
+ # @rbs return: ::Integer
549
+ def encap_type; attributes[:"encap_type"]&.value; end
550
+ # Gets the value of `encap` attribute in the message.
551
+ #--
552
+ # @rbs return: untyped
553
+ def encap; attributes[:"encap"]&.value; end
554
+ # Gets the value of `expires` attribute in the message.
555
+ #--
556
+ # @rbs return: ::Integer
557
+ def expires; attributes[:"expires"]&.value; end
558
+ # Gets the value of `pad` attribute in the message.
559
+ #--
560
+ # @rbs return: untyped
561
+ def pad; attributes[:"pad"]&.value; end
562
+ # Gets the value of `uid` attribute in the message.
563
+ #--
564
+ # @rbs return: ::Integer
565
+ def uid; attributes[:"uid"]&.value; end
566
+ # Gets the value of `ttl-propagate` attribute in the message.
567
+ #--
568
+ # @rbs return: ::Integer
569
+ def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
570
+ # Gets the value of `ip-proto` attribute in the message.
571
+ #--
572
+ # @rbs return: ::Integer
573
+ def ip_proto; attributes[:"ip_proto"]&.value; end
574
+ # Gets the value of `sport` attribute in the message.
575
+ #--
576
+ # @rbs return: ::Integer
577
+ def sport; attributes[:"sport"]&.value; end
578
+ # Gets the value of `dport` attribute in the message.
579
+ #--
580
+ # @rbs return: ::Integer
581
+ def dport; attributes[:"dport"]&.value; end
582
+ # Gets the value of `nh-id` attribute in the message.
583
+ #--
584
+ # @rbs return: ::Integer
585
+ def nh_id; attributes[:"nh_id"]&.value; end
586
+ # Gets the value of `flowlabel` attribute in the message.
587
+ #--
588
+ # @rbs return: ::Integer
589
+ def flowlabel; attributes[:"flowlabel"]&.value; end
590
+ end
591
+ # Dump route information.
592
+ class DumpGetrouteRequest < ::Nl::Protocols::Raw::Message
593
+ TYPE = 26
594
+ FIXED_HEADER = Structs::Rtmsg
595
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
596
+ ATTRIBUTES = Ractor.make_shareable(%i[])
597
+ # Gets the value of `rtm-family` field in the message's fixed header.
598
+ #--
599
+ # @rbs return: ::Integer
600
+ def rtm_family; fixed_header.rtm_family; end
601
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
602
+ #--
603
+ # @rbs return: ::Integer
604
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
605
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
606
+ #--
607
+ # @rbs return: ::Integer
608
+ def rtm_src_len; fixed_header.rtm_src_len; end
609
+ # Gets the value of `rtm-tos` field in the message's fixed header.
610
+ #--
611
+ # @rbs return: ::Integer
612
+ def rtm_tos; fixed_header.rtm_tos; end
613
+ # Gets the value of `rtm-table` field in the message's fixed header.
614
+ #--
615
+ # @rbs return: ::Integer
616
+ def rtm_table; fixed_header.rtm_table; end
617
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
618
+ #--
619
+ # @rbs return: ::Integer
620
+ def rtm_protocol; fixed_header.rtm_protocol; end
621
+ # Gets the value of `rtm-scope` field in the message's fixed header.
622
+ #--
623
+ # @rbs return: ::Integer
624
+ def rtm_scope; fixed_header.rtm_scope; end
625
+ # Gets the value of `rtm-type` field in the message's fixed header.
626
+ #--
627
+ # @rbs return: ::Integer
628
+ def rtm_type; fixed_header.rtm_type; end
629
+ # Gets the value of `rtm-flags` field in the message's fixed header.
630
+ #--
631
+ # @rbs return: ::Integer
632
+ def rtm_flags; fixed_header.rtm_flags; end
633
+ end
634
+ # Dump route information.
635
+ class DumpGetrouteReply < ::Nl::Protocols::Raw::Message
636
+ TYPE = 24
637
+ FIXED_HEADER = Structs::Rtmsg
638
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
639
+ ATTRIBUTES = Ractor.make_shareable(%i[dst src iif oif gateway priority prefsrc metrics multipath flow cacheinfo table mark mfc_stats via newdst pref encap_type encap expires pad uid ttl_propagate ip_proto sport dport nh_id flowlabel])
640
+ # Gets the value of `rtm-family` field in the message's fixed header.
641
+ #--
642
+ # @rbs return: ::Integer
643
+ def rtm_family; fixed_header.rtm_family; end
644
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
645
+ #--
646
+ # @rbs return: ::Integer
647
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
648
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
649
+ #--
650
+ # @rbs return: ::Integer
651
+ def rtm_src_len; fixed_header.rtm_src_len; end
652
+ # Gets the value of `rtm-tos` field in the message's fixed header.
653
+ #--
654
+ # @rbs return: ::Integer
655
+ def rtm_tos; fixed_header.rtm_tos; end
656
+ # Gets the value of `rtm-table` field in the message's fixed header.
657
+ #--
658
+ # @rbs return: ::Integer
659
+ def rtm_table; fixed_header.rtm_table; end
660
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
661
+ #--
662
+ # @rbs return: ::Integer
663
+ def rtm_protocol; fixed_header.rtm_protocol; end
664
+ # Gets the value of `rtm-scope` field in the message's fixed header.
665
+ #--
666
+ # @rbs return: ::Integer
667
+ def rtm_scope; fixed_header.rtm_scope; end
668
+ # Gets the value of `rtm-type` field in the message's fixed header.
669
+ #--
670
+ # @rbs return: ::Integer
671
+ def rtm_type; fixed_header.rtm_type; end
672
+ # Gets the value of `rtm-flags` field in the message's fixed header.
673
+ #--
674
+ # @rbs return: ::Integer
675
+ def rtm_flags; fixed_header.rtm_flags; end
676
+ # Gets the value of `dst` attribute in the message.
677
+ #--
678
+ # @rbs return: untyped
679
+ def dst; attributes[:"dst"]&.value; end
680
+ # Gets the value of `src` attribute in the message.
681
+ #--
682
+ # @rbs return: untyped
683
+ def src; attributes[:"src"]&.value; end
684
+ # Gets the value of `iif` attribute in the message.
685
+ #--
686
+ # @rbs return: ::Integer
687
+ def iif; attributes[:"iif"]&.value; end
688
+ # Gets the value of `oif` attribute in the message.
689
+ #--
690
+ # @rbs return: ::Integer
691
+ def oif; attributes[:"oif"]&.value; end
692
+ # Gets the value of `gateway` attribute in the message.
693
+ #--
694
+ # @rbs return: untyped
695
+ def gateway; attributes[:"gateway"]&.value; end
696
+ # Gets the value of `priority` attribute in the message.
697
+ #--
698
+ # @rbs return: ::Integer
699
+ def priority; attributes[:"priority"]&.value; end
700
+ # Gets the value of `prefsrc` attribute in the message.
701
+ #--
702
+ # @rbs return: untyped
703
+ def prefsrc; attributes[:"prefsrc"]&.value; end
704
+ # Gets the value of `metrics` attribute in the message.
705
+ #--
706
+ # @rbs return: AttributeSets::Metrics
707
+ def metrics; attributes[:"metrics"]&.value; end
708
+ # Gets the value of `multipath` attribute in the message.
709
+ #--
710
+ # @rbs return: untyped
711
+ def multipath; attributes[:"multipath"]&.value; end
712
+ # Gets the value of `flow` attribute in the message.
713
+ #--
714
+ # @rbs return: ::Integer
715
+ def flow; attributes[:"flow"]&.value; end
716
+ # Gets the value of `cacheinfo` attribute in the message.
717
+ #--
718
+ # @rbs return: untyped
719
+ def cacheinfo; attributes[:"cacheinfo"]&.value; end
720
+ # Gets the value of `table` attribute in the message.
721
+ #--
722
+ # @rbs return: ::Integer
723
+ def table; attributes[:"table"]&.value; end
724
+ # Gets the value of `mark` attribute in the message.
725
+ #--
726
+ # @rbs return: ::Integer
727
+ def mark; attributes[:"mark"]&.value; end
728
+ # Gets the value of `mfc-stats` attribute in the message.
729
+ #--
730
+ # @rbs return: untyped
731
+ def mfc_stats; attributes[:"mfc_stats"]&.value; end
732
+ # Gets the value of `via` attribute in the message.
733
+ #--
734
+ # @rbs return: untyped
735
+ def via; attributes[:"via"]&.value; end
736
+ # Gets the value of `newdst` attribute in the message.
737
+ #--
738
+ # @rbs return: untyped
739
+ def newdst; attributes[:"newdst"]&.value; end
740
+ # Gets the value of `pref` attribute in the message.
741
+ #--
742
+ # @rbs return: ::Integer
743
+ def pref; attributes[:"pref"]&.value; end
744
+ # Gets the value of `encap-type` attribute in the message.
745
+ #--
746
+ # @rbs return: ::Integer
747
+ def encap_type; attributes[:"encap_type"]&.value; end
748
+ # Gets the value of `encap` attribute in the message.
749
+ #--
750
+ # @rbs return: untyped
751
+ def encap; attributes[:"encap"]&.value; end
752
+ # Gets the value of `expires` attribute in the message.
753
+ #--
754
+ # @rbs return: ::Integer
755
+ def expires; attributes[:"expires"]&.value; end
756
+ # Gets the value of `pad` attribute in the message.
757
+ #--
758
+ # @rbs return: untyped
759
+ def pad; attributes[:"pad"]&.value; end
760
+ # Gets the value of `uid` attribute in the message.
761
+ #--
762
+ # @rbs return: ::Integer
763
+ def uid; attributes[:"uid"]&.value; end
764
+ # Gets the value of `ttl-propagate` attribute in the message.
765
+ #--
766
+ # @rbs return: ::Integer
767
+ def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
768
+ # Gets the value of `ip-proto` attribute in the message.
769
+ #--
770
+ # @rbs return: ::Integer
771
+ def ip_proto; attributes[:"ip_proto"]&.value; end
772
+ # Gets the value of `sport` attribute in the message.
773
+ #--
774
+ # @rbs return: ::Integer
775
+ def sport; attributes[:"sport"]&.value; end
776
+ # Gets the value of `dport` attribute in the message.
777
+ #--
778
+ # @rbs return: ::Integer
779
+ def dport; attributes[:"dport"]&.value; end
780
+ # Gets the value of `nh-id` attribute in the message.
781
+ #--
782
+ # @rbs return: ::Integer
783
+ def nh_id; attributes[:"nh_id"]&.value; end
784
+ # Gets the value of `flowlabel` attribute in the message.
785
+ #--
786
+ # @rbs return: ::Integer
787
+ def flowlabel; attributes[:"flowlabel"]&.value; end
788
+ end
789
+ # Create a new route
790
+ class DoNewrouteRequest < ::Nl::Protocols::Raw::Message
791
+ TYPE = 24
792
+ FIXED_HEADER = Structs::Rtmsg
793
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
794
+ ATTRIBUTES = Ractor.make_shareable(%i[dst src iif oif gateway priority prefsrc metrics multipath flow cacheinfo table mark mfc_stats via newdst pref encap_type encap expires pad uid ttl_propagate ip_proto sport dport nh_id flowlabel])
795
+ # Gets the value of `rtm-family` field in the message's fixed header.
796
+ #--
797
+ # @rbs return: ::Integer
798
+ def rtm_family; fixed_header.rtm_family; end
799
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
800
+ #--
801
+ # @rbs return: ::Integer
802
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
803
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
804
+ #--
805
+ # @rbs return: ::Integer
806
+ def rtm_src_len; fixed_header.rtm_src_len; end
807
+ # Gets the value of `rtm-tos` field in the message's fixed header.
808
+ #--
809
+ # @rbs return: ::Integer
810
+ def rtm_tos; fixed_header.rtm_tos; end
811
+ # Gets the value of `rtm-table` field in the message's fixed header.
812
+ #--
813
+ # @rbs return: ::Integer
814
+ def rtm_table; fixed_header.rtm_table; end
815
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
816
+ #--
817
+ # @rbs return: ::Integer
818
+ def rtm_protocol; fixed_header.rtm_protocol; end
819
+ # Gets the value of `rtm-scope` field in the message's fixed header.
820
+ #--
821
+ # @rbs return: ::Integer
822
+ def rtm_scope; fixed_header.rtm_scope; end
823
+ # Gets the value of `rtm-type` field in the message's fixed header.
824
+ #--
825
+ # @rbs return: ::Integer
826
+ def rtm_type; fixed_header.rtm_type; end
827
+ # Gets the value of `rtm-flags` field in the message's fixed header.
828
+ #--
829
+ # @rbs return: ::Integer
830
+ def rtm_flags; fixed_header.rtm_flags; end
831
+ # Gets the value of `dst` attribute in the message.
832
+ #--
833
+ # @rbs return: untyped
834
+ def dst; attributes[:"dst"]&.value; end
835
+ # Gets the value of `src` attribute in the message.
836
+ #--
837
+ # @rbs return: untyped
838
+ def src; attributes[:"src"]&.value; end
839
+ # Gets the value of `iif` attribute in the message.
840
+ #--
841
+ # @rbs return: ::Integer
842
+ def iif; attributes[:"iif"]&.value; end
843
+ # Gets the value of `oif` attribute in the message.
844
+ #--
845
+ # @rbs return: ::Integer
846
+ def oif; attributes[:"oif"]&.value; end
847
+ # Gets the value of `gateway` attribute in the message.
848
+ #--
849
+ # @rbs return: untyped
850
+ def gateway; attributes[:"gateway"]&.value; end
851
+ # Gets the value of `priority` attribute in the message.
852
+ #--
853
+ # @rbs return: ::Integer
854
+ def priority; attributes[:"priority"]&.value; end
855
+ # Gets the value of `prefsrc` attribute in the message.
856
+ #--
857
+ # @rbs return: untyped
858
+ def prefsrc; attributes[:"prefsrc"]&.value; end
859
+ # Gets the value of `metrics` attribute in the message.
860
+ #--
861
+ # @rbs return: AttributeSets::Metrics
862
+ def metrics; attributes[:"metrics"]&.value; end
863
+ # Gets the value of `multipath` attribute in the message.
864
+ #--
865
+ # @rbs return: untyped
866
+ def multipath; attributes[:"multipath"]&.value; end
867
+ # Gets the value of `flow` attribute in the message.
868
+ #--
869
+ # @rbs return: ::Integer
870
+ def flow; attributes[:"flow"]&.value; end
871
+ # Gets the value of `cacheinfo` attribute in the message.
872
+ #--
873
+ # @rbs return: untyped
874
+ def cacheinfo; attributes[:"cacheinfo"]&.value; end
875
+ # Gets the value of `table` attribute in the message.
876
+ #--
877
+ # @rbs return: ::Integer
878
+ def table; attributes[:"table"]&.value; end
879
+ # Gets the value of `mark` attribute in the message.
880
+ #--
881
+ # @rbs return: ::Integer
882
+ def mark; attributes[:"mark"]&.value; end
883
+ # Gets the value of `mfc-stats` attribute in the message.
884
+ #--
885
+ # @rbs return: untyped
886
+ def mfc_stats; attributes[:"mfc_stats"]&.value; end
887
+ # Gets the value of `via` attribute in the message.
888
+ #--
889
+ # @rbs return: untyped
890
+ def via; attributes[:"via"]&.value; end
891
+ # Gets the value of `newdst` attribute in the message.
892
+ #--
893
+ # @rbs return: untyped
894
+ def newdst; attributes[:"newdst"]&.value; end
895
+ # Gets the value of `pref` attribute in the message.
896
+ #--
897
+ # @rbs return: ::Integer
898
+ def pref; attributes[:"pref"]&.value; end
899
+ # Gets the value of `encap-type` attribute in the message.
900
+ #--
901
+ # @rbs return: ::Integer
902
+ def encap_type; attributes[:"encap_type"]&.value; end
903
+ # Gets the value of `encap` attribute in the message.
904
+ #--
905
+ # @rbs return: untyped
906
+ def encap; attributes[:"encap"]&.value; end
907
+ # Gets the value of `expires` attribute in the message.
908
+ #--
909
+ # @rbs return: ::Integer
910
+ def expires; attributes[:"expires"]&.value; end
911
+ # Gets the value of `pad` attribute in the message.
912
+ #--
913
+ # @rbs return: untyped
914
+ def pad; attributes[:"pad"]&.value; end
915
+ # Gets the value of `uid` attribute in the message.
916
+ #--
917
+ # @rbs return: ::Integer
918
+ def uid; attributes[:"uid"]&.value; end
919
+ # Gets the value of `ttl-propagate` attribute in the message.
920
+ #--
921
+ # @rbs return: ::Integer
922
+ def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
923
+ # Gets the value of `ip-proto` attribute in the message.
924
+ #--
925
+ # @rbs return: ::Integer
926
+ def ip_proto; attributes[:"ip_proto"]&.value; end
927
+ # Gets the value of `sport` attribute in the message.
928
+ #--
929
+ # @rbs return: ::Integer
930
+ def sport; attributes[:"sport"]&.value; end
931
+ # Gets the value of `dport` attribute in the message.
932
+ #--
933
+ # @rbs return: ::Integer
934
+ def dport; attributes[:"dport"]&.value; end
935
+ # Gets the value of `nh-id` attribute in the message.
936
+ #--
937
+ # @rbs return: ::Integer
938
+ def nh_id; attributes[:"nh_id"]&.value; end
939
+ # Gets the value of `flowlabel` attribute in the message.
940
+ #--
941
+ # @rbs return: ::Integer
942
+ def flowlabel; attributes[:"flowlabel"]&.value; end
943
+ end
944
+ # Delete an existing route
945
+ class DoDelrouteRequest < ::Nl::Protocols::Raw::Message
946
+ TYPE = 25
947
+ FIXED_HEADER = Structs::Rtmsg
948
+ ATTRIBUTE_SET = AttributeSets::RouteAttrs
949
+ ATTRIBUTES = Ractor.make_shareable(%i[dst src iif oif gateway priority prefsrc metrics multipath flow cacheinfo table mark mfc_stats via newdst pref encap_type encap expires pad uid ttl_propagate ip_proto sport dport nh_id flowlabel])
950
+ # Gets the value of `rtm-family` field in the message's fixed header.
951
+ #--
952
+ # @rbs return: ::Integer
953
+ def rtm_family; fixed_header.rtm_family; end
954
+ # Gets the value of `rtm-dst-len` field in the message's fixed header.
955
+ #--
956
+ # @rbs return: ::Integer
957
+ def rtm_dst_len; fixed_header.rtm_dst_len; end
958
+ # Gets the value of `rtm-src-len` field in the message's fixed header.
959
+ #--
960
+ # @rbs return: ::Integer
961
+ def rtm_src_len; fixed_header.rtm_src_len; end
962
+ # Gets the value of `rtm-tos` field in the message's fixed header.
963
+ #--
964
+ # @rbs return: ::Integer
965
+ def rtm_tos; fixed_header.rtm_tos; end
966
+ # Gets the value of `rtm-table` field in the message's fixed header.
967
+ #--
968
+ # @rbs return: ::Integer
969
+ def rtm_table; fixed_header.rtm_table; end
970
+ # Gets the value of `rtm-protocol` field in the message's fixed header.
971
+ #--
972
+ # @rbs return: ::Integer
973
+ def rtm_protocol; fixed_header.rtm_protocol; end
974
+ # Gets the value of `rtm-scope` field in the message's fixed header.
975
+ #--
976
+ # @rbs return: ::Integer
977
+ def rtm_scope; fixed_header.rtm_scope; end
978
+ # Gets the value of `rtm-type` field in the message's fixed header.
979
+ #--
980
+ # @rbs return: ::Integer
981
+ def rtm_type; fixed_header.rtm_type; end
982
+ # Gets the value of `rtm-flags` field in the message's fixed header.
983
+ #--
984
+ # @rbs return: ::Integer
985
+ def rtm_flags; fixed_header.rtm_flags; end
986
+ # Gets the value of `dst` attribute in the message.
987
+ #--
988
+ # @rbs return: untyped
989
+ def dst; attributes[:"dst"]&.value; end
990
+ # Gets the value of `src` attribute in the message.
991
+ #--
992
+ # @rbs return: untyped
993
+ def src; attributes[:"src"]&.value; end
994
+ # Gets the value of `iif` attribute in the message.
995
+ #--
996
+ # @rbs return: ::Integer
997
+ def iif; attributes[:"iif"]&.value; end
998
+ # Gets the value of `oif` attribute in the message.
999
+ #--
1000
+ # @rbs return: ::Integer
1001
+ def oif; attributes[:"oif"]&.value; end
1002
+ # Gets the value of `gateway` attribute in the message.
1003
+ #--
1004
+ # @rbs return: untyped
1005
+ def gateway; attributes[:"gateway"]&.value; end
1006
+ # Gets the value of `priority` attribute in the message.
1007
+ #--
1008
+ # @rbs return: ::Integer
1009
+ def priority; attributes[:"priority"]&.value; end
1010
+ # Gets the value of `prefsrc` attribute in the message.
1011
+ #--
1012
+ # @rbs return: untyped
1013
+ def prefsrc; attributes[:"prefsrc"]&.value; end
1014
+ # Gets the value of `metrics` attribute in the message.
1015
+ #--
1016
+ # @rbs return: AttributeSets::Metrics
1017
+ def metrics; attributes[:"metrics"]&.value; end
1018
+ # Gets the value of `multipath` attribute in the message.
1019
+ #--
1020
+ # @rbs return: untyped
1021
+ def multipath; attributes[:"multipath"]&.value; end
1022
+ # Gets the value of `flow` attribute in the message.
1023
+ #--
1024
+ # @rbs return: ::Integer
1025
+ def flow; attributes[:"flow"]&.value; end
1026
+ # Gets the value of `cacheinfo` attribute in the message.
1027
+ #--
1028
+ # @rbs return: untyped
1029
+ def cacheinfo; attributes[:"cacheinfo"]&.value; end
1030
+ # Gets the value of `table` attribute in the message.
1031
+ #--
1032
+ # @rbs return: ::Integer
1033
+ def table; attributes[:"table"]&.value; end
1034
+ # Gets the value of `mark` attribute in the message.
1035
+ #--
1036
+ # @rbs return: ::Integer
1037
+ def mark; attributes[:"mark"]&.value; end
1038
+ # Gets the value of `mfc-stats` attribute in the message.
1039
+ #--
1040
+ # @rbs return: untyped
1041
+ def mfc_stats; attributes[:"mfc_stats"]&.value; end
1042
+ # Gets the value of `via` attribute in the message.
1043
+ #--
1044
+ # @rbs return: untyped
1045
+ def via; attributes[:"via"]&.value; end
1046
+ # Gets the value of `newdst` attribute in the message.
1047
+ #--
1048
+ # @rbs return: untyped
1049
+ def newdst; attributes[:"newdst"]&.value; end
1050
+ # Gets the value of `pref` attribute in the message.
1051
+ #--
1052
+ # @rbs return: ::Integer
1053
+ def pref; attributes[:"pref"]&.value; end
1054
+ # Gets the value of `encap-type` attribute in the message.
1055
+ #--
1056
+ # @rbs return: ::Integer
1057
+ def encap_type; attributes[:"encap_type"]&.value; end
1058
+ # Gets the value of `encap` attribute in the message.
1059
+ #--
1060
+ # @rbs return: untyped
1061
+ def encap; attributes[:"encap"]&.value; end
1062
+ # Gets the value of `expires` attribute in the message.
1063
+ #--
1064
+ # @rbs return: ::Integer
1065
+ def expires; attributes[:"expires"]&.value; end
1066
+ # Gets the value of `pad` attribute in the message.
1067
+ #--
1068
+ # @rbs return: untyped
1069
+ def pad; attributes[:"pad"]&.value; end
1070
+ # Gets the value of `uid` attribute in the message.
1071
+ #--
1072
+ # @rbs return: ::Integer
1073
+ def uid; attributes[:"uid"]&.value; end
1074
+ # Gets the value of `ttl-propagate` attribute in the message.
1075
+ #--
1076
+ # @rbs return: ::Integer
1077
+ def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
1078
+ # Gets the value of `ip-proto` attribute in the message.
1079
+ #--
1080
+ # @rbs return: ::Integer
1081
+ def ip_proto; attributes[:"ip_proto"]&.value; end
1082
+ # Gets the value of `sport` attribute in the message.
1083
+ #--
1084
+ # @rbs return: ::Integer
1085
+ def sport; attributes[:"sport"]&.value; end
1086
+ # Gets the value of `dport` attribute in the message.
1087
+ #--
1088
+ # @rbs return: ::Integer
1089
+ def dport; attributes[:"dport"]&.value; end
1090
+ # Gets the value of `nh-id` attribute in the message.
1091
+ #--
1092
+ # @rbs return: ::Integer
1093
+ def nh_id; attributes[:"nh_id"]&.value; end
1094
+ # Gets the value of `flowlabel` attribute in the message.
1095
+ #--
1096
+ # @rbs return: ::Integer
1097
+ def flowlabel; attributes[:"flowlabel"]&.value; end
1098
+ end
1099
+ end
1100
+ # Dump route information.
1101
+ #--
1102
+ # @rbs (?rtm_family: ::Integer, ?rtm_dst_len: ::Integer, ?rtm_src_len: ::Integer, ?rtm_tos: ::Integer, ?rtm_table: ::Integer, ?rtm_protocol: ::Integer, ?rtm_scope: ::Integer, ?rtm_type: ::Integer, ?rtm_flags: ::Integer, ?dst: untyped, ?src: untyped, ?iif: ::Integer, ?oif: ::Integer, ?mark: ::Integer, ?uid: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?flowlabel: ::Integer) -> Messages::DoGetrouteReply
1103
+ def do_getroute(**args)
1104
+ exchange_message(:"do", Messages::DoGetrouteRequest, Messages::DoGetrouteReply, args)
1105
+ end
1106
+ # Dump route information.
1107
+ #--
1108
+ # @rbs (?rtm_family: ::Integer, ?rtm_dst_len: ::Integer, ?rtm_src_len: ::Integer, ?rtm_tos: ::Integer, ?rtm_table: ::Integer, ?rtm_protocol: ::Integer, ?rtm_scope: ::Integer, ?rtm_type: ::Integer, ?rtm_flags: ::Integer) -> Enumerable[Messages::DumpGetrouteReply]
1109
+ # | (?rtm_family: ::Integer, ?rtm_dst_len: ::Integer, ?rtm_src_len: ::Integer, ?rtm_tos: ::Integer, ?rtm_table: ::Integer, ?rtm_protocol: ::Integer, ?rtm_scope: ::Integer, ?rtm_type: ::Integer, ?rtm_flags: ::Integer) { (Messages::DumpGetrouteReply) -> void } -> void
1110
+ def dump_getroute(**args, &block)
1111
+ exchange_message(:"dump", Messages::DumpGetrouteRequest, Messages::DumpGetrouteReply, args, &block)
1112
+ end
1113
+ # Create a new route
1114
+ #--
1115
+ # @rbs (?rtm_family: ::Integer, ?rtm_dst_len: ::Integer, ?rtm_src_len: ::Integer, ?rtm_tos: ::Integer, ?rtm_table: ::Integer, ?rtm_protocol: ::Integer, ?rtm_scope: ::Integer, ?rtm_type: ::Integer, ?rtm_flags: ::Integer, ?dst: untyped, ?src: untyped, ?iif: ::Integer, ?oif: ::Integer, ?gateway: untyped, ?priority: ::Integer, ?prefsrc: untyped, ?metrics: AttributeSets::Metrics, ?multipath: untyped, ?flow: ::Integer, ?cacheinfo: untyped, ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: untyped, ?via: untyped, ?newdst: untyped, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: untyped, ?expires: ::Integer, ?pad: untyped, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> void
1116
+ def do_newroute(**args)
1117
+ exchange_message(:"do", Messages::DoNewrouteRequest, nil, args)
1118
+ end
1119
+ # Delete an existing route
1120
+ #--
1121
+ # @rbs (?rtm_family: ::Integer, ?rtm_dst_len: ::Integer, ?rtm_src_len: ::Integer, ?rtm_tos: ::Integer, ?rtm_table: ::Integer, ?rtm_protocol: ::Integer, ?rtm_scope: ::Integer, ?rtm_type: ::Integer, ?rtm_flags: ::Integer, ?dst: untyped, ?src: untyped, ?iif: ::Integer, ?oif: ::Integer, ?gateway: untyped, ?priority: ::Integer, ?prefsrc: untyped, ?metrics: AttributeSets::Metrics, ?multipath: untyped, ?flow: ::Integer, ?cacheinfo: untyped, ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: untyped, ?via: untyped, ?newdst: untyped, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: untyped, ?expires: ::Integer, ?pad: untyped, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> void
1122
+ def do_delroute(**args)
1123
+ exchange_message(:"do", Messages::DoDelrouteRequest, nil, args)
1124
+ end
1125
+ end
1126
+ end; end