nl-linux 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,895 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #--
3
+ # frozen_string_literal: true
4
+ # rbs_inline: enabled
5
+ # This code is generated by Ynl::Generator. DO NOT EDIT.
6
+ require 'nl'
7
+ # IP neighbour management over rtnetlink.
8
+ class Nl::Linux::RtNeigh < ::Nl::Family
9
+ NAME = "rt-neigh"
10
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-neigh", 0))
11
+ module Structs
12
+ Ndmsg = Struct.new(
13
+ :"ndm_family", #: ::Integer
14
+ :"ndm_pad", #: nil
15
+ :"ndm_ifindex", #: ::Integer
16
+ :"ndm_state", #: ::Integer
17
+ :"ndm_flags", #: ::Integer
18
+ :"ndm_type", #: ::Integer
19
+ )
20
+ class Ndmsg
21
+ # :nodoc:
22
+ MEMBERS = Ractor.make_shareable({ndm_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ndm_pad: ::Nl::Protocols::Raw::DataTypes::Pad.new(3), ndm_ifindex: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), ndm_state: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), ndm_flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ndm_type: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
23
+ # Decodes the struct.
24
+ #--
25
+ # @rbs decoder: ::Nl::Decoder
26
+ # @rbs return: instance
27
+ def self.decode(decoder)
28
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
29
+ end
30
+ # Encodes the struct.
31
+ #--
32
+ # @rbs encoder: ::Nl::Encoder
33
+ # @rbs return: void
34
+ def encode(encoder)
35
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
36
+ end
37
+ end
38
+ Ndtmsg = Struct.new(
39
+ :"family", #: ::Integer
40
+ :"pad", #: nil
41
+ )
42
+ class Ndtmsg
43
+ # :nodoc:
44
+ MEMBERS = Ractor.make_shareable({family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), pad: ::Nl::Protocols::Raw::DataTypes::Pad.new(3)}) #: Hash[::Symbol, ::Nl::_DataType]
45
+ # Decodes the struct.
46
+ #--
47
+ # @rbs decoder: ::Nl::Decoder
48
+ # @rbs return: instance
49
+ def self.decode(decoder)
50
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
51
+ end
52
+ # Encodes the struct.
53
+ #--
54
+ # @rbs encoder: ::Nl::Encoder
55
+ # @rbs return: void
56
+ def encode(encoder)
57
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
58
+ end
59
+ end
60
+ NdaCacheinfo = Struct.new(
61
+ :"confirmed", #: ::Integer
62
+ :"used", #: ::Integer
63
+ :"updated", #: ::Integer
64
+ :"refcnt", #: ::Integer
65
+ )
66
+ class NdaCacheinfo
67
+ # :nodoc:
68
+ MEMBERS = Ractor.make_shareable({confirmed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), used: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), updated: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), refcnt: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
69
+ # Decodes the struct.
70
+ #--
71
+ # @rbs decoder: ::Nl::Decoder
72
+ # @rbs return: instance
73
+ def self.decode(decoder)
74
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
75
+ end
76
+ # Encodes the struct.
77
+ #--
78
+ # @rbs encoder: ::Nl::Encoder
79
+ # @rbs return: void
80
+ def encode(encoder)
81
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
82
+ end
83
+ end
84
+ NdtConfig = Struct.new(
85
+ :"key_len", #: ::Integer
86
+ :"entry_size", #: ::Integer
87
+ :"entries", #: ::Integer
88
+ :"last_flush", #: ::Integer
89
+ :"last_rand", #: ::Integer
90
+ :"hash_rnd", #: ::Integer
91
+ :"hash_mask", #: ::Integer
92
+ :"hash_chain_gc", #: ::Integer
93
+ :"proxy_qlen", #: ::Integer
94
+ )
95
+ class NdtConfig
96
+ # :nodoc:
97
+ MEMBERS = Ractor.make_shareable({key_len: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), entry_size: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), entries: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), last_flush: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), last_rand: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_rnd: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_mask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_chain_gc: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), proxy_qlen: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
98
+ # Decodes the struct.
99
+ #--
100
+ # @rbs decoder: ::Nl::Decoder
101
+ # @rbs return: instance
102
+ def self.decode(decoder)
103
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
104
+ end
105
+ # Encodes the struct.
106
+ #--
107
+ # @rbs encoder: ::Nl::Encoder
108
+ # @rbs return: void
109
+ def encode(encoder)
110
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
111
+ end
112
+ end
113
+ NdtStats = Struct.new(
114
+ :"allocs", #: ::Integer
115
+ :"destroys", #: ::Integer
116
+ :"hash_grows", #: ::Integer
117
+ :"res_failed", #: ::Integer
118
+ :"lookups", #: ::Integer
119
+ :"hits", #: ::Integer
120
+ :"rcv_probes_mcast", #: ::Integer
121
+ :"rcv_probes_ucast", #: ::Integer
122
+ :"periodic_gc_runs", #: ::Integer
123
+ :"forced_gc_runs", #: ::Integer
124
+ :"table_fulls", #: ::Integer
125
+ )
126
+ class NdtStats
127
+ # :nodoc:
128
+ MEMBERS = Ractor.make_shareable({allocs: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), destroys: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), hash_grows: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), res_failed: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), lookups: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), hits: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rcv_probes_mcast: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rcv_probes_ucast: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), periodic_gc_runs: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), forced_gc_runs: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), table_fulls: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
129
+ # Decodes the struct.
130
+ #--
131
+ # @rbs decoder: ::Nl::Decoder
132
+ # @rbs return: instance
133
+ def self.decode(decoder)
134
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
135
+ end
136
+ # Encodes the struct.
137
+ #--
138
+ # @rbs encoder: ::Nl::Encoder
139
+ # @rbs return: void
140
+ def encode(encoder)
141
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
142
+ end
143
+ end
144
+ end
145
+ module AttributeSets
146
+ class NeighbourAttrs < ::Nl::Protocols::Raw::AttributeSet
147
+ # Abstract class
148
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
149
+ end
150
+ class Unspec < Attribute
151
+ TYPE = 0
152
+ NAME = :"unspec"
153
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
154
+ end
155
+ class Dst < Attribute
156
+ TYPE = 1
157
+ NAME = :"dst"
158
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
159
+ end
160
+ class Lladdr < Attribute
161
+ TYPE = 2
162
+ NAME = :"lladdr"
163
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
164
+ end
165
+ class Cacheinfo < Attribute
166
+ TYPE = 3
167
+ NAME = :"cacheinfo"
168
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
169
+ end
170
+ class Probes < Attribute
171
+ TYPE = 4
172
+ NAME = :"probes"
173
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
174
+ end
175
+ class Vlan < Attribute
176
+ TYPE = 5
177
+ NAME = :"vlan"
178
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
179
+ end
180
+ class Port < Attribute
181
+ TYPE = 6
182
+ NAME = :"port"
183
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
184
+ end
185
+ class Vni < Attribute
186
+ TYPE = 7
187
+ NAME = :"vni"
188
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
189
+ end
190
+ class Ifindex < Attribute
191
+ TYPE = 8
192
+ NAME = :"ifindex"
193
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
194
+ end
195
+ class Master < Attribute
196
+ TYPE = 9
197
+ NAME = :"master"
198
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
199
+ end
200
+ class LinkNetnsid < Attribute
201
+ TYPE = 10
202
+ NAME = :"link_netnsid"
203
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
204
+ end
205
+ class SrcVni < Attribute
206
+ TYPE = 11
207
+ NAME = :"src_vni"
208
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
209
+ end
210
+ class Protocol < Attribute
211
+ TYPE = 12
212
+ NAME = :"protocol"
213
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
214
+ end
215
+ class NhId < Attribute
216
+ TYPE = 13
217
+ NAME = :"nh_id"
218
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
219
+ end
220
+ class FdbExtAttrs < Attribute
221
+ TYPE = 14
222
+ NAME = :"fdb_ext_attrs"
223
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
224
+ end
225
+ class FlagsExt < Attribute
226
+ TYPE = 15
227
+ NAME = :"flags_ext"
228
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
229
+ end
230
+ class NdmStateMask < Attribute
231
+ TYPE = 16
232
+ NAME = :"ndm_state_mask"
233
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
234
+ end
235
+ class NdmFlagsMask < Attribute
236
+ TYPE = 17
237
+ NAME = :"ndm_flags_mask"
238
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
239
+ end
240
+ # :nodoc:
241
+ BY_NAME = Ractor.make_shareable({:"unspec" => Unspec, :"dst" => Dst, :"lladdr" => Lladdr, :"cacheinfo" => Cacheinfo, :"probes" => Probes, :"vlan" => Vlan, :"port" => Port, :"vni" => Vni, :"ifindex" => Ifindex, :"master" => Master, :"link_netnsid" => LinkNetnsid, :"src_vni" => SrcVni, :"protocol" => Protocol, :"nh_id" => NhId, :"fdb_ext_attrs" => FdbExtAttrs, :"flags_ext" => FlagsExt, :"ndm_state_mask" => NdmStateMask, :"ndm_flags_mask" => NdmFlagsMask}) #: Hash[::Symbol, Attribute]
242
+ # :nodoc:
243
+ BY_TYPE = Ractor.make_shareable({0 => Unspec, 1 => Dst, 2 => Lladdr, 3 => Cacheinfo, 4 => Probes, 5 => Vlan, 6 => Port, 7 => Vni, 8 => Ifindex, 9 => Master, 10 => LinkNetnsid, 11 => SrcVni, 12 => Protocol, 13 => NhId, 14 => FdbExtAttrs, 15 => FlagsExt, 16 => NdmStateMask, 17 => NdmFlagsMask}) #: Hash[::Integer, Attribute]
244
+ class << self
245
+ # Looks up Attribute class by name.
246
+ #--
247
+ # @rbs name: Symbol
248
+ # @rbs return: Attribute
249
+ def by_name(name); BY_NAME.fetch(name); end
250
+ # Looks up Attribute class by type value.
251
+ #--
252
+ # @rbs type: Integer
253
+ # @rbs return: Attribute
254
+ def by_type(type); BY_TYPE.fetch(type); end
255
+ end
256
+ end
257
+ class NdtAttrs < ::Nl::Protocols::Raw::AttributeSet
258
+ # Abstract class
259
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
260
+ end
261
+ class Name < Attribute
262
+ TYPE = 1
263
+ NAME = :"name"
264
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
265
+ end
266
+ class Thresh1 < Attribute
267
+ TYPE = 2
268
+ NAME = :"thresh1"
269
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
270
+ end
271
+ class Thresh2 < Attribute
272
+ TYPE = 3
273
+ NAME = :"thresh2"
274
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
275
+ end
276
+ class Thresh3 < Attribute
277
+ TYPE = 4
278
+ NAME = :"thresh3"
279
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
280
+ end
281
+ class Config < Attribute
282
+ TYPE = 5
283
+ NAME = :"config"
284
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
285
+ end
286
+ class Parms < Attribute
287
+ TYPE = 6
288
+ NAME = :"parms"
289
+ end
290
+ class Stats < Attribute
291
+ TYPE = 7
292
+ NAME = :"stats"
293
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
294
+ end
295
+ class GcInterval < Attribute
296
+ TYPE = 8
297
+ NAME = :"gc_interval"
298
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
299
+ end
300
+ class Pad < Attribute
301
+ TYPE = 9
302
+ NAME = :"pad"
303
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
304
+ end
305
+ # :nodoc:
306
+ BY_NAME = Ractor.make_shareable({:"name" => Name, :"thresh1" => Thresh1, :"thresh2" => Thresh2, :"thresh3" => Thresh3, :"config" => Config, :"parms" => Parms, :"stats" => Stats, :"gc_interval" => GcInterval, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
307
+ # :nodoc:
308
+ BY_TYPE = Ractor.make_shareable({1 => Name, 2 => Thresh1, 3 => Thresh2, 4 => Thresh3, 5 => Config, 6 => Parms, 7 => Stats, 8 => GcInterval, 9 => Pad}) #: Hash[::Integer, Attribute]
309
+ class << self
310
+ # Looks up Attribute class by name.
311
+ #--
312
+ # @rbs name: Symbol
313
+ # @rbs return: Attribute
314
+ def by_name(name); BY_NAME.fetch(name); end
315
+ # Looks up Attribute class by type value.
316
+ #--
317
+ # @rbs type: Integer
318
+ # @rbs return: Attribute
319
+ def by_type(type); BY_TYPE.fetch(type); end
320
+ end
321
+ end
322
+ class NdtpaAttrs < ::Nl::Protocols::Raw::AttributeSet
323
+ # Abstract class
324
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
325
+ end
326
+ class Ifindex < Attribute
327
+ TYPE = 1
328
+ NAME = :"ifindex"
329
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
330
+ end
331
+ class Refcnt < Attribute
332
+ TYPE = 2
333
+ NAME = :"refcnt"
334
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
335
+ end
336
+ class ReachableTime < Attribute
337
+ TYPE = 3
338
+ NAME = :"reachable_time"
339
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
340
+ end
341
+ class BaseReachableTime < Attribute
342
+ TYPE = 4
343
+ NAME = :"base_reachable_time"
344
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
345
+ end
346
+ class RetransTime < Attribute
347
+ TYPE = 5
348
+ NAME = :"retrans_time"
349
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
350
+ end
351
+ class GcStaletime < Attribute
352
+ TYPE = 6
353
+ NAME = :"gc_staletime"
354
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
355
+ end
356
+ class DelayProbeTime < Attribute
357
+ TYPE = 7
358
+ NAME = :"delay_probe_time"
359
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
360
+ end
361
+ class QueueLen < Attribute
362
+ TYPE = 8
363
+ NAME = :"queue_len"
364
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
365
+ end
366
+ class AppProbes < Attribute
367
+ TYPE = 9
368
+ NAME = :"app_probes"
369
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
370
+ end
371
+ class UcastProbes < Attribute
372
+ TYPE = 10
373
+ NAME = :"ucast_probes"
374
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
375
+ end
376
+ class McastProbes < Attribute
377
+ TYPE = 11
378
+ NAME = :"mcast_probes"
379
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
380
+ end
381
+ class AnycastDelay < Attribute
382
+ TYPE = 12
383
+ NAME = :"anycast_delay"
384
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
385
+ end
386
+ class ProxyDelay < Attribute
387
+ TYPE = 13
388
+ NAME = :"proxy_delay"
389
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
390
+ end
391
+ class ProxyQlen < Attribute
392
+ TYPE = 14
393
+ NAME = :"proxy_qlen"
394
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
395
+ end
396
+ class Locktime < Attribute
397
+ TYPE = 15
398
+ NAME = :"locktime"
399
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
400
+ end
401
+ class QueueLenbytes < Attribute
402
+ TYPE = 16
403
+ NAME = :"queue_lenbytes"
404
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
405
+ end
406
+ class McastReprobes < Attribute
407
+ TYPE = 17
408
+ NAME = :"mcast_reprobes"
409
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
410
+ end
411
+ class Pad < Attribute
412
+ TYPE = 18
413
+ NAME = :"pad"
414
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
415
+ end
416
+ class IntervalProbeTimeMs < Attribute
417
+ TYPE = 19
418
+ NAME = :"interval_probe_time_ms"
419
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
420
+ end
421
+ # :nodoc:
422
+ BY_NAME = Ractor.make_shareable({:"ifindex" => Ifindex, :"refcnt" => Refcnt, :"reachable_time" => ReachableTime, :"base_reachable_time" => BaseReachableTime, :"retrans_time" => RetransTime, :"gc_staletime" => GcStaletime, :"delay_probe_time" => DelayProbeTime, :"queue_len" => QueueLen, :"app_probes" => AppProbes, :"ucast_probes" => UcastProbes, :"mcast_probes" => McastProbes, :"anycast_delay" => AnycastDelay, :"proxy_delay" => ProxyDelay, :"proxy_qlen" => ProxyQlen, :"locktime" => Locktime, :"queue_lenbytes" => QueueLenbytes, :"mcast_reprobes" => McastReprobes, :"pad" => Pad, :"interval_probe_time_ms" => IntervalProbeTimeMs}) #: Hash[::Symbol, Attribute]
423
+ # :nodoc:
424
+ BY_TYPE = Ractor.make_shareable({1 => Ifindex, 2 => Refcnt, 3 => ReachableTime, 4 => BaseReachableTime, 5 => RetransTime, 6 => GcStaletime, 7 => DelayProbeTime, 8 => QueueLen, 9 => AppProbes, 10 => UcastProbes, 11 => McastProbes, 12 => AnycastDelay, 13 => ProxyDelay, 14 => ProxyQlen, 15 => Locktime, 16 => QueueLenbytes, 17 => McastReprobes, 18 => Pad, 19 => IntervalProbeTimeMs}) #: Hash[::Integer, Attribute]
425
+ class << self
426
+ # Looks up Attribute class by name.
427
+ #--
428
+ # @rbs name: Symbol
429
+ # @rbs return: Attribute
430
+ def by_name(name); BY_NAME.fetch(name); end
431
+ # Looks up Attribute class by type value.
432
+ #--
433
+ # @rbs type: Integer
434
+ # @rbs return: Attribute
435
+ def by_type(type); BY_TYPE.fetch(type); end
436
+ end
437
+ end
438
+ NdtAttrs::Parms::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NdtpaAttrs)
439
+ end
440
+ module Messages
441
+ # Add new neighbour entry
442
+ class DoNewneighRequest < ::Nl::Protocols::Raw::Message
443
+ TYPE = 28
444
+ FIXED_HEADER = Structs::Ndmsg
445
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
446
+ ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
447
+ # Gets the value of `ndm-family` field in the message's fixed header.
448
+ #--
449
+ # @rbs return: ::Integer
450
+ def ndm_family; fixed_header.ndm_family; end
451
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
452
+ #--
453
+ # @rbs return: ::Integer
454
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
455
+ # Gets the value of `ndm-state` field in the message's fixed header.
456
+ #--
457
+ # @rbs return: ::Integer
458
+ def ndm_state; fixed_header.ndm_state; end
459
+ # Gets the value of `ndm-flags` field in the message's fixed header.
460
+ #--
461
+ # @rbs return: ::Integer
462
+ def ndm_flags; fixed_header.ndm_flags; end
463
+ # Gets the value of `ndm-type` field in the message's fixed header.
464
+ #--
465
+ # @rbs return: ::Integer
466
+ def ndm_type; fixed_header.ndm_type; end
467
+ # Gets the value of `dst` attribute in the message.
468
+ #--
469
+ # @rbs return: untyped
470
+ def dst; attributes[:"dst"]&.value; end
471
+ # Gets the value of `lladdr` attribute in the message.
472
+ #--
473
+ # @rbs return: untyped
474
+ def lladdr; attributes[:"lladdr"]&.value; end
475
+ # Gets the value of `probes` attribute in the message.
476
+ #--
477
+ # @rbs return: ::Integer
478
+ def probes; attributes[:"probes"]&.value; end
479
+ # Gets the value of `vlan` attribute in the message.
480
+ #--
481
+ # @rbs return: ::Integer
482
+ def vlan; attributes[:"vlan"]&.value; end
483
+ # Gets the value of `port` attribute in the message.
484
+ #--
485
+ # @rbs return: ::Integer
486
+ def port; attributes[:"port"]&.value; end
487
+ # Gets the value of `vni` attribute in the message.
488
+ #--
489
+ # @rbs return: ::Integer
490
+ def vni; attributes[:"vni"]&.value; end
491
+ # Gets the value of `ifindex` attribute in the message.
492
+ #--
493
+ # @rbs return: ::Integer
494
+ def ifindex; attributes[:"ifindex"]&.value; end
495
+ # Gets the value of `master` attribute in the message.
496
+ #--
497
+ # @rbs return: ::Integer
498
+ def master; attributes[:"master"]&.value; end
499
+ # Gets the value of `protocol` attribute in the message.
500
+ #--
501
+ # @rbs return: ::Integer
502
+ def protocol; attributes[:"protocol"]&.value; end
503
+ # Gets the value of `nh-id` attribute in the message.
504
+ #--
505
+ # @rbs return: ::Integer
506
+ def nh_id; attributes[:"nh_id"]&.value; end
507
+ # Gets the value of `fdb-ext-attrs` attribute in the message.
508
+ #--
509
+ # @rbs return: untyped
510
+ def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
511
+ # Gets the value of `flags-ext` attribute in the message.
512
+ #--
513
+ # @rbs return: ::Integer
514
+ def flags_ext; attributes[:"flags_ext"]&.value; end
515
+ end
516
+ # Remove an existing neighbour entry
517
+ class DoDelneighRequest < ::Nl::Protocols::Raw::Message
518
+ TYPE = 29
519
+ FIXED_HEADER = Structs::Ndmsg
520
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
521
+ ATTRIBUTES = Ractor.make_shareable(%i[dst ifindex])
522
+ # Gets the value of `ndm-family` field in the message's fixed header.
523
+ #--
524
+ # @rbs return: ::Integer
525
+ def ndm_family; fixed_header.ndm_family; end
526
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
527
+ #--
528
+ # @rbs return: ::Integer
529
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
530
+ # Gets the value of `ndm-state` field in the message's fixed header.
531
+ #--
532
+ # @rbs return: ::Integer
533
+ def ndm_state; fixed_header.ndm_state; end
534
+ # Gets the value of `ndm-flags` field in the message's fixed header.
535
+ #--
536
+ # @rbs return: ::Integer
537
+ def ndm_flags; fixed_header.ndm_flags; end
538
+ # Gets the value of `ndm-type` field in the message's fixed header.
539
+ #--
540
+ # @rbs return: ::Integer
541
+ def ndm_type; fixed_header.ndm_type; end
542
+ # Gets the value of `dst` attribute in the message.
543
+ #--
544
+ # @rbs return: untyped
545
+ def dst; attributes[:"dst"]&.value; end
546
+ # Gets the value of `ifindex` attribute in the message.
547
+ #--
548
+ # @rbs return: ::Integer
549
+ def ifindex; attributes[:"ifindex"]&.value; end
550
+ end
551
+ # Get or dump neighbour entries
552
+ class DoGetneighRequest < ::Nl::Protocols::Raw::Message
553
+ TYPE = 30
554
+ FIXED_HEADER = Structs::Ndmsg
555
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
556
+ ATTRIBUTES = Ractor.make_shareable(%i[dst])
557
+ # Gets the value of `ndm-family` field in the message's fixed header.
558
+ #--
559
+ # @rbs return: ::Integer
560
+ def ndm_family; fixed_header.ndm_family; end
561
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
562
+ #--
563
+ # @rbs return: ::Integer
564
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
565
+ # Gets the value of `ndm-state` field in the message's fixed header.
566
+ #--
567
+ # @rbs return: ::Integer
568
+ def ndm_state; fixed_header.ndm_state; end
569
+ # Gets the value of `ndm-flags` field in the message's fixed header.
570
+ #--
571
+ # @rbs return: ::Integer
572
+ def ndm_flags; fixed_header.ndm_flags; end
573
+ # Gets the value of `ndm-type` field in the message's fixed header.
574
+ #--
575
+ # @rbs return: ::Integer
576
+ def ndm_type; fixed_header.ndm_type; end
577
+ # Gets the value of `dst` attribute in the message.
578
+ #--
579
+ # @rbs return: untyped
580
+ def dst; attributes[:"dst"]&.value; end
581
+ end
582
+ # Get or dump neighbour entries
583
+ class DoGetneighReply < ::Nl::Protocols::Raw::Message
584
+ TYPE = 28
585
+ FIXED_HEADER = Structs::Ndmsg
586
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
587
+ ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
588
+ # Gets the value of `ndm-family` field in the message's fixed header.
589
+ #--
590
+ # @rbs return: ::Integer
591
+ def ndm_family; fixed_header.ndm_family; end
592
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
593
+ #--
594
+ # @rbs return: ::Integer
595
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
596
+ # Gets the value of `ndm-state` field in the message's fixed header.
597
+ #--
598
+ # @rbs return: ::Integer
599
+ def ndm_state; fixed_header.ndm_state; end
600
+ # Gets the value of `ndm-flags` field in the message's fixed header.
601
+ #--
602
+ # @rbs return: ::Integer
603
+ def ndm_flags; fixed_header.ndm_flags; end
604
+ # Gets the value of `ndm-type` field in the message's fixed header.
605
+ #--
606
+ # @rbs return: ::Integer
607
+ def ndm_type; fixed_header.ndm_type; end
608
+ # Gets the value of `dst` attribute in the message.
609
+ #--
610
+ # @rbs return: untyped
611
+ def dst; attributes[:"dst"]&.value; end
612
+ # Gets the value of `lladdr` attribute in the message.
613
+ #--
614
+ # @rbs return: untyped
615
+ def lladdr; attributes[:"lladdr"]&.value; end
616
+ # Gets the value of `probes` attribute in the message.
617
+ #--
618
+ # @rbs return: ::Integer
619
+ def probes; attributes[:"probes"]&.value; end
620
+ # Gets the value of `vlan` attribute in the message.
621
+ #--
622
+ # @rbs return: ::Integer
623
+ def vlan; attributes[:"vlan"]&.value; end
624
+ # Gets the value of `port` attribute in the message.
625
+ #--
626
+ # @rbs return: ::Integer
627
+ def port; attributes[:"port"]&.value; end
628
+ # Gets the value of `vni` attribute in the message.
629
+ #--
630
+ # @rbs return: ::Integer
631
+ def vni; attributes[:"vni"]&.value; end
632
+ # Gets the value of `ifindex` attribute in the message.
633
+ #--
634
+ # @rbs return: ::Integer
635
+ def ifindex; attributes[:"ifindex"]&.value; end
636
+ # Gets the value of `master` attribute in the message.
637
+ #--
638
+ # @rbs return: ::Integer
639
+ def master; attributes[:"master"]&.value; end
640
+ # Gets the value of `protocol` attribute in the message.
641
+ #--
642
+ # @rbs return: ::Integer
643
+ def protocol; attributes[:"protocol"]&.value; end
644
+ # Gets the value of `nh-id` attribute in the message.
645
+ #--
646
+ # @rbs return: ::Integer
647
+ def nh_id; attributes[:"nh_id"]&.value; end
648
+ # Gets the value of `fdb-ext-attrs` attribute in the message.
649
+ #--
650
+ # @rbs return: untyped
651
+ def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
652
+ # Gets the value of `flags-ext` attribute in the message.
653
+ #--
654
+ # @rbs return: ::Integer
655
+ def flags_ext; attributes[:"flags_ext"]&.value; end
656
+ end
657
+ # Get or dump neighbour entries
658
+ class DumpGetneighRequest < ::Nl::Protocols::Raw::Message
659
+ TYPE = 30
660
+ FIXED_HEADER = Structs::Ndmsg
661
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
662
+ ATTRIBUTES = Ractor.make_shareable(%i[ifindex master])
663
+ # Gets the value of `ndm-family` field in the message's fixed header.
664
+ #--
665
+ # @rbs return: ::Integer
666
+ def ndm_family; fixed_header.ndm_family; end
667
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
668
+ #--
669
+ # @rbs return: ::Integer
670
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
671
+ # Gets the value of `ndm-state` field in the message's fixed header.
672
+ #--
673
+ # @rbs return: ::Integer
674
+ def ndm_state; fixed_header.ndm_state; end
675
+ # Gets the value of `ndm-flags` field in the message's fixed header.
676
+ #--
677
+ # @rbs return: ::Integer
678
+ def ndm_flags; fixed_header.ndm_flags; end
679
+ # Gets the value of `ndm-type` field in the message's fixed header.
680
+ #--
681
+ # @rbs return: ::Integer
682
+ def ndm_type; fixed_header.ndm_type; end
683
+ # Gets the value of `ifindex` attribute in the message.
684
+ #--
685
+ # @rbs return: ::Integer
686
+ def ifindex; attributes[:"ifindex"]&.value; end
687
+ # Gets the value of `master` attribute in the message.
688
+ #--
689
+ # @rbs return: ::Integer
690
+ def master; attributes[:"master"]&.value; end
691
+ end
692
+ # Get or dump neighbour entries
693
+ class DumpGetneighReply < ::Nl::Protocols::Raw::Message
694
+ TYPE = 28
695
+ FIXED_HEADER = Structs::Ndmsg
696
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
697
+ ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
698
+ # Gets the value of `ndm-family` field in the message's fixed header.
699
+ #--
700
+ # @rbs return: ::Integer
701
+ def ndm_family; fixed_header.ndm_family; end
702
+ # Gets the value of `ndm-ifindex` field in the message's fixed header.
703
+ #--
704
+ # @rbs return: ::Integer
705
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
706
+ # Gets the value of `ndm-state` field in the message's fixed header.
707
+ #--
708
+ # @rbs return: ::Integer
709
+ def ndm_state; fixed_header.ndm_state; end
710
+ # Gets the value of `ndm-flags` field in the message's fixed header.
711
+ #--
712
+ # @rbs return: ::Integer
713
+ def ndm_flags; fixed_header.ndm_flags; end
714
+ # Gets the value of `ndm-type` field in the message's fixed header.
715
+ #--
716
+ # @rbs return: ::Integer
717
+ def ndm_type; fixed_header.ndm_type; end
718
+ # Gets the value of `dst` attribute in the message.
719
+ #--
720
+ # @rbs return: untyped
721
+ def dst; attributes[:"dst"]&.value; end
722
+ # Gets the value of `lladdr` attribute in the message.
723
+ #--
724
+ # @rbs return: untyped
725
+ def lladdr; attributes[:"lladdr"]&.value; end
726
+ # Gets the value of `probes` attribute in the message.
727
+ #--
728
+ # @rbs return: ::Integer
729
+ def probes; attributes[:"probes"]&.value; end
730
+ # Gets the value of `vlan` attribute in the message.
731
+ #--
732
+ # @rbs return: ::Integer
733
+ def vlan; attributes[:"vlan"]&.value; end
734
+ # Gets the value of `port` attribute in the message.
735
+ #--
736
+ # @rbs return: ::Integer
737
+ def port; attributes[:"port"]&.value; end
738
+ # Gets the value of `vni` attribute in the message.
739
+ #--
740
+ # @rbs return: ::Integer
741
+ def vni; attributes[:"vni"]&.value; end
742
+ # Gets the value of `ifindex` attribute in the message.
743
+ #--
744
+ # @rbs return: ::Integer
745
+ def ifindex; attributes[:"ifindex"]&.value; end
746
+ # Gets the value of `master` attribute in the message.
747
+ #--
748
+ # @rbs return: ::Integer
749
+ def master; attributes[:"master"]&.value; end
750
+ # Gets the value of `protocol` attribute in the message.
751
+ #--
752
+ # @rbs return: ::Integer
753
+ def protocol; attributes[:"protocol"]&.value; end
754
+ # Gets the value of `nh-id` attribute in the message.
755
+ #--
756
+ # @rbs return: ::Integer
757
+ def nh_id; attributes[:"nh_id"]&.value; end
758
+ # Gets the value of `fdb-ext-attrs` attribute in the message.
759
+ #--
760
+ # @rbs return: untyped
761
+ def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
762
+ # Gets the value of `flags-ext` attribute in the message.
763
+ #--
764
+ # @rbs return: ::Integer
765
+ def flags_ext; attributes[:"flags_ext"]&.value; end
766
+ end
767
+ # Get or dump neighbour tables
768
+ class DumpGetneightblRequest < ::Nl::Protocols::Raw::Message
769
+ TYPE = 66
770
+ FIXED_HEADER = Structs::Ndtmsg
771
+ ATTRIBUTE_SET = AttributeSets::NdtAttrs
772
+ ATTRIBUTES = Ractor.make_shareable(%i[])
773
+ # Gets the value of `family` field in the message's fixed header.
774
+ #--
775
+ # @rbs return: ::Integer
776
+ def family; fixed_header.family; end
777
+ end
778
+ # Get or dump neighbour tables
779
+ class DumpGetneightblReply < ::Nl::Protocols::Raw::Message
780
+ TYPE = 64
781
+ FIXED_HEADER = Structs::Ndtmsg
782
+ ATTRIBUTE_SET = AttributeSets::NdtAttrs
783
+ ATTRIBUTES = Ractor.make_shareable(%i[name thresh1 thresh2 thresh3 config parms stats gc_interval])
784
+ # Gets the value of `family` field in the message's fixed header.
785
+ #--
786
+ # @rbs return: ::Integer
787
+ def family; fixed_header.family; end
788
+ # Gets the value of `name` attribute in the message.
789
+ #--
790
+ # @rbs return: ::String
791
+ def name; attributes[:"name"]&.value; end
792
+ # Gets the value of `thresh1` attribute in the message.
793
+ #--
794
+ # @rbs return: ::Integer
795
+ def thresh1; attributes[:"thresh1"]&.value; end
796
+ # Gets the value of `thresh2` attribute in the message.
797
+ #--
798
+ # @rbs return: ::Integer
799
+ def thresh2; attributes[:"thresh2"]&.value; end
800
+ # Gets the value of `thresh3` attribute in the message.
801
+ #--
802
+ # @rbs return: ::Integer
803
+ def thresh3; attributes[:"thresh3"]&.value; end
804
+ # Gets the value of `config` attribute in the message.
805
+ #--
806
+ # @rbs return: untyped
807
+ def config; attributes[:"config"]&.value; end
808
+ # Gets the value of `parms` attribute in the message.
809
+ #--
810
+ # @rbs return: AttributeSets::NdtpaAttrs
811
+ def parms; attributes[:"parms"]&.value; end
812
+ # Gets the value of `stats` attribute in the message.
813
+ #--
814
+ # @rbs return: untyped
815
+ def stats; attributes[:"stats"]&.value; end
816
+ # Gets the value of `gc-interval` attribute in the message.
817
+ #--
818
+ # @rbs return: ::Integer
819
+ def gc_interval; attributes[:"gc_interval"]&.value; end
820
+ end
821
+ # Set neighbour tables
822
+ class DoSetneightblRequest < ::Nl::Protocols::Raw::Message
823
+ TYPE = 67
824
+ FIXED_HEADER = Structs::Ndtmsg
825
+ ATTRIBUTE_SET = AttributeSets::NdtAttrs
826
+ ATTRIBUTES = Ractor.make_shareable(%i[name thresh1 thresh2 thresh3 parms gc_interval])
827
+ # Gets the value of `family` field in the message's fixed header.
828
+ #--
829
+ # @rbs return: ::Integer
830
+ def family; fixed_header.family; end
831
+ # Gets the value of `name` attribute in the message.
832
+ #--
833
+ # @rbs return: ::String
834
+ def name; attributes[:"name"]&.value; end
835
+ # Gets the value of `thresh1` attribute in the message.
836
+ #--
837
+ # @rbs return: ::Integer
838
+ def thresh1; attributes[:"thresh1"]&.value; end
839
+ # Gets the value of `thresh2` attribute in the message.
840
+ #--
841
+ # @rbs return: ::Integer
842
+ def thresh2; attributes[:"thresh2"]&.value; end
843
+ # Gets the value of `thresh3` attribute in the message.
844
+ #--
845
+ # @rbs return: ::Integer
846
+ def thresh3; attributes[:"thresh3"]&.value; end
847
+ # Gets the value of `parms` attribute in the message.
848
+ #--
849
+ # @rbs return: AttributeSets::NdtpaAttrs
850
+ def parms; attributes[:"parms"]&.value; end
851
+ # Gets the value of `gc-interval` attribute in the message.
852
+ #--
853
+ # @rbs return: ::Integer
854
+ def gc_interval; attributes[:"gc_interval"]&.value; end
855
+ end
856
+ end
857
+ # Add new neighbour entry
858
+ #--
859
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: untyped, ?lladdr: untyped, ?probes: ::Integer, ?vlan: ::Integer, ?port: ::Integer, ?vni: ::Integer, ?ifindex: ::Integer, ?master: ::Integer, ?protocol: ::Integer, ?nh_id: ::Integer, ?fdb_ext_attrs: untyped, ?flags_ext: ::Integer) -> void
860
+ def do_newneigh(**args)
861
+ exchange_message(:"do", Messages::DoNewneighRequest, nil, args)
862
+ end
863
+ # Remove an existing neighbour entry
864
+ #--
865
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: untyped, ?ifindex: ::Integer) -> void
866
+ def do_delneigh(**args)
867
+ exchange_message(:"do", Messages::DoDelneighRequest, nil, args)
868
+ end
869
+ # Get or dump neighbour entries
870
+ #--
871
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: untyped) -> Messages::DoGetneighReply
872
+ def do_getneigh(**args)
873
+ exchange_message(:"do", Messages::DoGetneighRequest, Messages::DoGetneighReply, args)
874
+ end
875
+ # Get or dump neighbour entries
876
+ #--
877
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) -> Enumerable[Messages::DumpGetneighReply]
878
+ # | (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) { (Messages::DumpGetneighReply) -> void } -> void
879
+ def dump_getneigh(**args, &block)
880
+ exchange_message(:"dump", Messages::DumpGetneighRequest, Messages::DumpGetneighReply, args, &block)
881
+ end
882
+ # Get or dump neighbour tables
883
+ #--
884
+ # @rbs (?family: ::Integer) -> Enumerable[Messages::DumpGetneightblReply]
885
+ # | (?family: ::Integer) { (Messages::DumpGetneightblReply) -> void } -> void
886
+ def dump_getneightbl(**args, &block)
887
+ exchange_message(:"dump", Messages::DumpGetneightblRequest, Messages::DumpGetneightblReply, args, &block)
888
+ end
889
+ # Set neighbour tables
890
+ #--
891
+ # @rbs (?family: ::Integer, ?name: ::String, ?thresh1: ::Integer, ?thresh2: ::Integer, ?thresh3: ::Integer, ?parms: AttributeSets::NdtpaAttrs, ?gc_interval: ::Integer) -> void
892
+ def do_setneightbl(**args)
893
+ exchange_message(:"do", Messages::DoSetneightblRequest, nil, args)
894
+ end
895
+ end