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,74 @@
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-neigh.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
  # IP neighbour management over rtnetlink.
9
- class RtNeigh < ::Nl::Family
10
+ class RtNeigh < ::Nl::Raw::Family
10
11
  NAME = "rt-neigh"
11
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-neigh", 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 [RtNeigh]
19
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
20
+ # @param [Symbol, nil] executor
21
+ # @param [Integer, nil] notification_capacity
22
+ # @yieldparam [RtNeigh] 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({:"rtnlgrp_neigh" => ::Nl::McastGroup.new("rtnlgrp-neigh", 3)}) #: 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
45
+ module Flags
46
+ module NudState
47
+ Incomplete = 1
48
+ Reachable = 2
49
+ Stale = 4
50
+ Delay = 8
51
+ Probe = 16
52
+ Failed = 32
53
+ Noarp = 64
54
+ Permanent = 128
55
+ end
56
+ module NtfFlags
57
+ Use = 1
58
+ Self = 2
59
+ Master = 4
60
+ Proxy = 8
61
+ ExtLearned = 16
62
+ Offloaded = 32
63
+ Sticky = 64
64
+ Router = 128
65
+ end
66
+ module NtfExtFlags
67
+ Managed = 1
68
+ Locked = 2
69
+ ExtValidated = 4
70
+ end
71
+ end
12
72
  module Structs
13
73
  Ndmsg = Struct.new(
14
74
  :"ndm_family", #: ::Integer
@@ -19,19 +79,33 @@ class RtNeigh < ::Nl::Family
19
79
  :"ndm_type", #: ::Integer
20
80
  )
21
81
  class Ndmsg
22
- # :nodoc:
23
- 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]
82
+ # @!attribute [rw] ndm_family
83
+ # @return [Integer]
84
+ # @!attribute [rw] ndm_pad
85
+ # @return [nil]
86
+ # @!attribute [rw] ndm_ifindex
87
+ # @return [Integer]
88
+ # @!attribute [rw] ndm_state
89
+ # @return [Integer]
90
+ # @!attribute [rw] ndm_flags
91
+ # @return [Integer]
92
+ # @!attribute [rw] ndm_type
93
+ # @return [Integer]
94
+ # @private
95
+ MEMBERS = Ractor.make_shareable({ndm_family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ndm_pad: ::Nl::DataTypes::Pad.new(3), ndm_ifindex: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), ndm_state: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), ndm_flags: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ndm_type: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
24
96
  # Decodes the struct.
25
- #--
26
97
  # @rbs decoder: ::Nl::Decoder
27
98
  # @rbs return: instance
99
+ # @param [Nl::Decoder] decoder
100
+ # @return [self]
28
101
  def self.decode(decoder)
29
102
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
30
103
  end
31
104
  # Encodes the struct.
32
- #--
33
105
  # @rbs encoder: ::Nl::Encoder
34
106
  # @rbs return: void
107
+ # @param [Nl::Encoder] encoder
108
+ # @return [void]
35
109
  def encode(encoder)
36
110
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
37
111
  end
@@ -41,19 +115,25 @@ class RtNeigh < ::Nl::Family
41
115
  :"pad", #: nil
42
116
  )
43
117
  class Ndtmsg
44
- # :nodoc:
45
- 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]
118
+ # @!attribute [rw] family
119
+ # @return [Integer]
120
+ # @!attribute [rw] pad
121
+ # @return [nil]
122
+ # @private
123
+ MEMBERS = Ractor.make_shareable({family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), pad: ::Nl::DataTypes::Pad.new(3)}) #: Hash[::Symbol, ::Nl::_DataType]
46
124
  # Decodes the struct.
47
- #--
48
125
  # @rbs decoder: ::Nl::Decoder
49
126
  # @rbs return: instance
127
+ # @param [Nl::Decoder] decoder
128
+ # @return [self]
50
129
  def self.decode(decoder)
51
130
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
52
131
  end
53
132
  # Encodes the struct.
54
- #--
55
133
  # @rbs encoder: ::Nl::Encoder
56
134
  # @rbs return: void
135
+ # @param [Nl::Encoder] encoder
136
+ # @return [void]
57
137
  def encode(encoder)
58
138
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
59
139
  end
@@ -65,19 +145,29 @@ class RtNeigh < ::Nl::Family
65
145
  :"refcnt", #: ::Integer
66
146
  )
67
147
  class NdaCacheinfo
68
- # :nodoc:
69
- 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]
148
+ # @!attribute [rw] confirmed
149
+ # @return [Integer]
150
+ # @!attribute [rw] used
151
+ # @return [Integer]
152
+ # @!attribute [rw] updated
153
+ # @return [Integer]
154
+ # @!attribute [rw] refcnt
155
+ # @return [Integer]
156
+ # @private
157
+ MEMBERS = Ractor.make_shareable({confirmed: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), updated: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), refcnt: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
70
158
  # Decodes the struct.
71
- #--
72
159
  # @rbs decoder: ::Nl::Decoder
73
160
  # @rbs return: instance
161
+ # @param [Nl::Decoder] decoder
162
+ # @return [self]
74
163
  def self.decode(decoder)
75
164
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
76
165
  end
77
166
  # Encodes the struct.
78
- #--
79
167
  # @rbs encoder: ::Nl::Encoder
80
168
  # @rbs return: void
169
+ # @param [Nl::Encoder] encoder
170
+ # @return [void]
81
171
  def encode(encoder)
82
172
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
83
173
  end
@@ -94,19 +184,39 @@ class RtNeigh < ::Nl::Family
94
184
  :"proxy_qlen", #: ::Integer
95
185
  )
96
186
  class NdtConfig
97
- # :nodoc:
98
- 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]
187
+ # @!attribute [rw] key_len
188
+ # @return [Integer]
189
+ # @!attribute [rw] entry_size
190
+ # @return [Integer]
191
+ # @!attribute [rw] entries
192
+ # @return [Integer]
193
+ # @!attribute [rw] last_flush
194
+ # @return [Integer]
195
+ # @!attribute [rw] last_rand
196
+ # @return [Integer]
197
+ # @!attribute [rw] hash_rnd
198
+ # @return [Integer]
199
+ # @!attribute [rw] hash_mask
200
+ # @return [Integer]
201
+ # @!attribute [rw] hash_chain_gc
202
+ # @return [Integer]
203
+ # @!attribute [rw] proxy_qlen
204
+ # @return [Integer]
205
+ # @private
206
+ MEMBERS = Ractor.make_shareable({key_len: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), entry_size: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), entries: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), last_flush: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), last_rand: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_rnd: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_mask: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), hash_chain_gc: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), proxy_qlen: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
99
207
  # Decodes the struct.
100
- #--
101
208
  # @rbs decoder: ::Nl::Decoder
102
209
  # @rbs return: instance
210
+ # @param [Nl::Decoder] decoder
211
+ # @return [self]
103
212
  def self.decode(decoder)
104
213
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
105
214
  end
106
215
  # Encodes the struct.
107
- #--
108
216
  # @rbs encoder: ::Nl::Encoder
109
217
  # @rbs return: void
218
+ # @param [Nl::Encoder] encoder
219
+ # @return [void]
110
220
  def encode(encoder)
111
221
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
112
222
  end
@@ -125,773 +235,1429 @@ class RtNeigh < ::Nl::Family
125
235
  :"table_fulls", #: ::Integer
126
236
  )
127
237
  class NdtStats
128
- # :nodoc:
129
- 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]
238
+ # @!attribute [rw] allocs
239
+ # @return [Integer]
240
+ # @!attribute [rw] destroys
241
+ # @return [Integer]
242
+ # @!attribute [rw] hash_grows
243
+ # @return [Integer]
244
+ # @!attribute [rw] res_failed
245
+ # @return [Integer]
246
+ # @!attribute [rw] lookups
247
+ # @return [Integer]
248
+ # @!attribute [rw] hits
249
+ # @return [Integer]
250
+ # @!attribute [rw] rcv_probes_mcast
251
+ # @return [Integer]
252
+ # @!attribute [rw] rcv_probes_ucast
253
+ # @return [Integer]
254
+ # @!attribute [rw] periodic_gc_runs
255
+ # @return [Integer]
256
+ # @!attribute [rw] forced_gc_runs
257
+ # @return [Integer]
258
+ # @!attribute [rw] table_fulls
259
+ # @return [Integer]
260
+ # @private
261
+ MEMBERS = Ractor.make_shareable({allocs: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), destroys: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), hash_grows: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), res_failed: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), lookups: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), hits: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rcv_probes_mcast: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), rcv_probes_ucast: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), periodic_gc_runs: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), forced_gc_runs: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil), table_fulls: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
130
262
  # Decodes the struct.
131
- #--
132
263
  # @rbs decoder: ::Nl::Decoder
133
264
  # @rbs return: instance
265
+ # @param [Nl::Decoder] decoder
266
+ # @return [self]
134
267
  def self.decode(decoder)
135
268
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
136
269
  end
137
270
  # Encodes the struct.
138
- #--
139
271
  # @rbs encoder: ::Nl::Encoder
140
272
  # @rbs return: void
273
+ # @param [Nl::Encoder] encoder
274
+ # @return [void]
141
275
  def encode(encoder)
142
276
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
143
277
  end
144
278
  end
145
279
  end
146
280
  module AttributeSets
147
- class NeighbourAttrs < ::Nl::Protocols::Raw::AttributeSet
281
+ class NeighbourAttrs < ::Nl::AttributeSet
148
282
  # Abstract class
149
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
283
+ class Attribute < ::Nl::AttributeSet::Attribute
150
284
  end
151
285
  class Unspec < Attribute
152
286
  TYPE = 0
153
287
  NAME = :"unspec"
154
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
288
+ # @private
289
+ ORDER = 0
290
+ # @private
291
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
155
292
  end
156
293
  class Dst < Attribute
157
294
  TYPE = 1
158
295
  NAME = :"dst"
159
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
296
+ # @private
297
+ ORDER = 1
298
+ # @private
299
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
160
300
  end
161
301
  class Lladdr < Attribute
162
302
  TYPE = 2
163
303
  NAME = :"lladdr"
164
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
304
+ # @private
305
+ ORDER = 2
306
+ # @private
307
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
165
308
  end
166
309
  class Cacheinfo < Attribute
167
310
  TYPE = 3
168
311
  NAME = :"cacheinfo"
169
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
312
+ # @private
313
+ ORDER = 3
314
+ # @private
315
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NdaCacheinfo, check: nil, consume_remaining: true)
170
316
  end
171
317
  class Probes < Attribute
172
318
  TYPE = 4
173
319
  NAME = :"probes"
174
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
320
+ # @private
321
+ ORDER = 4
322
+ # @private
323
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
175
324
  end
176
325
  class Vlan < Attribute
177
326
  TYPE = 5
178
327
  NAME = :"vlan"
179
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
328
+ # @private
329
+ ORDER = 5
330
+ # @private
331
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
180
332
  end
181
333
  class Port < Attribute
182
334
  TYPE = 6
183
335
  NAME = :"port"
184
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
336
+ # @private
337
+ ORDER = 6
338
+ # @private
339
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
185
340
  end
186
341
  class Vni < Attribute
187
342
  TYPE = 7
188
343
  NAME = :"vni"
189
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
344
+ # @private
345
+ ORDER = 7
346
+ # @private
347
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
190
348
  end
191
349
  class Ifindex < Attribute
192
350
  TYPE = 8
193
351
  NAME = :"ifindex"
194
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
352
+ # @private
353
+ ORDER = 8
354
+ # @private
355
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
195
356
  end
196
357
  class Master < Attribute
197
358
  TYPE = 9
198
359
  NAME = :"master"
199
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
360
+ # @private
361
+ ORDER = 9
362
+ # @private
363
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
200
364
  end
201
365
  class LinkNetnsid < Attribute
202
366
  TYPE = 10
203
367
  NAME = :"link_netnsid"
204
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
368
+ # @private
369
+ ORDER = 10
370
+ # @private
371
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
205
372
  end
206
373
  class SrcVni < Attribute
207
374
  TYPE = 11
208
375
  NAME = :"src_vni"
209
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
376
+ # @private
377
+ ORDER = 11
378
+ # @private
379
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
210
380
  end
211
381
  class Protocol < Attribute
212
382
  TYPE = 12
213
383
  NAME = :"protocol"
214
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
384
+ # @private
385
+ ORDER = 12
386
+ # @private
387
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
215
388
  end
216
389
  class NhId < Attribute
217
390
  TYPE = 13
218
391
  NAME = :"nh_id"
219
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
392
+ # @private
393
+ ORDER = 13
394
+ # @private
395
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
220
396
  end
221
397
  class FdbExtAttrs < Attribute
222
398
  TYPE = 14
223
399
  NAME = :"fdb_ext_attrs"
224
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
400
+ # @private
401
+ ORDER = 14
402
+ # @private
403
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
225
404
  end
405
+ # Known flags are defined in {Flags::NtfExtFlags}.
226
406
  class FlagsExt < Attribute
227
407
  TYPE = 15
228
408
  NAME = :"flags_ext"
229
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
409
+ # @private
410
+ ORDER = 15
411
+ # @private
412
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
230
413
  end
231
414
  class NdmStateMask < Attribute
232
415
  TYPE = 16
233
416
  NAME = :"ndm_state_mask"
234
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
417
+ # @private
418
+ ORDER = 16
419
+ # @private
420
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
235
421
  end
236
422
  class NdmFlagsMask < Attribute
237
423
  TYPE = 17
238
424
  NAME = :"ndm_flags_mask"
239
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
425
+ # @private
426
+ ORDER = 17
427
+ # @private
428
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
240
429
  end
241
- # :nodoc:
430
+ # @private
242
431
  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]
243
- # :nodoc:
432
+ # @private
244
433
  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]
434
+ # @rbs return: ::String
435
+ # @return [String]
436
+ # @see Unspec
437
+ def unspec; self[:"unspec"]&.value; end
438
+ # @rbs return: ::String
439
+ # @return [String]
440
+ # @see Dst
441
+ def dst; self[:"dst"]&.value; end
442
+ # @rbs return: ::String
443
+ # @return [String]
444
+ # @see Lladdr
445
+ def lladdr; self[:"lladdr"]&.value; end
446
+ # @rbs return: Structs::NdaCacheinfo
447
+ # @return [Structs::NdaCacheinfo]
448
+ # @see Cacheinfo
449
+ def cacheinfo; self[:"cacheinfo"]&.value; end
450
+ # @rbs return: ::Integer
451
+ # @return [Integer]
452
+ # @see Probes
453
+ def probes; self[:"probes"]&.value; end
454
+ # @rbs return: ::Integer
455
+ # @return [Integer]
456
+ # @see Vlan
457
+ def vlan; self[:"vlan"]&.value; end
458
+ # @rbs return: ::Integer
459
+ # @return [Integer]
460
+ # @see Port
461
+ def port; self[:"port"]&.value; end
462
+ # @rbs return: ::Integer
463
+ # @return [Integer]
464
+ # @see Vni
465
+ def vni; self[:"vni"]&.value; end
466
+ # @rbs return: ::Integer
467
+ # @return [Integer]
468
+ # @see Ifindex
469
+ def ifindex; self[:"ifindex"]&.value; end
470
+ # @rbs return: ::Integer
471
+ # @return [Integer]
472
+ # @see Master
473
+ def master; self[:"master"]&.value; end
474
+ # @rbs return: ::Integer
475
+ # @return [Integer]
476
+ # @see LinkNetnsid
477
+ def link_netnsid; self[:"link_netnsid"]&.value; end
478
+ # @rbs return: ::Integer
479
+ # @return [Integer]
480
+ # @see SrcVni
481
+ def src_vni; self[:"src_vni"]&.value; end
482
+ # @rbs return: ::Integer
483
+ # @return [Integer]
484
+ # @see Protocol
485
+ def protocol; self[:"protocol"]&.value; end
486
+ # @rbs return: ::Integer
487
+ # @return [Integer]
488
+ # @see NhId
489
+ def nh_id; self[:"nh_id"]&.value; end
490
+ # @rbs return: ::String
491
+ # @return [String]
492
+ # @see FdbExtAttrs
493
+ def fdb_ext_attrs; self[:"fdb_ext_attrs"]&.value; end
494
+ # Known flags are defined in {Flags::NtfExtFlags}.
495
+ # @rbs return: ::Integer
496
+ # @return [Integer]
497
+ # @see FlagsExt
498
+ def flags_ext; self[:"flags_ext"]&.value; end
499
+ # @rbs return: ::Integer
500
+ # @return [Integer]
501
+ # @see NdmStateMask
502
+ def ndm_state_mask; self[:"ndm_state_mask"]&.value; end
503
+ # @rbs return: ::Integer
504
+ # @return [Integer]
505
+ # @see NdmFlagsMask
506
+ def ndm_flags_mask; self[:"ndm_flags_mask"]&.value; end
245
507
  class << self
246
508
  # Looks up Attribute class by name.
247
- #--
248
509
  # @rbs name: Symbol
249
510
  # @rbs return: Attribute
511
+ # @param [Symbol] name
512
+ # @return [Attribute]
250
513
  def by_name(name); BY_NAME.fetch(name); end
251
514
  # Looks up Attribute class by type value.
252
- #--
253
515
  # @rbs type: Integer
254
516
  # @rbs return: Attribute
517
+ # @param [Integer] type
518
+ # @return [Attribute]
255
519
  def by_type(type); BY_TYPE.fetch(type); end
256
520
  end
257
521
  end
258
- class NdtAttrs < ::Nl::Protocols::Raw::AttributeSet
522
+ class NdtAttrs < ::Nl::AttributeSet
259
523
  # Abstract class
260
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
524
+ class Attribute < ::Nl::AttributeSet::Attribute
261
525
  end
262
526
  class Name < Attribute
263
527
  TYPE = 1
264
528
  NAME = :"name"
265
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
529
+ # @private
530
+ ORDER = 0
531
+ # @private
532
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
266
533
  end
267
534
  class Thresh1 < Attribute
268
535
  TYPE = 2
269
536
  NAME = :"thresh1"
270
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
537
+ # @private
538
+ ORDER = 1
539
+ # @private
540
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
271
541
  end
272
542
  class Thresh2 < Attribute
273
543
  TYPE = 3
274
544
  NAME = :"thresh2"
275
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
545
+ # @private
546
+ ORDER = 2
547
+ # @private
548
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
276
549
  end
277
550
  class Thresh3 < Attribute
278
551
  TYPE = 4
279
552
  NAME = :"thresh3"
280
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
553
+ # @private
554
+ ORDER = 3
555
+ # @private
556
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
281
557
  end
282
558
  class Config < Attribute
283
559
  TYPE = 5
284
560
  NAME = :"config"
285
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
561
+ # @private
562
+ ORDER = 4
563
+ # @private
564
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NdtConfig, check: nil, consume_remaining: true)
286
565
  end
287
566
  class Parms < Attribute
288
567
  TYPE = 6
289
568
  NAME = :"parms"
569
+ # @private
570
+ ORDER = 5
290
571
  end
291
572
  class Stats < Attribute
292
573
  TYPE = 7
293
574
  NAME = :"stats"
294
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
575
+ # @private
576
+ ORDER = 6
577
+ # @private
578
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NdtStats, check: nil, consume_remaining: true)
295
579
  end
296
580
  class GcInterval < Attribute
297
581
  TYPE = 8
298
582
  NAME = :"gc_interval"
299
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
583
+ # @private
584
+ ORDER = 7
585
+ # @private
586
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
300
587
  end
301
588
  class Pad < Attribute
302
589
  TYPE = 9
303
590
  NAME = :"pad"
304
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
591
+ # @private
592
+ ORDER = 8
593
+ # @private
594
+ DATATYPE = ::Nl::DataTypes::Pad.new()
305
595
  end
306
- # :nodoc:
596
+ # @private
307
597
  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]
308
- # :nodoc:
598
+ # @private
309
599
  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]
600
+ # @rbs return: ::String
601
+ # @return [String]
602
+ # @see Name
603
+ def name; self[:"name"]&.value; end
604
+ # @rbs return: ::Integer
605
+ # @return [Integer]
606
+ # @see Thresh1
607
+ def thresh1; self[:"thresh1"]&.value; end
608
+ # @rbs return: ::Integer
609
+ # @return [Integer]
610
+ # @see Thresh2
611
+ def thresh2; self[:"thresh2"]&.value; end
612
+ # @rbs return: ::Integer
613
+ # @return [Integer]
614
+ # @see Thresh3
615
+ def thresh3; self[:"thresh3"]&.value; end
616
+ # @rbs return: Structs::NdtConfig
617
+ # @return [Structs::NdtConfig]
618
+ # @see Config
619
+ def config; self[:"config"]&.value; end
620
+ # @rbs return: AttributeSets::NdtpaAttrs
621
+ # @return [AttributeSets::NdtpaAttrs]
622
+ # @see Parms
623
+ def parms; self[:"parms"]&.value; end
624
+ # @rbs return: Structs::NdtStats
625
+ # @return [Structs::NdtStats]
626
+ # @see Stats
627
+ def stats; self[:"stats"]&.value; end
628
+ # @rbs return: ::Integer
629
+ # @return [Integer]
630
+ # @see GcInterval
631
+ def gc_interval; self[:"gc_interval"]&.value; end
310
632
  class << self
311
633
  # Looks up Attribute class by name.
312
- #--
313
634
  # @rbs name: Symbol
314
635
  # @rbs return: Attribute
636
+ # @param [Symbol] name
637
+ # @return [Attribute]
315
638
  def by_name(name); BY_NAME.fetch(name); end
316
639
  # Looks up Attribute class by type value.
317
- #--
318
640
  # @rbs type: Integer
319
641
  # @rbs return: Attribute
642
+ # @param [Integer] type
643
+ # @return [Attribute]
320
644
  def by_type(type); BY_TYPE.fetch(type); end
321
645
  end
322
646
  end
323
- class NdtpaAttrs < ::Nl::Protocols::Raw::AttributeSet
647
+ class NdtpaAttrs < ::Nl::AttributeSet
324
648
  # Abstract class
325
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
649
+ class Attribute < ::Nl::AttributeSet::Attribute
326
650
  end
327
651
  class Ifindex < Attribute
328
652
  TYPE = 1
329
653
  NAME = :"ifindex"
330
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
654
+ # @private
655
+ ORDER = 0
656
+ # @private
657
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
331
658
  end
332
659
  class Refcnt < Attribute
333
660
  TYPE = 2
334
661
  NAME = :"refcnt"
335
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
662
+ # @private
663
+ ORDER = 1
664
+ # @private
665
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
336
666
  end
337
667
  class ReachableTime < Attribute
338
668
  TYPE = 3
339
669
  NAME = :"reachable_time"
340
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
670
+ # @private
671
+ ORDER = 2
672
+ # @private
673
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
341
674
  end
342
675
  class BaseReachableTime < Attribute
343
676
  TYPE = 4
344
677
  NAME = :"base_reachable_time"
345
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
678
+ # @private
679
+ ORDER = 3
680
+ # @private
681
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
346
682
  end
347
683
  class RetransTime < Attribute
348
684
  TYPE = 5
349
685
  NAME = :"retrans_time"
350
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
686
+ # @private
687
+ ORDER = 4
688
+ # @private
689
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
351
690
  end
352
691
  class GcStaletime < Attribute
353
692
  TYPE = 6
354
693
  NAME = :"gc_staletime"
355
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
694
+ # @private
695
+ ORDER = 5
696
+ # @private
697
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
356
698
  end
357
699
  class DelayProbeTime < Attribute
358
700
  TYPE = 7
359
701
  NAME = :"delay_probe_time"
360
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
702
+ # @private
703
+ ORDER = 6
704
+ # @private
705
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
361
706
  end
362
707
  class QueueLen < Attribute
363
708
  TYPE = 8
364
709
  NAME = :"queue_len"
365
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
710
+ # @private
711
+ ORDER = 7
712
+ # @private
713
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
366
714
  end
367
715
  class AppProbes < Attribute
368
716
  TYPE = 9
369
717
  NAME = :"app_probes"
370
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
718
+ # @private
719
+ ORDER = 8
720
+ # @private
721
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
371
722
  end
372
723
  class UcastProbes < Attribute
373
724
  TYPE = 10
374
725
  NAME = :"ucast_probes"
375
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
726
+ # @private
727
+ ORDER = 9
728
+ # @private
729
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
376
730
  end
377
731
  class McastProbes < Attribute
378
732
  TYPE = 11
379
733
  NAME = :"mcast_probes"
380
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
734
+ # @private
735
+ ORDER = 10
736
+ # @private
737
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
381
738
  end
382
739
  class AnycastDelay < Attribute
383
740
  TYPE = 12
384
741
  NAME = :"anycast_delay"
385
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
742
+ # @private
743
+ ORDER = 11
744
+ # @private
745
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
386
746
  end
387
747
  class ProxyDelay < Attribute
388
748
  TYPE = 13
389
749
  NAME = :"proxy_delay"
390
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
750
+ # @private
751
+ ORDER = 12
752
+ # @private
753
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
391
754
  end
392
755
  class ProxyQlen < Attribute
393
756
  TYPE = 14
394
757
  NAME = :"proxy_qlen"
395
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
758
+ # @private
759
+ ORDER = 13
760
+ # @private
761
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
396
762
  end
397
763
  class Locktime < Attribute
398
764
  TYPE = 15
399
765
  NAME = :"locktime"
400
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
766
+ # @private
767
+ ORDER = 14
768
+ # @private
769
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
401
770
  end
402
771
  class QueueLenbytes < Attribute
403
772
  TYPE = 16
404
773
  NAME = :"queue_lenbytes"
405
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
774
+ # @private
775
+ ORDER = 15
776
+ # @private
777
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
406
778
  end
407
779
  class McastReprobes < Attribute
408
780
  TYPE = 17
409
781
  NAME = :"mcast_reprobes"
410
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
782
+ # @private
783
+ ORDER = 16
784
+ # @private
785
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
411
786
  end
412
787
  class Pad < Attribute
413
788
  TYPE = 18
414
789
  NAME = :"pad"
415
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
790
+ # @private
791
+ ORDER = 17
792
+ # @private
793
+ DATATYPE = ::Nl::DataTypes::Pad.new()
416
794
  end
417
795
  class IntervalProbeTimeMs < Attribute
418
796
  TYPE = 19
419
797
  NAME = :"interval_probe_time_ms"
420
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
798
+ # @private
799
+ ORDER = 18
800
+ # @private
801
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
421
802
  end
422
- # :nodoc:
803
+ # @private
423
804
  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]
424
- # :nodoc:
805
+ # @private
425
806
  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]
807
+ # @rbs return: ::Integer
808
+ # @return [Integer]
809
+ # @see Ifindex
810
+ def ifindex; self[:"ifindex"]&.value; end
811
+ # @rbs return: ::Integer
812
+ # @return [Integer]
813
+ # @see Refcnt
814
+ def refcnt; self[:"refcnt"]&.value; end
815
+ # @rbs return: ::Integer
816
+ # @return [Integer]
817
+ # @see ReachableTime
818
+ def reachable_time; self[:"reachable_time"]&.value; end
819
+ # @rbs return: ::Integer
820
+ # @return [Integer]
821
+ # @see BaseReachableTime
822
+ def base_reachable_time; self[:"base_reachable_time"]&.value; end
823
+ # @rbs return: ::Integer
824
+ # @return [Integer]
825
+ # @see RetransTime
826
+ def retrans_time; self[:"retrans_time"]&.value; end
827
+ # @rbs return: ::Integer
828
+ # @return [Integer]
829
+ # @see GcStaletime
830
+ def gc_staletime; self[:"gc_staletime"]&.value; end
831
+ # @rbs return: ::Integer
832
+ # @return [Integer]
833
+ # @see DelayProbeTime
834
+ def delay_probe_time; self[:"delay_probe_time"]&.value; end
835
+ # @rbs return: ::Integer
836
+ # @return [Integer]
837
+ # @see QueueLen
838
+ def queue_len; self[:"queue_len"]&.value; end
839
+ # @rbs return: ::Integer
840
+ # @return [Integer]
841
+ # @see AppProbes
842
+ def app_probes; self[:"app_probes"]&.value; end
843
+ # @rbs return: ::Integer
844
+ # @return [Integer]
845
+ # @see UcastProbes
846
+ def ucast_probes; self[:"ucast_probes"]&.value; end
847
+ # @rbs return: ::Integer
848
+ # @return [Integer]
849
+ # @see McastProbes
850
+ def mcast_probes; self[:"mcast_probes"]&.value; end
851
+ # @rbs return: ::Integer
852
+ # @return [Integer]
853
+ # @see AnycastDelay
854
+ def anycast_delay; self[:"anycast_delay"]&.value; end
855
+ # @rbs return: ::Integer
856
+ # @return [Integer]
857
+ # @see ProxyDelay
858
+ def proxy_delay; self[:"proxy_delay"]&.value; end
859
+ # @rbs return: ::Integer
860
+ # @return [Integer]
861
+ # @see ProxyQlen
862
+ def proxy_qlen; self[:"proxy_qlen"]&.value; end
863
+ # @rbs return: ::Integer
864
+ # @return [Integer]
865
+ # @see Locktime
866
+ def locktime; self[:"locktime"]&.value; end
867
+ # @rbs return: ::Integer
868
+ # @return [Integer]
869
+ # @see QueueLenbytes
870
+ def queue_lenbytes; self[:"queue_lenbytes"]&.value; end
871
+ # @rbs return: ::Integer
872
+ # @return [Integer]
873
+ # @see McastReprobes
874
+ def mcast_reprobes; self[:"mcast_reprobes"]&.value; end
875
+ # @rbs return: ::Integer
876
+ # @return [Integer]
877
+ # @see IntervalProbeTimeMs
878
+ def interval_probe_time_ms; self[:"interval_probe_time_ms"]&.value; end
426
879
  class << self
427
880
  # Looks up Attribute class by name.
428
- #--
429
881
  # @rbs name: Symbol
430
882
  # @rbs return: Attribute
883
+ # @param [Symbol] name
884
+ # @return [Attribute]
431
885
  def by_name(name); BY_NAME.fetch(name); end
432
886
  # Looks up Attribute class by type value.
433
- #--
434
887
  # @rbs type: Integer
435
888
  # @rbs return: Attribute
889
+ # @param [Integer] type
890
+ # @return [Attribute]
436
891
  def by_type(type); BY_TYPE.fetch(type); end
437
892
  end
438
893
  end
439
- NdtAttrs::Parms::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NdtpaAttrs)
894
+ # @private
895
+ NdtAttrs::Parms::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::NdtpaAttrs, selector_bindings: Ractor.make_shareable([]))
440
896
  end
441
897
  module Messages
442
898
  # Add new neighbour entry
443
- class DoNewneighRequest < ::Nl::Protocols::Raw::Message
899
+ class DoNewneighRequest < ::Nl::Raw::Message
444
900
  TYPE = 28
445
901
  FIXED_HEADER = Structs::Ndmsg
446
902
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
447
903
  ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
448
- # Gets the value of `ndm-family` field in the message's fixed header.
449
- #--
450
904
  # @rbs return: ::Integer
905
+ # @return [Integer]
451
906
  def ndm_family; fixed_header.ndm_family; end
452
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
453
- #--
454
907
  # @rbs return: ::Integer
908
+ # @return [Integer]
455
909
  def ndm_ifindex; fixed_header.ndm_ifindex; end
456
- # Gets the value of `ndm-state` field in the message's fixed header.
457
- #--
458
910
  # @rbs return: ::Integer
911
+ # @return [Integer]
459
912
  def ndm_state; fixed_header.ndm_state; end
460
- # Gets the value of `ndm-flags` field in the message's fixed header.
461
- #--
462
913
  # @rbs return: ::Integer
914
+ # @return [Integer]
463
915
  def ndm_flags; fixed_header.ndm_flags; end
464
- # Gets the value of `ndm-type` field in the message's fixed header.
465
- #--
466
916
  # @rbs return: ::Integer
917
+ # @return [Integer]
467
918
  def ndm_type; fixed_header.ndm_type; end
468
- # Gets the value of `dst` attribute in the message.
469
- #--
470
- # @rbs return: untyped
919
+ # @rbs return: ::String
920
+ # @return [String]
921
+ # @see AttributeSets::NeighbourAttrs::Dst
471
922
  def dst; attributes[:"dst"]&.value; end
472
- # Gets the value of `lladdr` attribute in the message.
473
- #--
474
- # @rbs return: untyped
923
+ # @rbs return: ::String
924
+ # @return [String]
925
+ # @see AttributeSets::NeighbourAttrs::Lladdr
475
926
  def lladdr; attributes[:"lladdr"]&.value; end
476
- # Gets the value of `probes` attribute in the message.
477
- #--
478
927
  # @rbs return: ::Integer
928
+ # @return [Integer]
929
+ # @see AttributeSets::NeighbourAttrs::Probes
479
930
  def probes; attributes[:"probes"]&.value; end
480
- # Gets the value of `vlan` attribute in the message.
481
- #--
482
931
  # @rbs return: ::Integer
932
+ # @return [Integer]
933
+ # @see AttributeSets::NeighbourAttrs::Vlan
483
934
  def vlan; attributes[:"vlan"]&.value; end
484
- # Gets the value of `port` attribute in the message.
485
- #--
486
935
  # @rbs return: ::Integer
936
+ # @return [Integer]
937
+ # @see AttributeSets::NeighbourAttrs::Port
487
938
  def port; attributes[:"port"]&.value; end
488
- # Gets the value of `vni` attribute in the message.
489
- #--
490
939
  # @rbs return: ::Integer
940
+ # @return [Integer]
941
+ # @see AttributeSets::NeighbourAttrs::Vni
491
942
  def vni; attributes[:"vni"]&.value; end
492
- # Gets the value of `ifindex` attribute in the message.
493
- #--
494
943
  # @rbs return: ::Integer
944
+ # @return [Integer]
945
+ # @see AttributeSets::NeighbourAttrs::Ifindex
495
946
  def ifindex; attributes[:"ifindex"]&.value; end
496
- # Gets the value of `master` attribute in the message.
497
- #--
498
947
  # @rbs return: ::Integer
948
+ # @return [Integer]
949
+ # @see AttributeSets::NeighbourAttrs::Master
499
950
  def master; attributes[:"master"]&.value; end
500
- # Gets the value of `protocol` attribute in the message.
501
- #--
502
951
  # @rbs return: ::Integer
952
+ # @return [Integer]
953
+ # @see AttributeSets::NeighbourAttrs::Protocol
503
954
  def protocol; attributes[:"protocol"]&.value; end
504
- # Gets the value of `nh-id` attribute in the message.
505
- #--
506
955
  # @rbs return: ::Integer
956
+ # @return [Integer]
957
+ # @see AttributeSets::NeighbourAttrs::NhId
507
958
  def nh_id; attributes[:"nh_id"]&.value; end
508
- # Gets the value of `fdb-ext-attrs` attribute in the message.
509
- #--
510
- # @rbs return: untyped
959
+ # @rbs return: ::String
960
+ # @return [String]
961
+ # @see AttributeSets::NeighbourAttrs::FdbExtAttrs
511
962
  def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
512
- # Gets the value of `flags-ext` attribute in the message.
513
- #--
963
+ # Known flags are defined in {Flags::NtfExtFlags}.
514
964
  # @rbs return: ::Integer
965
+ # @return [Integer]
966
+ # @see AttributeSets::NeighbourAttrs::FlagsExt
515
967
  def flags_ext; attributes[:"flags_ext"]&.value; end
516
968
  end
517
969
  # Remove an existing neighbour entry
518
- class DoDelneighRequest < ::Nl::Protocols::Raw::Message
970
+ class DoDelneighRequest < ::Nl::Raw::Message
519
971
  TYPE = 29
520
972
  FIXED_HEADER = Structs::Ndmsg
521
973
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
522
974
  ATTRIBUTES = Ractor.make_shareable(%i[dst ifindex])
523
- # Gets the value of `ndm-family` field in the message's fixed header.
524
- #--
525
975
  # @rbs return: ::Integer
976
+ # @return [Integer]
526
977
  def ndm_family; fixed_header.ndm_family; end
527
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
528
- #--
529
978
  # @rbs return: ::Integer
979
+ # @return [Integer]
530
980
  def ndm_ifindex; fixed_header.ndm_ifindex; end
531
- # Gets the value of `ndm-state` field in the message's fixed header.
532
- #--
533
981
  # @rbs return: ::Integer
982
+ # @return [Integer]
534
983
  def ndm_state; fixed_header.ndm_state; end
535
- # Gets the value of `ndm-flags` field in the message's fixed header.
536
- #--
537
984
  # @rbs return: ::Integer
985
+ # @return [Integer]
538
986
  def ndm_flags; fixed_header.ndm_flags; end
539
- # Gets the value of `ndm-type` field in the message's fixed header.
540
- #--
541
987
  # @rbs return: ::Integer
988
+ # @return [Integer]
542
989
  def ndm_type; fixed_header.ndm_type; end
543
- # Gets the value of `dst` attribute in the message.
544
- #--
545
- # @rbs return: untyped
990
+ # @rbs return: ::String
991
+ # @return [String]
992
+ # @see AttributeSets::NeighbourAttrs::Dst
546
993
  def dst; attributes[:"dst"]&.value; end
547
- # Gets the value of `ifindex` attribute in the message.
548
- #--
549
994
  # @rbs return: ::Integer
995
+ # @return [Integer]
996
+ # @see AttributeSets::NeighbourAttrs::Ifindex
550
997
  def ifindex; attributes[:"ifindex"]&.value; end
551
998
  end
552
999
  # Get or dump neighbour entries
553
- class DoGetneighRequest < ::Nl::Protocols::Raw::Message
1000
+ class DoGetneighRequest < ::Nl::Raw::Message
554
1001
  TYPE = 30
555
1002
  FIXED_HEADER = Structs::Ndmsg
556
1003
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
557
1004
  ATTRIBUTES = Ractor.make_shareable(%i[dst])
558
- # Gets the value of `ndm-family` field in the message's fixed header.
559
- #--
560
1005
  # @rbs return: ::Integer
1006
+ # @return [Integer]
561
1007
  def ndm_family; fixed_header.ndm_family; end
562
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
563
- #--
564
1008
  # @rbs return: ::Integer
1009
+ # @return [Integer]
565
1010
  def ndm_ifindex; fixed_header.ndm_ifindex; end
566
- # Gets the value of `ndm-state` field in the message's fixed header.
567
- #--
568
1011
  # @rbs return: ::Integer
1012
+ # @return [Integer]
569
1013
  def ndm_state; fixed_header.ndm_state; end
570
- # Gets the value of `ndm-flags` field in the message's fixed header.
571
- #--
572
1014
  # @rbs return: ::Integer
1015
+ # @return [Integer]
573
1016
  def ndm_flags; fixed_header.ndm_flags; end
574
- # Gets the value of `ndm-type` field in the message's fixed header.
575
- #--
576
1017
  # @rbs return: ::Integer
1018
+ # @return [Integer]
577
1019
  def ndm_type; fixed_header.ndm_type; end
578
- # Gets the value of `dst` attribute in the message.
579
- #--
580
- # @rbs return: untyped
1020
+ # @rbs return: ::String
1021
+ # @return [String]
1022
+ # @see AttributeSets::NeighbourAttrs::Dst
581
1023
  def dst; attributes[:"dst"]&.value; end
582
1024
  end
583
1025
  # Get or dump neighbour entries
584
- class DoGetneighReply < ::Nl::Protocols::Raw::Message
1026
+ class DoGetneighReply < ::Nl::Raw::Message
585
1027
  TYPE = 28
586
1028
  FIXED_HEADER = Structs::Ndmsg
587
1029
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
588
1030
  ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
589
- # Gets the value of `ndm-family` field in the message's fixed header.
590
- #--
591
1031
  # @rbs return: ::Integer
1032
+ # @return [Integer]
592
1033
  def ndm_family; fixed_header.ndm_family; end
593
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
594
- #--
595
1034
  # @rbs return: ::Integer
1035
+ # @return [Integer]
596
1036
  def ndm_ifindex; fixed_header.ndm_ifindex; end
597
- # Gets the value of `ndm-state` field in the message's fixed header.
598
- #--
599
1037
  # @rbs return: ::Integer
1038
+ # @return [Integer]
600
1039
  def ndm_state; fixed_header.ndm_state; end
601
- # Gets the value of `ndm-flags` field in the message's fixed header.
602
- #--
603
1040
  # @rbs return: ::Integer
1041
+ # @return [Integer]
604
1042
  def ndm_flags; fixed_header.ndm_flags; end
605
- # Gets the value of `ndm-type` field in the message's fixed header.
606
- #--
607
1043
  # @rbs return: ::Integer
1044
+ # @return [Integer]
608
1045
  def ndm_type; fixed_header.ndm_type; end
609
- # Gets the value of `dst` attribute in the message.
610
- #--
611
- # @rbs return: untyped
1046
+ # @rbs return: ::String
1047
+ # @return [String]
1048
+ # @see AttributeSets::NeighbourAttrs::Dst
612
1049
  def dst; attributes[:"dst"]&.value; end
613
- # Gets the value of `lladdr` attribute in the message.
614
- #--
615
- # @rbs return: untyped
1050
+ # @rbs return: ::String
1051
+ # @return [String]
1052
+ # @see AttributeSets::NeighbourAttrs::Lladdr
616
1053
  def lladdr; attributes[:"lladdr"]&.value; end
617
- # Gets the value of `probes` attribute in the message.
618
- #--
619
1054
  # @rbs return: ::Integer
1055
+ # @return [Integer]
1056
+ # @see AttributeSets::NeighbourAttrs::Probes
620
1057
  def probes; attributes[:"probes"]&.value; end
621
- # Gets the value of `vlan` attribute in the message.
622
- #--
623
1058
  # @rbs return: ::Integer
1059
+ # @return [Integer]
1060
+ # @see AttributeSets::NeighbourAttrs::Vlan
624
1061
  def vlan; attributes[:"vlan"]&.value; end
625
- # Gets the value of `port` attribute in the message.
626
- #--
627
1062
  # @rbs return: ::Integer
1063
+ # @return [Integer]
1064
+ # @see AttributeSets::NeighbourAttrs::Port
628
1065
  def port; attributes[:"port"]&.value; end
629
- # Gets the value of `vni` attribute in the message.
630
- #--
631
1066
  # @rbs return: ::Integer
1067
+ # @return [Integer]
1068
+ # @see AttributeSets::NeighbourAttrs::Vni
632
1069
  def vni; attributes[:"vni"]&.value; end
633
- # Gets the value of `ifindex` attribute in the message.
634
- #--
635
1070
  # @rbs return: ::Integer
1071
+ # @return [Integer]
1072
+ # @see AttributeSets::NeighbourAttrs::Ifindex
636
1073
  def ifindex; attributes[:"ifindex"]&.value; end
637
- # Gets the value of `master` attribute in the message.
638
- #--
639
1074
  # @rbs return: ::Integer
1075
+ # @return [Integer]
1076
+ # @see AttributeSets::NeighbourAttrs::Master
640
1077
  def master; attributes[:"master"]&.value; end
641
- # Gets the value of `protocol` attribute in the message.
642
- #--
643
1078
  # @rbs return: ::Integer
1079
+ # @return [Integer]
1080
+ # @see AttributeSets::NeighbourAttrs::Protocol
644
1081
  def protocol; attributes[:"protocol"]&.value; end
645
- # Gets the value of `nh-id` attribute in the message.
646
- #--
647
1082
  # @rbs return: ::Integer
1083
+ # @return [Integer]
1084
+ # @see AttributeSets::NeighbourAttrs::NhId
648
1085
  def nh_id; attributes[:"nh_id"]&.value; end
649
- # Gets the value of `fdb-ext-attrs` attribute in the message.
650
- #--
651
- # @rbs return: untyped
1086
+ # @rbs return: ::String
1087
+ # @return [String]
1088
+ # @see AttributeSets::NeighbourAttrs::FdbExtAttrs
652
1089
  def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
653
- # Gets the value of `flags-ext` attribute in the message.
654
- #--
1090
+ # Known flags are defined in {Flags::NtfExtFlags}.
655
1091
  # @rbs return: ::Integer
1092
+ # @return [Integer]
1093
+ # @see AttributeSets::NeighbourAttrs::FlagsExt
656
1094
  def flags_ext; attributes[:"flags_ext"]&.value; end
657
1095
  end
658
1096
  # Get or dump neighbour entries
659
- class DumpGetneighRequest < ::Nl::Protocols::Raw::Message
1097
+ class DumpGetneighRequest < ::Nl::Raw::Message
660
1098
  TYPE = 30
661
1099
  FIXED_HEADER = Structs::Ndmsg
662
1100
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
663
1101
  ATTRIBUTES = Ractor.make_shareable(%i[ifindex master])
664
- # Gets the value of `ndm-family` field in the message's fixed header.
665
- #--
666
1102
  # @rbs return: ::Integer
1103
+ # @return [Integer]
667
1104
  def ndm_family; fixed_header.ndm_family; end
668
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
669
- #--
670
1105
  # @rbs return: ::Integer
1106
+ # @return [Integer]
671
1107
  def ndm_ifindex; fixed_header.ndm_ifindex; end
672
- # Gets the value of `ndm-state` field in the message's fixed header.
673
- #--
674
1108
  # @rbs return: ::Integer
1109
+ # @return [Integer]
675
1110
  def ndm_state; fixed_header.ndm_state; end
676
- # Gets the value of `ndm-flags` field in the message's fixed header.
677
- #--
678
1111
  # @rbs return: ::Integer
1112
+ # @return [Integer]
679
1113
  def ndm_flags; fixed_header.ndm_flags; end
680
- # Gets the value of `ndm-type` field in the message's fixed header.
681
- #--
682
1114
  # @rbs return: ::Integer
1115
+ # @return [Integer]
683
1116
  def ndm_type; fixed_header.ndm_type; end
684
- # Gets the value of `ifindex` attribute in the message.
685
- #--
686
1117
  # @rbs return: ::Integer
1118
+ # @return [Integer]
1119
+ # @see AttributeSets::NeighbourAttrs::Ifindex
687
1120
  def ifindex; attributes[:"ifindex"]&.value; end
688
- # Gets the value of `master` attribute in the message.
689
- #--
690
1121
  # @rbs return: ::Integer
1122
+ # @return [Integer]
1123
+ # @see AttributeSets::NeighbourAttrs::Master
691
1124
  def master; attributes[:"master"]&.value; end
692
1125
  end
693
1126
  # Get or dump neighbour entries
694
- class DumpGetneighReply < ::Nl::Protocols::Raw::Message
1127
+ class DumpGetneighReply < ::Nl::Raw::Message
695
1128
  TYPE = 28
696
1129
  FIXED_HEADER = Structs::Ndmsg
697
1130
  ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
698
1131
  ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
699
- # Gets the value of `ndm-family` field in the message's fixed header.
700
- #--
701
1132
  # @rbs return: ::Integer
1133
+ # @return [Integer]
702
1134
  def ndm_family; fixed_header.ndm_family; end
703
- # Gets the value of `ndm-ifindex` field in the message's fixed header.
704
- #--
705
1135
  # @rbs return: ::Integer
1136
+ # @return [Integer]
706
1137
  def ndm_ifindex; fixed_header.ndm_ifindex; end
707
- # Gets the value of `ndm-state` field in the message's fixed header.
708
- #--
709
1138
  # @rbs return: ::Integer
1139
+ # @return [Integer]
710
1140
  def ndm_state; fixed_header.ndm_state; end
711
- # Gets the value of `ndm-flags` field in the message's fixed header.
712
- #--
713
1141
  # @rbs return: ::Integer
1142
+ # @return [Integer]
714
1143
  def ndm_flags; fixed_header.ndm_flags; end
715
- # Gets the value of `ndm-type` field in the message's fixed header.
716
- #--
717
1144
  # @rbs return: ::Integer
1145
+ # @return [Integer]
718
1146
  def ndm_type; fixed_header.ndm_type; end
719
- # Gets the value of `dst` attribute in the message.
720
- #--
721
- # @rbs return: untyped
1147
+ # @rbs return: ::String
1148
+ # @return [String]
1149
+ # @see AttributeSets::NeighbourAttrs::Dst
722
1150
  def dst; attributes[:"dst"]&.value; end
723
- # Gets the value of `lladdr` attribute in the message.
724
- #--
725
- # @rbs return: untyped
1151
+ # @rbs return: ::String
1152
+ # @return [String]
1153
+ # @see AttributeSets::NeighbourAttrs::Lladdr
726
1154
  def lladdr; attributes[:"lladdr"]&.value; end
727
- # Gets the value of `probes` attribute in the message.
728
- #--
729
1155
  # @rbs return: ::Integer
1156
+ # @return [Integer]
1157
+ # @see AttributeSets::NeighbourAttrs::Probes
730
1158
  def probes; attributes[:"probes"]&.value; end
731
- # Gets the value of `vlan` attribute in the message.
732
- #--
733
1159
  # @rbs return: ::Integer
1160
+ # @return [Integer]
1161
+ # @see AttributeSets::NeighbourAttrs::Vlan
734
1162
  def vlan; attributes[:"vlan"]&.value; end
735
- # Gets the value of `port` attribute in the message.
736
- #--
737
1163
  # @rbs return: ::Integer
1164
+ # @return [Integer]
1165
+ # @see AttributeSets::NeighbourAttrs::Port
738
1166
  def port; attributes[:"port"]&.value; end
739
- # Gets the value of `vni` attribute in the message.
740
- #--
741
1167
  # @rbs return: ::Integer
1168
+ # @return [Integer]
1169
+ # @see AttributeSets::NeighbourAttrs::Vni
742
1170
  def vni; attributes[:"vni"]&.value; end
743
- # Gets the value of `ifindex` attribute in the message.
744
- #--
745
1171
  # @rbs return: ::Integer
1172
+ # @return [Integer]
1173
+ # @see AttributeSets::NeighbourAttrs::Ifindex
746
1174
  def ifindex; attributes[:"ifindex"]&.value; end
747
- # Gets the value of `master` attribute in the message.
748
- #--
749
1175
  # @rbs return: ::Integer
1176
+ # @return [Integer]
1177
+ # @see AttributeSets::NeighbourAttrs::Master
750
1178
  def master; attributes[:"master"]&.value; end
751
- # Gets the value of `protocol` attribute in the message.
752
- #--
753
1179
  # @rbs return: ::Integer
1180
+ # @return [Integer]
1181
+ # @see AttributeSets::NeighbourAttrs::Protocol
754
1182
  def protocol; attributes[:"protocol"]&.value; end
755
- # Gets the value of `nh-id` attribute in the message.
756
- #--
757
1183
  # @rbs return: ::Integer
1184
+ # @return [Integer]
1185
+ # @see AttributeSets::NeighbourAttrs::NhId
758
1186
  def nh_id; attributes[:"nh_id"]&.value; end
759
- # Gets the value of `fdb-ext-attrs` attribute in the message.
760
- #--
761
- # @rbs return: untyped
1187
+ # @rbs return: ::String
1188
+ # @return [String]
1189
+ # @see AttributeSets::NeighbourAttrs::FdbExtAttrs
762
1190
  def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
763
- # Gets the value of `flags-ext` attribute in the message.
764
- #--
1191
+ # Known flags are defined in {Flags::NtfExtFlags}.
765
1192
  # @rbs return: ::Integer
1193
+ # @return [Integer]
1194
+ # @see AttributeSets::NeighbourAttrs::FlagsExt
766
1195
  def flags_ext; attributes[:"flags_ext"]&.value; end
767
1196
  end
768
1197
  # Get or dump neighbour tables
769
- class DumpGetneightblRequest < ::Nl::Protocols::Raw::Message
1198
+ class DumpGetneightblRequest < ::Nl::Raw::Message
770
1199
  TYPE = 66
771
1200
  FIXED_HEADER = Structs::Ndtmsg
772
1201
  ATTRIBUTE_SET = AttributeSets::NdtAttrs
773
1202
  ATTRIBUTES = Ractor.make_shareable(%i[])
774
- # Gets the value of `family` field in the message's fixed header.
775
- #--
776
1203
  # @rbs return: ::Integer
1204
+ # @return [Integer]
777
1205
  def family; fixed_header.family; end
778
1206
  end
779
1207
  # Get or dump neighbour tables
780
- class DumpGetneightblReply < ::Nl::Protocols::Raw::Message
1208
+ class DumpGetneightblReply < ::Nl::Raw::Message
781
1209
  TYPE = 64
782
1210
  FIXED_HEADER = Structs::Ndtmsg
783
1211
  ATTRIBUTE_SET = AttributeSets::NdtAttrs
784
1212
  ATTRIBUTES = Ractor.make_shareable(%i[name thresh1 thresh2 thresh3 config parms stats gc_interval])
785
- # Gets the value of `family` field in the message's fixed header.
786
- #--
787
1213
  # @rbs return: ::Integer
1214
+ # @return [Integer]
788
1215
  def family; fixed_header.family; end
789
- # Gets the value of `name` attribute in the message.
790
- #--
791
1216
  # @rbs return: ::String
1217
+ # @return [String]
1218
+ # @see AttributeSets::NdtAttrs::Name
792
1219
  def name; attributes[:"name"]&.value; end
793
- # Gets the value of `thresh1` attribute in the message.
794
- #--
795
1220
  # @rbs return: ::Integer
1221
+ # @return [Integer]
1222
+ # @see AttributeSets::NdtAttrs::Thresh1
796
1223
  def thresh1; attributes[:"thresh1"]&.value; end
797
- # Gets the value of `thresh2` attribute in the message.
798
- #--
799
1224
  # @rbs return: ::Integer
1225
+ # @return [Integer]
1226
+ # @see AttributeSets::NdtAttrs::Thresh2
800
1227
  def thresh2; attributes[:"thresh2"]&.value; end
801
- # Gets the value of `thresh3` attribute in the message.
802
- #--
803
1228
  # @rbs return: ::Integer
1229
+ # @return [Integer]
1230
+ # @see AttributeSets::NdtAttrs::Thresh3
804
1231
  def thresh3; attributes[:"thresh3"]&.value; end
805
- # Gets the value of `config` attribute in the message.
806
- #--
807
- # @rbs return: untyped
1232
+ # @rbs return: Structs::NdtConfig
1233
+ # @return [Structs::NdtConfig]
1234
+ # @see AttributeSets::NdtAttrs::Config
808
1235
  def config; attributes[:"config"]&.value; end
809
- # Gets the value of `parms` attribute in the message.
810
- #--
811
1236
  # @rbs return: AttributeSets::NdtpaAttrs
1237
+ # @return [AttributeSets::NdtpaAttrs]
1238
+ # @see AttributeSets::NdtAttrs::Parms
812
1239
  def parms; attributes[:"parms"]&.value; end
813
- # Gets the value of `stats` attribute in the message.
814
- #--
815
- # @rbs return: untyped
1240
+ # @rbs return: Structs::NdtStats
1241
+ # @return [Structs::NdtStats]
1242
+ # @see AttributeSets::NdtAttrs::Stats
816
1243
  def stats; attributes[:"stats"]&.value; end
817
- # Gets the value of `gc-interval` attribute in the message.
818
- #--
819
1244
  # @rbs return: ::Integer
1245
+ # @return [Integer]
1246
+ # @see AttributeSets::NdtAttrs::GcInterval
820
1247
  def gc_interval; attributes[:"gc_interval"]&.value; end
821
1248
  end
822
1249
  # Set neighbour tables
823
- class DoSetneightblRequest < ::Nl::Protocols::Raw::Message
1250
+ class DoSetneightblRequest < ::Nl::Raw::Message
824
1251
  TYPE = 67
825
1252
  FIXED_HEADER = Structs::Ndtmsg
826
1253
  ATTRIBUTE_SET = AttributeSets::NdtAttrs
827
1254
  ATTRIBUTES = Ractor.make_shareable(%i[name thresh1 thresh2 thresh3 parms gc_interval])
828
- # Gets the value of `family` field in the message's fixed header.
829
- #--
830
1255
  # @rbs return: ::Integer
1256
+ # @return [Integer]
831
1257
  def family; fixed_header.family; end
832
- # Gets the value of `name` attribute in the message.
833
- #--
834
1258
  # @rbs return: ::String
1259
+ # @return [String]
1260
+ # @see AttributeSets::NdtAttrs::Name
835
1261
  def name; attributes[:"name"]&.value; end
836
- # Gets the value of `thresh1` attribute in the message.
837
- #--
838
1262
  # @rbs return: ::Integer
1263
+ # @return [Integer]
1264
+ # @see AttributeSets::NdtAttrs::Thresh1
839
1265
  def thresh1; attributes[:"thresh1"]&.value; end
840
- # Gets the value of `thresh2` attribute in the message.
841
- #--
842
1266
  # @rbs return: ::Integer
1267
+ # @return [Integer]
1268
+ # @see AttributeSets::NdtAttrs::Thresh2
843
1269
  def thresh2; attributes[:"thresh2"]&.value; end
844
- # Gets the value of `thresh3` attribute in the message.
845
- #--
846
1270
  # @rbs return: ::Integer
1271
+ # @return [Integer]
1272
+ # @see AttributeSets::NdtAttrs::Thresh3
847
1273
  def thresh3; attributes[:"thresh3"]&.value; end
848
- # Gets the value of `parms` attribute in the message.
849
- #--
850
1274
  # @rbs return: AttributeSets::NdtpaAttrs
1275
+ # @return [AttributeSets::NdtpaAttrs]
1276
+ # @see AttributeSets::NdtAttrs::Parms
851
1277
  def parms; attributes[:"parms"]&.value; end
852
- # Gets the value of `gc-interval` attribute in the message.
853
- #--
854
1278
  # @rbs return: ::Integer
1279
+ # @return [Integer]
1280
+ # @see AttributeSets::NdtAttrs::GcInterval
855
1281
  def gc_interval; attributes[:"gc_interval"]&.value; end
856
1282
  end
857
1283
  end
1284
+ module Notifications
1285
+ # Notify a neighbour deletion
1286
+ class DelneighNtf < ::Nl::Raw::Message
1287
+ TYPE = 29
1288
+ FIXED_HEADER = Structs::Ndmsg
1289
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
1290
+ ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
1291
+ # @rbs return: ::Integer
1292
+ # @return [Integer]
1293
+ def ndm_family; fixed_header.ndm_family; end
1294
+ # @rbs return: ::Integer
1295
+ # @return [Integer]
1296
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
1297
+ # @rbs return: ::Integer
1298
+ # @return [Integer]
1299
+ def ndm_state; fixed_header.ndm_state; end
1300
+ # @rbs return: ::Integer
1301
+ # @return [Integer]
1302
+ def ndm_flags; fixed_header.ndm_flags; end
1303
+ # @rbs return: ::Integer
1304
+ # @return [Integer]
1305
+ def ndm_type; fixed_header.ndm_type; end
1306
+ # @rbs return: ::String
1307
+ # @return [String]
1308
+ # @see AttributeSets::NeighbourAttrs::Dst
1309
+ def dst; attributes[:"dst"]&.value; end
1310
+ # @rbs return: ::String
1311
+ # @return [String]
1312
+ # @see AttributeSets::NeighbourAttrs::Lladdr
1313
+ def lladdr; attributes[:"lladdr"]&.value; end
1314
+ # @rbs return: ::Integer
1315
+ # @return [Integer]
1316
+ # @see AttributeSets::NeighbourAttrs::Probes
1317
+ def probes; attributes[:"probes"]&.value; end
1318
+ # @rbs return: ::Integer
1319
+ # @return [Integer]
1320
+ # @see AttributeSets::NeighbourAttrs::Vlan
1321
+ def vlan; attributes[:"vlan"]&.value; end
1322
+ # @rbs return: ::Integer
1323
+ # @return [Integer]
1324
+ # @see AttributeSets::NeighbourAttrs::Port
1325
+ def port; attributes[:"port"]&.value; end
1326
+ # @rbs return: ::Integer
1327
+ # @return [Integer]
1328
+ # @see AttributeSets::NeighbourAttrs::Vni
1329
+ def vni; attributes[:"vni"]&.value; end
1330
+ # @rbs return: ::Integer
1331
+ # @return [Integer]
1332
+ # @see AttributeSets::NeighbourAttrs::Ifindex
1333
+ def ifindex; attributes[:"ifindex"]&.value; end
1334
+ # @rbs return: ::Integer
1335
+ # @return [Integer]
1336
+ # @see AttributeSets::NeighbourAttrs::Master
1337
+ def master; attributes[:"master"]&.value; end
1338
+ # @rbs return: ::Integer
1339
+ # @return [Integer]
1340
+ # @see AttributeSets::NeighbourAttrs::Protocol
1341
+ def protocol; attributes[:"protocol"]&.value; end
1342
+ # @rbs return: ::Integer
1343
+ # @return [Integer]
1344
+ # @see AttributeSets::NeighbourAttrs::NhId
1345
+ def nh_id; attributes[:"nh_id"]&.value; end
1346
+ # @rbs return: ::String
1347
+ # @return [String]
1348
+ # @see AttributeSets::NeighbourAttrs::FdbExtAttrs
1349
+ def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
1350
+ # Known flags are defined in {Flags::NtfExtFlags}.
1351
+ # @rbs return: ::Integer
1352
+ # @return [Integer]
1353
+ # @see AttributeSets::NeighbourAttrs::FlagsExt
1354
+ def flags_ext; attributes[:"flags_ext"]&.value; end
1355
+ end
1356
+ # Notify a neighbour creation
1357
+ class NewneighNtf < ::Nl::Raw::Message
1358
+ TYPE = 28
1359
+ FIXED_HEADER = Structs::Ndmsg
1360
+ ATTRIBUTE_SET = AttributeSets::NeighbourAttrs
1361
+ ATTRIBUTES = Ractor.make_shareable(%i[dst lladdr probes vlan port vni ifindex master protocol nh_id fdb_ext_attrs flags_ext])
1362
+ # @rbs return: ::Integer
1363
+ # @return [Integer]
1364
+ def ndm_family; fixed_header.ndm_family; end
1365
+ # @rbs return: ::Integer
1366
+ # @return [Integer]
1367
+ def ndm_ifindex; fixed_header.ndm_ifindex; end
1368
+ # @rbs return: ::Integer
1369
+ # @return [Integer]
1370
+ def ndm_state; fixed_header.ndm_state; end
1371
+ # @rbs return: ::Integer
1372
+ # @return [Integer]
1373
+ def ndm_flags; fixed_header.ndm_flags; end
1374
+ # @rbs return: ::Integer
1375
+ # @return [Integer]
1376
+ def ndm_type; fixed_header.ndm_type; end
1377
+ # @rbs return: ::String
1378
+ # @return [String]
1379
+ # @see AttributeSets::NeighbourAttrs::Dst
1380
+ def dst; attributes[:"dst"]&.value; end
1381
+ # @rbs return: ::String
1382
+ # @return [String]
1383
+ # @see AttributeSets::NeighbourAttrs::Lladdr
1384
+ def lladdr; attributes[:"lladdr"]&.value; end
1385
+ # @rbs return: ::Integer
1386
+ # @return [Integer]
1387
+ # @see AttributeSets::NeighbourAttrs::Probes
1388
+ def probes; attributes[:"probes"]&.value; end
1389
+ # @rbs return: ::Integer
1390
+ # @return [Integer]
1391
+ # @see AttributeSets::NeighbourAttrs::Vlan
1392
+ def vlan; attributes[:"vlan"]&.value; end
1393
+ # @rbs return: ::Integer
1394
+ # @return [Integer]
1395
+ # @see AttributeSets::NeighbourAttrs::Port
1396
+ def port; attributes[:"port"]&.value; end
1397
+ # @rbs return: ::Integer
1398
+ # @return [Integer]
1399
+ # @see AttributeSets::NeighbourAttrs::Vni
1400
+ def vni; attributes[:"vni"]&.value; end
1401
+ # @rbs return: ::Integer
1402
+ # @return [Integer]
1403
+ # @see AttributeSets::NeighbourAttrs::Ifindex
1404
+ def ifindex; attributes[:"ifindex"]&.value; end
1405
+ # @rbs return: ::Integer
1406
+ # @return [Integer]
1407
+ # @see AttributeSets::NeighbourAttrs::Master
1408
+ def master; attributes[:"master"]&.value; end
1409
+ # @rbs return: ::Integer
1410
+ # @return [Integer]
1411
+ # @see AttributeSets::NeighbourAttrs::Protocol
1412
+ def protocol; attributes[:"protocol"]&.value; end
1413
+ # @rbs return: ::Integer
1414
+ # @return [Integer]
1415
+ # @see AttributeSets::NeighbourAttrs::NhId
1416
+ def nh_id; attributes[:"nh_id"]&.value; end
1417
+ # @rbs return: ::String
1418
+ # @return [String]
1419
+ # @see AttributeSets::NeighbourAttrs::FdbExtAttrs
1420
+ def fdb_ext_attrs; attributes[:"fdb_ext_attrs"]&.value; end
1421
+ # Known flags are defined in {Flags::NtfExtFlags}.
1422
+ # @rbs return: ::Integer
1423
+ # @return [Integer]
1424
+ # @see AttributeSets::NeighbourAttrs::FlagsExt
1425
+ def flags_ext; attributes[:"flags_ext"]&.value; end
1426
+ end
1427
+ end
1428
+ # @private
1429
+ NOTIFICATIONS = Ractor.make_shareable({29 => Notifications::DelneighNtf, 28 => Notifications::NewneighNtf}) #: Hash[::Integer, ::Class]
858
1430
  # Add new neighbour entry
859
- #--
860
- # @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
1431
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String, ?lladdr: ::String, ?probes: ::Integer, ?vlan: ::Integer, ?port: ::Integer, ?vni: ::Integer, ?ifindex: ::Integer, ?master: ::Integer, ?protocol: ::Integer, ?nh_id: ::Integer, ?fdb_ext_attrs: ::String, ?flags_ext: ::Integer) -> void
1432
+ # @param [Hash] args
1433
+ # @option args [Integer] ndm_family
1434
+ # @option args [Integer] ndm_ifindex
1435
+ # @option args [Integer] ndm_state
1436
+ # @option args [Integer] ndm_flags
1437
+ # @option args [Integer] ndm_type
1438
+ # @option args [String] dst
1439
+ # @option args [String] lladdr
1440
+ # @option args [Integer] probes
1441
+ # @option args [Integer] vlan
1442
+ # @option args [Integer] port
1443
+ # @option args [Integer] vni
1444
+ # @option args [Integer] ifindex
1445
+ # @option args [Integer] master
1446
+ # @option args [Integer] protocol
1447
+ # @option args [Integer] nh_id
1448
+ # @option args [String] fdb_ext_attrs
1449
+ # @option args [Integer] flags_ext Known flags are defined in {Flags::NtfExtFlags}.
1450
+ # @return [void]
1451
+ # @see Messages::DoNewneighRequest
861
1452
  def do_newneigh(**args)
862
1453
  exchange_message(:"do", Messages::DoNewneighRequest, nil, args)
863
1454
  end
864
1455
  # Remove an existing neighbour entry
865
- #--
866
- # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: untyped, ?ifindex: ::Integer) -> void
1456
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String, ?ifindex: ::Integer) -> void
1457
+ # @param [Hash] args
1458
+ # @option args [Integer] ndm_family
1459
+ # @option args [Integer] ndm_ifindex
1460
+ # @option args [Integer] ndm_state
1461
+ # @option args [Integer] ndm_flags
1462
+ # @option args [Integer] ndm_type
1463
+ # @option args [String] dst
1464
+ # @option args [Integer] ifindex
1465
+ # @return [void]
1466
+ # @see Messages::DoDelneighRequest
867
1467
  def do_delneigh(**args)
868
1468
  exchange_message(:"do", Messages::DoDelneighRequest, nil, args)
869
1469
  end
870
1470
  # Get or dump neighbour entries
871
- #--
872
- # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: untyped) -> Messages::DoGetneighReply
1471
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String) -> Messages::DoGetneighReply
1472
+ # @param [Hash] args
1473
+ # @option args [Integer] ndm_family
1474
+ # @option args [Integer] ndm_ifindex
1475
+ # @option args [Integer] ndm_state
1476
+ # @option args [Integer] ndm_flags
1477
+ # @option args [Integer] ndm_type
1478
+ # @option args [String] dst
1479
+ # @return [Messages::DoGetneighReply]
1480
+ # @see Messages::DoGetneighRequest
873
1481
  def do_getneigh(**args)
874
1482
  exchange_message(:"do", Messages::DoGetneighRequest, Messages::DoGetneighReply, args)
875
1483
  end
876
1484
  # Get or dump neighbour entries
877
- #--
878
- # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) -> Enumerable[Messages::DumpGetneighReply]
1485
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) -> Array[Messages::DumpGetneighReply]
879
1486
  # | (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) { (Messages::DumpGetneighReply) -> void } -> void
1487
+ # @overload dump_getneigh(**args)
1488
+ # Returns an array when no block is given.
1489
+ # @param [Hash] args
1490
+ # @option args [Integer] ndm_family
1491
+ # @option args [Integer] ndm_ifindex
1492
+ # @option args [Integer] ndm_state
1493
+ # @option args [Integer] ndm_flags
1494
+ # @option args [Integer] ndm_type
1495
+ # @option args [Integer] ifindex
1496
+ # @option args [Integer] master
1497
+ # @return [Array<Messages::DumpGetneighReply>]
1498
+ # @overload dump_getneigh(**args, &block)
1499
+ # Yields each reply when a block is given.
1500
+ # @param [Hash] args
1501
+ # @option args [Integer] ndm_family
1502
+ # @option args [Integer] ndm_ifindex
1503
+ # @option args [Integer] ndm_state
1504
+ # @option args [Integer] ndm_flags
1505
+ # @option args [Integer] ndm_type
1506
+ # @option args [Integer] ifindex
1507
+ # @option args [Integer] master
1508
+ # @yieldparam [Messages::DumpGetneighReply] reply
1509
+ # @return [void]
1510
+ # @see Messages::DumpGetneighRequest
880
1511
  def dump_getneigh(**args, &block)
881
1512
  exchange_message(:"dump", Messages::DumpGetneighRequest, Messages::DumpGetneighReply, args, &block)
882
1513
  end
883
1514
  # Get or dump neighbour tables
884
- #--
885
- # @rbs (?family: ::Integer) -> Enumerable[Messages::DumpGetneightblReply]
1515
+ # @rbs (?family: ::Integer) -> Array[Messages::DumpGetneightblReply]
886
1516
  # | (?family: ::Integer) { (Messages::DumpGetneightblReply) -> void } -> void
1517
+ # @overload dump_getneightbl(**args)
1518
+ # Returns an array when no block is given.
1519
+ # @param [Hash] args
1520
+ # @option args [Integer] family
1521
+ # @return [Array<Messages::DumpGetneightblReply>]
1522
+ # @overload dump_getneightbl(**args, &block)
1523
+ # Yields each reply when a block is given.
1524
+ # @param [Hash] args
1525
+ # @option args [Integer] family
1526
+ # @yieldparam [Messages::DumpGetneightblReply] reply
1527
+ # @return [void]
1528
+ # @see Messages::DumpGetneightblRequest
887
1529
  def dump_getneightbl(**args, &block)
888
1530
  exchange_message(:"dump", Messages::DumpGetneightblRequest, Messages::DumpGetneightblReply, args, &block)
889
1531
  end
890
1532
  # Set neighbour tables
891
- #--
892
- # @rbs (?family: ::Integer, ?name: ::String, ?thresh1: ::Integer, ?thresh2: ::Integer, ?thresh3: ::Integer, ?parms: AttributeSets::NdtpaAttrs, ?gc_interval: ::Integer) -> void
1533
+ # @rbs (?family: ::Integer, ?name: ::String, ?thresh1: ::Integer, ?thresh2: ::Integer, ?thresh3: ::Integer, ?parms: (AttributeSets::NdtpaAttrs | ::Hash[::Symbol, untyped]), ?gc_interval: ::Integer) -> void
1534
+ # @param [Hash] args
1535
+ # @option args [Integer] family
1536
+ # @option args [String] name
1537
+ # @option args [Integer] thresh1
1538
+ # @option args [Integer] thresh2
1539
+ # @option args [Integer] thresh3
1540
+ # @option args [AttributeSets::NdtpaAttrs, Hash<Symbol, Object>] parms
1541
+ # @option args [Integer] gc_interval
1542
+ # @return [void]
1543
+ # @see Messages::DoSetneightblRequest
893
1544
  def do_setneightbl(**args)
894
1545
  exchange_message(:"do", Messages::DoSetneightblRequest, nil, args)
895
1546
  end
1547
+ class AsyncOperations
1548
+ # @private
1549
+ def initialize(&exchange)
1550
+ @exchange = exchange
1551
+ end
1552
+ # Add new neighbour entry
1553
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String, ?lladdr: ::String, ?probes: ::Integer, ?vlan: ::Integer, ?port: ::Integer, ?vni: ::Integer, ?ifindex: ::Integer, ?master: ::Integer, ?protocol: ::Integer, ?nh_id: ::Integer, ?fdb_ext_attrs: ::String, ?flags_ext: ::Integer) -> ::Nl::Async::Future[void]
1554
+ # @param [Hash] args
1555
+ # @option args [Integer] ndm_family
1556
+ # @option args [Integer] ndm_ifindex
1557
+ # @option args [Integer] ndm_state
1558
+ # @option args [Integer] ndm_flags
1559
+ # @option args [Integer] ndm_type
1560
+ # @option args [String] dst
1561
+ # @option args [String] lladdr
1562
+ # @option args [Integer] probes
1563
+ # @option args [Integer] vlan
1564
+ # @option args [Integer] port
1565
+ # @option args [Integer] vni
1566
+ # @option args [Integer] ifindex
1567
+ # @option args [Integer] master
1568
+ # @option args [Integer] protocol
1569
+ # @option args [Integer] nh_id
1570
+ # @option args [String] fdb_ext_attrs
1571
+ # @option args [Integer] flags_ext Known flags are defined in {Flags::NtfExtFlags}.
1572
+ # @return [Nl::Async::Future<void>]
1573
+ # @see Messages::DoNewneighRequest
1574
+ def do_newneigh(**args)
1575
+ @exchange.call(:"do", Messages::DoNewneighRequest, nil, args)
1576
+ end
1577
+ # Remove an existing neighbour entry
1578
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String, ?ifindex: ::Integer) -> ::Nl::Async::Future[void]
1579
+ # @param [Hash] args
1580
+ # @option args [Integer] ndm_family
1581
+ # @option args [Integer] ndm_ifindex
1582
+ # @option args [Integer] ndm_state
1583
+ # @option args [Integer] ndm_flags
1584
+ # @option args [Integer] ndm_type
1585
+ # @option args [String] dst
1586
+ # @option args [Integer] ifindex
1587
+ # @return [Nl::Async::Future<void>]
1588
+ # @see Messages::DoDelneighRequest
1589
+ def do_delneigh(**args)
1590
+ @exchange.call(:"do", Messages::DoDelneighRequest, nil, args)
1591
+ end
1592
+ # Get or dump neighbour entries
1593
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?dst: ::String) -> ::Nl::Async::Future[Messages::DoGetneighReply]
1594
+ # @param [Hash] args
1595
+ # @option args [Integer] ndm_family
1596
+ # @option args [Integer] ndm_ifindex
1597
+ # @option args [Integer] ndm_state
1598
+ # @option args [Integer] ndm_flags
1599
+ # @option args [Integer] ndm_type
1600
+ # @option args [String] dst
1601
+ # @return [Nl::Async::Future<Messages::DoGetneighReply>]
1602
+ # @see Messages::DoGetneighRequest
1603
+ def do_getneigh(**args)
1604
+ @exchange.call(:"do", Messages::DoGetneighRequest, Messages::DoGetneighReply, args)
1605
+ end
1606
+ # Get or dump neighbour entries
1607
+ # @rbs (?ndm_family: ::Integer, ?ndm_ifindex: ::Integer, ?ndm_state: ::Integer, ?ndm_flags: ::Integer, ?ndm_type: ::Integer, ?ifindex: ::Integer, ?master: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetneighReply]
1608
+ # @param [Hash] args
1609
+ # @option args [Integer] ndm_family
1610
+ # @option args [Integer] ndm_ifindex
1611
+ # @option args [Integer] ndm_state
1612
+ # @option args [Integer] ndm_flags
1613
+ # @option args [Integer] ndm_type
1614
+ # @option args [Integer] ifindex
1615
+ # @option args [Integer] master
1616
+ # @return [Nl::Async::Stream<Messages::DumpGetneighReply>]
1617
+ # @see Messages::DumpGetneighRequest
1618
+ def dump_getneigh(**args)
1619
+ @exchange.call(:"dump", Messages::DumpGetneighRequest, Messages::DumpGetneighReply, args)
1620
+ end
1621
+ # Get or dump neighbour tables
1622
+ # @rbs (?family: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetneightblReply]
1623
+ # @param [Hash] args
1624
+ # @option args [Integer] family
1625
+ # @return [Nl::Async::Stream<Messages::DumpGetneightblReply>]
1626
+ # @see Messages::DumpGetneightblRequest
1627
+ def dump_getneightbl(**args)
1628
+ @exchange.call(:"dump", Messages::DumpGetneightblRequest, Messages::DumpGetneightblReply, args)
1629
+ end
1630
+ # Set neighbour tables
1631
+ # @rbs (?family: ::Integer, ?name: ::String, ?thresh1: ::Integer, ?thresh2: ::Integer, ?thresh3: ::Integer, ?parms: (AttributeSets::NdtpaAttrs | ::Hash[::Symbol, untyped]), ?gc_interval: ::Integer) -> ::Nl::Async::Future[void]
1632
+ # @param [Hash] args
1633
+ # @option args [Integer] family
1634
+ # @option args [String] name
1635
+ # @option args [Integer] thresh1
1636
+ # @option args [Integer] thresh2
1637
+ # @option args [Integer] thresh3
1638
+ # @option args [AttributeSets::NdtpaAttrs, Hash<Symbol, Object>] parms
1639
+ # @option args [Integer] gc_interval
1640
+ # @return [Nl::Async::Future<void>]
1641
+ # @see Messages::DoSetneightblRequest
1642
+ def do_setneightbl(**args)
1643
+ @exchange.call(:"do", Messages::DoSetneightblRequest, nil, args)
1644
+ end
1645
+ end
1646
+ # Returns the asynchronous operation facade for this family.
1647
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
1648
+ # @param [::Integer, nil] stream_capacity
1649
+ # @return [AsyncOperations]
1650
+ def async(stream_capacity: nil)
1651
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
1652
+ build_async_facade(AsyncOperations, stream_capacity:)
1653
+ end
1654
+ # @rbs (*(:rtnlgrp_neigh) groups) -> self
1655
+ # @param [Array<:rtnlgrp_neigh>] groups
1656
+ # @return [self]
1657
+ def subscribe(*groups) = super
1658
+ # @rbs (*(:rtnlgrp_neigh) groups) -> self
1659
+ # @param [Array<:rtnlgrp_neigh>] groups
1660
+ # @return [self]
1661
+ def unsubscribe(*groups) = super
896
1662
  end
897
1663
  end; end