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