nl-linux 0.2.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.yardopts +5 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Rakefile +27 -5
  6. data/generated/nl/linux/binder.rb +227 -19
  7. data/generated/nl/linux/conntrack.rb +1325 -365
  8. data/generated/nl/linux/dev_energymodel.rb +357 -66
  9. data/generated/nl/linux/devlink.rb +6310 -1859
  10. data/generated/nl/linux/dpll.rb +2202 -376
  11. data/generated/nl/linux/drm_ras.rb +312 -63
  12. data/generated/nl/linux/ethtool.rb +7555 -2447
  13. data/generated/nl/linux/fou.rb +381 -133
  14. data/generated/nl/linux/handshake.rb +340 -70
  15. data/generated/nl/linux/lockd.rb +132 -27
  16. data/generated/nl/linux/mptcp_pm.rb +773 -161
  17. data/generated/nl/linux/net_shaper.rb +892 -211
  18. data/generated/nl/linux/netdev.rb +2366 -518
  19. data/generated/nl/linux/nfsd.rb +1299 -317
  20. data/generated/nl/linux/nftables.rb +5351 -1533
  21. data/generated/nl/linux/nl80211.rb +4601 -882
  22. data/generated/nl/linux/nlctrl.rb +460 -117
  23. data/generated/nl/linux/ovpn.rb +1360 -262
  24. data/generated/nl/linux/ovs_datapath.rb +312 -98
  25. data/generated/nl/linux/ovs_flow.rb +1866 -358
  26. data/generated/nl/linux/ovs_packet.rb +331 -45
  27. data/generated/nl/linux/ovs_vport.rb +374 -123
  28. data/generated/nl/linux/psp.rb +1093 -201
  29. data/generated/nl/linux/rt_addr.rb +423 -165
  30. data/generated/nl/linux/rt_link.rb +6928 -1336
  31. data/generated/nl/linux/rt_neigh.rb +1063 -297
  32. data/generated/nl/linux/rt_route.rb +1112 -483
  33. data/generated/nl/linux/rt_rule.rb +931 -262
  34. data/generated/nl/linux/sunrpc_cache.rb +407 -82
  35. data/generated/nl/linux/tc.rb +10081 -1763
  36. data/generated/nl/linux/tcp_metrics.rb +388 -109
  37. data/generated/nl/linux/team.rb +350 -84
  38. data/generated/nl/linux/wireguard.rb +525 -96
  39. data/generated/nl/linux.rb +1 -0
  40. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  41. data/lib/nl/linux/version.rb +1 -1
  42. data/sig/generated/nl/linux/binder.rbs +366 -0
  43. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  44. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  45. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  46. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  47. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  48. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  49. data/sig/generated/nl/linux/fou.rbs +702 -0
  50. data/sig/generated/nl/linux/handshake.rbs +622 -0
  51. data/sig/generated/nl/linux/lockd.rbs +234 -0
  52. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  53. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  54. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  55. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  56. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  57. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  58. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  59. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  60. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  61. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  62. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  63. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  64. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  65. data/sig/generated/nl/linux/psp.rbs +1846 -0
  66. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  67. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  68. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  69. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  70. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  71. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  72. data/sig/generated/nl/linux/tc.rbs +19931 -0
  73. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  74. data/sig/generated/nl/linux/team.rbs +733 -0
  75. data/sig/generated/nl/linux/version.rbs +7 -0
  76. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  77. data/sig/generated/nl/linux.rbs +6 -0
  78. data/sig/generated/nl-linux.rbs +2 -0
  79. metadata +51 -10
@@ -1,14 +1,47 @@
1
1
  # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #
3
+ # This file is based on Documentation/netlink/specs/rt-route.yaml from Linux v7.2.
2
4
  #--
3
5
  # frozen_string_literal: true
4
- # rbs_inline: enabled
5
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
6
7
  require 'nl'
7
8
  module Nl; module Linux
8
9
  # Route configuration over rtnetlink.
9
- class RtRoute < ::Nl::Family
10
+ class RtRoute < ::Nl::Raw::Family
10
11
  NAME = "rt-route"
11
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-route", 0))
12
+ PROTONUM = 0
13
+ # @rbs (?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [Symbol, nil] executor
17
+ # @param [Integer, nil] notification_capacity
18
+ # @return [RtRoute]
19
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
20
+ # @param [Symbol, nil] executor
21
+ # @param [Integer, nil] notification_capacity
22
+ # @yieldparam [RtRoute] family
23
+ # @return [Object] the result of the block
24
+ def self.open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
25
+ super
26
+ end
27
+ # @private
28
+ MCAST_GROUPS = Ractor.make_shareable({}) #: Hash[::Symbol, ::Nl::McastGroup]
29
+ module Enums
30
+ module RtmType
31
+ Unspec = 0
32
+ Unicast = 1
33
+ Local = 2
34
+ Broadcast = 3
35
+ Anycast = 4
36
+ Multicast = 5
37
+ Blackhole = 6
38
+ Unreachable = 7
39
+ Prohibit = 8
40
+ Throw = 9
41
+ Nat = 10
42
+ Xresolve = 11
43
+ end
44
+ end
12
45
  module Structs
13
46
  Rtmsg = Struct.new(
14
47
  :"rtm_family", #: ::Integer
@@ -22,19 +55,39 @@ class RtRoute < ::Nl::Family
22
55
  :"rtm_flags", #: ::Integer
23
56
  )
24
57
  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]
58
+ # @!attribute [rw] rtm_family
59
+ # @return [Integer]
60
+ # @!attribute [rw] rtm_dst_len
61
+ # @return [Integer]
62
+ # @!attribute [rw] rtm_src_len
63
+ # @return [Integer]
64
+ # @!attribute [rw] rtm_tos
65
+ # @return [Integer]
66
+ # @!attribute [rw] rtm_table
67
+ # @return [Integer]
68
+ # @!attribute [rw] rtm_protocol
69
+ # @return [Integer]
70
+ # @!attribute [rw] rtm_scope
71
+ # @return [Integer]
72
+ # @!attribute [rw] rtm_type
73
+ # @return [Integer]
74
+ # @!attribute [rw] rtm_flags
75
+ # @return [Integer]
76
+ # @private
77
+ MEMBERS = Ractor.make_shareable({rtm_family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_dst_len: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_src_len: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_tos: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_table: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_protocol: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_scope: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_type: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), rtm_flags: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
27
78
  # Decodes the struct.
28
- #--
29
79
  # @rbs decoder: ::Nl::Decoder
30
80
  # @rbs return: instance
81
+ # @param [Nl::Decoder] decoder
82
+ # @return [self]
31
83
  def self.decode(decoder)
32
84
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
33
85
  end
34
86
  # Encodes the struct.
35
- #--
36
87
  # @rbs encoder: ::Nl::Encoder
37
88
  # @rbs return: void
89
+ # @param [Nl::Encoder] encoder
90
+ # @return [void]
38
91
  def encode(encoder)
39
92
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
40
93
  end
@@ -47,1080 +100,1656 @@ class RtRoute < ::Nl::Family
47
100
  :"rta_used", #: ::Integer
48
101
  )
49
102
  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]
103
+ # @!attribute [rw] rta_clntref
104
+ # @return [Integer]
105
+ # @!attribute [rw] rta_lastuse
106
+ # @return [Integer]
107
+ # @!attribute [rw] rta_expires
108
+ # @return [Integer]
109
+ # @!attribute [rw] rta_error
110
+ # @return [Integer]
111
+ # @!attribute [rw] rta_used
112
+ # @return [Integer]
113
+ # @private
114
+ MEMBERS = Ractor.make_shareable({rta_clntref: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_lastuse: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_expires: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_error: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), rta_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
52
115
  # Decodes the struct.
53
- #--
54
116
  # @rbs decoder: ::Nl::Decoder
55
117
  # @rbs return: instance
118
+ # @param [Nl::Decoder] decoder
119
+ # @return [self]
56
120
  def self.decode(decoder)
57
121
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
58
122
  end
59
123
  # Encodes the struct.
60
- #--
61
124
  # @rbs encoder: ::Nl::Encoder
62
125
  # @rbs return: void
126
+ # @param [Nl::Encoder] encoder
127
+ # @return [void]
63
128
  def encode(encoder)
64
129
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
65
130
  end
66
131
  end
67
132
  end
68
133
  module AttributeSets
69
- class RouteAttrs < ::Nl::Protocols::Raw::AttributeSet
134
+ class RouteAttrs < ::Nl::AttributeSet
70
135
  # Abstract class
71
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
136
+ class Attribute < ::Nl::AttributeSet::Attribute
72
137
  end
73
138
  class Dst < Attribute
74
139
  TYPE = 1
75
140
  NAME = :"dst"
76
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
141
+ # @private
142
+ ORDER = 0
143
+ # @private
144
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
77
145
  end
78
146
  class Src < Attribute
79
147
  TYPE = 2
80
148
  NAME = :"src"
81
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
149
+ # @private
150
+ ORDER = 1
151
+ # @private
152
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
82
153
  end
83
154
  class Iif < Attribute
84
155
  TYPE = 3
85
156
  NAME = :"iif"
86
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
157
+ # @private
158
+ ORDER = 2
159
+ # @private
160
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
87
161
  end
88
162
  class Oif < Attribute
89
163
  TYPE = 4
90
164
  NAME = :"oif"
91
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
165
+ # @private
166
+ ORDER = 3
167
+ # @private
168
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
92
169
  end
93
170
  class Gateway < Attribute
94
171
  TYPE = 5
95
172
  NAME = :"gateway"
96
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
173
+ # @private
174
+ ORDER = 4
175
+ # @private
176
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
97
177
  end
98
178
  class Priority < Attribute
99
179
  TYPE = 6
100
180
  NAME = :"priority"
101
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
181
+ # @private
182
+ ORDER = 5
183
+ # @private
184
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
102
185
  end
103
186
  class Prefsrc < Attribute
104
187
  TYPE = 7
105
188
  NAME = :"prefsrc"
106
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
189
+ # @private
190
+ ORDER = 6
191
+ # @private
192
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
107
193
  end
108
194
  class Metrics < Attribute
109
195
  TYPE = 8
110
196
  NAME = :"metrics"
197
+ # @private
198
+ ORDER = 7
111
199
  end
112
200
  class Multipath < Attribute
113
201
  TYPE = 9
114
202
  NAME = :"multipath"
115
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
203
+ # @private
204
+ ORDER = 8
205
+ # @private
206
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
116
207
  end
117
208
  class Protoinfo < Attribute
118
209
  TYPE = 10
119
210
  NAME = :"protoinfo"
120
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
211
+ # @private
212
+ ORDER = 9
213
+ # @private
214
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
121
215
  end
122
216
  class Flow < Attribute
123
217
  TYPE = 11
124
218
  NAME = :"flow"
125
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
219
+ # @private
220
+ ORDER = 10
221
+ # @private
222
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
126
223
  end
127
224
  class Cacheinfo < Attribute
128
225
  TYPE = 12
129
226
  NAME = :"cacheinfo"
130
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
227
+ # @private
228
+ ORDER = 11
229
+ # @private
230
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::RtaCacheinfo, check: nil, consume_remaining: true)
131
231
  end
132
232
  class Session < Attribute
133
233
  TYPE = 13
134
234
  NAME = :"session"
135
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
235
+ # @private
236
+ ORDER = 12
237
+ # @private
238
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
136
239
  end
137
240
  class MpAlgo < Attribute
138
241
  TYPE = 14
139
242
  NAME = :"mp_algo"
140
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
243
+ # @private
244
+ ORDER = 13
245
+ # @private
246
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
141
247
  end
142
248
  class Table < Attribute
143
249
  TYPE = 15
144
250
  NAME = :"table"
145
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
251
+ # @private
252
+ ORDER = 14
253
+ # @private
254
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
146
255
  end
147
256
  class Mark < Attribute
148
257
  TYPE = 16
149
258
  NAME = :"mark"
150
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
259
+ # @private
260
+ ORDER = 15
261
+ # @private
262
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
151
263
  end
152
264
  class MfcStats < Attribute
153
265
  TYPE = 17
154
266
  NAME = :"mfc_stats"
155
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
267
+ # @private
268
+ ORDER = 16
269
+ # @private
270
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
156
271
  end
157
272
  class Via < Attribute
158
273
  TYPE = 18
159
274
  NAME = :"via"
160
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
275
+ # @private
276
+ ORDER = 17
277
+ # @private
278
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
161
279
  end
162
280
  class Newdst < Attribute
163
281
  TYPE = 19
164
282
  NAME = :"newdst"
165
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
283
+ # @private
284
+ ORDER = 18
285
+ # @private
286
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
166
287
  end
167
288
  class Pref < Attribute
168
289
  TYPE = 20
169
290
  NAME = :"pref"
170
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
291
+ # @private
292
+ ORDER = 19
293
+ # @private
294
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
171
295
  end
172
296
  class EncapType < Attribute
173
297
  TYPE = 21
174
298
  NAME = :"encap_type"
175
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
299
+ # @private
300
+ ORDER = 20
301
+ # @private
302
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
176
303
  end
177
304
  class Encap < Attribute
178
305
  TYPE = 22
179
306
  NAME = :"encap"
180
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
307
+ # @private
308
+ ORDER = 21
309
+ # @private
310
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
181
311
  end
182
312
  class Expires < Attribute
183
313
  TYPE = 23
184
314
  NAME = :"expires"
185
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
315
+ # @private
316
+ ORDER = 22
317
+ # @private
318
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
186
319
  end
187
320
  class Pad < Attribute
188
321
  TYPE = 24
189
322
  NAME = :"pad"
190
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
323
+ # @private
324
+ ORDER = 23
325
+ # @private
326
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
191
327
  end
192
328
  class Uid < Attribute
193
329
  TYPE = 25
194
330
  NAME = :"uid"
195
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
331
+ # @private
332
+ ORDER = 24
333
+ # @private
334
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
196
335
  end
197
336
  class TtlPropagate < Attribute
198
337
  TYPE = 26
199
338
  NAME = :"ttl_propagate"
200
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
339
+ # @private
340
+ ORDER = 25
341
+ # @private
342
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
201
343
  end
202
344
  class IpProto < Attribute
203
345
  TYPE = 27
204
346
  NAME = :"ip_proto"
205
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
347
+ # @private
348
+ ORDER = 26
349
+ # @private
350
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
206
351
  end
207
352
  class Sport < Attribute
208
353
  TYPE = 28
209
354
  NAME = :"sport"
210
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
355
+ # @private
356
+ ORDER = 27
357
+ # @private
358
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
211
359
  end
212
360
  class Dport < Attribute
213
361
  TYPE = 29
214
362
  NAME = :"dport"
215
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
363
+ # @private
364
+ ORDER = 28
365
+ # @private
366
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
216
367
  end
217
368
  class NhId < Attribute
218
369
  TYPE = 30
219
370
  NAME = :"nh_id"
220
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
371
+ # @private
372
+ ORDER = 29
373
+ # @private
374
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
221
375
  end
222
376
  class Flowlabel < Attribute
223
377
  TYPE = 31
224
378
  NAME = :"flowlabel"
225
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
379
+ # @private
380
+ ORDER = 30
381
+ # @private
382
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
226
383
  end
227
- # :nodoc:
384
+ # @private
228
385
  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:
386
+ # @private
230
387
  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]
388
+ # @rbs return: ::String
389
+ # @return [String]
390
+ # @see Dst
391
+ def dst; self[:"dst"]&.value; end
392
+ # @rbs return: ::String
393
+ # @return [String]
394
+ # @see Src
395
+ def src; self[:"src"]&.value; end
396
+ # @rbs return: ::Integer
397
+ # @return [Integer]
398
+ # @see Iif
399
+ def iif; self[:"iif"]&.value; end
400
+ # @rbs return: ::Integer
401
+ # @return [Integer]
402
+ # @see Oif
403
+ def oif; self[:"oif"]&.value; end
404
+ # @rbs return: ::String
405
+ # @return [String]
406
+ # @see Gateway
407
+ def gateway; self[:"gateway"]&.value; end
408
+ # @rbs return: ::Integer
409
+ # @return [Integer]
410
+ # @see Priority
411
+ def priority; self[:"priority"]&.value; end
412
+ # @rbs return: ::String
413
+ # @return [String]
414
+ # @see Prefsrc
415
+ def prefsrc; self[:"prefsrc"]&.value; end
416
+ # @rbs return: AttributeSets::Metrics
417
+ # @return [AttributeSets::Metrics]
418
+ # @see Metrics
419
+ def metrics; self[:"metrics"]&.value; end
420
+ # @rbs return: ::String
421
+ # @return [String]
422
+ # @see Multipath
423
+ def multipath; self[:"multipath"]&.value; end
424
+ # @rbs return: ::String
425
+ # @return [String]
426
+ # @see Protoinfo
427
+ def protoinfo; self[:"protoinfo"]&.value; end
428
+ # @rbs return: ::Integer
429
+ # @return [Integer]
430
+ # @see Flow
431
+ def flow; self[:"flow"]&.value; end
432
+ # @rbs return: Structs::RtaCacheinfo
433
+ # @return [Structs::RtaCacheinfo]
434
+ # @see Cacheinfo
435
+ def cacheinfo; self[:"cacheinfo"]&.value; end
436
+ # @rbs return: ::String
437
+ # @return [String]
438
+ # @see Session
439
+ def session; self[:"session"]&.value; end
440
+ # @rbs return: ::String
441
+ # @return [String]
442
+ # @see MpAlgo
443
+ def mp_algo; self[:"mp_algo"]&.value; end
444
+ # @rbs return: ::Integer
445
+ # @return [Integer]
446
+ # @see Table
447
+ def table; self[:"table"]&.value; end
448
+ # @rbs return: ::Integer
449
+ # @return [Integer]
450
+ # @see Mark
451
+ def mark; self[:"mark"]&.value; end
452
+ # @rbs return: ::String
453
+ # @return [String]
454
+ # @see MfcStats
455
+ def mfc_stats; self[:"mfc_stats"]&.value; end
456
+ # @rbs return: ::String
457
+ # @return [String]
458
+ # @see Via
459
+ def via; self[:"via"]&.value; end
460
+ # @rbs return: ::String
461
+ # @return [String]
462
+ # @see Newdst
463
+ def newdst; self[:"newdst"]&.value; end
464
+ # @rbs return: ::Integer
465
+ # @return [Integer]
466
+ # @see Pref
467
+ def pref; self[:"pref"]&.value; end
468
+ # @rbs return: ::Integer
469
+ # @return [Integer]
470
+ # @see EncapType
471
+ def encap_type; self[:"encap_type"]&.value; end
472
+ # @rbs return: ::String
473
+ # @return [String]
474
+ # @see Encap
475
+ def encap; self[:"encap"]&.value; end
476
+ # @rbs return: ::Integer
477
+ # @return [Integer]
478
+ # @see Expires
479
+ def expires; self[:"expires"]&.value; end
480
+ # @rbs return: ::String
481
+ # @return [String]
482
+ # @see Pad
483
+ def pad; self[:"pad"]&.value; end
484
+ # @rbs return: ::Integer
485
+ # @return [Integer]
486
+ # @see Uid
487
+ def uid; self[:"uid"]&.value; end
488
+ # @rbs return: ::Integer
489
+ # @return [Integer]
490
+ # @see TtlPropagate
491
+ def ttl_propagate; self[:"ttl_propagate"]&.value; end
492
+ # @rbs return: ::Integer
493
+ # @return [Integer]
494
+ # @see IpProto
495
+ def ip_proto; self[:"ip_proto"]&.value; end
496
+ # @rbs return: ::Integer
497
+ # @return [Integer]
498
+ # @see Sport
499
+ def sport; self[:"sport"]&.value; end
500
+ # @rbs return: ::Integer
501
+ # @return [Integer]
502
+ # @see Dport
503
+ def dport; self[:"dport"]&.value; end
504
+ # @rbs return: ::Integer
505
+ # @return [Integer]
506
+ # @see NhId
507
+ def nh_id; self[:"nh_id"]&.value; end
508
+ # @rbs return: ::Integer
509
+ # @return [Integer]
510
+ # @see Flowlabel
511
+ def flowlabel; self[:"flowlabel"]&.value; end
231
512
  class << self
232
513
  # Looks up Attribute class by name.
233
- #--
234
514
  # @rbs name: Symbol
235
515
  # @rbs return: Attribute
516
+ # @param [Symbol] name
517
+ # @return [Attribute]
236
518
  def by_name(name); BY_NAME.fetch(name); end
237
519
  # Looks up Attribute class by type value.
238
- #--
239
520
  # @rbs type: Integer
240
521
  # @rbs return: Attribute
522
+ # @param [Integer] type
523
+ # @return [Attribute]
241
524
  def by_type(type); BY_TYPE.fetch(type); end
242
525
  end
243
526
  end
244
- class Metrics < ::Nl::Protocols::Raw::AttributeSet
527
+ class Metrics < ::Nl::AttributeSet
245
528
  # Abstract class
246
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
529
+ class Attribute < ::Nl::AttributeSet::Attribute
247
530
  end
248
531
  class Lock < Attribute
249
532
  TYPE = 1
250
533
  NAME = :"lock"
251
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
534
+ # @private
535
+ ORDER = 0
536
+ # @private
537
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
252
538
  end
253
539
  class Mtu < Attribute
254
540
  TYPE = 2
255
541
  NAME = :"mtu"
256
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
542
+ # @private
543
+ ORDER = 1
544
+ # @private
545
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
257
546
  end
258
547
  class Window < Attribute
259
548
  TYPE = 3
260
549
  NAME = :"window"
261
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
550
+ # @private
551
+ ORDER = 2
552
+ # @private
553
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
262
554
  end
263
555
  class Rtt < Attribute
264
556
  TYPE = 4
265
557
  NAME = :"rtt"
266
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
558
+ # @private
559
+ ORDER = 3
560
+ # @private
561
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
267
562
  end
268
563
  class Rttvar < Attribute
269
564
  TYPE = 5
270
565
  NAME = :"rttvar"
271
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
566
+ # @private
567
+ ORDER = 4
568
+ # @private
569
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
272
570
  end
273
571
  class Ssthresh < Attribute
274
572
  TYPE = 6
275
573
  NAME = :"ssthresh"
276
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
574
+ # @private
575
+ ORDER = 5
576
+ # @private
577
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
277
578
  end
278
579
  class Cwnd < Attribute
279
580
  TYPE = 7
280
581
  NAME = :"cwnd"
281
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
582
+ # @private
583
+ ORDER = 6
584
+ # @private
585
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
282
586
  end
283
587
  class Advmss < Attribute
284
588
  TYPE = 8
285
589
  NAME = :"advmss"
286
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
590
+ # @private
591
+ ORDER = 7
592
+ # @private
593
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
287
594
  end
288
595
  class Reordering < Attribute
289
596
  TYPE = 9
290
597
  NAME = :"reordering"
291
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
598
+ # @private
599
+ ORDER = 8
600
+ # @private
601
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
292
602
  end
293
603
  class Hoplimit < Attribute
294
604
  TYPE = 10
295
605
  NAME = :"hoplimit"
296
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
606
+ # @private
607
+ ORDER = 9
608
+ # @private
609
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
297
610
  end
298
611
  class Initcwnd < Attribute
299
612
  TYPE = 11
300
613
  NAME = :"initcwnd"
301
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
614
+ # @private
615
+ ORDER = 10
616
+ # @private
617
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
302
618
  end
303
619
  class Features < Attribute
304
620
  TYPE = 12
305
621
  NAME = :"features"
306
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
622
+ # @private
623
+ ORDER = 11
624
+ # @private
625
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
307
626
  end
308
627
  class RtoMin < Attribute
309
628
  TYPE = 13
310
629
  NAME = :"rto_min"
311
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
630
+ # @private
631
+ ORDER = 12
632
+ # @private
633
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
312
634
  end
313
635
  class Initrwnd < Attribute
314
636
  TYPE = 14
315
637
  NAME = :"initrwnd"
316
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
638
+ # @private
639
+ ORDER = 13
640
+ # @private
641
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
317
642
  end
318
643
  class Quickack < Attribute
319
644
  TYPE = 15
320
645
  NAME = :"quickack"
321
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
646
+ # @private
647
+ ORDER = 14
648
+ # @private
649
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
322
650
  end
323
651
  class CcAlgo < Attribute
324
652
  TYPE = 16
325
653
  NAME = :"cc_algo"
326
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
654
+ # @private
655
+ ORDER = 15
656
+ # @private
657
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
327
658
  end
328
659
  class FastopenNoCookie < Attribute
329
660
  TYPE = 17
330
661
  NAME = :"fastopen_no_cookie"
331
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
662
+ # @private
663
+ ORDER = 16
664
+ # @private
665
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
332
666
  end
333
- # :nodoc:
667
+ # @private
334
668
  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:
669
+ # @private
336
670
  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]
671
+ # @rbs return: ::Integer
672
+ # @return [Integer]
673
+ # @see Lock
674
+ def lock; self[:"lock"]&.value; end
675
+ # @rbs return: ::Integer
676
+ # @return [Integer]
677
+ # @see Mtu
678
+ def mtu; self[:"mtu"]&.value; end
679
+ # @rbs return: ::Integer
680
+ # @return [Integer]
681
+ # @see Window
682
+ def window; self[:"window"]&.value; end
683
+ # @rbs return: ::Integer
684
+ # @return [Integer]
685
+ # @see Rtt
686
+ def rtt; self[:"rtt"]&.value; end
687
+ # @rbs return: ::Integer
688
+ # @return [Integer]
689
+ # @see Rttvar
690
+ def rttvar; self[:"rttvar"]&.value; end
691
+ # @rbs return: ::Integer
692
+ # @return [Integer]
693
+ # @see Ssthresh
694
+ def ssthresh; self[:"ssthresh"]&.value; end
695
+ # @rbs return: ::Integer
696
+ # @return [Integer]
697
+ # @see Cwnd
698
+ def cwnd; self[:"cwnd"]&.value; end
699
+ # @rbs return: ::Integer
700
+ # @return [Integer]
701
+ # @see Advmss
702
+ def advmss; self[:"advmss"]&.value; end
703
+ # @rbs return: ::Integer
704
+ # @return [Integer]
705
+ # @see Reordering
706
+ def reordering; self[:"reordering"]&.value; end
707
+ # @rbs return: ::Integer
708
+ # @return [Integer]
709
+ # @see Hoplimit
710
+ def hoplimit; self[:"hoplimit"]&.value; end
711
+ # @rbs return: ::Integer
712
+ # @return [Integer]
713
+ # @see Initcwnd
714
+ def initcwnd; self[:"initcwnd"]&.value; end
715
+ # @rbs return: ::Integer
716
+ # @return [Integer]
717
+ # @see Features
718
+ def features; self[:"features"]&.value; end
719
+ # @rbs return: ::Integer
720
+ # @return [Integer]
721
+ # @see RtoMin
722
+ def rto_min; self[:"rto_min"]&.value; end
723
+ # @rbs return: ::Integer
724
+ # @return [Integer]
725
+ # @see Initrwnd
726
+ def initrwnd; self[:"initrwnd"]&.value; end
727
+ # @rbs return: ::Integer
728
+ # @return [Integer]
729
+ # @see Quickack
730
+ def quickack; self[:"quickack"]&.value; end
731
+ # @rbs return: ::String
732
+ # @return [String]
733
+ # @see CcAlgo
734
+ def cc_algo; self[:"cc_algo"]&.value; end
735
+ # @rbs return: ::Integer
736
+ # @return [Integer]
737
+ # @see FastopenNoCookie
738
+ def fastopen_no_cookie; self[:"fastopen_no_cookie"]&.value; end
337
739
  class << self
338
740
  # Looks up Attribute class by name.
339
- #--
340
741
  # @rbs name: Symbol
341
742
  # @rbs return: Attribute
743
+ # @param [Symbol] name
744
+ # @return [Attribute]
342
745
  def by_name(name); BY_NAME.fetch(name); end
343
746
  # Looks up Attribute class by type value.
344
- #--
345
747
  # @rbs type: Integer
346
748
  # @rbs return: Attribute
749
+ # @param [Integer] type
750
+ # @return [Attribute]
347
751
  def by_type(type); BY_TYPE.fetch(type); end
348
752
  end
349
753
  end
350
- RouteAttrs::Metrics::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(Metrics)
754
+ # @private
755
+ RouteAttrs::Metrics::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Metrics, selector_bindings: Ractor.make_shareable([]))
351
756
  end
352
757
  module Messages
353
758
  # Dump route information.
354
- class DoGetrouteRequest < ::Nl::Protocols::Raw::Message
759
+ class DoGetrouteRequest < ::Nl::Raw::Message
355
760
  TYPE = 26
356
761
  FIXED_HEADER = Structs::Rtmsg
357
762
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
358
763
  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
764
  # @rbs return: ::Integer
765
+ # @return [Integer]
362
766
  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
767
  # @rbs return: ::Integer
768
+ # @return [Integer]
366
769
  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
770
  # @rbs return: ::Integer
771
+ # @return [Integer]
370
772
  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
773
  # @rbs return: ::Integer
774
+ # @return [Integer]
374
775
  def rtm_tos; fixed_header.rtm_tos; end
375
- # Gets the value of `rtm-table` field in the message's fixed header.
376
- #--
377
776
  # @rbs return: ::Integer
777
+ # @return [Integer]
378
778
  def rtm_table; fixed_header.rtm_table; end
379
- # Gets the value of `rtm-protocol` field in the message's fixed header.
380
- #--
381
779
  # @rbs return: ::Integer
780
+ # @return [Integer]
382
781
  def rtm_protocol; fixed_header.rtm_protocol; end
383
- # Gets the value of `rtm-scope` field in the message's fixed header.
384
- #--
385
782
  # @rbs return: ::Integer
783
+ # @return [Integer]
386
784
  def rtm_scope; fixed_header.rtm_scope; end
387
- # Gets the value of `rtm-type` field in the message's fixed header.
388
- #--
389
785
  # @rbs return: ::Integer
786
+ # @return [Integer]
390
787
  def rtm_type; fixed_header.rtm_type; end
391
- # Gets the value of `rtm-flags` field in the message's fixed header.
392
- #--
393
788
  # @rbs return: ::Integer
789
+ # @return [Integer]
394
790
  def rtm_flags; fixed_header.rtm_flags; end
395
- # Gets the value of `dst` attribute in the message.
396
- #--
397
- # @rbs return: untyped
791
+ # @rbs return: ::String
792
+ # @return [String]
793
+ # @see AttributeSets::RouteAttrs::Dst
398
794
  def dst; attributes[:"dst"]&.value; end
399
- # Gets the value of `src` attribute in the message.
400
- #--
401
- # @rbs return: untyped
795
+ # @rbs return: ::String
796
+ # @return [String]
797
+ # @see AttributeSets::RouteAttrs::Src
402
798
  def src; attributes[:"src"]&.value; end
403
- # Gets the value of `iif` attribute in the message.
404
- #--
405
799
  # @rbs return: ::Integer
800
+ # @return [Integer]
801
+ # @see AttributeSets::RouteAttrs::Iif
406
802
  def iif; attributes[:"iif"]&.value; end
407
- # Gets the value of `oif` attribute in the message.
408
- #--
409
803
  # @rbs return: ::Integer
804
+ # @return [Integer]
805
+ # @see AttributeSets::RouteAttrs::Oif
410
806
  def oif; attributes[:"oif"]&.value; end
411
- # Gets the value of `mark` attribute in the message.
412
- #--
413
807
  # @rbs return: ::Integer
808
+ # @return [Integer]
809
+ # @see AttributeSets::RouteAttrs::Mark
414
810
  def mark; attributes[:"mark"]&.value; end
415
- # Gets the value of `uid` attribute in the message.
416
- #--
417
811
  # @rbs return: ::Integer
812
+ # @return [Integer]
813
+ # @see AttributeSets::RouteAttrs::Uid
418
814
  def uid; attributes[:"uid"]&.value; end
419
- # Gets the value of `ip-proto` attribute in the message.
420
- #--
421
815
  # @rbs return: ::Integer
816
+ # @return [Integer]
817
+ # @see AttributeSets::RouteAttrs::IpProto
422
818
  def ip_proto; attributes[:"ip_proto"]&.value; end
423
- # Gets the value of `sport` attribute in the message.
424
- #--
425
819
  # @rbs return: ::Integer
820
+ # @return [Integer]
821
+ # @see AttributeSets::RouteAttrs::Sport
426
822
  def sport; attributes[:"sport"]&.value; end
427
- # Gets the value of `dport` attribute in the message.
428
- #--
429
823
  # @rbs return: ::Integer
824
+ # @return [Integer]
825
+ # @see AttributeSets::RouteAttrs::Dport
430
826
  def dport; attributes[:"dport"]&.value; end
431
- # Gets the value of `flowlabel` attribute in the message.
432
- #--
433
827
  # @rbs return: ::Integer
828
+ # @return [Integer]
829
+ # @see AttributeSets::RouteAttrs::Flowlabel
434
830
  def flowlabel; attributes[:"flowlabel"]&.value; end
435
831
  end
436
832
  # Dump route information.
437
- class DoGetrouteReply < ::Nl::Protocols::Raw::Message
833
+ class DoGetrouteReply < ::Nl::Raw::Message
438
834
  TYPE = 24
439
835
  FIXED_HEADER = Structs::Rtmsg
440
836
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
441
837
  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
838
  # @rbs return: ::Integer
839
+ # @return [Integer]
445
840
  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
841
  # @rbs return: ::Integer
842
+ # @return [Integer]
449
843
  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
844
  # @rbs return: ::Integer
845
+ # @return [Integer]
453
846
  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
847
  # @rbs return: ::Integer
848
+ # @return [Integer]
457
849
  def rtm_tos; fixed_header.rtm_tos; end
458
- # Gets the value of `rtm-table` field in the message's fixed header.
459
- #--
460
850
  # @rbs return: ::Integer
851
+ # @return [Integer]
461
852
  def rtm_table; fixed_header.rtm_table; end
462
- # Gets the value of `rtm-protocol` field in the message's fixed header.
463
- #--
464
853
  # @rbs return: ::Integer
854
+ # @return [Integer]
465
855
  def rtm_protocol; fixed_header.rtm_protocol; end
466
- # Gets the value of `rtm-scope` field in the message's fixed header.
467
- #--
468
856
  # @rbs return: ::Integer
857
+ # @return [Integer]
469
858
  def rtm_scope; fixed_header.rtm_scope; end
470
- # Gets the value of `rtm-type` field in the message's fixed header.
471
- #--
472
859
  # @rbs return: ::Integer
860
+ # @return [Integer]
473
861
  def rtm_type; fixed_header.rtm_type; end
474
- # Gets the value of `rtm-flags` field in the message's fixed header.
475
- #--
476
862
  # @rbs return: ::Integer
863
+ # @return [Integer]
477
864
  def rtm_flags; fixed_header.rtm_flags; end
478
- # Gets the value of `dst` attribute in the message.
479
- #--
480
- # @rbs return: untyped
865
+ # @rbs return: ::String
866
+ # @return [String]
867
+ # @see AttributeSets::RouteAttrs::Dst
481
868
  def dst; attributes[:"dst"]&.value; end
482
- # Gets the value of `src` attribute in the message.
483
- #--
484
- # @rbs return: untyped
869
+ # @rbs return: ::String
870
+ # @return [String]
871
+ # @see AttributeSets::RouteAttrs::Src
485
872
  def src; attributes[:"src"]&.value; end
486
- # Gets the value of `iif` attribute in the message.
487
- #--
488
873
  # @rbs return: ::Integer
874
+ # @return [Integer]
875
+ # @see AttributeSets::RouteAttrs::Iif
489
876
  def iif; attributes[:"iif"]&.value; end
490
- # Gets the value of `oif` attribute in the message.
491
- #--
492
877
  # @rbs return: ::Integer
878
+ # @return [Integer]
879
+ # @see AttributeSets::RouteAttrs::Oif
493
880
  def oif; attributes[:"oif"]&.value; end
494
- # Gets the value of `gateway` attribute in the message.
495
- #--
496
- # @rbs return: untyped
881
+ # @rbs return: ::String
882
+ # @return [String]
883
+ # @see AttributeSets::RouteAttrs::Gateway
497
884
  def gateway; attributes[:"gateway"]&.value; end
498
- # Gets the value of `priority` attribute in the message.
499
- #--
500
885
  # @rbs return: ::Integer
886
+ # @return [Integer]
887
+ # @see AttributeSets::RouteAttrs::Priority
501
888
  def priority; attributes[:"priority"]&.value; end
502
- # Gets the value of `prefsrc` attribute in the message.
503
- #--
504
- # @rbs return: untyped
889
+ # @rbs return: ::String
890
+ # @return [String]
891
+ # @see AttributeSets::RouteAttrs::Prefsrc
505
892
  def prefsrc; attributes[:"prefsrc"]&.value; end
506
- # Gets the value of `metrics` attribute in the message.
507
- #--
508
893
  # @rbs return: AttributeSets::Metrics
894
+ # @return [AttributeSets::Metrics]
895
+ # @see AttributeSets::RouteAttrs::Metrics
509
896
  def metrics; attributes[:"metrics"]&.value; end
510
- # Gets the value of `multipath` attribute in the message.
511
- #--
512
- # @rbs return: untyped
897
+ # @rbs return: ::String
898
+ # @return [String]
899
+ # @see AttributeSets::RouteAttrs::Multipath
513
900
  def multipath; attributes[:"multipath"]&.value; end
514
- # Gets the value of `flow` attribute in the message.
515
- #--
516
901
  # @rbs return: ::Integer
902
+ # @return [Integer]
903
+ # @see AttributeSets::RouteAttrs::Flow
517
904
  def flow; attributes[:"flow"]&.value; end
518
- # Gets the value of `cacheinfo` attribute in the message.
519
- #--
520
- # @rbs return: untyped
905
+ # @rbs return: Structs::RtaCacheinfo
906
+ # @return [Structs::RtaCacheinfo]
907
+ # @see AttributeSets::RouteAttrs::Cacheinfo
521
908
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
522
- # Gets the value of `table` attribute in the message.
523
- #--
524
909
  # @rbs return: ::Integer
910
+ # @return [Integer]
911
+ # @see AttributeSets::RouteAttrs::Table
525
912
  def table; attributes[:"table"]&.value; end
526
- # Gets the value of `mark` attribute in the message.
527
- #--
528
913
  # @rbs return: ::Integer
914
+ # @return [Integer]
915
+ # @see AttributeSets::RouteAttrs::Mark
529
916
  def mark; attributes[:"mark"]&.value; end
530
- # Gets the value of `mfc-stats` attribute in the message.
531
- #--
532
- # @rbs return: untyped
917
+ # @rbs return: ::String
918
+ # @return [String]
919
+ # @see AttributeSets::RouteAttrs::MfcStats
533
920
  def mfc_stats; attributes[:"mfc_stats"]&.value; end
534
- # Gets the value of `via` attribute in the message.
535
- #--
536
- # @rbs return: untyped
921
+ # @rbs return: ::String
922
+ # @return [String]
923
+ # @see AttributeSets::RouteAttrs::Via
537
924
  def via; attributes[:"via"]&.value; end
538
- # Gets the value of `newdst` attribute in the message.
539
- #--
540
- # @rbs return: untyped
925
+ # @rbs return: ::String
926
+ # @return [String]
927
+ # @see AttributeSets::RouteAttrs::Newdst
541
928
  def newdst; attributes[:"newdst"]&.value; end
542
- # Gets the value of `pref` attribute in the message.
543
- #--
544
929
  # @rbs return: ::Integer
930
+ # @return [Integer]
931
+ # @see AttributeSets::RouteAttrs::Pref
545
932
  def pref; attributes[:"pref"]&.value; end
546
- # Gets the value of `encap-type` attribute in the message.
547
- #--
548
933
  # @rbs return: ::Integer
934
+ # @return [Integer]
935
+ # @see AttributeSets::RouteAttrs::EncapType
549
936
  def encap_type; attributes[:"encap_type"]&.value; end
550
- # Gets the value of `encap` attribute in the message.
551
- #--
552
- # @rbs return: untyped
937
+ # @rbs return: ::String
938
+ # @return [String]
939
+ # @see AttributeSets::RouteAttrs::Encap
553
940
  def encap; attributes[:"encap"]&.value; end
554
- # Gets the value of `expires` attribute in the message.
555
- #--
556
941
  # @rbs return: ::Integer
942
+ # @return [Integer]
943
+ # @see AttributeSets::RouteAttrs::Expires
557
944
  def expires; attributes[:"expires"]&.value; end
558
- # Gets the value of `pad` attribute in the message.
559
- #--
560
- # @rbs return: untyped
945
+ # @rbs return: ::String
946
+ # @return [String]
947
+ # @see AttributeSets::RouteAttrs::Pad
561
948
  def pad; attributes[:"pad"]&.value; end
562
- # Gets the value of `uid` attribute in the message.
563
- #--
564
949
  # @rbs return: ::Integer
950
+ # @return [Integer]
951
+ # @see AttributeSets::RouteAttrs::Uid
565
952
  def uid; attributes[:"uid"]&.value; end
566
- # Gets the value of `ttl-propagate` attribute in the message.
567
- #--
568
953
  # @rbs return: ::Integer
954
+ # @return [Integer]
955
+ # @see AttributeSets::RouteAttrs::TtlPropagate
569
956
  def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
570
- # Gets the value of `ip-proto` attribute in the message.
571
- #--
572
957
  # @rbs return: ::Integer
958
+ # @return [Integer]
959
+ # @see AttributeSets::RouteAttrs::IpProto
573
960
  def ip_proto; attributes[:"ip_proto"]&.value; end
574
- # Gets the value of `sport` attribute in the message.
575
- #--
576
961
  # @rbs return: ::Integer
962
+ # @return [Integer]
963
+ # @see AttributeSets::RouteAttrs::Sport
577
964
  def sport; attributes[:"sport"]&.value; end
578
- # Gets the value of `dport` attribute in the message.
579
- #--
580
965
  # @rbs return: ::Integer
966
+ # @return [Integer]
967
+ # @see AttributeSets::RouteAttrs::Dport
581
968
  def dport; attributes[:"dport"]&.value; end
582
- # Gets the value of `nh-id` attribute in the message.
583
- #--
584
969
  # @rbs return: ::Integer
970
+ # @return [Integer]
971
+ # @see AttributeSets::RouteAttrs::NhId
585
972
  def nh_id; attributes[:"nh_id"]&.value; end
586
- # Gets the value of `flowlabel` attribute in the message.
587
- #--
588
973
  # @rbs return: ::Integer
974
+ # @return [Integer]
975
+ # @see AttributeSets::RouteAttrs::Flowlabel
589
976
  def flowlabel; attributes[:"flowlabel"]&.value; end
590
977
  end
591
978
  # Dump route information.
592
- class DumpGetrouteRequest < ::Nl::Protocols::Raw::Message
979
+ class DumpGetrouteRequest < ::Nl::Raw::Message
593
980
  TYPE = 26
594
981
  FIXED_HEADER = Structs::Rtmsg
595
982
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
596
983
  ATTRIBUTES = Ractor.make_shareable(%i[])
597
- # Gets the value of `rtm-family` field in the message's fixed header.
598
- #--
599
984
  # @rbs return: ::Integer
985
+ # @return [Integer]
600
986
  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
987
  # @rbs return: ::Integer
988
+ # @return [Integer]
604
989
  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
990
  # @rbs return: ::Integer
991
+ # @return [Integer]
608
992
  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
993
  # @rbs return: ::Integer
994
+ # @return [Integer]
612
995
  def rtm_tos; fixed_header.rtm_tos; end
613
- # Gets the value of `rtm-table` field in the message's fixed header.
614
- #--
615
996
  # @rbs return: ::Integer
997
+ # @return [Integer]
616
998
  def rtm_table; fixed_header.rtm_table; end
617
- # Gets the value of `rtm-protocol` field in the message's fixed header.
618
- #--
619
999
  # @rbs return: ::Integer
1000
+ # @return [Integer]
620
1001
  def rtm_protocol; fixed_header.rtm_protocol; end
621
- # Gets the value of `rtm-scope` field in the message's fixed header.
622
- #--
623
1002
  # @rbs return: ::Integer
1003
+ # @return [Integer]
624
1004
  def rtm_scope; fixed_header.rtm_scope; end
625
- # Gets the value of `rtm-type` field in the message's fixed header.
626
- #--
627
1005
  # @rbs return: ::Integer
1006
+ # @return [Integer]
628
1007
  def rtm_type; fixed_header.rtm_type; end
629
- # Gets the value of `rtm-flags` field in the message's fixed header.
630
- #--
631
1008
  # @rbs return: ::Integer
1009
+ # @return [Integer]
632
1010
  def rtm_flags; fixed_header.rtm_flags; end
633
1011
  end
634
1012
  # Dump route information.
635
- class DumpGetrouteReply < ::Nl::Protocols::Raw::Message
1013
+ class DumpGetrouteReply < ::Nl::Raw::Message
636
1014
  TYPE = 24
637
1015
  FIXED_HEADER = Structs::Rtmsg
638
1016
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
639
1017
  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
1018
  # @rbs return: ::Integer
1019
+ # @return [Integer]
643
1020
  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
1021
  # @rbs return: ::Integer
1022
+ # @return [Integer]
647
1023
  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
1024
  # @rbs return: ::Integer
1025
+ # @return [Integer]
651
1026
  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
1027
  # @rbs return: ::Integer
1028
+ # @return [Integer]
655
1029
  def rtm_tos; fixed_header.rtm_tos; end
656
- # Gets the value of `rtm-table` field in the message's fixed header.
657
- #--
658
1030
  # @rbs return: ::Integer
1031
+ # @return [Integer]
659
1032
  def rtm_table; fixed_header.rtm_table; end
660
- # Gets the value of `rtm-protocol` field in the message's fixed header.
661
- #--
662
1033
  # @rbs return: ::Integer
1034
+ # @return [Integer]
663
1035
  def rtm_protocol; fixed_header.rtm_protocol; end
664
- # Gets the value of `rtm-scope` field in the message's fixed header.
665
- #--
666
1036
  # @rbs return: ::Integer
1037
+ # @return [Integer]
667
1038
  def rtm_scope; fixed_header.rtm_scope; end
668
- # Gets the value of `rtm-type` field in the message's fixed header.
669
- #--
670
1039
  # @rbs return: ::Integer
1040
+ # @return [Integer]
671
1041
  def rtm_type; fixed_header.rtm_type; end
672
- # Gets the value of `rtm-flags` field in the message's fixed header.
673
- #--
674
1042
  # @rbs return: ::Integer
1043
+ # @return [Integer]
675
1044
  def rtm_flags; fixed_header.rtm_flags; end
676
- # Gets the value of `dst` attribute in the message.
677
- #--
678
- # @rbs return: untyped
1045
+ # @rbs return: ::String
1046
+ # @return [String]
1047
+ # @see AttributeSets::RouteAttrs::Dst
679
1048
  def dst; attributes[:"dst"]&.value; end
680
- # Gets the value of `src` attribute in the message.
681
- #--
682
- # @rbs return: untyped
1049
+ # @rbs return: ::String
1050
+ # @return [String]
1051
+ # @see AttributeSets::RouteAttrs::Src
683
1052
  def src; attributes[:"src"]&.value; end
684
- # Gets the value of `iif` attribute in the message.
685
- #--
686
1053
  # @rbs return: ::Integer
1054
+ # @return [Integer]
1055
+ # @see AttributeSets::RouteAttrs::Iif
687
1056
  def iif; attributes[:"iif"]&.value; end
688
- # Gets the value of `oif` attribute in the message.
689
- #--
690
1057
  # @rbs return: ::Integer
1058
+ # @return [Integer]
1059
+ # @see AttributeSets::RouteAttrs::Oif
691
1060
  def oif; attributes[:"oif"]&.value; end
692
- # Gets the value of `gateway` attribute in the message.
693
- #--
694
- # @rbs return: untyped
1061
+ # @rbs return: ::String
1062
+ # @return [String]
1063
+ # @see AttributeSets::RouteAttrs::Gateway
695
1064
  def gateway; attributes[:"gateway"]&.value; end
696
- # Gets the value of `priority` attribute in the message.
697
- #--
698
1065
  # @rbs return: ::Integer
1066
+ # @return [Integer]
1067
+ # @see AttributeSets::RouteAttrs::Priority
699
1068
  def priority; attributes[:"priority"]&.value; end
700
- # Gets the value of `prefsrc` attribute in the message.
701
- #--
702
- # @rbs return: untyped
1069
+ # @rbs return: ::String
1070
+ # @return [String]
1071
+ # @see AttributeSets::RouteAttrs::Prefsrc
703
1072
  def prefsrc; attributes[:"prefsrc"]&.value; end
704
- # Gets the value of `metrics` attribute in the message.
705
- #--
706
1073
  # @rbs return: AttributeSets::Metrics
1074
+ # @return [AttributeSets::Metrics]
1075
+ # @see AttributeSets::RouteAttrs::Metrics
707
1076
  def metrics; attributes[:"metrics"]&.value; end
708
- # Gets the value of `multipath` attribute in the message.
709
- #--
710
- # @rbs return: untyped
1077
+ # @rbs return: ::String
1078
+ # @return [String]
1079
+ # @see AttributeSets::RouteAttrs::Multipath
711
1080
  def multipath; attributes[:"multipath"]&.value; end
712
- # Gets the value of `flow` attribute in the message.
713
- #--
714
1081
  # @rbs return: ::Integer
1082
+ # @return [Integer]
1083
+ # @see AttributeSets::RouteAttrs::Flow
715
1084
  def flow; attributes[:"flow"]&.value; end
716
- # Gets the value of `cacheinfo` attribute in the message.
717
- #--
718
- # @rbs return: untyped
1085
+ # @rbs return: Structs::RtaCacheinfo
1086
+ # @return [Structs::RtaCacheinfo]
1087
+ # @see AttributeSets::RouteAttrs::Cacheinfo
719
1088
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
720
- # Gets the value of `table` attribute in the message.
721
- #--
722
1089
  # @rbs return: ::Integer
1090
+ # @return [Integer]
1091
+ # @see AttributeSets::RouteAttrs::Table
723
1092
  def table; attributes[:"table"]&.value; end
724
- # Gets the value of `mark` attribute in the message.
725
- #--
726
1093
  # @rbs return: ::Integer
1094
+ # @return [Integer]
1095
+ # @see AttributeSets::RouteAttrs::Mark
727
1096
  def mark; attributes[:"mark"]&.value; end
728
- # Gets the value of `mfc-stats` attribute in the message.
729
- #--
730
- # @rbs return: untyped
1097
+ # @rbs return: ::String
1098
+ # @return [String]
1099
+ # @see AttributeSets::RouteAttrs::MfcStats
731
1100
  def mfc_stats; attributes[:"mfc_stats"]&.value; end
732
- # Gets the value of `via` attribute in the message.
733
- #--
734
- # @rbs return: untyped
1101
+ # @rbs return: ::String
1102
+ # @return [String]
1103
+ # @see AttributeSets::RouteAttrs::Via
735
1104
  def via; attributes[:"via"]&.value; end
736
- # Gets the value of `newdst` attribute in the message.
737
- #--
738
- # @rbs return: untyped
1105
+ # @rbs return: ::String
1106
+ # @return [String]
1107
+ # @see AttributeSets::RouteAttrs::Newdst
739
1108
  def newdst; attributes[:"newdst"]&.value; end
740
- # Gets the value of `pref` attribute in the message.
741
- #--
742
1109
  # @rbs return: ::Integer
1110
+ # @return [Integer]
1111
+ # @see AttributeSets::RouteAttrs::Pref
743
1112
  def pref; attributes[:"pref"]&.value; end
744
- # Gets the value of `encap-type` attribute in the message.
745
- #--
746
1113
  # @rbs return: ::Integer
1114
+ # @return [Integer]
1115
+ # @see AttributeSets::RouteAttrs::EncapType
747
1116
  def encap_type; attributes[:"encap_type"]&.value; end
748
- # Gets the value of `encap` attribute in the message.
749
- #--
750
- # @rbs return: untyped
1117
+ # @rbs return: ::String
1118
+ # @return [String]
1119
+ # @see AttributeSets::RouteAttrs::Encap
751
1120
  def encap; attributes[:"encap"]&.value; end
752
- # Gets the value of `expires` attribute in the message.
753
- #--
754
1121
  # @rbs return: ::Integer
1122
+ # @return [Integer]
1123
+ # @see AttributeSets::RouteAttrs::Expires
755
1124
  def expires; attributes[:"expires"]&.value; end
756
- # Gets the value of `pad` attribute in the message.
757
- #--
758
- # @rbs return: untyped
1125
+ # @rbs return: ::String
1126
+ # @return [String]
1127
+ # @see AttributeSets::RouteAttrs::Pad
759
1128
  def pad; attributes[:"pad"]&.value; end
760
- # Gets the value of `uid` attribute in the message.
761
- #--
762
1129
  # @rbs return: ::Integer
1130
+ # @return [Integer]
1131
+ # @see AttributeSets::RouteAttrs::Uid
763
1132
  def uid; attributes[:"uid"]&.value; end
764
- # Gets the value of `ttl-propagate` attribute in the message.
765
- #--
766
1133
  # @rbs return: ::Integer
1134
+ # @return [Integer]
1135
+ # @see AttributeSets::RouteAttrs::TtlPropagate
767
1136
  def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
768
- # Gets the value of `ip-proto` attribute in the message.
769
- #--
770
1137
  # @rbs return: ::Integer
1138
+ # @return [Integer]
1139
+ # @see AttributeSets::RouteAttrs::IpProto
771
1140
  def ip_proto; attributes[:"ip_proto"]&.value; end
772
- # Gets the value of `sport` attribute in the message.
773
- #--
774
1141
  # @rbs return: ::Integer
1142
+ # @return [Integer]
1143
+ # @see AttributeSets::RouteAttrs::Sport
775
1144
  def sport; attributes[:"sport"]&.value; end
776
- # Gets the value of `dport` attribute in the message.
777
- #--
778
1145
  # @rbs return: ::Integer
1146
+ # @return [Integer]
1147
+ # @see AttributeSets::RouteAttrs::Dport
779
1148
  def dport; attributes[:"dport"]&.value; end
780
- # Gets the value of `nh-id` attribute in the message.
781
- #--
782
1149
  # @rbs return: ::Integer
1150
+ # @return [Integer]
1151
+ # @see AttributeSets::RouteAttrs::NhId
783
1152
  def nh_id; attributes[:"nh_id"]&.value; end
784
- # Gets the value of `flowlabel` attribute in the message.
785
- #--
786
1153
  # @rbs return: ::Integer
1154
+ # @return [Integer]
1155
+ # @see AttributeSets::RouteAttrs::Flowlabel
787
1156
  def flowlabel; attributes[:"flowlabel"]&.value; end
788
1157
  end
789
1158
  # Create a new route
790
- class DoNewrouteRequest < ::Nl::Protocols::Raw::Message
1159
+ class DoNewrouteRequest < ::Nl::Raw::Message
791
1160
  TYPE = 24
792
1161
  FIXED_HEADER = Structs::Rtmsg
793
1162
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
794
1163
  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
1164
  # @rbs return: ::Integer
1165
+ # @return [Integer]
798
1166
  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
1167
  # @rbs return: ::Integer
1168
+ # @return [Integer]
802
1169
  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
1170
  # @rbs return: ::Integer
1171
+ # @return [Integer]
806
1172
  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
1173
  # @rbs return: ::Integer
1174
+ # @return [Integer]
810
1175
  def rtm_tos; fixed_header.rtm_tos; end
811
- # Gets the value of `rtm-table` field in the message's fixed header.
812
- #--
813
1176
  # @rbs return: ::Integer
1177
+ # @return [Integer]
814
1178
  def rtm_table; fixed_header.rtm_table; end
815
- # Gets the value of `rtm-protocol` field in the message's fixed header.
816
- #--
817
1179
  # @rbs return: ::Integer
1180
+ # @return [Integer]
818
1181
  def rtm_protocol; fixed_header.rtm_protocol; end
819
- # Gets the value of `rtm-scope` field in the message's fixed header.
820
- #--
821
1182
  # @rbs return: ::Integer
1183
+ # @return [Integer]
822
1184
  def rtm_scope; fixed_header.rtm_scope; end
823
- # Gets the value of `rtm-type` field in the message's fixed header.
824
- #--
825
1185
  # @rbs return: ::Integer
1186
+ # @return [Integer]
826
1187
  def rtm_type; fixed_header.rtm_type; end
827
- # Gets the value of `rtm-flags` field in the message's fixed header.
828
- #--
829
1188
  # @rbs return: ::Integer
1189
+ # @return [Integer]
830
1190
  def rtm_flags; fixed_header.rtm_flags; end
831
- # Gets the value of `dst` attribute in the message.
832
- #--
833
- # @rbs return: untyped
1191
+ # @rbs return: ::String
1192
+ # @return [String]
1193
+ # @see AttributeSets::RouteAttrs::Dst
834
1194
  def dst; attributes[:"dst"]&.value; end
835
- # Gets the value of `src` attribute in the message.
836
- #--
837
- # @rbs return: untyped
1195
+ # @rbs return: ::String
1196
+ # @return [String]
1197
+ # @see AttributeSets::RouteAttrs::Src
838
1198
  def src; attributes[:"src"]&.value; end
839
- # Gets the value of `iif` attribute in the message.
840
- #--
841
1199
  # @rbs return: ::Integer
1200
+ # @return [Integer]
1201
+ # @see AttributeSets::RouteAttrs::Iif
842
1202
  def iif; attributes[:"iif"]&.value; end
843
- # Gets the value of `oif` attribute in the message.
844
- #--
845
1203
  # @rbs return: ::Integer
1204
+ # @return [Integer]
1205
+ # @see AttributeSets::RouteAttrs::Oif
846
1206
  def oif; attributes[:"oif"]&.value; end
847
- # Gets the value of `gateway` attribute in the message.
848
- #--
849
- # @rbs return: untyped
1207
+ # @rbs return: ::String
1208
+ # @return [String]
1209
+ # @see AttributeSets::RouteAttrs::Gateway
850
1210
  def gateway; attributes[:"gateway"]&.value; end
851
- # Gets the value of `priority` attribute in the message.
852
- #--
853
1211
  # @rbs return: ::Integer
1212
+ # @return [Integer]
1213
+ # @see AttributeSets::RouteAttrs::Priority
854
1214
  def priority; attributes[:"priority"]&.value; end
855
- # Gets the value of `prefsrc` attribute in the message.
856
- #--
857
- # @rbs return: untyped
1215
+ # @rbs return: ::String
1216
+ # @return [String]
1217
+ # @see AttributeSets::RouteAttrs::Prefsrc
858
1218
  def prefsrc; attributes[:"prefsrc"]&.value; end
859
- # Gets the value of `metrics` attribute in the message.
860
- #--
861
1219
  # @rbs return: AttributeSets::Metrics
1220
+ # @return [AttributeSets::Metrics]
1221
+ # @see AttributeSets::RouteAttrs::Metrics
862
1222
  def metrics; attributes[:"metrics"]&.value; end
863
- # Gets the value of `multipath` attribute in the message.
864
- #--
865
- # @rbs return: untyped
1223
+ # @rbs return: ::String
1224
+ # @return [String]
1225
+ # @see AttributeSets::RouteAttrs::Multipath
866
1226
  def multipath; attributes[:"multipath"]&.value; end
867
- # Gets the value of `flow` attribute in the message.
868
- #--
869
1227
  # @rbs return: ::Integer
1228
+ # @return [Integer]
1229
+ # @see AttributeSets::RouteAttrs::Flow
870
1230
  def flow; attributes[:"flow"]&.value; end
871
- # Gets the value of `cacheinfo` attribute in the message.
872
- #--
873
- # @rbs return: untyped
1231
+ # @rbs return: Structs::RtaCacheinfo
1232
+ # @return [Structs::RtaCacheinfo]
1233
+ # @see AttributeSets::RouteAttrs::Cacheinfo
874
1234
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
875
- # Gets the value of `table` attribute in the message.
876
- #--
877
1235
  # @rbs return: ::Integer
1236
+ # @return [Integer]
1237
+ # @see AttributeSets::RouteAttrs::Table
878
1238
  def table; attributes[:"table"]&.value; end
879
- # Gets the value of `mark` attribute in the message.
880
- #--
881
1239
  # @rbs return: ::Integer
1240
+ # @return [Integer]
1241
+ # @see AttributeSets::RouteAttrs::Mark
882
1242
  def mark; attributes[:"mark"]&.value; end
883
- # Gets the value of `mfc-stats` attribute in the message.
884
- #--
885
- # @rbs return: untyped
1243
+ # @rbs return: ::String
1244
+ # @return [String]
1245
+ # @see AttributeSets::RouteAttrs::MfcStats
886
1246
  def mfc_stats; attributes[:"mfc_stats"]&.value; end
887
- # Gets the value of `via` attribute in the message.
888
- #--
889
- # @rbs return: untyped
1247
+ # @rbs return: ::String
1248
+ # @return [String]
1249
+ # @see AttributeSets::RouteAttrs::Via
890
1250
  def via; attributes[:"via"]&.value; end
891
- # Gets the value of `newdst` attribute in the message.
892
- #--
893
- # @rbs return: untyped
1251
+ # @rbs return: ::String
1252
+ # @return [String]
1253
+ # @see AttributeSets::RouteAttrs::Newdst
894
1254
  def newdst; attributes[:"newdst"]&.value; end
895
- # Gets the value of `pref` attribute in the message.
896
- #--
897
1255
  # @rbs return: ::Integer
1256
+ # @return [Integer]
1257
+ # @see AttributeSets::RouteAttrs::Pref
898
1258
  def pref; attributes[:"pref"]&.value; end
899
- # Gets the value of `encap-type` attribute in the message.
900
- #--
901
1259
  # @rbs return: ::Integer
1260
+ # @return [Integer]
1261
+ # @see AttributeSets::RouteAttrs::EncapType
902
1262
  def encap_type; attributes[:"encap_type"]&.value; end
903
- # Gets the value of `encap` attribute in the message.
904
- #--
905
- # @rbs return: untyped
1263
+ # @rbs return: ::String
1264
+ # @return [String]
1265
+ # @see AttributeSets::RouteAttrs::Encap
906
1266
  def encap; attributes[:"encap"]&.value; end
907
- # Gets the value of `expires` attribute in the message.
908
- #--
909
1267
  # @rbs return: ::Integer
1268
+ # @return [Integer]
1269
+ # @see AttributeSets::RouteAttrs::Expires
910
1270
  def expires; attributes[:"expires"]&.value; end
911
- # Gets the value of `pad` attribute in the message.
912
- #--
913
- # @rbs return: untyped
1271
+ # @rbs return: ::String
1272
+ # @return [String]
1273
+ # @see AttributeSets::RouteAttrs::Pad
914
1274
  def pad; attributes[:"pad"]&.value; end
915
- # Gets the value of `uid` attribute in the message.
916
- #--
917
1275
  # @rbs return: ::Integer
1276
+ # @return [Integer]
1277
+ # @see AttributeSets::RouteAttrs::Uid
918
1278
  def uid; attributes[:"uid"]&.value; end
919
- # Gets the value of `ttl-propagate` attribute in the message.
920
- #--
921
1279
  # @rbs return: ::Integer
1280
+ # @return [Integer]
1281
+ # @see AttributeSets::RouteAttrs::TtlPropagate
922
1282
  def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
923
- # Gets the value of `ip-proto` attribute in the message.
924
- #--
925
1283
  # @rbs return: ::Integer
1284
+ # @return [Integer]
1285
+ # @see AttributeSets::RouteAttrs::IpProto
926
1286
  def ip_proto; attributes[:"ip_proto"]&.value; end
927
- # Gets the value of `sport` attribute in the message.
928
- #--
929
1287
  # @rbs return: ::Integer
1288
+ # @return [Integer]
1289
+ # @see AttributeSets::RouteAttrs::Sport
930
1290
  def sport; attributes[:"sport"]&.value; end
931
- # Gets the value of `dport` attribute in the message.
932
- #--
933
1291
  # @rbs return: ::Integer
1292
+ # @return [Integer]
1293
+ # @see AttributeSets::RouteAttrs::Dport
934
1294
  def dport; attributes[:"dport"]&.value; end
935
- # Gets the value of `nh-id` attribute in the message.
936
- #--
937
1295
  # @rbs return: ::Integer
1296
+ # @return [Integer]
1297
+ # @see AttributeSets::RouteAttrs::NhId
938
1298
  def nh_id; attributes[:"nh_id"]&.value; end
939
- # Gets the value of `flowlabel` attribute in the message.
940
- #--
941
1299
  # @rbs return: ::Integer
1300
+ # @return [Integer]
1301
+ # @see AttributeSets::RouteAttrs::Flowlabel
942
1302
  def flowlabel; attributes[:"flowlabel"]&.value; end
943
1303
  end
944
1304
  # Delete an existing route
945
- class DoDelrouteRequest < ::Nl::Protocols::Raw::Message
1305
+ class DoDelrouteRequest < ::Nl::Raw::Message
946
1306
  TYPE = 25
947
1307
  FIXED_HEADER = Structs::Rtmsg
948
1308
  ATTRIBUTE_SET = AttributeSets::RouteAttrs
949
1309
  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
1310
  # @rbs return: ::Integer
1311
+ # @return [Integer]
953
1312
  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
1313
  # @rbs return: ::Integer
1314
+ # @return [Integer]
957
1315
  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
1316
  # @rbs return: ::Integer
1317
+ # @return [Integer]
961
1318
  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
1319
  # @rbs return: ::Integer
1320
+ # @return [Integer]
965
1321
  def rtm_tos; fixed_header.rtm_tos; end
966
- # Gets the value of `rtm-table` field in the message's fixed header.
967
- #--
968
1322
  # @rbs return: ::Integer
1323
+ # @return [Integer]
969
1324
  def rtm_table; fixed_header.rtm_table; end
970
- # Gets the value of `rtm-protocol` field in the message's fixed header.
971
- #--
972
1325
  # @rbs return: ::Integer
1326
+ # @return [Integer]
973
1327
  def rtm_protocol; fixed_header.rtm_protocol; end
974
- # Gets the value of `rtm-scope` field in the message's fixed header.
975
- #--
976
1328
  # @rbs return: ::Integer
1329
+ # @return [Integer]
977
1330
  def rtm_scope; fixed_header.rtm_scope; end
978
- # Gets the value of `rtm-type` field in the message's fixed header.
979
- #--
980
1331
  # @rbs return: ::Integer
1332
+ # @return [Integer]
981
1333
  def rtm_type; fixed_header.rtm_type; end
982
- # Gets the value of `rtm-flags` field in the message's fixed header.
983
- #--
984
1334
  # @rbs return: ::Integer
1335
+ # @return [Integer]
985
1336
  def rtm_flags; fixed_header.rtm_flags; end
986
- # Gets the value of `dst` attribute in the message.
987
- #--
988
- # @rbs return: untyped
1337
+ # @rbs return: ::String
1338
+ # @return [String]
1339
+ # @see AttributeSets::RouteAttrs::Dst
989
1340
  def dst; attributes[:"dst"]&.value; end
990
- # Gets the value of `src` attribute in the message.
991
- #--
992
- # @rbs return: untyped
1341
+ # @rbs return: ::String
1342
+ # @return [String]
1343
+ # @see AttributeSets::RouteAttrs::Src
993
1344
  def src; attributes[:"src"]&.value; end
994
- # Gets the value of `iif` attribute in the message.
995
- #--
996
1345
  # @rbs return: ::Integer
1346
+ # @return [Integer]
1347
+ # @see AttributeSets::RouteAttrs::Iif
997
1348
  def iif; attributes[:"iif"]&.value; end
998
- # Gets the value of `oif` attribute in the message.
999
- #--
1000
1349
  # @rbs return: ::Integer
1350
+ # @return [Integer]
1351
+ # @see AttributeSets::RouteAttrs::Oif
1001
1352
  def oif; attributes[:"oif"]&.value; end
1002
- # Gets the value of `gateway` attribute in the message.
1003
- #--
1004
- # @rbs return: untyped
1353
+ # @rbs return: ::String
1354
+ # @return [String]
1355
+ # @see AttributeSets::RouteAttrs::Gateway
1005
1356
  def gateway; attributes[:"gateway"]&.value; end
1006
- # Gets the value of `priority` attribute in the message.
1007
- #--
1008
1357
  # @rbs return: ::Integer
1358
+ # @return [Integer]
1359
+ # @see AttributeSets::RouteAttrs::Priority
1009
1360
  def priority; attributes[:"priority"]&.value; end
1010
- # Gets the value of `prefsrc` attribute in the message.
1011
- #--
1012
- # @rbs return: untyped
1361
+ # @rbs return: ::String
1362
+ # @return [String]
1363
+ # @see AttributeSets::RouteAttrs::Prefsrc
1013
1364
  def prefsrc; attributes[:"prefsrc"]&.value; end
1014
- # Gets the value of `metrics` attribute in the message.
1015
- #--
1016
1365
  # @rbs return: AttributeSets::Metrics
1366
+ # @return [AttributeSets::Metrics]
1367
+ # @see AttributeSets::RouteAttrs::Metrics
1017
1368
  def metrics; attributes[:"metrics"]&.value; end
1018
- # Gets the value of `multipath` attribute in the message.
1019
- #--
1020
- # @rbs return: untyped
1369
+ # @rbs return: ::String
1370
+ # @return [String]
1371
+ # @see AttributeSets::RouteAttrs::Multipath
1021
1372
  def multipath; attributes[:"multipath"]&.value; end
1022
- # Gets the value of `flow` attribute in the message.
1023
- #--
1024
1373
  # @rbs return: ::Integer
1374
+ # @return [Integer]
1375
+ # @see AttributeSets::RouteAttrs::Flow
1025
1376
  def flow; attributes[:"flow"]&.value; end
1026
- # Gets the value of `cacheinfo` attribute in the message.
1027
- #--
1028
- # @rbs return: untyped
1377
+ # @rbs return: Structs::RtaCacheinfo
1378
+ # @return [Structs::RtaCacheinfo]
1379
+ # @see AttributeSets::RouteAttrs::Cacheinfo
1029
1380
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
1030
- # Gets the value of `table` attribute in the message.
1031
- #--
1032
1381
  # @rbs return: ::Integer
1382
+ # @return [Integer]
1383
+ # @see AttributeSets::RouteAttrs::Table
1033
1384
  def table; attributes[:"table"]&.value; end
1034
- # Gets the value of `mark` attribute in the message.
1035
- #--
1036
1385
  # @rbs return: ::Integer
1386
+ # @return [Integer]
1387
+ # @see AttributeSets::RouteAttrs::Mark
1037
1388
  def mark; attributes[:"mark"]&.value; end
1038
- # Gets the value of `mfc-stats` attribute in the message.
1039
- #--
1040
- # @rbs return: untyped
1389
+ # @rbs return: ::String
1390
+ # @return [String]
1391
+ # @see AttributeSets::RouteAttrs::MfcStats
1041
1392
  def mfc_stats; attributes[:"mfc_stats"]&.value; end
1042
- # Gets the value of `via` attribute in the message.
1043
- #--
1044
- # @rbs return: untyped
1393
+ # @rbs return: ::String
1394
+ # @return [String]
1395
+ # @see AttributeSets::RouteAttrs::Via
1045
1396
  def via; attributes[:"via"]&.value; end
1046
- # Gets the value of `newdst` attribute in the message.
1047
- #--
1048
- # @rbs return: untyped
1397
+ # @rbs return: ::String
1398
+ # @return [String]
1399
+ # @see AttributeSets::RouteAttrs::Newdst
1049
1400
  def newdst; attributes[:"newdst"]&.value; end
1050
- # Gets the value of `pref` attribute in the message.
1051
- #--
1052
1401
  # @rbs return: ::Integer
1402
+ # @return [Integer]
1403
+ # @see AttributeSets::RouteAttrs::Pref
1053
1404
  def pref; attributes[:"pref"]&.value; end
1054
- # Gets the value of `encap-type` attribute in the message.
1055
- #--
1056
1405
  # @rbs return: ::Integer
1406
+ # @return [Integer]
1407
+ # @see AttributeSets::RouteAttrs::EncapType
1057
1408
  def encap_type; attributes[:"encap_type"]&.value; end
1058
- # Gets the value of `encap` attribute in the message.
1059
- #--
1060
- # @rbs return: untyped
1409
+ # @rbs return: ::String
1410
+ # @return [String]
1411
+ # @see AttributeSets::RouteAttrs::Encap
1061
1412
  def encap; attributes[:"encap"]&.value; end
1062
- # Gets the value of `expires` attribute in the message.
1063
- #--
1064
1413
  # @rbs return: ::Integer
1414
+ # @return [Integer]
1415
+ # @see AttributeSets::RouteAttrs::Expires
1065
1416
  def expires; attributes[:"expires"]&.value; end
1066
- # Gets the value of `pad` attribute in the message.
1067
- #--
1068
- # @rbs return: untyped
1417
+ # @rbs return: ::String
1418
+ # @return [String]
1419
+ # @see AttributeSets::RouteAttrs::Pad
1069
1420
  def pad; attributes[:"pad"]&.value; end
1070
- # Gets the value of `uid` attribute in the message.
1071
- #--
1072
1421
  # @rbs return: ::Integer
1422
+ # @return [Integer]
1423
+ # @see AttributeSets::RouteAttrs::Uid
1073
1424
  def uid; attributes[:"uid"]&.value; end
1074
- # Gets the value of `ttl-propagate` attribute in the message.
1075
- #--
1076
1425
  # @rbs return: ::Integer
1426
+ # @return [Integer]
1427
+ # @see AttributeSets::RouteAttrs::TtlPropagate
1077
1428
  def ttl_propagate; attributes[:"ttl_propagate"]&.value; end
1078
- # Gets the value of `ip-proto` attribute in the message.
1079
- #--
1080
1429
  # @rbs return: ::Integer
1430
+ # @return [Integer]
1431
+ # @see AttributeSets::RouteAttrs::IpProto
1081
1432
  def ip_proto; attributes[:"ip_proto"]&.value; end
1082
- # Gets the value of `sport` attribute in the message.
1083
- #--
1084
1433
  # @rbs return: ::Integer
1434
+ # @return [Integer]
1435
+ # @see AttributeSets::RouteAttrs::Sport
1085
1436
  def sport; attributes[:"sport"]&.value; end
1086
- # Gets the value of `dport` attribute in the message.
1087
- #--
1088
1437
  # @rbs return: ::Integer
1438
+ # @return [Integer]
1439
+ # @see AttributeSets::RouteAttrs::Dport
1089
1440
  def dport; attributes[:"dport"]&.value; end
1090
- # Gets the value of `nh-id` attribute in the message.
1091
- #--
1092
1441
  # @rbs return: ::Integer
1442
+ # @return [Integer]
1443
+ # @see AttributeSets::RouteAttrs::NhId
1093
1444
  def nh_id; attributes[:"nh_id"]&.value; end
1094
- # Gets the value of `flowlabel` attribute in the message.
1095
- #--
1096
1445
  # @rbs return: ::Integer
1446
+ # @return [Integer]
1447
+ # @see AttributeSets::RouteAttrs::Flowlabel
1097
1448
  def flowlabel; attributes[:"flowlabel"]&.value; end
1098
1449
  end
1099
1450
  end
1451
+ module Notifications
1452
+ end
1453
+ # @private
1454
+ NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
1100
1455
  # 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
1456
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?mark: ::Integer, ?uid: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?flowlabel: ::Integer) -> Messages::DoGetrouteReply
1457
+ # @param [Hash] args
1458
+ # @option args [Integer] rtm_family
1459
+ # @option args [Integer] rtm_dst_len
1460
+ # @option args [Integer] rtm_src_len
1461
+ # @option args [Integer] rtm_tos
1462
+ # @option args [Integer] rtm_table
1463
+ # @option args [Integer] rtm_protocol
1464
+ # @option args [Integer] rtm_scope
1465
+ # @option args [Integer] rtm_type
1466
+ # @option args [Integer] rtm_flags
1467
+ # @option args [String] dst
1468
+ # @option args [String] src
1469
+ # @option args [Integer] iif
1470
+ # @option args [Integer] oif
1471
+ # @option args [Integer] mark
1472
+ # @option args [Integer] uid
1473
+ # @option args [Integer] ip_proto
1474
+ # @option args [Integer] sport
1475
+ # @option args [Integer] dport
1476
+ # @option args [Integer] flowlabel
1477
+ # @return [Messages::DoGetrouteReply]
1478
+ # @see Messages::DoGetrouteRequest
1103
1479
  def do_getroute(**args)
1104
1480
  exchange_message(:"do", Messages::DoGetrouteRequest, Messages::DoGetrouteReply, args)
1105
1481
  end
1106
1482
  # 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]
1483
+ # @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) -> Array[Messages::DumpGetrouteReply]
1109
1484
  # | (?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
1485
+ # @overload dump_getroute(**args)
1486
+ # Returns an array when no block is given.
1487
+ # @param [Hash] args
1488
+ # @option args [Integer] rtm_family
1489
+ # @option args [Integer] rtm_dst_len
1490
+ # @option args [Integer] rtm_src_len
1491
+ # @option args [Integer] rtm_tos
1492
+ # @option args [Integer] rtm_table
1493
+ # @option args [Integer] rtm_protocol
1494
+ # @option args [Integer] rtm_scope
1495
+ # @option args [Integer] rtm_type
1496
+ # @option args [Integer] rtm_flags
1497
+ # @return [Array<Messages::DumpGetrouteReply>]
1498
+ # @overload dump_getroute(**args, &block)
1499
+ # Yields each reply when a block is given.
1500
+ # @param [Hash] args
1501
+ # @option args [Integer] rtm_family
1502
+ # @option args [Integer] rtm_dst_len
1503
+ # @option args [Integer] rtm_src_len
1504
+ # @option args [Integer] rtm_tos
1505
+ # @option args [Integer] rtm_table
1506
+ # @option args [Integer] rtm_protocol
1507
+ # @option args [Integer] rtm_scope
1508
+ # @option args [Integer] rtm_type
1509
+ # @option args [Integer] rtm_flags
1510
+ # @yieldparam [Messages::DumpGetrouteReply] reply
1511
+ # @return [void]
1512
+ # @see Messages::DumpGetrouteRequest
1110
1513
  def dump_getroute(**args, &block)
1111
1514
  exchange_message(:"dump", Messages::DumpGetrouteRequest, Messages::DumpGetrouteReply, args, &block)
1112
1515
  end
1113
1516
  # 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
1517
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?gateway: ::String, ?priority: ::Integer, ?prefsrc: ::String, ?metrics: (AttributeSets::Metrics | ::Hash[::Symbol, untyped]), ?multipath: ::String, ?flow: ::Integer, ?cacheinfo: (Structs::RtaCacheinfo | ::Hash[::Symbol, untyped]), ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: ::String, ?via: ::String, ?newdst: ::String, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: ::String, ?expires: ::Integer, ?pad: ::String, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> void
1518
+ # @param [Hash] args
1519
+ # @option args [Integer] rtm_family
1520
+ # @option args [Integer] rtm_dst_len
1521
+ # @option args [Integer] rtm_src_len
1522
+ # @option args [Integer] rtm_tos
1523
+ # @option args [Integer] rtm_table
1524
+ # @option args [Integer] rtm_protocol
1525
+ # @option args [Integer] rtm_scope
1526
+ # @option args [Integer] rtm_type
1527
+ # @option args [Integer] rtm_flags
1528
+ # @option args [String] dst
1529
+ # @option args [String] src
1530
+ # @option args [Integer] iif
1531
+ # @option args [Integer] oif
1532
+ # @option args [String] gateway
1533
+ # @option args [Integer] priority
1534
+ # @option args [String] prefsrc
1535
+ # @option args [AttributeSets::Metrics, Hash<Symbol, Object>] metrics
1536
+ # @option args [String] multipath
1537
+ # @option args [Integer] flow
1538
+ # @option args [Structs::RtaCacheinfo, Hash<Symbol, Object>] cacheinfo
1539
+ # @option args [Integer] table
1540
+ # @option args [Integer] mark
1541
+ # @option args [String] mfc_stats
1542
+ # @option args [String] via
1543
+ # @option args [String] newdst
1544
+ # @option args [Integer] pref
1545
+ # @option args [Integer] encap_type
1546
+ # @option args [String] encap
1547
+ # @option args [Integer] expires
1548
+ # @option args [String] pad
1549
+ # @option args [Integer] uid
1550
+ # @option args [Integer] ttl_propagate
1551
+ # @option args [Integer] ip_proto
1552
+ # @option args [Integer] sport
1553
+ # @option args [Integer] dport
1554
+ # @option args [Integer] nh_id
1555
+ # @option args [Integer] flowlabel
1556
+ # @return [void]
1557
+ # @see Messages::DoNewrouteRequest
1116
1558
  def do_newroute(**args)
1117
1559
  exchange_message(:"do", Messages::DoNewrouteRequest, nil, args)
1118
1560
  end
1119
1561
  # 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
1562
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?gateway: ::String, ?priority: ::Integer, ?prefsrc: ::String, ?metrics: (AttributeSets::Metrics | ::Hash[::Symbol, untyped]), ?multipath: ::String, ?flow: ::Integer, ?cacheinfo: (Structs::RtaCacheinfo | ::Hash[::Symbol, untyped]), ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: ::String, ?via: ::String, ?newdst: ::String, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: ::String, ?expires: ::Integer, ?pad: ::String, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> void
1563
+ # @param [Hash] args
1564
+ # @option args [Integer] rtm_family
1565
+ # @option args [Integer] rtm_dst_len
1566
+ # @option args [Integer] rtm_src_len
1567
+ # @option args [Integer] rtm_tos
1568
+ # @option args [Integer] rtm_table
1569
+ # @option args [Integer] rtm_protocol
1570
+ # @option args [Integer] rtm_scope
1571
+ # @option args [Integer] rtm_type
1572
+ # @option args [Integer] rtm_flags
1573
+ # @option args [String] dst
1574
+ # @option args [String] src
1575
+ # @option args [Integer] iif
1576
+ # @option args [Integer] oif
1577
+ # @option args [String] gateway
1578
+ # @option args [Integer] priority
1579
+ # @option args [String] prefsrc
1580
+ # @option args [AttributeSets::Metrics, Hash<Symbol, Object>] metrics
1581
+ # @option args [String] multipath
1582
+ # @option args [Integer] flow
1583
+ # @option args [Structs::RtaCacheinfo, Hash<Symbol, Object>] cacheinfo
1584
+ # @option args [Integer] table
1585
+ # @option args [Integer] mark
1586
+ # @option args [String] mfc_stats
1587
+ # @option args [String] via
1588
+ # @option args [String] newdst
1589
+ # @option args [Integer] pref
1590
+ # @option args [Integer] encap_type
1591
+ # @option args [String] encap
1592
+ # @option args [Integer] expires
1593
+ # @option args [String] pad
1594
+ # @option args [Integer] uid
1595
+ # @option args [Integer] ttl_propagate
1596
+ # @option args [Integer] ip_proto
1597
+ # @option args [Integer] sport
1598
+ # @option args [Integer] dport
1599
+ # @option args [Integer] nh_id
1600
+ # @option args [Integer] flowlabel
1601
+ # @return [void]
1602
+ # @see Messages::DoDelrouteRequest
1122
1603
  def do_delroute(**args)
1123
1604
  exchange_message(:"do", Messages::DoDelrouteRequest, nil, args)
1124
1605
  end
1606
+ class AsyncOperations
1607
+ # @private
1608
+ def initialize(&exchange)
1609
+ @exchange = exchange
1610
+ end
1611
+ # Dump route information.
1612
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?mark: ::Integer, ?uid: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?flowlabel: ::Integer) -> ::Nl::Async::Future[Messages::DoGetrouteReply]
1613
+ # @param [Hash] args
1614
+ # @option args [Integer] rtm_family
1615
+ # @option args [Integer] rtm_dst_len
1616
+ # @option args [Integer] rtm_src_len
1617
+ # @option args [Integer] rtm_tos
1618
+ # @option args [Integer] rtm_table
1619
+ # @option args [Integer] rtm_protocol
1620
+ # @option args [Integer] rtm_scope
1621
+ # @option args [Integer] rtm_type
1622
+ # @option args [Integer] rtm_flags
1623
+ # @option args [String] dst
1624
+ # @option args [String] src
1625
+ # @option args [Integer] iif
1626
+ # @option args [Integer] oif
1627
+ # @option args [Integer] mark
1628
+ # @option args [Integer] uid
1629
+ # @option args [Integer] ip_proto
1630
+ # @option args [Integer] sport
1631
+ # @option args [Integer] dport
1632
+ # @option args [Integer] flowlabel
1633
+ # @return [Nl::Async::Future<Messages::DoGetrouteReply>]
1634
+ # @see Messages::DoGetrouteRequest
1635
+ def do_getroute(**args)
1636
+ @exchange.call(:"do", Messages::DoGetrouteRequest, Messages::DoGetrouteReply, args)
1637
+ end
1638
+ # Dump route information.
1639
+ # @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) -> ::Nl::Async::Stream[Messages::DumpGetrouteReply]
1640
+ # @param [Hash] args
1641
+ # @option args [Integer] rtm_family
1642
+ # @option args [Integer] rtm_dst_len
1643
+ # @option args [Integer] rtm_src_len
1644
+ # @option args [Integer] rtm_tos
1645
+ # @option args [Integer] rtm_table
1646
+ # @option args [Integer] rtm_protocol
1647
+ # @option args [Integer] rtm_scope
1648
+ # @option args [Integer] rtm_type
1649
+ # @option args [Integer] rtm_flags
1650
+ # @return [Nl::Async::Stream<Messages::DumpGetrouteReply>]
1651
+ # @see Messages::DumpGetrouteRequest
1652
+ def dump_getroute(**args)
1653
+ @exchange.call(:"dump", Messages::DumpGetrouteRequest, Messages::DumpGetrouteReply, args)
1654
+ end
1655
+ # Create a new route
1656
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?gateway: ::String, ?priority: ::Integer, ?prefsrc: ::String, ?metrics: (AttributeSets::Metrics | ::Hash[::Symbol, untyped]), ?multipath: ::String, ?flow: ::Integer, ?cacheinfo: (Structs::RtaCacheinfo | ::Hash[::Symbol, untyped]), ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: ::String, ?via: ::String, ?newdst: ::String, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: ::String, ?expires: ::Integer, ?pad: ::String, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> ::Nl::Async::Future[void]
1657
+ # @param [Hash] args
1658
+ # @option args [Integer] rtm_family
1659
+ # @option args [Integer] rtm_dst_len
1660
+ # @option args [Integer] rtm_src_len
1661
+ # @option args [Integer] rtm_tos
1662
+ # @option args [Integer] rtm_table
1663
+ # @option args [Integer] rtm_protocol
1664
+ # @option args [Integer] rtm_scope
1665
+ # @option args [Integer] rtm_type
1666
+ # @option args [Integer] rtm_flags
1667
+ # @option args [String] dst
1668
+ # @option args [String] src
1669
+ # @option args [Integer] iif
1670
+ # @option args [Integer] oif
1671
+ # @option args [String] gateway
1672
+ # @option args [Integer] priority
1673
+ # @option args [String] prefsrc
1674
+ # @option args [AttributeSets::Metrics, Hash<Symbol, Object>] metrics
1675
+ # @option args [String] multipath
1676
+ # @option args [Integer] flow
1677
+ # @option args [Structs::RtaCacheinfo, Hash<Symbol, Object>] cacheinfo
1678
+ # @option args [Integer] table
1679
+ # @option args [Integer] mark
1680
+ # @option args [String] mfc_stats
1681
+ # @option args [String] via
1682
+ # @option args [String] newdst
1683
+ # @option args [Integer] pref
1684
+ # @option args [Integer] encap_type
1685
+ # @option args [String] encap
1686
+ # @option args [Integer] expires
1687
+ # @option args [String] pad
1688
+ # @option args [Integer] uid
1689
+ # @option args [Integer] ttl_propagate
1690
+ # @option args [Integer] ip_proto
1691
+ # @option args [Integer] sport
1692
+ # @option args [Integer] dport
1693
+ # @option args [Integer] nh_id
1694
+ # @option args [Integer] flowlabel
1695
+ # @return [Nl::Async::Future<void>]
1696
+ # @see Messages::DoNewrouteRequest
1697
+ def do_newroute(**args)
1698
+ @exchange.call(:"do", Messages::DoNewrouteRequest, nil, args)
1699
+ end
1700
+ # Delete an existing route
1701
+ # @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: ::String, ?src: ::String, ?iif: ::Integer, ?oif: ::Integer, ?gateway: ::String, ?priority: ::Integer, ?prefsrc: ::String, ?metrics: (AttributeSets::Metrics | ::Hash[::Symbol, untyped]), ?multipath: ::String, ?flow: ::Integer, ?cacheinfo: (Structs::RtaCacheinfo | ::Hash[::Symbol, untyped]), ?table: ::Integer, ?mark: ::Integer, ?mfc_stats: ::String, ?via: ::String, ?newdst: ::String, ?pref: ::Integer, ?encap_type: ::Integer, ?encap: ::String, ?expires: ::Integer, ?pad: ::String, ?uid: ::Integer, ?ttl_propagate: ::Integer, ?ip_proto: ::Integer, ?sport: ::Integer, ?dport: ::Integer, ?nh_id: ::Integer, ?flowlabel: ::Integer) -> ::Nl::Async::Future[void]
1702
+ # @param [Hash] args
1703
+ # @option args [Integer] rtm_family
1704
+ # @option args [Integer] rtm_dst_len
1705
+ # @option args [Integer] rtm_src_len
1706
+ # @option args [Integer] rtm_tos
1707
+ # @option args [Integer] rtm_table
1708
+ # @option args [Integer] rtm_protocol
1709
+ # @option args [Integer] rtm_scope
1710
+ # @option args [Integer] rtm_type
1711
+ # @option args [Integer] rtm_flags
1712
+ # @option args [String] dst
1713
+ # @option args [String] src
1714
+ # @option args [Integer] iif
1715
+ # @option args [Integer] oif
1716
+ # @option args [String] gateway
1717
+ # @option args [Integer] priority
1718
+ # @option args [String] prefsrc
1719
+ # @option args [AttributeSets::Metrics, Hash<Symbol, Object>] metrics
1720
+ # @option args [String] multipath
1721
+ # @option args [Integer] flow
1722
+ # @option args [Structs::RtaCacheinfo, Hash<Symbol, Object>] cacheinfo
1723
+ # @option args [Integer] table
1724
+ # @option args [Integer] mark
1725
+ # @option args [String] mfc_stats
1726
+ # @option args [String] via
1727
+ # @option args [String] newdst
1728
+ # @option args [Integer] pref
1729
+ # @option args [Integer] encap_type
1730
+ # @option args [String] encap
1731
+ # @option args [Integer] expires
1732
+ # @option args [String] pad
1733
+ # @option args [Integer] uid
1734
+ # @option args [Integer] ttl_propagate
1735
+ # @option args [Integer] ip_proto
1736
+ # @option args [Integer] sport
1737
+ # @option args [Integer] dport
1738
+ # @option args [Integer] nh_id
1739
+ # @option args [Integer] flowlabel
1740
+ # @return [Nl::Async::Future<void>]
1741
+ # @see Messages::DoDelrouteRequest
1742
+ def do_delroute(**args)
1743
+ @exchange.call(:"do", Messages::DoDelrouteRequest, nil, args)
1744
+ end
1745
+ end
1746
+ # Returns the asynchronous operation facade for this family.
1747
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
1748
+ # @param [::Integer, nil] stream_capacity
1749
+ # @return [AsyncOperations]
1750
+ def async(stream_capacity: nil)
1751
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
1752
+ build_async_facade(AsyncOperations, stream_capacity:)
1753
+ end
1125
1754
  end
1126
1755
  end; end