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