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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Rakefile +31 -5
  4. data/generated/nl/linux/binder.rb +96 -0
  5. data/generated/nl/linux/conntrack.rb +1227 -0
  6. data/generated/nl/linux/dev_energymodel.rb +235 -0
  7. data/generated/nl/linux/devlink.rb +5177 -0
  8. data/generated/nl/linux/dpll.rb +944 -0
  9. data/generated/nl/linux/ethtool.rb +7121 -0
  10. data/generated/nl/linux/fou.rb +332 -0
  11. data/generated/nl/linux/handshake.rb +238 -0
  12. data/generated/nl/linux/lockd.rb +99 -0
  13. data/generated/nl/linux/mptcp_pm.rb +607 -0
  14. data/generated/nl/linux/net_shaper.rb +731 -0
  15. data/generated/nl/linux/netdev.rb +1450 -0
  16. data/generated/nl/linux/nfsd.rb +500 -0
  17. data/generated/nl/linux/nftables.rb +2924 -0
  18. data/generated/nl/linux/nl80211.rb +3393 -0
  19. data/generated/nl/linux/nlctrl.rb +397 -0
  20. data/generated/nl/linux/ovpn.rb +964 -0
  21. data/generated/nl/linux/ovs_datapath.rb +321 -0
  22. data/generated/nl/linux/ovs_flow.rb +1447 -0
  23. data/generated/nl/linux/ovs_vport.rb +391 -0
  24. data/generated/nl/linux/psp.rb +463 -0
  25. data/generated/nl/linux/rt_addr.rb +448 -0
  26. data/generated/nl/linux/rt_link.rb +4613 -0
  27. data/generated/nl/linux/rt_neigh.rb +897 -0
  28. data/generated/nl/linux/rt_route.rb +1126 -0
  29. data/generated/nl/linux/rt_rule.rb +708 -0
  30. data/generated/nl/linux/tc.rb +7066 -0
  31. data/generated/nl/linux/tcp_metrics.rb +317 -0
  32. data/generated/nl/linux/team.rb +339 -0
  33. data/generated/nl/linux/wireguard.rb +430 -0
  34. data/generated/nl/linux.rb +35 -0
  35. data/lib/nl/linux/version.rb +1 -1
  36. data/lib/nl-linux.rb +1 -1
  37. metadata +37 -7
  38. data/lib/nl/linux.rb +0 -3
@@ -0,0 +1,1227 @@
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
+ # Netfilter connection tracking subsystem over nfnetlink
9
+ class Conntrack < ::Nl::Family
10
+ NAME = "conntrack"
11
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("conntrack", 12))
12
+ module Structs
13
+ Nfgenmsg = Struct.new(
14
+ :"nfgen_family", #: ::Integer
15
+ :"version", #: ::Integer
16
+ :"res_id", #: ::Integer
17
+ )
18
+ class Nfgenmsg
19
+ # :nodoc:
20
+ MEMBERS = Ractor.make_shareable({nfgen_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), version: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), res_id: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
21
+ # Decodes the struct.
22
+ #--
23
+ # @rbs decoder: ::Nl::Decoder
24
+ # @rbs return: instance
25
+ def self.decode(decoder)
26
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
27
+ end
28
+ # Encodes the struct.
29
+ #--
30
+ # @rbs encoder: ::Nl::Encoder
31
+ # @rbs return: void
32
+ def encode(encoder)
33
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
34
+ end
35
+ end
36
+ NfCtTcpFlagsMask = Struct.new(
37
+ :"flags", #: ::Integer
38
+ :"mask", #: ::Integer
39
+ )
40
+ class NfCtTcpFlagsMask
41
+ # :nodoc:
42
+ MEMBERS = Ractor.make_shareable({flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), mask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
43
+ # Decodes the struct.
44
+ #--
45
+ # @rbs decoder: ::Nl::Decoder
46
+ # @rbs return: instance
47
+ def self.decode(decoder)
48
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
49
+ end
50
+ # Encodes the struct.
51
+ #--
52
+ # @rbs encoder: ::Nl::Encoder
53
+ # @rbs return: void
54
+ def encode(encoder)
55
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
56
+ end
57
+ end
58
+ end
59
+ module AttributeSets
60
+ class CounterAttrs < ::Nl::Protocols::Raw::AttributeSet
61
+ # Abstract class
62
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
63
+ end
64
+ class Packets < Attribute
65
+ TYPE = 1
66
+ NAME = :"packets"
67
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
68
+ end
69
+ class Bytes < Attribute
70
+ TYPE = 2
71
+ NAME = :"bytes"
72
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
73
+ end
74
+ class PacketsOld < Attribute
75
+ TYPE = 3
76
+ NAME = :"packets_old"
77
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
78
+ end
79
+ class BytesOld < Attribute
80
+ TYPE = 4
81
+ NAME = :"bytes_old"
82
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
83
+ end
84
+ class Pad < Attribute
85
+ TYPE = 5
86
+ NAME = :"pad"
87
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
88
+ end
89
+ # :nodoc:
90
+ BY_NAME = Ractor.make_shareable({:"packets" => Packets, :"bytes" => Bytes, :"packets_old" => PacketsOld, :"bytes_old" => BytesOld, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
91
+ # :nodoc:
92
+ BY_TYPE = Ractor.make_shareable({1 => Packets, 2 => Bytes, 3 => PacketsOld, 4 => BytesOld, 5 => Pad}) #: Hash[::Integer, Attribute]
93
+ class << self
94
+ # Looks up Attribute class by name.
95
+ #--
96
+ # @rbs name: Symbol
97
+ # @rbs return: Attribute
98
+ def by_name(name); BY_NAME.fetch(name); end
99
+ # Looks up Attribute class by type value.
100
+ #--
101
+ # @rbs type: Integer
102
+ # @rbs return: Attribute
103
+ def by_type(type); BY_TYPE.fetch(type); end
104
+ end
105
+ end
106
+ class TupleProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
107
+ # Abstract class
108
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
109
+ end
110
+ class ProtoNum < Attribute
111
+ TYPE = 1
112
+ NAME = :"proto_num"
113
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
114
+ end
115
+ class ProtoSrcPort < Attribute
116
+ TYPE = 2
117
+ NAME = :"proto_src_port"
118
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
119
+ end
120
+ class ProtoDstPort < Attribute
121
+ TYPE = 3
122
+ NAME = :"proto_dst_port"
123
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
124
+ end
125
+ class ProtoIcmpId < Attribute
126
+ TYPE = 4
127
+ NAME = :"proto_icmp_id"
128
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
129
+ end
130
+ class ProtoIcmpType < Attribute
131
+ TYPE = 5
132
+ NAME = :"proto_icmp_type"
133
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
134
+ end
135
+ class ProtoIcmpCode < Attribute
136
+ TYPE = 6
137
+ NAME = :"proto_icmp_code"
138
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
139
+ end
140
+ class ProtoIcmpv6Id < Attribute
141
+ TYPE = 7
142
+ NAME = :"proto_icmpv6_id"
143
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
144
+ end
145
+ class ProtoIcmpv6Type < Attribute
146
+ TYPE = 8
147
+ NAME = :"proto_icmpv6_type"
148
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
149
+ end
150
+ class ProtoIcmpv6Code < Attribute
151
+ TYPE = 9
152
+ NAME = :"proto_icmpv6_code"
153
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
154
+ end
155
+ # :nodoc:
156
+ BY_NAME = Ractor.make_shareable({:"proto_num" => ProtoNum, :"proto_src_port" => ProtoSrcPort, :"proto_dst_port" => ProtoDstPort, :"proto_icmp_id" => ProtoIcmpId, :"proto_icmp_type" => ProtoIcmpType, :"proto_icmp_code" => ProtoIcmpCode, :"proto_icmpv6_id" => ProtoIcmpv6Id, :"proto_icmpv6_type" => ProtoIcmpv6Type, :"proto_icmpv6_code" => ProtoIcmpv6Code}) #: Hash[::Symbol, Attribute]
157
+ # :nodoc:
158
+ BY_TYPE = Ractor.make_shareable({1 => ProtoNum, 2 => ProtoSrcPort, 3 => ProtoDstPort, 4 => ProtoIcmpId, 5 => ProtoIcmpType, 6 => ProtoIcmpCode, 7 => ProtoIcmpv6Id, 8 => ProtoIcmpv6Type, 9 => ProtoIcmpv6Code}) #: Hash[::Integer, Attribute]
159
+ class << self
160
+ # Looks up Attribute class by name.
161
+ #--
162
+ # @rbs name: Symbol
163
+ # @rbs return: Attribute
164
+ def by_name(name); BY_NAME.fetch(name); end
165
+ # Looks up Attribute class by type value.
166
+ #--
167
+ # @rbs type: Integer
168
+ # @rbs return: Attribute
169
+ def by_type(type); BY_TYPE.fetch(type); end
170
+ end
171
+ end
172
+ class TupleIpAttrs < ::Nl::Protocols::Raw::AttributeSet
173
+ # Abstract class
174
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
175
+ end
176
+ class IpV4Src < Attribute
177
+ TYPE = 1
178
+ NAME = :"ip_v4_src"
179
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
180
+ end
181
+ class IpV4Dst < Attribute
182
+ TYPE = 2
183
+ NAME = :"ip_v4_dst"
184
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
185
+ end
186
+ class IpV6Src < Attribute
187
+ TYPE = 3
188
+ NAME = :"ip_v6_src"
189
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
190
+ end
191
+ class IpV6Dst < Attribute
192
+ TYPE = 4
193
+ NAME = :"ip_v6_dst"
194
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
195
+ end
196
+ # :nodoc:
197
+ BY_NAME = Ractor.make_shareable({:"ip_v4_src" => IpV4Src, :"ip_v4_dst" => IpV4Dst, :"ip_v6_src" => IpV6Src, :"ip_v6_dst" => IpV6Dst}) #: Hash[::Symbol, Attribute]
198
+ # :nodoc:
199
+ BY_TYPE = Ractor.make_shareable({1 => IpV4Src, 2 => IpV4Dst, 3 => IpV6Src, 4 => IpV6Dst}) #: Hash[::Integer, Attribute]
200
+ class << self
201
+ # Looks up Attribute class by name.
202
+ #--
203
+ # @rbs name: Symbol
204
+ # @rbs return: Attribute
205
+ def by_name(name); BY_NAME.fetch(name); end
206
+ # Looks up Attribute class by type value.
207
+ #--
208
+ # @rbs type: Integer
209
+ # @rbs return: Attribute
210
+ def by_type(type); BY_TYPE.fetch(type); end
211
+ end
212
+ end
213
+ class TupleAttrs < ::Nl::Protocols::Raw::AttributeSet
214
+ # Abstract class
215
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
216
+ end
217
+ class TupleIp < Attribute
218
+ TYPE = 1
219
+ NAME = :"tuple_ip"
220
+ end
221
+ class TupleProto < Attribute
222
+ TYPE = 2
223
+ NAME = :"tuple_proto"
224
+ end
225
+ class TupleZone < Attribute
226
+ TYPE = 3
227
+ NAME = :"tuple_zone"
228
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
229
+ end
230
+ # :nodoc:
231
+ BY_NAME = Ractor.make_shareable({:"tuple_ip" => TupleIp, :"tuple_proto" => TupleProto, :"tuple_zone" => TupleZone}) #: Hash[::Symbol, Attribute]
232
+ # :nodoc:
233
+ BY_TYPE = Ractor.make_shareable({1 => TupleIp, 2 => TupleProto, 3 => TupleZone}) #: Hash[::Integer, Attribute]
234
+ class << self
235
+ # Looks up Attribute class by name.
236
+ #--
237
+ # @rbs name: Symbol
238
+ # @rbs return: Attribute
239
+ def by_name(name); BY_NAME.fetch(name); end
240
+ # Looks up Attribute class by type value.
241
+ #--
242
+ # @rbs type: Integer
243
+ # @rbs return: Attribute
244
+ def by_type(type); BY_TYPE.fetch(type); end
245
+ end
246
+ end
247
+ class ProtoinfoTcpAttrs < ::Nl::Protocols::Raw::AttributeSet
248
+ # Abstract class
249
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
250
+ end
251
+ class TcpState < Attribute
252
+ TYPE = 1
253
+ NAME = :"tcp_state"
254
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
255
+ end
256
+ class TcpWscaleOriginal < Attribute
257
+ TYPE = 2
258
+ NAME = :"tcp_wscale_original"
259
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
260
+ end
261
+ class TcpWscaleReply < Attribute
262
+ TYPE = 3
263
+ NAME = :"tcp_wscale_reply"
264
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
265
+ end
266
+ class TcpFlagsOriginal < Attribute
267
+ TYPE = 4
268
+ NAME = :"tcp_flags_original"
269
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
270
+ end
271
+ class TcpFlagsReply < Attribute
272
+ TYPE = 5
273
+ NAME = :"tcp_flags_reply"
274
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
275
+ end
276
+ # :nodoc:
277
+ BY_NAME = Ractor.make_shareable({:"tcp_state" => TcpState, :"tcp_wscale_original" => TcpWscaleOriginal, :"tcp_wscale_reply" => TcpWscaleReply, :"tcp_flags_original" => TcpFlagsOriginal, :"tcp_flags_reply" => TcpFlagsReply}) #: Hash[::Symbol, Attribute]
278
+ # :nodoc:
279
+ BY_TYPE = Ractor.make_shareable({1 => TcpState, 2 => TcpWscaleOriginal, 3 => TcpWscaleReply, 4 => TcpFlagsOriginal, 5 => TcpFlagsReply}) #: Hash[::Integer, Attribute]
280
+ class << self
281
+ # Looks up Attribute class by name.
282
+ #--
283
+ # @rbs name: Symbol
284
+ # @rbs return: Attribute
285
+ def by_name(name); BY_NAME.fetch(name); end
286
+ # Looks up Attribute class by type value.
287
+ #--
288
+ # @rbs type: Integer
289
+ # @rbs return: Attribute
290
+ def by_type(type); BY_TYPE.fetch(type); end
291
+ end
292
+ end
293
+ class ProtoinfoDccpAttrs < ::Nl::Protocols::Raw::AttributeSet
294
+ # Abstract class
295
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
296
+ end
297
+ class DccpState < Attribute
298
+ TYPE = 1
299
+ NAME = :"dccp_state"
300
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
301
+ end
302
+ class DccpRole < Attribute
303
+ TYPE = 2
304
+ NAME = :"dccp_role"
305
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
306
+ end
307
+ class DccpHandshakeSeq < Attribute
308
+ TYPE = 3
309
+ NAME = :"dccp_handshake_seq"
310
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
311
+ end
312
+ class DccpPad < Attribute
313
+ TYPE = 4
314
+ NAME = :"dccp_pad"
315
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
316
+ end
317
+ # :nodoc:
318
+ BY_NAME = Ractor.make_shareable({:"dccp_state" => DccpState, :"dccp_role" => DccpRole, :"dccp_handshake_seq" => DccpHandshakeSeq, :"dccp_pad" => DccpPad}) #: Hash[::Symbol, Attribute]
319
+ # :nodoc:
320
+ BY_TYPE = Ractor.make_shareable({1 => DccpState, 2 => DccpRole, 3 => DccpHandshakeSeq, 4 => DccpPad}) #: Hash[::Integer, Attribute]
321
+ class << self
322
+ # Looks up Attribute class by name.
323
+ #--
324
+ # @rbs name: Symbol
325
+ # @rbs return: Attribute
326
+ def by_name(name); BY_NAME.fetch(name); end
327
+ # Looks up Attribute class by type value.
328
+ #--
329
+ # @rbs type: Integer
330
+ # @rbs return: Attribute
331
+ def by_type(type); BY_TYPE.fetch(type); end
332
+ end
333
+ end
334
+ class ProtoinfoSctpAttrs < ::Nl::Protocols::Raw::AttributeSet
335
+ # Abstract class
336
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
337
+ end
338
+ class SctpState < Attribute
339
+ TYPE = 1
340
+ NAME = :"sctp_state"
341
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
342
+ end
343
+ class VtagOriginal < Attribute
344
+ TYPE = 2
345
+ NAME = :"vtag_original"
346
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
347
+ end
348
+ class VtagReply < Attribute
349
+ TYPE = 3
350
+ NAME = :"vtag_reply"
351
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
352
+ end
353
+ # :nodoc:
354
+ BY_NAME = Ractor.make_shareable({:"sctp_state" => SctpState, :"vtag_original" => VtagOriginal, :"vtag_reply" => VtagReply}) #: Hash[::Symbol, Attribute]
355
+ # :nodoc:
356
+ BY_TYPE = Ractor.make_shareable({1 => SctpState, 2 => VtagOriginal, 3 => VtagReply}) #: Hash[::Integer, Attribute]
357
+ class << self
358
+ # Looks up Attribute class by name.
359
+ #--
360
+ # @rbs name: Symbol
361
+ # @rbs return: Attribute
362
+ def by_name(name); BY_NAME.fetch(name); end
363
+ # Looks up Attribute class by type value.
364
+ #--
365
+ # @rbs type: Integer
366
+ # @rbs return: Attribute
367
+ def by_type(type); BY_TYPE.fetch(type); end
368
+ end
369
+ end
370
+ class ProtoinfoAttrs < ::Nl::Protocols::Raw::AttributeSet
371
+ # Abstract class
372
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
373
+ end
374
+ class ProtoinfoTcp < Attribute
375
+ TYPE = 1
376
+ NAME = :"protoinfo_tcp"
377
+ end
378
+ class ProtoinfoDccp < Attribute
379
+ TYPE = 2
380
+ NAME = :"protoinfo_dccp"
381
+ end
382
+ class ProtoinfoSctp < Attribute
383
+ TYPE = 3
384
+ NAME = :"protoinfo_sctp"
385
+ end
386
+ # :nodoc:
387
+ BY_NAME = Ractor.make_shareable({:"protoinfo_tcp" => ProtoinfoTcp, :"protoinfo_dccp" => ProtoinfoDccp, :"protoinfo_sctp" => ProtoinfoSctp}) #: Hash[::Symbol, Attribute]
388
+ # :nodoc:
389
+ BY_TYPE = Ractor.make_shareable({1 => ProtoinfoTcp, 2 => ProtoinfoDccp, 3 => ProtoinfoSctp}) #: Hash[::Integer, Attribute]
390
+ class << self
391
+ # Looks up Attribute class by name.
392
+ #--
393
+ # @rbs name: Symbol
394
+ # @rbs return: Attribute
395
+ def by_name(name); BY_NAME.fetch(name); end
396
+ # Looks up Attribute class by type value.
397
+ #--
398
+ # @rbs type: Integer
399
+ # @rbs return: Attribute
400
+ def by_type(type); BY_TYPE.fetch(type); end
401
+ end
402
+ end
403
+ class HelpAttrs < ::Nl::Protocols::Raw::AttributeSet
404
+ # Abstract class
405
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
406
+ end
407
+ class HelpName < Attribute
408
+ TYPE = 1
409
+ NAME = :"help_name"
410
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
411
+ end
412
+ # :nodoc:
413
+ BY_NAME = Ractor.make_shareable({:"help_name" => HelpName}) #: Hash[::Symbol, Attribute]
414
+ # :nodoc:
415
+ BY_TYPE = Ractor.make_shareable({1 => HelpName}) #: Hash[::Integer, Attribute]
416
+ class << self
417
+ # Looks up Attribute class by name.
418
+ #--
419
+ # @rbs name: Symbol
420
+ # @rbs return: Attribute
421
+ def by_name(name); BY_NAME.fetch(name); end
422
+ # Looks up Attribute class by type value.
423
+ #--
424
+ # @rbs type: Integer
425
+ # @rbs return: Attribute
426
+ def by_type(type); BY_TYPE.fetch(type); end
427
+ end
428
+ end
429
+ class NatProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
430
+ # Abstract class
431
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
432
+ end
433
+ class NatPortMin < Attribute
434
+ TYPE = 1
435
+ NAME = :"nat_port_min"
436
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
437
+ end
438
+ class NatPortMax < Attribute
439
+ TYPE = 2
440
+ NAME = :"nat_port_max"
441
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
442
+ end
443
+ # :nodoc:
444
+ BY_NAME = Ractor.make_shareable({:"nat_port_min" => NatPortMin, :"nat_port_max" => NatPortMax}) #: Hash[::Symbol, Attribute]
445
+ # :nodoc:
446
+ BY_TYPE = Ractor.make_shareable({1 => NatPortMin, 2 => NatPortMax}) #: Hash[::Integer, Attribute]
447
+ class << self
448
+ # Looks up Attribute class by name.
449
+ #--
450
+ # @rbs name: Symbol
451
+ # @rbs return: Attribute
452
+ def by_name(name); BY_NAME.fetch(name); end
453
+ # Looks up Attribute class by type value.
454
+ #--
455
+ # @rbs type: Integer
456
+ # @rbs return: Attribute
457
+ def by_type(type); BY_TYPE.fetch(type); end
458
+ end
459
+ end
460
+ class NatAttrs < ::Nl::Protocols::Raw::AttributeSet
461
+ # Abstract class
462
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
463
+ end
464
+ class NatV4Minip < Attribute
465
+ TYPE = 1
466
+ NAME = :"nat_v4_minip"
467
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
468
+ end
469
+ class NatV4Maxip < Attribute
470
+ TYPE = 2
471
+ NAME = :"nat_v4_maxip"
472
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
473
+ end
474
+ class NatV6Minip < Attribute
475
+ TYPE = 3
476
+ NAME = :"nat_v6_minip"
477
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
478
+ end
479
+ class NatV6Maxip < Attribute
480
+ TYPE = 4
481
+ NAME = :"nat_v6_maxip"
482
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
483
+ end
484
+ class NatProto < Attribute
485
+ TYPE = 5
486
+ NAME = :"nat_proto"
487
+ end
488
+ # :nodoc:
489
+ BY_NAME = Ractor.make_shareable({:"nat_v4_minip" => NatV4Minip, :"nat_v4_maxip" => NatV4Maxip, :"nat_v6_minip" => NatV6Minip, :"nat_v6_maxip" => NatV6Maxip, :"nat_proto" => NatProto}) #: Hash[::Symbol, Attribute]
490
+ # :nodoc:
491
+ BY_TYPE = Ractor.make_shareable({1 => NatV4Minip, 2 => NatV4Maxip, 3 => NatV6Minip, 4 => NatV6Maxip, 5 => NatProto}) #: Hash[::Integer, Attribute]
492
+ class << self
493
+ # Looks up Attribute class by name.
494
+ #--
495
+ # @rbs name: Symbol
496
+ # @rbs return: Attribute
497
+ def by_name(name); BY_NAME.fetch(name); end
498
+ # Looks up Attribute class by type value.
499
+ #--
500
+ # @rbs type: Integer
501
+ # @rbs return: Attribute
502
+ def by_type(type); BY_TYPE.fetch(type); end
503
+ end
504
+ end
505
+ class SeqadjAttrs < ::Nl::Protocols::Raw::AttributeSet
506
+ # Abstract class
507
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
508
+ end
509
+ class CorrectionPos < Attribute
510
+ TYPE = 1
511
+ NAME = :"correction_pos"
512
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
513
+ end
514
+ class OffsetBefore < Attribute
515
+ TYPE = 2
516
+ NAME = :"offset_before"
517
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
518
+ end
519
+ class OffsetAfter < Attribute
520
+ TYPE = 3
521
+ NAME = :"offset_after"
522
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
523
+ end
524
+ # :nodoc:
525
+ BY_NAME = Ractor.make_shareable({:"correction_pos" => CorrectionPos, :"offset_before" => OffsetBefore, :"offset_after" => OffsetAfter}) #: Hash[::Symbol, Attribute]
526
+ # :nodoc:
527
+ BY_TYPE = Ractor.make_shareable({1 => CorrectionPos, 2 => OffsetBefore, 3 => OffsetAfter}) #: Hash[::Integer, Attribute]
528
+ class << self
529
+ # Looks up Attribute class by name.
530
+ #--
531
+ # @rbs name: Symbol
532
+ # @rbs return: Attribute
533
+ def by_name(name); BY_NAME.fetch(name); end
534
+ # Looks up Attribute class by type value.
535
+ #--
536
+ # @rbs type: Integer
537
+ # @rbs return: Attribute
538
+ def by_type(type); BY_TYPE.fetch(type); end
539
+ end
540
+ end
541
+ class SecctxAttrs < ::Nl::Protocols::Raw::AttributeSet
542
+ # Abstract class
543
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
544
+ end
545
+ class SecctxName < Attribute
546
+ TYPE = 1
547
+ NAME = :"secctx_name"
548
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
549
+ end
550
+ # :nodoc:
551
+ BY_NAME = Ractor.make_shareable({:"secctx_name" => SecctxName}) #: Hash[::Symbol, Attribute]
552
+ # :nodoc:
553
+ BY_TYPE = Ractor.make_shareable({1 => SecctxName}) #: Hash[::Integer, Attribute]
554
+ class << self
555
+ # Looks up Attribute class by name.
556
+ #--
557
+ # @rbs name: Symbol
558
+ # @rbs return: Attribute
559
+ def by_name(name); BY_NAME.fetch(name); end
560
+ # Looks up Attribute class by type value.
561
+ #--
562
+ # @rbs type: Integer
563
+ # @rbs return: Attribute
564
+ def by_type(type); BY_TYPE.fetch(type); end
565
+ end
566
+ end
567
+ class SynproxyAttrs < ::Nl::Protocols::Raw::AttributeSet
568
+ # Abstract class
569
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
570
+ end
571
+ class Isn < Attribute
572
+ TYPE = 1
573
+ NAME = :"isn"
574
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
575
+ end
576
+ class Its < Attribute
577
+ TYPE = 2
578
+ NAME = :"its"
579
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
580
+ end
581
+ class Tsoff < Attribute
582
+ TYPE = 3
583
+ NAME = :"tsoff"
584
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
585
+ end
586
+ # :nodoc:
587
+ BY_NAME = Ractor.make_shareable({:"isn" => Isn, :"its" => Its, :"tsoff" => Tsoff}) #: Hash[::Symbol, Attribute]
588
+ # :nodoc:
589
+ BY_TYPE = Ractor.make_shareable({1 => Isn, 2 => Its, 3 => Tsoff}) #: Hash[::Integer, Attribute]
590
+ class << self
591
+ # Looks up Attribute class by name.
592
+ #--
593
+ # @rbs name: Symbol
594
+ # @rbs return: Attribute
595
+ def by_name(name); BY_NAME.fetch(name); end
596
+ # Looks up Attribute class by type value.
597
+ #--
598
+ # @rbs type: Integer
599
+ # @rbs return: Attribute
600
+ def by_type(type); BY_TYPE.fetch(type); end
601
+ end
602
+ end
603
+ class ConntrackAttrs < ::Nl::Protocols::Raw::AttributeSet
604
+ # Abstract class
605
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
606
+ end
607
+ class TupleOrig < Attribute
608
+ TYPE = 1
609
+ NAME = :"tuple_orig"
610
+ end
611
+ class TupleReply < Attribute
612
+ TYPE = 2
613
+ NAME = :"tuple_reply"
614
+ end
615
+ class Status < Attribute
616
+ TYPE = 3
617
+ NAME = :"status"
618
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
619
+ end
620
+ class Protoinfo < Attribute
621
+ TYPE = 4
622
+ NAME = :"protoinfo"
623
+ end
624
+ class Help < Attribute
625
+ TYPE = 5
626
+ NAME = :"help"
627
+ end
628
+ class NatSrc < Attribute
629
+ TYPE = 6
630
+ NAME = :"nat_src"
631
+ end
632
+ class Timeout < Attribute
633
+ TYPE = 7
634
+ NAME = :"timeout"
635
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
636
+ end
637
+ class Mark < Attribute
638
+ TYPE = 8
639
+ NAME = :"mark"
640
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
641
+ end
642
+ class CountersOrig < Attribute
643
+ TYPE = 9
644
+ NAME = :"counters_orig"
645
+ end
646
+ class CountersReply < Attribute
647
+ TYPE = 10
648
+ NAME = :"counters_reply"
649
+ end
650
+ class Use < Attribute
651
+ TYPE = 11
652
+ NAME = :"use"
653
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
654
+ end
655
+ class Id < Attribute
656
+ TYPE = 12
657
+ NAME = :"id"
658
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
659
+ end
660
+ class NatDst < Attribute
661
+ TYPE = 13
662
+ NAME = :"nat_dst"
663
+ end
664
+ class TupleMaster < Attribute
665
+ TYPE = 14
666
+ NAME = :"tuple_master"
667
+ end
668
+ class SeqAdjOrig < Attribute
669
+ TYPE = 15
670
+ NAME = :"seq_adj_orig"
671
+ end
672
+ class SeqAdjReply < Attribute
673
+ TYPE = 16
674
+ NAME = :"seq_adj_reply"
675
+ end
676
+ class Secmark < Attribute
677
+ TYPE = 17
678
+ NAME = :"secmark"
679
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
680
+ end
681
+ class Zone < Attribute
682
+ TYPE = 18
683
+ NAME = :"zone"
684
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
685
+ end
686
+ class Secctx < Attribute
687
+ TYPE = 19
688
+ NAME = :"secctx"
689
+ end
690
+ class Timestamp < Attribute
691
+ TYPE = 20
692
+ NAME = :"timestamp"
693
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
694
+ end
695
+ class MarkMask < Attribute
696
+ TYPE = 21
697
+ NAME = :"mark_mask"
698
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
699
+ end
700
+ class Labels < Attribute
701
+ TYPE = 22
702
+ NAME = :"labels"
703
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
704
+ end
705
+ class LabelsMask < Attribute
706
+ TYPE = 23
707
+ NAME = :"labels_mask"
708
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
709
+ end
710
+ class Synproxy < Attribute
711
+ TYPE = 24
712
+ NAME = :"synproxy"
713
+ end
714
+ class Filter < Attribute
715
+ TYPE = 25
716
+ NAME = :"filter"
717
+ end
718
+ class StatusMask < Attribute
719
+ TYPE = 26
720
+ NAME = :"status_mask"
721
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
722
+ end
723
+ class TimestampEvent < Attribute
724
+ TYPE = 27
725
+ NAME = :"timestamp_event"
726
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
727
+ end
728
+ # :nodoc:
729
+ BY_NAME = Ractor.make_shareable({:"tuple_orig" => TupleOrig, :"tuple_reply" => TupleReply, :"status" => Status, :"protoinfo" => Protoinfo, :"help" => Help, :"nat_src" => NatSrc, :"timeout" => Timeout, :"mark" => Mark, :"counters_orig" => CountersOrig, :"counters_reply" => CountersReply, :"use" => Use, :"id" => Id, :"nat_dst" => NatDst, :"tuple_master" => TupleMaster, :"seq_adj_orig" => SeqAdjOrig, :"seq_adj_reply" => SeqAdjReply, :"secmark" => Secmark, :"zone" => Zone, :"secctx" => Secctx, :"timestamp" => Timestamp, :"mark_mask" => MarkMask, :"labels" => Labels, :"labels_mask" => LabelsMask, :"synproxy" => Synproxy, :"filter" => Filter, :"status_mask" => StatusMask, :"timestamp_event" => TimestampEvent}) #: Hash[::Symbol, Attribute]
730
+ # :nodoc:
731
+ BY_TYPE = Ractor.make_shareable({1 => TupleOrig, 2 => TupleReply, 3 => Status, 4 => Protoinfo, 5 => Help, 6 => NatSrc, 7 => Timeout, 8 => Mark, 9 => CountersOrig, 10 => CountersReply, 11 => Use, 12 => Id, 13 => NatDst, 14 => TupleMaster, 15 => SeqAdjOrig, 16 => SeqAdjReply, 17 => Secmark, 18 => Zone, 19 => Secctx, 20 => Timestamp, 21 => MarkMask, 22 => Labels, 23 => LabelsMask, 24 => Synproxy, 25 => Filter, 26 => StatusMask, 27 => TimestampEvent}) #: Hash[::Integer, Attribute]
732
+ class << self
733
+ # Looks up Attribute class by name.
734
+ #--
735
+ # @rbs name: Symbol
736
+ # @rbs return: Attribute
737
+ def by_name(name); BY_NAME.fetch(name); end
738
+ # Looks up Attribute class by type value.
739
+ #--
740
+ # @rbs type: Integer
741
+ # @rbs return: Attribute
742
+ def by_type(type); BY_TYPE.fetch(type); end
743
+ end
744
+ end
745
+ class ConntrackStatsAttrs < ::Nl::Protocols::Raw::AttributeSet
746
+ # Abstract class
747
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
748
+ end
749
+ class Searched < Attribute
750
+ TYPE = 1
751
+ NAME = :"searched"
752
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
753
+ end
754
+ class Found < Attribute
755
+ TYPE = 2
756
+ NAME = :"found"
757
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
758
+ end
759
+ class New < Attribute
760
+ TYPE = 3
761
+ NAME = :"new"
762
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
763
+ end
764
+ class Invalid < Attribute
765
+ TYPE = 4
766
+ NAME = :"invalid"
767
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
768
+ end
769
+ class Ignore < Attribute
770
+ TYPE = 5
771
+ NAME = :"ignore"
772
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
773
+ end
774
+ class Delete < Attribute
775
+ TYPE = 6
776
+ NAME = :"delete"
777
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
778
+ end
779
+ class DeleteList < Attribute
780
+ TYPE = 7
781
+ NAME = :"delete_list"
782
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
783
+ end
784
+ class Insert < Attribute
785
+ TYPE = 8
786
+ NAME = :"insert"
787
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
788
+ end
789
+ class InsertFailed < Attribute
790
+ TYPE = 9
791
+ NAME = :"insert_failed"
792
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
793
+ end
794
+ class Drop < Attribute
795
+ TYPE = 10
796
+ NAME = :"drop"
797
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
798
+ end
799
+ class EarlyDrop < Attribute
800
+ TYPE = 11
801
+ NAME = :"early_drop"
802
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
803
+ end
804
+ class Error < Attribute
805
+ TYPE = 12
806
+ NAME = :"error"
807
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
808
+ end
809
+ class SearchRestart < Attribute
810
+ TYPE = 13
811
+ NAME = :"search_restart"
812
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
813
+ end
814
+ class ClashResolve < Attribute
815
+ TYPE = 14
816
+ NAME = :"clash_resolve"
817
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
818
+ end
819
+ class ChainToolong < Attribute
820
+ TYPE = 15
821
+ NAME = :"chain_toolong"
822
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
823
+ end
824
+ # :nodoc:
825
+ BY_NAME = Ractor.make_shareable({:"searched" => Searched, :"found" => Found, :"new" => New, :"invalid" => Invalid, :"ignore" => Ignore, :"delete" => Delete, :"delete_list" => DeleteList, :"insert" => Insert, :"insert_failed" => InsertFailed, :"drop" => Drop, :"early_drop" => EarlyDrop, :"error" => Error, :"search_restart" => SearchRestart, :"clash_resolve" => ClashResolve, :"chain_toolong" => ChainToolong}) #: Hash[::Symbol, Attribute]
826
+ # :nodoc:
827
+ BY_TYPE = Ractor.make_shareable({1 => Searched, 2 => Found, 3 => New, 4 => Invalid, 5 => Ignore, 6 => Delete, 7 => DeleteList, 8 => Insert, 9 => InsertFailed, 10 => Drop, 11 => EarlyDrop, 12 => Error, 13 => SearchRestart, 14 => ClashResolve, 15 => ChainToolong}) #: Hash[::Integer, Attribute]
828
+ class << self
829
+ # Looks up Attribute class by name.
830
+ #--
831
+ # @rbs name: Symbol
832
+ # @rbs return: Attribute
833
+ def by_name(name); BY_NAME.fetch(name); end
834
+ # Looks up Attribute class by type value.
835
+ #--
836
+ # @rbs type: Integer
837
+ # @rbs return: Attribute
838
+ def by_type(type); BY_TYPE.fetch(type); end
839
+ end
840
+ end
841
+ TupleAttrs::TupleIp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleIpAttrs)
842
+ TupleAttrs::TupleProto::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleProtoAttrs)
843
+ ProtoinfoAttrs::ProtoinfoTcp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoTcpAttrs)
844
+ ProtoinfoAttrs::ProtoinfoDccp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoDccpAttrs)
845
+ ProtoinfoAttrs::ProtoinfoSctp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoSctpAttrs)
846
+ NatAttrs::NatProto::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatProtoAttrs)
847
+ ConntrackAttrs::TupleOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
848
+ ConntrackAttrs::TupleReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
849
+ ConntrackAttrs::Protoinfo::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoAttrs)
850
+ ConntrackAttrs::Help::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(HelpAttrs)
851
+ ConntrackAttrs::NatSrc::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatAttrs)
852
+ ConntrackAttrs::CountersOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(CounterAttrs)
853
+ ConntrackAttrs::CountersReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(CounterAttrs)
854
+ ConntrackAttrs::NatDst::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatAttrs)
855
+ ConntrackAttrs::TupleMaster::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
856
+ ConntrackAttrs::SeqAdjOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SeqadjAttrs)
857
+ ConntrackAttrs::SeqAdjReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SeqadjAttrs)
858
+ ConntrackAttrs::Secctx::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SecctxAttrs)
859
+ ConntrackAttrs::Synproxy::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SynproxyAttrs)
860
+ ConntrackAttrs::Filter::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
861
+ end
862
+ module Messages
863
+ # get / dump entries
864
+ class DoGetRequest < ::Nl::Protocols::Raw::Message
865
+ TYPE = 257
866
+ FIXED_HEADER = Structs::Nfgenmsg
867
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
868
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply zone])
869
+ # Gets the value of `nfgen-family` field in the message's fixed header.
870
+ #--
871
+ # @rbs return: ::Integer
872
+ def nfgen_family; fixed_header.nfgen_family; end
873
+ # Gets the value of `version` field in the message's fixed header.
874
+ #--
875
+ # @rbs return: ::Integer
876
+ def version; fixed_header.version; end
877
+ # Gets the value of `res-id` field in the message's fixed header.
878
+ #--
879
+ # @rbs return: ::Integer
880
+ def res_id; fixed_header.res_id; end
881
+ # Gets the value of `tuple-orig` attribute in the message.
882
+ #--
883
+ # @rbs return: AttributeSets::TupleAttrs
884
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
885
+ # Gets the value of `tuple-reply` attribute in the message.
886
+ #--
887
+ # @rbs return: AttributeSets::TupleAttrs
888
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
889
+ # Gets the value of `zone` attribute in the message.
890
+ #--
891
+ # @rbs return: ::Integer
892
+ def zone; attributes[:"zone"]&.value; end
893
+ end
894
+ # get / dump entries
895
+ class DoGetReply < ::Nl::Protocols::Raw::Message
896
+ TYPE = 256
897
+ FIXED_HEADER = Structs::Nfgenmsg
898
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
899
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply status protoinfo help nat_src timeout mark counters_orig counters_reply use id nat_dst tuple_master seq_adj_orig seq_adj_reply zone secctx labels synproxy])
900
+ # Gets the value of `nfgen-family` field in the message's fixed header.
901
+ #--
902
+ # @rbs return: ::Integer
903
+ def nfgen_family; fixed_header.nfgen_family; end
904
+ # Gets the value of `version` field in the message's fixed header.
905
+ #--
906
+ # @rbs return: ::Integer
907
+ def version; fixed_header.version; end
908
+ # Gets the value of `res-id` field in the message's fixed header.
909
+ #--
910
+ # @rbs return: ::Integer
911
+ def res_id; fixed_header.res_id; end
912
+ # Gets the value of `tuple-orig` attribute in the message.
913
+ #--
914
+ # @rbs return: AttributeSets::TupleAttrs
915
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
916
+ # Gets the value of `tuple-reply` attribute in the message.
917
+ #--
918
+ # @rbs return: AttributeSets::TupleAttrs
919
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
920
+ # Gets the value of `status` attribute in the message.
921
+ #--
922
+ # @rbs return: ::Integer
923
+ def status; attributes[:"status"]&.value; end
924
+ # Gets the value of `protoinfo` attribute in the message.
925
+ #--
926
+ # @rbs return: AttributeSets::ProtoinfoAttrs
927
+ def protoinfo; attributes[:"protoinfo"]&.value; end
928
+ # Gets the value of `help` attribute in the message.
929
+ #--
930
+ # @rbs return: AttributeSets::HelpAttrs
931
+ def help; attributes[:"help"]&.value; end
932
+ # Gets the value of `nat-src` attribute in the message.
933
+ #--
934
+ # @rbs return: AttributeSets::NatAttrs
935
+ def nat_src; attributes[:"nat_src"]&.value; end
936
+ # Gets the value of `timeout` attribute in the message.
937
+ #--
938
+ # @rbs return: ::Integer
939
+ def timeout; attributes[:"timeout"]&.value; end
940
+ # Gets the value of `mark` attribute in the message.
941
+ #--
942
+ # @rbs return: ::Integer
943
+ def mark; attributes[:"mark"]&.value; end
944
+ # Gets the value of `counters-orig` attribute in the message.
945
+ #--
946
+ # @rbs return: AttributeSets::CounterAttrs
947
+ def counters_orig; attributes[:"counters_orig"]&.value; end
948
+ # Gets the value of `counters-reply` attribute in the message.
949
+ #--
950
+ # @rbs return: AttributeSets::CounterAttrs
951
+ def counters_reply; attributes[:"counters_reply"]&.value; end
952
+ # Gets the value of `use` attribute in the message.
953
+ #--
954
+ # @rbs return: ::Integer
955
+ def use; attributes[:"use"]&.value; end
956
+ # Gets the value of `id` attribute in the message.
957
+ #--
958
+ # @rbs return: ::Integer
959
+ def id; attributes[:"id"]&.value; end
960
+ # Gets the value of `nat-dst` attribute in the message.
961
+ #--
962
+ # @rbs return: AttributeSets::NatAttrs
963
+ def nat_dst; attributes[:"nat_dst"]&.value; end
964
+ # Gets the value of `tuple-master` attribute in the message.
965
+ #--
966
+ # @rbs return: AttributeSets::TupleAttrs
967
+ def tuple_master; attributes[:"tuple_master"]&.value; end
968
+ # Gets the value of `seq-adj-orig` attribute in the message.
969
+ #--
970
+ # @rbs return: AttributeSets::SeqadjAttrs
971
+ def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
972
+ # Gets the value of `seq-adj-reply` attribute in the message.
973
+ #--
974
+ # @rbs return: AttributeSets::SeqadjAttrs
975
+ def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
976
+ # Gets the value of `zone` attribute in the message.
977
+ #--
978
+ # @rbs return: ::Integer
979
+ def zone; attributes[:"zone"]&.value; end
980
+ # Gets the value of `secctx` attribute in the message.
981
+ #--
982
+ # @rbs return: AttributeSets::SecctxAttrs
983
+ def secctx; attributes[:"secctx"]&.value; end
984
+ # Gets the value of `labels` attribute in the message.
985
+ #--
986
+ # @rbs return: untyped
987
+ def labels; attributes[:"labels"]&.value; end
988
+ # Gets the value of `synproxy` attribute in the message.
989
+ #--
990
+ # @rbs return: AttributeSets::SynproxyAttrs
991
+ def synproxy; attributes[:"synproxy"]&.value; end
992
+ end
993
+ # get / dump entries
994
+ class DumpGetRequest < ::Nl::Protocols::Raw::Message
995
+ TYPE = 257
996
+ FIXED_HEADER = Structs::Nfgenmsg
997
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
998
+ ATTRIBUTES = Ractor.make_shareable(%i[status mark zone filter])
999
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1000
+ #--
1001
+ # @rbs return: ::Integer
1002
+ def nfgen_family; fixed_header.nfgen_family; end
1003
+ # Gets the value of `version` field in the message's fixed header.
1004
+ #--
1005
+ # @rbs return: ::Integer
1006
+ def version; fixed_header.version; end
1007
+ # Gets the value of `res-id` field in the message's fixed header.
1008
+ #--
1009
+ # @rbs return: ::Integer
1010
+ def res_id; fixed_header.res_id; end
1011
+ # Gets the value of `status` attribute in the message.
1012
+ #--
1013
+ # @rbs return: ::Integer
1014
+ def status; attributes[:"status"]&.value; end
1015
+ # Gets the value of `mark` attribute in the message.
1016
+ #--
1017
+ # @rbs return: ::Integer
1018
+ def mark; attributes[:"mark"]&.value; end
1019
+ # Gets the value of `zone` attribute in the message.
1020
+ #--
1021
+ # @rbs return: ::Integer
1022
+ def zone; attributes[:"zone"]&.value; end
1023
+ # Gets the value of `filter` attribute in the message.
1024
+ #--
1025
+ # @rbs return: AttributeSets::TupleAttrs
1026
+ def filter; attributes[:"filter"]&.value; end
1027
+ end
1028
+ # get / dump entries
1029
+ class DumpGetReply < ::Nl::Protocols::Raw::Message
1030
+ TYPE = 256
1031
+ FIXED_HEADER = Structs::Nfgenmsg
1032
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
1033
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply status protoinfo help nat_src timeout mark counters_orig counters_reply use id nat_dst tuple_master seq_adj_orig seq_adj_reply zone secctx labels synproxy])
1034
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1035
+ #--
1036
+ # @rbs return: ::Integer
1037
+ def nfgen_family; fixed_header.nfgen_family; end
1038
+ # Gets the value of `version` field in the message's fixed header.
1039
+ #--
1040
+ # @rbs return: ::Integer
1041
+ def version; fixed_header.version; end
1042
+ # Gets the value of `res-id` field in the message's fixed header.
1043
+ #--
1044
+ # @rbs return: ::Integer
1045
+ def res_id; fixed_header.res_id; end
1046
+ # Gets the value of `tuple-orig` attribute in the message.
1047
+ #--
1048
+ # @rbs return: AttributeSets::TupleAttrs
1049
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
1050
+ # Gets the value of `tuple-reply` attribute in the message.
1051
+ #--
1052
+ # @rbs return: AttributeSets::TupleAttrs
1053
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
1054
+ # Gets the value of `status` attribute in the message.
1055
+ #--
1056
+ # @rbs return: ::Integer
1057
+ def status; attributes[:"status"]&.value; end
1058
+ # Gets the value of `protoinfo` attribute in the message.
1059
+ #--
1060
+ # @rbs return: AttributeSets::ProtoinfoAttrs
1061
+ def protoinfo; attributes[:"protoinfo"]&.value; end
1062
+ # Gets the value of `help` attribute in the message.
1063
+ #--
1064
+ # @rbs return: AttributeSets::HelpAttrs
1065
+ def help; attributes[:"help"]&.value; end
1066
+ # Gets the value of `nat-src` attribute in the message.
1067
+ #--
1068
+ # @rbs return: AttributeSets::NatAttrs
1069
+ def nat_src; attributes[:"nat_src"]&.value; end
1070
+ # Gets the value of `timeout` attribute in the message.
1071
+ #--
1072
+ # @rbs return: ::Integer
1073
+ def timeout; attributes[:"timeout"]&.value; end
1074
+ # Gets the value of `mark` attribute in the message.
1075
+ #--
1076
+ # @rbs return: ::Integer
1077
+ def mark; attributes[:"mark"]&.value; end
1078
+ # Gets the value of `counters-orig` attribute in the message.
1079
+ #--
1080
+ # @rbs return: AttributeSets::CounterAttrs
1081
+ def counters_orig; attributes[:"counters_orig"]&.value; end
1082
+ # Gets the value of `counters-reply` attribute in the message.
1083
+ #--
1084
+ # @rbs return: AttributeSets::CounterAttrs
1085
+ def counters_reply; attributes[:"counters_reply"]&.value; end
1086
+ # Gets the value of `use` attribute in the message.
1087
+ #--
1088
+ # @rbs return: ::Integer
1089
+ def use; attributes[:"use"]&.value; end
1090
+ # Gets the value of `id` attribute in the message.
1091
+ #--
1092
+ # @rbs return: ::Integer
1093
+ def id; attributes[:"id"]&.value; end
1094
+ # Gets the value of `nat-dst` attribute in the message.
1095
+ #--
1096
+ # @rbs return: AttributeSets::NatAttrs
1097
+ def nat_dst; attributes[:"nat_dst"]&.value; end
1098
+ # Gets the value of `tuple-master` attribute in the message.
1099
+ #--
1100
+ # @rbs return: AttributeSets::TupleAttrs
1101
+ def tuple_master; attributes[:"tuple_master"]&.value; end
1102
+ # Gets the value of `seq-adj-orig` attribute in the message.
1103
+ #--
1104
+ # @rbs return: AttributeSets::SeqadjAttrs
1105
+ def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
1106
+ # Gets the value of `seq-adj-reply` attribute in the message.
1107
+ #--
1108
+ # @rbs return: AttributeSets::SeqadjAttrs
1109
+ def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
1110
+ # Gets the value of `zone` attribute in the message.
1111
+ #--
1112
+ # @rbs return: ::Integer
1113
+ def zone; attributes[:"zone"]&.value; end
1114
+ # Gets the value of `secctx` attribute in the message.
1115
+ #--
1116
+ # @rbs return: AttributeSets::SecctxAttrs
1117
+ def secctx; attributes[:"secctx"]&.value; end
1118
+ # Gets the value of `labels` attribute in the message.
1119
+ #--
1120
+ # @rbs return: untyped
1121
+ def labels; attributes[:"labels"]&.value; end
1122
+ # Gets the value of `synproxy` attribute in the message.
1123
+ #--
1124
+ # @rbs return: AttributeSets::SynproxyAttrs
1125
+ def synproxy; attributes[:"synproxy"]&.value; end
1126
+ end
1127
+ # dump pcpu conntrack stats
1128
+ class DumpGetStatsRequest < ::Nl::Protocols::Raw::Message
1129
+ TYPE = 260
1130
+ FIXED_HEADER = Structs::Nfgenmsg
1131
+ ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1132
+ ATTRIBUTES = Ractor.make_shareable(%i[])
1133
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1134
+ #--
1135
+ # @rbs return: ::Integer
1136
+ def nfgen_family; fixed_header.nfgen_family; end
1137
+ # Gets the value of `version` field in the message's fixed header.
1138
+ #--
1139
+ # @rbs return: ::Integer
1140
+ def version; fixed_header.version; end
1141
+ # Gets the value of `res-id` field in the message's fixed header.
1142
+ #--
1143
+ # @rbs return: ::Integer
1144
+ def res_id; fixed_header.res_id; end
1145
+ end
1146
+ # dump pcpu conntrack stats
1147
+ class DumpGetStatsReply < ::Nl::Protocols::Raw::Message
1148
+ TYPE = 260
1149
+ FIXED_HEADER = Structs::Nfgenmsg
1150
+ ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1151
+ ATTRIBUTES = Ractor.make_shareable(%i[searched found insert insert_failed drop early_drop error search_restart clash_resolve chain_toolong])
1152
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1153
+ #--
1154
+ # @rbs return: ::Integer
1155
+ def nfgen_family; fixed_header.nfgen_family; end
1156
+ # Gets the value of `version` field in the message's fixed header.
1157
+ #--
1158
+ # @rbs return: ::Integer
1159
+ def version; fixed_header.version; end
1160
+ # Gets the value of `res-id` field in the message's fixed header.
1161
+ #--
1162
+ # @rbs return: ::Integer
1163
+ def res_id; fixed_header.res_id; end
1164
+ # Gets the value of `searched` attribute in the message.
1165
+ #--
1166
+ # @rbs return: ::Integer
1167
+ def searched; attributes[:"searched"]&.value; end
1168
+ # Gets the value of `found` attribute in the message.
1169
+ #--
1170
+ # @rbs return: ::Integer
1171
+ def found; attributes[:"found"]&.value; end
1172
+ # Gets the value of `insert` attribute in the message.
1173
+ #--
1174
+ # @rbs return: ::Integer
1175
+ def insert; attributes[:"insert"]&.value; end
1176
+ # Gets the value of `insert-failed` attribute in the message.
1177
+ #--
1178
+ # @rbs return: ::Integer
1179
+ def insert_failed; attributes[:"insert_failed"]&.value; end
1180
+ # Gets the value of `drop` attribute in the message.
1181
+ #--
1182
+ # @rbs return: ::Integer
1183
+ def drop; attributes[:"drop"]&.value; end
1184
+ # Gets the value of `early-drop` attribute in the message.
1185
+ #--
1186
+ # @rbs return: ::Integer
1187
+ def early_drop; attributes[:"early_drop"]&.value; end
1188
+ # Gets the value of `error` attribute in the message.
1189
+ #--
1190
+ # @rbs return: ::Integer
1191
+ def error; attributes[:"error"]&.value; end
1192
+ # Gets the value of `search-restart` attribute in the message.
1193
+ #--
1194
+ # @rbs return: ::Integer
1195
+ def search_restart; attributes[:"search_restart"]&.value; end
1196
+ # Gets the value of `clash-resolve` attribute in the message.
1197
+ #--
1198
+ # @rbs return: ::Integer
1199
+ def clash_resolve; attributes[:"clash_resolve"]&.value; end
1200
+ # Gets the value of `chain-toolong` attribute in the message.
1201
+ #--
1202
+ # @rbs return: ::Integer
1203
+ def chain_toolong; attributes[:"chain_toolong"]&.value; end
1204
+ end
1205
+ end
1206
+ # get / dump entries
1207
+ #--
1208
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?tuple_orig: AttributeSets::TupleAttrs, ?tuple_reply: AttributeSets::TupleAttrs, ?zone: ::Integer) -> Messages::DoGetReply
1209
+ def do_get(**args)
1210
+ exchange_message(:"do", Messages::DoGetRequest, Messages::DoGetReply, args)
1211
+ end
1212
+ # get / dump entries
1213
+ #--
1214
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: AttributeSets::TupleAttrs) -> Enumerable[Messages::DumpGetReply]
1215
+ # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: AttributeSets::TupleAttrs) { (Messages::DumpGetReply) -> void } -> void
1216
+ def dump_get(**args, &block)
1217
+ exchange_message(:"dump", Messages::DumpGetRequest, Messages::DumpGetReply, args, &block)
1218
+ end
1219
+ # dump pcpu conntrack stats
1220
+ #--
1221
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) -> Enumerable[Messages::DumpGetStatsReply]
1222
+ # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) { (Messages::DumpGetStatsReply) -> void } -> void
1223
+ def dump_get_stats(**args, &block)
1224
+ exchange_message(:"dump", Messages::DumpGetStatsRequest, Messages::DumpGetStatsReply, args, &block)
1225
+ end
1226
+ end
1227
+ end; end