nl-linux 0.2.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.yardopts +5 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Rakefile +27 -5
  6. data/generated/nl/linux/binder.rb +227 -19
  7. data/generated/nl/linux/conntrack.rb +1325 -365
  8. data/generated/nl/linux/dev_energymodel.rb +357 -66
  9. data/generated/nl/linux/devlink.rb +6310 -1859
  10. data/generated/nl/linux/dpll.rb +2202 -376
  11. data/generated/nl/linux/drm_ras.rb +312 -63
  12. data/generated/nl/linux/ethtool.rb +7555 -2447
  13. data/generated/nl/linux/fou.rb +381 -133
  14. data/generated/nl/linux/handshake.rb +340 -70
  15. data/generated/nl/linux/lockd.rb +132 -27
  16. data/generated/nl/linux/mptcp_pm.rb +773 -161
  17. data/generated/nl/linux/net_shaper.rb +892 -211
  18. data/generated/nl/linux/netdev.rb +2366 -518
  19. data/generated/nl/linux/nfsd.rb +1299 -317
  20. data/generated/nl/linux/nftables.rb +5351 -1533
  21. data/generated/nl/linux/nl80211.rb +4601 -882
  22. data/generated/nl/linux/nlctrl.rb +460 -117
  23. data/generated/nl/linux/ovpn.rb +1360 -262
  24. data/generated/nl/linux/ovs_datapath.rb +312 -98
  25. data/generated/nl/linux/ovs_flow.rb +1866 -358
  26. data/generated/nl/linux/ovs_packet.rb +331 -45
  27. data/generated/nl/linux/ovs_vport.rb +374 -123
  28. data/generated/nl/linux/psp.rb +1093 -201
  29. data/generated/nl/linux/rt_addr.rb +423 -165
  30. data/generated/nl/linux/rt_link.rb +6928 -1336
  31. data/generated/nl/linux/rt_neigh.rb +1063 -297
  32. data/generated/nl/linux/rt_route.rb +1112 -483
  33. data/generated/nl/linux/rt_rule.rb +931 -262
  34. data/generated/nl/linux/sunrpc_cache.rb +407 -82
  35. data/generated/nl/linux/tc.rb +10081 -1763
  36. data/generated/nl/linux/tcp_metrics.rb +388 -109
  37. data/generated/nl/linux/team.rb +350 -84
  38. data/generated/nl/linux/wireguard.rb +525 -96
  39. data/generated/nl/linux.rb +1 -0
  40. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  41. data/lib/nl/linux/version.rb +1 -1
  42. data/sig/generated/nl/linux/binder.rbs +366 -0
  43. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  44. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  45. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  46. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  47. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  48. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  49. data/sig/generated/nl/linux/fou.rbs +702 -0
  50. data/sig/generated/nl/linux/handshake.rbs +622 -0
  51. data/sig/generated/nl/linux/lockd.rbs +234 -0
  52. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  53. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  54. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  55. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  56. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  57. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  58. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  59. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  60. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  61. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  62. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  63. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  64. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  65. data/sig/generated/nl/linux/psp.rbs +1846 -0
  66. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  67. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  68. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  69. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  70. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  71. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  72. data/sig/generated/nl/linux/tc.rbs +19931 -0
  73. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  74. data/sig/generated/nl/linux/team.rbs +733 -0
  75. data/sig/generated/nl/linux/version.rbs +7 -0
  76. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  77. data/sig/generated/nl/linux.rbs +6 -0
  78. data/sig/generated/nl-linux.rbs +2 -0
  79. metadata +51 -10
@@ -1,14 +1,91 @@
1
1
  # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #
3
+ # This file is based on Documentation/netlink/specs/conntrack.yaml from Linux v7.2.
2
4
  #--
3
5
  # frozen_string_literal: true
4
- # rbs_inline: enabled
5
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
6
7
  require 'nl'
7
8
  module Nl; module Linux
8
9
  # Netfilter connection tracking subsystem over nfnetlink
9
- class Conntrack < ::Nl::Family
10
+ class Conntrack < ::Nl::Raw::Family
10
11
  NAME = "conntrack"
11
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("conntrack", 12))
12
+ PROTONUM = 12
13
+ # @rbs (?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [Symbol, nil] executor
17
+ # @param [Integer, nil] notification_capacity
18
+ # @return [Conntrack]
19
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
20
+ # @param [Symbol, nil] executor
21
+ # @param [Integer, nil] notification_capacity
22
+ # @yieldparam [Conntrack] family
23
+ # @return [Object] the result of the block
24
+ def self.open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
25
+ super
26
+ end
27
+ # @private
28
+ MCAST_GROUPS = Ractor.make_shareable({}) #: Hash[::Symbol, ::Nl::McastGroup]
29
+ module Enums
30
+ module NfCtTcpState
31
+ None = 0
32
+ SynSent = 1
33
+ SynRecv = 2
34
+ Established = 3
35
+ FinWait = 4
36
+ CloseWait = 5
37
+ LastAck = 6
38
+ TimeWait = 7
39
+ Close = 8
40
+ SynSent2 = 9
41
+ Max = 10
42
+ Ignore = 11
43
+ Retrans = 12
44
+ Unack = 13
45
+ TimeoutMax = 14
46
+ end
47
+ module NfCtSctpState
48
+ None = 0
49
+ Cloned = 1
50
+ CookieWait = 2
51
+ CookieEchoed = 3
52
+ Established = 4
53
+ ShutdownSent = 5
54
+ ShutdownReceived = 6
55
+ ShutdownAckSent = 7
56
+ ShutdownHeartbeatSent = 8
57
+ end
58
+ end
59
+ module Flags
60
+ module NfCtTcpFlags
61
+ WindowScale = 1
62
+ SackPerm = 2
63
+ CloseInit = 4
64
+ BeLiberal = 8
65
+ Unacked = 16
66
+ Maxack = 32
67
+ ChallengeAck = 64
68
+ SimultaneousOpen = 128
69
+ end
70
+ module NfCtStatus
71
+ Expected = 1
72
+ SeenReply = 2
73
+ Assured = 4
74
+ Confirmed = 8
75
+ SrcNat = 16
76
+ DstNat = 32
77
+ SeqAdj = 64
78
+ SrcNatDone = 128
79
+ DstNatDone = 256
80
+ Dying = 512
81
+ FixedTimeout = 1024
82
+ Template = 2048
83
+ NatClash = 4096
84
+ Helper = 8192
85
+ Offload = 16384
86
+ HwOffload = 32768
87
+ end
88
+ end
12
89
  module Structs
13
90
  Nfgenmsg = Struct.new(
14
91
  :"nfgen_family", #: ::Integer
@@ -16,19 +93,27 @@ class Conntrack < ::Nl::Family
16
93
  :"res_id", #: ::Integer
17
94
  )
18
95
  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]
96
+ # @!attribute [rw] nfgen_family
97
+ # @return [Integer]
98
+ # @!attribute [rw] version
99
+ # @return [Integer]
100
+ # @!attribute [rw] res_id
101
+ # @return [Integer]
102
+ # @private
103
+ MEMBERS = Ractor.make_shareable({nfgen_family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), version: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), res_id: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
21
104
  # Decodes the struct.
22
- #--
23
105
  # @rbs decoder: ::Nl::Decoder
24
106
  # @rbs return: instance
107
+ # @param [Nl::Decoder] decoder
108
+ # @return [self]
25
109
  def self.decode(decoder)
26
110
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
27
111
  end
28
112
  # Encodes the struct.
29
- #--
30
113
  # @rbs encoder: ::Nl::Encoder
31
114
  # @rbs return: void
115
+ # @param [Nl::Encoder] encoder
116
+ # @return [void]
32
117
  def encode(encoder)
33
118
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
34
119
  end
@@ -38,1190 +123,2065 @@ class Conntrack < ::Nl::Family
38
123
  :"mask", #: ::Integer
39
124
  )
40
125
  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]
126
+ # @!attribute [rw] flags
127
+ # @return [Integer]
128
+ # @!attribute [rw] mask
129
+ # @return [Integer]
130
+ # @private
131
+ MEMBERS = Ractor.make_shareable({flags: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), mask: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
43
132
  # Decodes the struct.
44
- #--
45
133
  # @rbs decoder: ::Nl::Decoder
46
134
  # @rbs return: instance
135
+ # @param [Nl::Decoder] decoder
136
+ # @return [self]
47
137
  def self.decode(decoder)
48
138
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
49
139
  end
50
140
  # Encodes the struct.
51
- #--
52
141
  # @rbs encoder: ::Nl::Encoder
53
142
  # @rbs return: void
143
+ # @param [Nl::Encoder] encoder
144
+ # @return [void]
54
145
  def encode(encoder)
55
146
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
56
147
  end
57
148
  end
58
149
  end
59
150
  module AttributeSets
60
- class CounterAttrs < ::Nl::Protocols::Raw::AttributeSet
151
+ class CounterAttrs < ::Nl::AttributeSet
61
152
  # Abstract class
62
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
153
+ class Attribute < ::Nl::AttributeSet::Attribute
63
154
  end
64
155
  class Packets < Attribute
65
156
  TYPE = 1
66
157
  NAME = :"packets"
67
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
158
+ # @private
159
+ ORDER = 0
160
+ # @private
161
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
68
162
  end
69
163
  class Bytes < Attribute
70
164
  TYPE = 2
71
165
  NAME = :"bytes"
72
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
166
+ # @private
167
+ ORDER = 1
168
+ # @private
169
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
73
170
  end
74
171
  class PacketsOld < Attribute
75
172
  TYPE = 3
76
173
  NAME = :"packets_old"
77
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
174
+ # @private
175
+ ORDER = 2
176
+ # @private
177
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
78
178
  end
79
179
  class BytesOld < Attribute
80
180
  TYPE = 4
81
181
  NAME = :"bytes_old"
82
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
182
+ # @private
183
+ ORDER = 3
184
+ # @private
185
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
83
186
  end
84
187
  class Pad < Attribute
85
188
  TYPE = 5
86
189
  NAME = :"pad"
87
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
190
+ # @private
191
+ ORDER = 4
192
+ # @private
193
+ DATATYPE = ::Nl::DataTypes::Pad.new()
88
194
  end
89
- # :nodoc:
195
+ # @private
90
196
  BY_NAME = Ractor.make_shareable({:"packets" => Packets, :"bytes" => Bytes, :"packets_old" => PacketsOld, :"bytes_old" => BytesOld, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
91
- # :nodoc:
197
+ # @private
92
198
  BY_TYPE = Ractor.make_shareable({1 => Packets, 2 => Bytes, 3 => PacketsOld, 4 => BytesOld, 5 => Pad}) #: Hash[::Integer, Attribute]
199
+ # @rbs return: ::Integer
200
+ # @return [Integer]
201
+ # @see Packets
202
+ def packets; self[:"packets"]&.value; end
203
+ # @rbs return: ::Integer
204
+ # @return [Integer]
205
+ # @see Bytes
206
+ def bytes; self[:"bytes"]&.value; end
207
+ # @rbs return: ::Integer
208
+ # @return [Integer]
209
+ # @see PacketsOld
210
+ def packets_old; self[:"packets_old"]&.value; end
211
+ # @rbs return: ::Integer
212
+ # @return [Integer]
213
+ # @see BytesOld
214
+ def bytes_old; self[:"bytes_old"]&.value; end
93
215
  class << self
94
216
  # Looks up Attribute class by name.
95
- #--
96
217
  # @rbs name: Symbol
97
218
  # @rbs return: Attribute
219
+ # @param [Symbol] name
220
+ # @return [Attribute]
98
221
  def by_name(name); BY_NAME.fetch(name); end
99
222
  # Looks up Attribute class by type value.
100
- #--
101
223
  # @rbs type: Integer
102
224
  # @rbs return: Attribute
225
+ # @param [Integer] type
226
+ # @return [Attribute]
103
227
  def by_type(type); BY_TYPE.fetch(type); end
104
228
  end
105
229
  end
106
- class TupleProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
230
+ class TupleProtoAttrs < ::Nl::AttributeSet
107
231
  # Abstract class
108
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
232
+ class Attribute < ::Nl::AttributeSet::Attribute
109
233
  end
234
+ # l4 protocol number
110
235
  class ProtoNum < Attribute
111
236
  TYPE = 1
112
237
  NAME = :"proto_num"
113
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
238
+ # @private
239
+ ORDER = 0
240
+ # @private
241
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
114
242
  end
243
+ # l4 source port
115
244
  class ProtoSrcPort < Attribute
116
245
  TYPE = 2
117
246
  NAME = :"proto_src_port"
118
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
247
+ # @private
248
+ ORDER = 1
249
+ # @private
250
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
119
251
  end
252
+ # l4 source port
120
253
  class ProtoDstPort < Attribute
121
254
  TYPE = 3
122
255
  NAME = :"proto_dst_port"
123
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
256
+ # @private
257
+ ORDER = 2
258
+ # @private
259
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
124
260
  end
261
+ # l4 icmp id
125
262
  class ProtoIcmpId < Attribute
126
263
  TYPE = 4
127
264
  NAME = :"proto_icmp_id"
128
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
265
+ # @private
266
+ ORDER = 3
267
+ # @private
268
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
129
269
  end
130
270
  class ProtoIcmpType < Attribute
131
271
  TYPE = 5
132
272
  NAME = :"proto_icmp_type"
133
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
273
+ # @private
274
+ ORDER = 4
275
+ # @private
276
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
134
277
  end
135
278
  class ProtoIcmpCode < Attribute
136
279
  TYPE = 6
137
280
  NAME = :"proto_icmp_code"
138
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
281
+ # @private
282
+ ORDER = 5
283
+ # @private
284
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
139
285
  end
286
+ # l4 icmp id
140
287
  class ProtoIcmpv6Id < Attribute
141
288
  TYPE = 7
142
289
  NAME = :"proto_icmpv6_id"
143
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
290
+ # @private
291
+ ORDER = 6
292
+ # @private
293
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
144
294
  end
145
295
  class ProtoIcmpv6Type < Attribute
146
296
  TYPE = 8
147
297
  NAME = :"proto_icmpv6_type"
148
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
298
+ # @private
299
+ ORDER = 7
300
+ # @private
301
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
149
302
  end
150
303
  class ProtoIcmpv6Code < Attribute
151
304
  TYPE = 9
152
305
  NAME = :"proto_icmpv6_code"
153
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
306
+ # @private
307
+ ORDER = 8
308
+ # @private
309
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
154
310
  end
155
- # :nodoc:
311
+ # @private
156
312
  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:
313
+ # @private
158
314
  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]
315
+ # l4 protocol number
316
+ # @rbs return: ::Integer
317
+ # @return [Integer]
318
+ # @see ProtoNum
319
+ def proto_num; self[:"proto_num"]&.value; end
320
+ # l4 source port
321
+ # @rbs return: ::Integer
322
+ # @return [Integer]
323
+ # @see ProtoSrcPort
324
+ def proto_src_port; self[:"proto_src_port"]&.value; end
325
+ # l4 source port
326
+ # @rbs return: ::Integer
327
+ # @return [Integer]
328
+ # @see ProtoDstPort
329
+ def proto_dst_port; self[:"proto_dst_port"]&.value; end
330
+ # l4 icmp id
331
+ # @rbs return: ::Integer
332
+ # @return [Integer]
333
+ # @see ProtoIcmpId
334
+ def proto_icmp_id; self[:"proto_icmp_id"]&.value; end
335
+ # @rbs return: ::Integer
336
+ # @return [Integer]
337
+ # @see ProtoIcmpType
338
+ def proto_icmp_type; self[:"proto_icmp_type"]&.value; end
339
+ # @rbs return: ::Integer
340
+ # @return [Integer]
341
+ # @see ProtoIcmpCode
342
+ def proto_icmp_code; self[:"proto_icmp_code"]&.value; end
343
+ # l4 icmp id
344
+ # @rbs return: ::Integer
345
+ # @return [Integer]
346
+ # @see ProtoIcmpv6Id
347
+ def proto_icmpv6_id; self[:"proto_icmpv6_id"]&.value; end
348
+ # @rbs return: ::Integer
349
+ # @return [Integer]
350
+ # @see ProtoIcmpv6Type
351
+ def proto_icmpv6_type; self[:"proto_icmpv6_type"]&.value; end
352
+ # @rbs return: ::Integer
353
+ # @return [Integer]
354
+ # @see ProtoIcmpv6Code
355
+ def proto_icmpv6_code; self[:"proto_icmpv6_code"]&.value; end
159
356
  class << self
160
357
  # Looks up Attribute class by name.
161
- #--
162
358
  # @rbs name: Symbol
163
359
  # @rbs return: Attribute
360
+ # @param [Symbol] name
361
+ # @return [Attribute]
164
362
  def by_name(name); BY_NAME.fetch(name); end
165
363
  # Looks up Attribute class by type value.
166
- #--
167
364
  # @rbs type: Integer
168
365
  # @rbs return: Attribute
366
+ # @param [Integer] type
367
+ # @return [Attribute]
169
368
  def by_type(type); BY_TYPE.fetch(type); end
170
369
  end
171
370
  end
172
- class TupleIpAttrs < ::Nl::Protocols::Raw::AttributeSet
371
+ class TupleIpAttrs < ::Nl::AttributeSet
173
372
  # Abstract class
174
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
373
+ class Attribute < ::Nl::AttributeSet::Attribute
175
374
  end
375
+ # ipv4 source address
176
376
  class IpV4Src < Attribute
177
377
  TYPE = 1
178
378
  NAME = :"ip_v4_src"
179
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
379
+ # @private
380
+ ORDER = 0
381
+ # @private
382
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
180
383
  end
384
+ # ipv4 destination address
181
385
  class IpV4Dst < Attribute
182
386
  TYPE = 2
183
387
  NAME = :"ip_v4_dst"
184
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
388
+ # @private
389
+ ORDER = 1
390
+ # @private
391
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
185
392
  end
393
+ # ipv6 source address
186
394
  class IpV6Src < Attribute
187
395
  TYPE = 3
188
396
  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 })
397
+ # @private
398
+ ORDER = 2
399
+ # @private
400
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
190
401
  end
402
+ # ipv6 destination address
191
403
  class IpV6Dst < Attribute
192
404
  TYPE = 4
193
405
  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 })
406
+ # @private
407
+ ORDER = 3
408
+ # @private
409
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
195
410
  end
196
- # :nodoc:
411
+ # @private
197
412
  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:
413
+ # @private
199
414
  BY_TYPE = Ractor.make_shareable({1 => IpV4Src, 2 => IpV4Dst, 3 => IpV6Src, 4 => IpV6Dst}) #: Hash[::Integer, Attribute]
415
+ # ipv4 source address
416
+ # @rbs return: ::Integer
417
+ # @return [Integer]
418
+ # @see IpV4Src
419
+ def ip_v4_src; self[:"ip_v4_src"]&.value; end
420
+ # ipv4 destination address
421
+ # @rbs return: ::Integer
422
+ # @return [Integer]
423
+ # @see IpV4Dst
424
+ def ip_v4_dst; self[:"ip_v4_dst"]&.value; end
425
+ # ipv6 source address
426
+ # @rbs return: ::String
427
+ # @return [String]
428
+ # @see IpV6Src
429
+ def ip_v6_src; self[:"ip_v6_src"]&.value; end
430
+ # ipv6 destination address
431
+ # @rbs return: ::String
432
+ # @return [String]
433
+ # @see IpV6Dst
434
+ def ip_v6_dst; self[:"ip_v6_dst"]&.value; end
200
435
  class << self
201
436
  # Looks up Attribute class by name.
202
- #--
203
437
  # @rbs name: Symbol
204
438
  # @rbs return: Attribute
439
+ # @param [Symbol] name
440
+ # @return [Attribute]
205
441
  def by_name(name); BY_NAME.fetch(name); end
206
442
  # Looks up Attribute class by type value.
207
- #--
208
443
  # @rbs type: Integer
209
444
  # @rbs return: Attribute
445
+ # @param [Integer] type
446
+ # @return [Attribute]
210
447
  def by_type(type); BY_TYPE.fetch(type); end
211
448
  end
212
449
  end
213
- class TupleAttrs < ::Nl::Protocols::Raw::AttributeSet
450
+ class TupleAttrs < ::Nl::AttributeSet
214
451
  # Abstract class
215
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
452
+ class Attribute < ::Nl::AttributeSet::Attribute
216
453
  end
454
+ # conntrack l3 information
217
455
  class TupleIp < Attribute
218
456
  TYPE = 1
219
457
  NAME = :"tuple_ip"
458
+ # @private
459
+ ORDER = 0
220
460
  end
461
+ # conntrack l4 information
221
462
  class TupleProto < Attribute
222
463
  TYPE = 2
223
464
  NAME = :"tuple_proto"
465
+ # @private
466
+ ORDER = 1
224
467
  end
468
+ # conntrack zone id
225
469
  class TupleZone < Attribute
226
470
  TYPE = 3
227
471
  NAME = :"tuple_zone"
228
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
472
+ # @private
473
+ ORDER = 2
474
+ # @private
475
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
229
476
  end
230
- # :nodoc:
477
+ # @private
231
478
  BY_NAME = Ractor.make_shareable({:"tuple_ip" => TupleIp, :"tuple_proto" => TupleProto, :"tuple_zone" => TupleZone}) #: Hash[::Symbol, Attribute]
232
- # :nodoc:
479
+ # @private
233
480
  BY_TYPE = Ractor.make_shareable({1 => TupleIp, 2 => TupleProto, 3 => TupleZone}) #: Hash[::Integer, Attribute]
481
+ # conntrack l3 information
482
+ # @rbs return: AttributeSets::TupleIpAttrs
483
+ # @return [AttributeSets::TupleIpAttrs]
484
+ # @see TupleIp
485
+ def tuple_ip; self[:"tuple_ip"]&.value; end
486
+ # conntrack l4 information
487
+ # @rbs return: AttributeSets::TupleProtoAttrs
488
+ # @return [AttributeSets::TupleProtoAttrs]
489
+ # @see TupleProto
490
+ def tuple_proto; self[:"tuple_proto"]&.value; end
491
+ # conntrack zone id
492
+ # @rbs return: ::Integer
493
+ # @return [Integer]
494
+ # @see TupleZone
495
+ def tuple_zone; self[:"tuple_zone"]&.value; end
234
496
  class << self
235
497
  # Looks up Attribute class by name.
236
- #--
237
498
  # @rbs name: Symbol
238
499
  # @rbs return: Attribute
500
+ # @param [Symbol] name
501
+ # @return [Attribute]
239
502
  def by_name(name); BY_NAME.fetch(name); end
240
503
  # Looks up Attribute class by type value.
241
- #--
242
504
  # @rbs type: Integer
243
505
  # @rbs return: Attribute
506
+ # @param [Integer] type
507
+ # @return [Attribute]
244
508
  def by_type(type); BY_TYPE.fetch(type); end
245
509
  end
246
510
  end
247
- class ProtoinfoTcpAttrs < ::Nl::Protocols::Raw::AttributeSet
511
+ class ProtoinfoTcpAttrs < ::Nl::AttributeSet
248
512
  # Abstract class
249
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
513
+ class Attribute < ::Nl::AttributeSet::Attribute
250
514
  end
515
+ # tcp connection state
516
+ #
517
+ # Known enum values are defined in {Enums::NfCtTcpState}.
251
518
  class TcpState < Attribute
252
519
  TYPE = 1
253
520
  NAME = :"tcp_state"
254
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
521
+ # @private
522
+ ORDER = 0
523
+ # @private
524
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
255
525
  end
526
+ # window scaling factor in original direction
256
527
  class TcpWscaleOriginal < Attribute
257
528
  TYPE = 2
258
529
  NAME = :"tcp_wscale_original"
259
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
530
+ # @private
531
+ ORDER = 1
532
+ # @private
533
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
260
534
  end
535
+ # window scaling factor in reply direction
261
536
  class TcpWscaleReply < Attribute
262
537
  TYPE = 3
263
538
  NAME = :"tcp_wscale_reply"
264
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
539
+ # @private
540
+ ORDER = 2
541
+ # @private
542
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
265
543
  end
266
544
  class TcpFlagsOriginal < Attribute
267
545
  TYPE = 4
268
546
  NAME = :"tcp_flags_original"
269
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
547
+ # @private
548
+ ORDER = 3
549
+ # @private
550
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NfCtTcpFlagsMask, check: nil, consume_remaining: true)
270
551
  end
271
552
  class TcpFlagsReply < Attribute
272
553
  TYPE = 5
273
554
  NAME = :"tcp_flags_reply"
274
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
555
+ # @private
556
+ ORDER = 4
557
+ # @private
558
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NfCtTcpFlagsMask, check: nil, consume_remaining: true)
275
559
  end
276
- # :nodoc:
560
+ # @private
277
561
  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:
562
+ # @private
279
563
  BY_TYPE = Ractor.make_shareable({1 => TcpState, 2 => TcpWscaleOriginal, 3 => TcpWscaleReply, 4 => TcpFlagsOriginal, 5 => TcpFlagsReply}) #: Hash[::Integer, Attribute]
564
+ # tcp connection state
565
+ #
566
+ # Known enum values are defined in {Enums::NfCtTcpState}.
567
+ # @rbs return: ::Integer
568
+ # @return [Integer]
569
+ # @see TcpState
570
+ def tcp_state; self[:"tcp_state"]&.value; end
571
+ # window scaling factor in original direction
572
+ # @rbs return: ::Integer
573
+ # @return [Integer]
574
+ # @see TcpWscaleOriginal
575
+ def tcp_wscale_original; self[:"tcp_wscale_original"]&.value; end
576
+ # window scaling factor in reply direction
577
+ # @rbs return: ::Integer
578
+ # @return [Integer]
579
+ # @see TcpWscaleReply
580
+ def tcp_wscale_reply; self[:"tcp_wscale_reply"]&.value; end
581
+ # @rbs return: Structs::NfCtTcpFlagsMask
582
+ # @return [Structs::NfCtTcpFlagsMask]
583
+ # @see TcpFlagsOriginal
584
+ def tcp_flags_original; self[:"tcp_flags_original"]&.value; end
585
+ # @rbs return: Structs::NfCtTcpFlagsMask
586
+ # @return [Structs::NfCtTcpFlagsMask]
587
+ # @see TcpFlagsReply
588
+ def tcp_flags_reply; self[:"tcp_flags_reply"]&.value; end
280
589
  class << self
281
590
  # Looks up Attribute class by name.
282
- #--
283
591
  # @rbs name: Symbol
284
592
  # @rbs return: Attribute
593
+ # @param [Symbol] name
594
+ # @return [Attribute]
285
595
  def by_name(name); BY_NAME.fetch(name); end
286
596
  # Looks up Attribute class by type value.
287
- #--
288
597
  # @rbs type: Integer
289
598
  # @rbs return: Attribute
599
+ # @param [Integer] type
600
+ # @return [Attribute]
290
601
  def by_type(type); BY_TYPE.fetch(type); end
291
602
  end
292
603
  end
293
- class ProtoinfoDccpAttrs < ::Nl::Protocols::Raw::AttributeSet
604
+ class ProtoinfoDccpAttrs < ::Nl::AttributeSet
294
605
  # Abstract class
295
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
606
+ class Attribute < ::Nl::AttributeSet::Attribute
296
607
  end
608
+ # dccp connection state
297
609
  class DccpState < Attribute
298
610
  TYPE = 1
299
611
  NAME = :"dccp_state"
300
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
612
+ # @private
613
+ ORDER = 0
614
+ # @private
615
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
301
616
  end
302
617
  class DccpRole < Attribute
303
618
  TYPE = 2
304
619
  NAME = :"dccp_role"
305
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
620
+ # @private
621
+ ORDER = 1
622
+ # @private
623
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
306
624
  end
307
625
  class DccpHandshakeSeq < Attribute
308
626
  TYPE = 3
309
627
  NAME = :"dccp_handshake_seq"
310
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
628
+ # @private
629
+ ORDER = 2
630
+ # @private
631
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
311
632
  end
312
633
  class DccpPad < Attribute
313
634
  TYPE = 4
314
635
  NAME = :"dccp_pad"
315
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
636
+ # @private
637
+ ORDER = 3
638
+ # @private
639
+ DATATYPE = ::Nl::DataTypes::Pad.new()
316
640
  end
317
- # :nodoc:
641
+ # @private
318
642
  BY_NAME = Ractor.make_shareable({:"dccp_state" => DccpState, :"dccp_role" => DccpRole, :"dccp_handshake_seq" => DccpHandshakeSeq, :"dccp_pad" => DccpPad}) #: Hash[::Symbol, Attribute]
319
- # :nodoc:
643
+ # @private
320
644
  BY_TYPE = Ractor.make_shareable({1 => DccpState, 2 => DccpRole, 3 => DccpHandshakeSeq, 4 => DccpPad}) #: Hash[::Integer, Attribute]
645
+ # dccp connection state
646
+ # @rbs return: ::Integer
647
+ # @return [Integer]
648
+ # @see DccpState
649
+ def dccp_state; self[:"dccp_state"]&.value; end
650
+ # @rbs return: ::Integer
651
+ # @return [Integer]
652
+ # @see DccpRole
653
+ def dccp_role; self[:"dccp_role"]&.value; end
654
+ # @rbs return: ::Integer
655
+ # @return [Integer]
656
+ # @see DccpHandshakeSeq
657
+ def dccp_handshake_seq; self[:"dccp_handshake_seq"]&.value; end
321
658
  class << self
322
659
  # Looks up Attribute class by name.
323
- #--
324
660
  # @rbs name: Symbol
325
661
  # @rbs return: Attribute
662
+ # @param [Symbol] name
663
+ # @return [Attribute]
326
664
  def by_name(name); BY_NAME.fetch(name); end
327
665
  # Looks up Attribute class by type value.
328
- #--
329
666
  # @rbs type: Integer
330
667
  # @rbs return: Attribute
668
+ # @param [Integer] type
669
+ # @return [Attribute]
331
670
  def by_type(type); BY_TYPE.fetch(type); end
332
671
  end
333
672
  end
334
- class ProtoinfoSctpAttrs < ::Nl::Protocols::Raw::AttributeSet
673
+ class ProtoinfoSctpAttrs < ::Nl::AttributeSet
335
674
  # Abstract class
336
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
675
+ class Attribute < ::Nl::AttributeSet::Attribute
337
676
  end
677
+ # sctp connection state
678
+ #
679
+ # Known enum values are defined in {Enums::NfCtSctpState}.
338
680
  class SctpState < Attribute
339
681
  TYPE = 1
340
682
  NAME = :"sctp_state"
341
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
683
+ # @private
684
+ ORDER = 0
685
+ # @private
686
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
342
687
  end
343
688
  class VtagOriginal < Attribute
344
689
  TYPE = 2
345
690
  NAME = :"vtag_original"
346
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
691
+ # @private
692
+ ORDER = 1
693
+ # @private
694
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
347
695
  end
348
696
  class VtagReply < Attribute
349
697
  TYPE = 3
350
698
  NAME = :"vtag_reply"
351
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
699
+ # @private
700
+ ORDER = 2
701
+ # @private
702
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
352
703
  end
353
- # :nodoc:
704
+ # @private
354
705
  BY_NAME = Ractor.make_shareable({:"sctp_state" => SctpState, :"vtag_original" => VtagOriginal, :"vtag_reply" => VtagReply}) #: Hash[::Symbol, Attribute]
355
- # :nodoc:
706
+ # @private
356
707
  BY_TYPE = Ractor.make_shareable({1 => SctpState, 2 => VtagOriginal, 3 => VtagReply}) #: Hash[::Integer, Attribute]
708
+ # sctp connection state
709
+ #
710
+ # Known enum values are defined in {Enums::NfCtSctpState}.
711
+ # @rbs return: ::Integer
712
+ # @return [Integer]
713
+ # @see SctpState
714
+ def sctp_state; self[:"sctp_state"]&.value; end
715
+ # @rbs return: ::Integer
716
+ # @return [Integer]
717
+ # @see VtagOriginal
718
+ def vtag_original; self[:"vtag_original"]&.value; end
719
+ # @rbs return: ::Integer
720
+ # @return [Integer]
721
+ # @see VtagReply
722
+ def vtag_reply; self[:"vtag_reply"]&.value; end
357
723
  class << self
358
724
  # Looks up Attribute class by name.
359
- #--
360
725
  # @rbs name: Symbol
361
726
  # @rbs return: Attribute
727
+ # @param [Symbol] name
728
+ # @return [Attribute]
362
729
  def by_name(name); BY_NAME.fetch(name); end
363
730
  # Looks up Attribute class by type value.
364
- #--
365
731
  # @rbs type: Integer
366
732
  # @rbs return: Attribute
733
+ # @param [Integer] type
734
+ # @return [Attribute]
367
735
  def by_type(type); BY_TYPE.fetch(type); end
368
736
  end
369
737
  end
370
- class ProtoinfoAttrs < ::Nl::Protocols::Raw::AttributeSet
738
+ class ProtoinfoAttrs < ::Nl::AttributeSet
371
739
  # Abstract class
372
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
740
+ class Attribute < ::Nl::AttributeSet::Attribute
373
741
  end
742
+ # conntrack tcp state information
374
743
  class ProtoinfoTcp < Attribute
375
744
  TYPE = 1
376
745
  NAME = :"protoinfo_tcp"
746
+ # @private
747
+ ORDER = 0
377
748
  end
749
+ # conntrack dccp state information
378
750
  class ProtoinfoDccp < Attribute
379
751
  TYPE = 2
380
752
  NAME = :"protoinfo_dccp"
753
+ # @private
754
+ ORDER = 1
381
755
  end
756
+ # conntrack sctp state information
382
757
  class ProtoinfoSctp < Attribute
383
758
  TYPE = 3
384
759
  NAME = :"protoinfo_sctp"
760
+ # @private
761
+ ORDER = 2
385
762
  end
386
- # :nodoc:
763
+ # @private
387
764
  BY_NAME = Ractor.make_shareable({:"protoinfo_tcp" => ProtoinfoTcp, :"protoinfo_dccp" => ProtoinfoDccp, :"protoinfo_sctp" => ProtoinfoSctp}) #: Hash[::Symbol, Attribute]
388
- # :nodoc:
765
+ # @private
389
766
  BY_TYPE = Ractor.make_shareable({1 => ProtoinfoTcp, 2 => ProtoinfoDccp, 3 => ProtoinfoSctp}) #: Hash[::Integer, Attribute]
767
+ # conntrack tcp state information
768
+ # @rbs return: AttributeSets::ProtoinfoTcpAttrs
769
+ # @return [AttributeSets::ProtoinfoTcpAttrs]
770
+ # @see ProtoinfoTcp
771
+ def protoinfo_tcp; self[:"protoinfo_tcp"]&.value; end
772
+ # conntrack dccp state information
773
+ # @rbs return: AttributeSets::ProtoinfoDccpAttrs
774
+ # @return [AttributeSets::ProtoinfoDccpAttrs]
775
+ # @see ProtoinfoDccp
776
+ def protoinfo_dccp; self[:"protoinfo_dccp"]&.value; end
777
+ # conntrack sctp state information
778
+ # @rbs return: AttributeSets::ProtoinfoSctpAttrs
779
+ # @return [AttributeSets::ProtoinfoSctpAttrs]
780
+ # @see ProtoinfoSctp
781
+ def protoinfo_sctp; self[:"protoinfo_sctp"]&.value; end
390
782
  class << self
391
783
  # Looks up Attribute class by name.
392
- #--
393
784
  # @rbs name: Symbol
394
785
  # @rbs return: Attribute
786
+ # @param [Symbol] name
787
+ # @return [Attribute]
395
788
  def by_name(name); BY_NAME.fetch(name); end
396
789
  # Looks up Attribute class by type value.
397
- #--
398
790
  # @rbs type: Integer
399
791
  # @rbs return: Attribute
792
+ # @param [Integer] type
793
+ # @return [Attribute]
400
794
  def by_type(type); BY_TYPE.fetch(type); end
401
795
  end
402
796
  end
403
- class HelpAttrs < ::Nl::Protocols::Raw::AttributeSet
797
+ class HelpAttrs < ::Nl::AttributeSet
404
798
  # Abstract class
405
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
799
+ class Attribute < ::Nl::AttributeSet::Attribute
406
800
  end
801
+ # helper name
407
802
  class HelpName < Attribute
408
803
  TYPE = 1
409
804
  NAME = :"help_name"
410
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
805
+ # @private
806
+ ORDER = 0
807
+ # @private
808
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
411
809
  end
412
- # :nodoc:
810
+ # @private
413
811
  BY_NAME = Ractor.make_shareable({:"help_name" => HelpName}) #: Hash[::Symbol, Attribute]
414
- # :nodoc:
812
+ # @private
415
813
  BY_TYPE = Ractor.make_shareable({1 => HelpName}) #: Hash[::Integer, Attribute]
814
+ # helper name
815
+ # @rbs return: ::String
816
+ # @return [String]
817
+ # @see HelpName
818
+ def help_name; self[:"help_name"]&.value; end
416
819
  class << self
417
820
  # Looks up Attribute class by name.
418
- #--
419
821
  # @rbs name: Symbol
420
822
  # @rbs return: Attribute
823
+ # @param [Symbol] name
824
+ # @return [Attribute]
421
825
  def by_name(name); BY_NAME.fetch(name); end
422
826
  # Looks up Attribute class by type value.
423
- #--
424
827
  # @rbs type: Integer
425
828
  # @rbs return: Attribute
829
+ # @param [Integer] type
830
+ # @return [Attribute]
426
831
  def by_type(type); BY_TYPE.fetch(type); end
427
832
  end
428
833
  end
429
- class NatProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
834
+ class NatProtoAttrs < ::Nl::AttributeSet
430
835
  # Abstract class
431
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
836
+ class Attribute < ::Nl::AttributeSet::Attribute
432
837
  end
433
838
  class NatPortMin < Attribute
434
839
  TYPE = 1
435
840
  NAME = :"nat_port_min"
436
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
841
+ # @private
842
+ ORDER = 0
843
+ # @private
844
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
437
845
  end
438
846
  class NatPortMax < Attribute
439
847
  TYPE = 2
440
848
  NAME = :"nat_port_max"
441
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
849
+ # @private
850
+ ORDER = 1
851
+ # @private
852
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
442
853
  end
443
- # :nodoc:
854
+ # @private
444
855
  BY_NAME = Ractor.make_shareable({:"nat_port_min" => NatPortMin, :"nat_port_max" => NatPortMax}) #: Hash[::Symbol, Attribute]
445
- # :nodoc:
856
+ # @private
446
857
  BY_TYPE = Ractor.make_shareable({1 => NatPortMin, 2 => NatPortMax}) #: Hash[::Integer, Attribute]
858
+ # @rbs return: ::Integer
859
+ # @return [Integer]
860
+ # @see NatPortMin
861
+ def nat_port_min; self[:"nat_port_min"]&.value; end
862
+ # @rbs return: ::Integer
863
+ # @return [Integer]
864
+ # @see NatPortMax
865
+ def nat_port_max; self[:"nat_port_max"]&.value; end
447
866
  class << self
448
867
  # Looks up Attribute class by name.
449
- #--
450
868
  # @rbs name: Symbol
451
869
  # @rbs return: Attribute
870
+ # @param [Symbol] name
871
+ # @return [Attribute]
452
872
  def by_name(name); BY_NAME.fetch(name); end
453
873
  # Looks up Attribute class by type value.
454
- #--
455
874
  # @rbs type: Integer
456
875
  # @rbs return: Attribute
876
+ # @param [Integer] type
877
+ # @return [Attribute]
457
878
  def by_type(type); BY_TYPE.fetch(type); end
458
879
  end
459
880
  end
460
- class NatAttrs < ::Nl::Protocols::Raw::AttributeSet
881
+ class NatAttrs < ::Nl::AttributeSet
461
882
  # Abstract class
462
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
883
+ class Attribute < ::Nl::AttributeSet::Attribute
463
884
  end
464
885
  class NatV4Minip < Attribute
465
886
  TYPE = 1
466
887
  NAME = :"nat_v4_minip"
467
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
888
+ # @private
889
+ ORDER = 0
890
+ # @private
891
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
468
892
  end
469
893
  class NatV4Maxip < Attribute
470
894
  TYPE = 2
471
895
  NAME = :"nat_v4_maxip"
472
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
896
+ # @private
897
+ ORDER = 1
898
+ # @private
899
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
473
900
  end
474
901
  class NatV6Minip < Attribute
475
902
  TYPE = 3
476
903
  NAME = :"nat_v6_minip"
477
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
904
+ # @private
905
+ ORDER = 2
906
+ # @private
907
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
478
908
  end
479
909
  class NatV6Maxip < Attribute
480
910
  TYPE = 4
481
911
  NAME = :"nat_v6_maxip"
482
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
912
+ # @private
913
+ ORDER = 3
914
+ # @private
915
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
483
916
  end
484
917
  class NatProto < Attribute
485
918
  TYPE = 5
486
919
  NAME = :"nat_proto"
920
+ # @private
921
+ ORDER = 4
487
922
  end
488
- # :nodoc:
923
+ # @private
489
924
  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:
925
+ # @private
491
926
  BY_TYPE = Ractor.make_shareable({1 => NatV4Minip, 2 => NatV4Maxip, 3 => NatV6Minip, 4 => NatV6Maxip, 5 => NatProto}) #: Hash[::Integer, Attribute]
927
+ # @rbs return: ::Integer
928
+ # @return [Integer]
929
+ # @see NatV4Minip
930
+ def nat_v4_minip; self[:"nat_v4_minip"]&.value; end
931
+ # @rbs return: ::Integer
932
+ # @return [Integer]
933
+ # @see NatV4Maxip
934
+ def nat_v4_maxip; self[:"nat_v4_maxip"]&.value; end
935
+ # @rbs return: ::String
936
+ # @return [String]
937
+ # @see NatV6Minip
938
+ def nat_v6_minip; self[:"nat_v6_minip"]&.value; end
939
+ # @rbs return: ::String
940
+ # @return [String]
941
+ # @see NatV6Maxip
942
+ def nat_v6_maxip; self[:"nat_v6_maxip"]&.value; end
943
+ # @rbs return: AttributeSets::NatProtoAttrs
944
+ # @return [AttributeSets::NatProtoAttrs]
945
+ # @see NatProto
946
+ def nat_proto; self[:"nat_proto"]&.value; end
492
947
  class << self
493
948
  # Looks up Attribute class by name.
494
- #--
495
949
  # @rbs name: Symbol
496
950
  # @rbs return: Attribute
951
+ # @param [Symbol] name
952
+ # @return [Attribute]
497
953
  def by_name(name); BY_NAME.fetch(name); end
498
954
  # Looks up Attribute class by type value.
499
- #--
500
955
  # @rbs type: Integer
501
956
  # @rbs return: Attribute
957
+ # @param [Integer] type
958
+ # @return [Attribute]
502
959
  def by_type(type); BY_TYPE.fetch(type); end
503
960
  end
504
961
  end
505
- class SeqadjAttrs < ::Nl::Protocols::Raw::AttributeSet
962
+ class SeqadjAttrs < ::Nl::AttributeSet
506
963
  # Abstract class
507
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
964
+ class Attribute < ::Nl::AttributeSet::Attribute
508
965
  end
509
966
  class CorrectionPos < Attribute
510
967
  TYPE = 1
511
968
  NAME = :"correction_pos"
512
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
969
+ # @private
970
+ ORDER = 0
971
+ # @private
972
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
513
973
  end
514
974
  class OffsetBefore < Attribute
515
975
  TYPE = 2
516
976
  NAME = :"offset_before"
517
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
977
+ # @private
978
+ ORDER = 1
979
+ # @private
980
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
518
981
  end
519
982
  class OffsetAfter < Attribute
520
983
  TYPE = 3
521
984
  NAME = :"offset_after"
522
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
985
+ # @private
986
+ ORDER = 2
987
+ # @private
988
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
523
989
  end
524
- # :nodoc:
990
+ # @private
525
991
  BY_NAME = Ractor.make_shareable({:"correction_pos" => CorrectionPos, :"offset_before" => OffsetBefore, :"offset_after" => OffsetAfter}) #: Hash[::Symbol, Attribute]
526
- # :nodoc:
992
+ # @private
527
993
  BY_TYPE = Ractor.make_shareable({1 => CorrectionPos, 2 => OffsetBefore, 3 => OffsetAfter}) #: Hash[::Integer, Attribute]
994
+ # @rbs return: ::Integer
995
+ # @return [Integer]
996
+ # @see CorrectionPos
997
+ def correction_pos; self[:"correction_pos"]&.value; end
998
+ # @rbs return: ::Integer
999
+ # @return [Integer]
1000
+ # @see OffsetBefore
1001
+ def offset_before; self[:"offset_before"]&.value; end
1002
+ # @rbs return: ::Integer
1003
+ # @return [Integer]
1004
+ # @see OffsetAfter
1005
+ def offset_after; self[:"offset_after"]&.value; end
528
1006
  class << self
529
1007
  # Looks up Attribute class by name.
530
- #--
531
1008
  # @rbs name: Symbol
532
1009
  # @rbs return: Attribute
1010
+ # @param [Symbol] name
1011
+ # @return [Attribute]
533
1012
  def by_name(name); BY_NAME.fetch(name); end
534
1013
  # Looks up Attribute class by type value.
535
- #--
536
1014
  # @rbs type: Integer
537
1015
  # @rbs return: Attribute
1016
+ # @param [Integer] type
1017
+ # @return [Attribute]
538
1018
  def by_type(type); BY_TYPE.fetch(type); end
539
1019
  end
540
1020
  end
541
- class SecctxAttrs < ::Nl::Protocols::Raw::AttributeSet
1021
+ class SecctxAttrs < ::Nl::AttributeSet
542
1022
  # Abstract class
543
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1023
+ class Attribute < ::Nl::AttributeSet::Attribute
544
1024
  end
545
1025
  class SecctxName < Attribute
546
1026
  TYPE = 1
547
1027
  NAME = :"secctx_name"
548
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
1028
+ # @private
1029
+ ORDER = 0
1030
+ # @private
1031
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
549
1032
  end
550
- # :nodoc:
1033
+ # @private
551
1034
  BY_NAME = Ractor.make_shareable({:"secctx_name" => SecctxName}) #: Hash[::Symbol, Attribute]
552
- # :nodoc:
1035
+ # @private
553
1036
  BY_TYPE = Ractor.make_shareable({1 => SecctxName}) #: Hash[::Integer, Attribute]
1037
+ # @rbs return: ::String
1038
+ # @return [String]
1039
+ # @see SecctxName
1040
+ def secctx_name; self[:"secctx_name"]&.value; end
554
1041
  class << self
555
1042
  # Looks up Attribute class by name.
556
- #--
557
1043
  # @rbs name: Symbol
558
1044
  # @rbs return: Attribute
1045
+ # @param [Symbol] name
1046
+ # @return [Attribute]
559
1047
  def by_name(name); BY_NAME.fetch(name); end
560
1048
  # Looks up Attribute class by type value.
561
- #--
562
1049
  # @rbs type: Integer
563
1050
  # @rbs return: Attribute
1051
+ # @param [Integer] type
1052
+ # @return [Attribute]
564
1053
  def by_type(type); BY_TYPE.fetch(type); end
565
1054
  end
566
1055
  end
567
- class SynproxyAttrs < ::Nl::Protocols::Raw::AttributeSet
1056
+ class SynproxyAttrs < ::Nl::AttributeSet
568
1057
  # Abstract class
569
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1058
+ class Attribute < ::Nl::AttributeSet::Attribute
570
1059
  end
571
1060
  class Isn < Attribute
572
1061
  TYPE = 1
573
1062
  NAME = :"isn"
574
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1063
+ # @private
1064
+ ORDER = 0
1065
+ # @private
1066
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
575
1067
  end
576
1068
  class Its < Attribute
577
1069
  TYPE = 2
578
1070
  NAME = :"its"
579
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1071
+ # @private
1072
+ ORDER = 1
1073
+ # @private
1074
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
580
1075
  end
581
1076
  class Tsoff < Attribute
582
1077
  TYPE = 3
583
1078
  NAME = :"tsoff"
584
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1079
+ # @private
1080
+ ORDER = 2
1081
+ # @private
1082
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
585
1083
  end
586
- # :nodoc:
1084
+ # @private
587
1085
  BY_NAME = Ractor.make_shareable({:"isn" => Isn, :"its" => Its, :"tsoff" => Tsoff}) #: Hash[::Symbol, Attribute]
588
- # :nodoc:
1086
+ # @private
589
1087
  BY_TYPE = Ractor.make_shareable({1 => Isn, 2 => Its, 3 => Tsoff}) #: Hash[::Integer, Attribute]
1088
+ # @rbs return: ::Integer
1089
+ # @return [Integer]
1090
+ # @see Isn
1091
+ def isn; self[:"isn"]&.value; end
1092
+ # @rbs return: ::Integer
1093
+ # @return [Integer]
1094
+ # @see Its
1095
+ def its; self[:"its"]&.value; end
1096
+ # @rbs return: ::Integer
1097
+ # @return [Integer]
1098
+ # @see Tsoff
1099
+ def tsoff; self[:"tsoff"]&.value; end
590
1100
  class << self
591
1101
  # Looks up Attribute class by name.
592
- #--
593
1102
  # @rbs name: Symbol
594
1103
  # @rbs return: Attribute
1104
+ # @param [Symbol] name
1105
+ # @return [Attribute]
595
1106
  def by_name(name); BY_NAME.fetch(name); end
596
1107
  # Looks up Attribute class by type value.
597
- #--
598
1108
  # @rbs type: Integer
599
1109
  # @rbs return: Attribute
1110
+ # @param [Integer] type
1111
+ # @return [Attribute]
600
1112
  def by_type(type); BY_TYPE.fetch(type); end
601
1113
  end
602
1114
  end
603
- class ConntrackAttrs < ::Nl::Protocols::Raw::AttributeSet
1115
+ class ConntrackAttrs < ::Nl::AttributeSet
604
1116
  # Abstract class
605
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1117
+ class Attribute < ::Nl::AttributeSet::Attribute
606
1118
  end
1119
+ # conntrack l3+l4 protocol information, original direction
607
1120
  class TupleOrig < Attribute
608
1121
  TYPE = 1
609
1122
  NAME = :"tuple_orig"
1123
+ # @private
1124
+ ORDER = 0
610
1125
  end
1126
+ # conntrack l3+l4 protocol information, reply direction
611
1127
  class TupleReply < Attribute
612
1128
  TYPE = 2
613
1129
  NAME = :"tuple_reply"
1130
+ # @private
1131
+ ORDER = 1
614
1132
  end
1133
+ # conntrack flag bits
1134
+ #
1135
+ # Known flags are defined in {Flags::NfCtStatus}.
615
1136
  class Status < Attribute
616
1137
  TYPE = 3
617
1138
  NAME = :"status"
618
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1139
+ # @private
1140
+ ORDER = 2
1141
+ # @private
1142
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
619
1143
  end
620
1144
  class Protoinfo < Attribute
621
1145
  TYPE = 4
622
1146
  NAME = :"protoinfo"
1147
+ # @private
1148
+ ORDER = 3
623
1149
  end
624
1150
  class Help < Attribute
625
1151
  TYPE = 5
626
1152
  NAME = :"help"
1153
+ # @private
1154
+ ORDER = 4
627
1155
  end
628
1156
  class NatSrc < Attribute
629
1157
  TYPE = 6
630
1158
  NAME = :"nat_src"
1159
+ # @private
1160
+ ORDER = 5
631
1161
  end
632
1162
  class Timeout < Attribute
633
1163
  TYPE = 7
634
1164
  NAME = :"timeout"
635
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1165
+ # @private
1166
+ ORDER = 6
1167
+ # @private
1168
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
636
1169
  end
637
1170
  class Mark < Attribute
638
1171
  TYPE = 8
639
1172
  NAME = :"mark"
640
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1173
+ # @private
1174
+ ORDER = 7
1175
+ # @private
1176
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
641
1177
  end
642
1178
  class CountersOrig < Attribute
643
1179
  TYPE = 9
644
1180
  NAME = :"counters_orig"
1181
+ # @private
1182
+ ORDER = 8
645
1183
  end
646
1184
  class CountersReply < Attribute
647
1185
  TYPE = 10
648
1186
  NAME = :"counters_reply"
1187
+ # @private
1188
+ ORDER = 9
649
1189
  end
650
1190
  class Use < Attribute
651
1191
  TYPE = 11
652
1192
  NAME = :"use"
653
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1193
+ # @private
1194
+ ORDER = 10
1195
+ # @private
1196
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
654
1197
  end
655
1198
  class Id < Attribute
656
1199
  TYPE = 12
657
1200
  NAME = :"id"
658
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1201
+ # @private
1202
+ ORDER = 11
1203
+ # @private
1204
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
659
1205
  end
660
1206
  class NatDst < Attribute
661
1207
  TYPE = 13
662
1208
  NAME = :"nat_dst"
1209
+ # @private
1210
+ ORDER = 12
663
1211
  end
664
1212
  class TupleMaster < Attribute
665
1213
  TYPE = 14
666
1214
  NAME = :"tuple_master"
1215
+ # @private
1216
+ ORDER = 13
667
1217
  end
668
1218
  class SeqAdjOrig < Attribute
669
1219
  TYPE = 15
670
1220
  NAME = :"seq_adj_orig"
1221
+ # @private
1222
+ ORDER = 14
671
1223
  end
672
1224
  class SeqAdjReply < Attribute
673
1225
  TYPE = 16
674
1226
  NAME = :"seq_adj_reply"
1227
+ # @private
1228
+ ORDER = 15
675
1229
  end
1230
+ # obsolete
676
1231
  class Secmark < Attribute
677
1232
  TYPE = 17
678
1233
  NAME = :"secmark"
679
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1234
+ # @private
1235
+ ORDER = 16
1236
+ # @private
1237
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
680
1238
  end
1239
+ # conntrack zone id
681
1240
  class Zone < Attribute
682
1241
  TYPE = 18
683
1242
  NAME = :"zone"
684
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
1243
+ # @private
1244
+ ORDER = 17
1245
+ # @private
1246
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
685
1247
  end
686
1248
  class Secctx < Attribute
687
1249
  TYPE = 19
688
1250
  NAME = :"secctx"
1251
+ # @private
1252
+ ORDER = 18
689
1253
  end
690
1254
  class Timestamp < Attribute
691
1255
  TYPE = 20
692
1256
  NAME = :"timestamp"
693
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
1257
+ # @private
1258
+ ORDER = 19
1259
+ # @private
1260
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
694
1261
  end
695
1262
  class MarkMask < Attribute
696
1263
  TYPE = 21
697
1264
  NAME = :"mark_mask"
698
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1265
+ # @private
1266
+ ORDER = 20
1267
+ # @private
1268
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
699
1269
  end
700
1270
  class Labels < Attribute
701
1271
  TYPE = 22
702
1272
  NAME = :"labels"
703
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1273
+ # @private
1274
+ ORDER = 21
1275
+ # @private
1276
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
704
1277
  end
705
1278
  class LabelsMask < Attribute
706
1279
  TYPE = 23
707
1280
  NAME = :"labels_mask"
708
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
1281
+ # @private
1282
+ ORDER = 22
1283
+ # @private
1284
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
709
1285
  end
710
1286
  class Synproxy < Attribute
711
1287
  TYPE = 24
712
1288
  NAME = :"synproxy"
1289
+ # @private
1290
+ ORDER = 23
713
1291
  end
714
1292
  class Filter < Attribute
715
1293
  TYPE = 25
716
1294
  NAME = :"filter"
1295
+ # @private
1296
+ ORDER = 24
717
1297
  end
1298
+ # conntrack flag bits to change
1299
+ #
1300
+ # Known flags are defined in {Flags::NfCtStatus}.
718
1301
  class StatusMask < Attribute
719
1302
  TYPE = 26
720
1303
  NAME = :"status_mask"
721
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1304
+ # @private
1305
+ ORDER = 25
1306
+ # @private
1307
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
722
1308
  end
723
1309
  class TimestampEvent < Attribute
724
1310
  TYPE = 27
725
1311
  NAME = :"timestamp_event"
726
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
1312
+ # @private
1313
+ ORDER = 26
1314
+ # @private
1315
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
727
1316
  end
728
- # :nodoc:
1317
+ # @private
729
1318
  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:
1319
+ # @private
731
1320
  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]
1321
+ # conntrack l3+l4 protocol information, original direction
1322
+ # @rbs return: AttributeSets::TupleAttrs
1323
+ # @return [AttributeSets::TupleAttrs]
1324
+ # @see TupleOrig
1325
+ def tuple_orig; self[:"tuple_orig"]&.value; end
1326
+ # conntrack l3+l4 protocol information, reply direction
1327
+ # @rbs return: AttributeSets::TupleAttrs
1328
+ # @return [AttributeSets::TupleAttrs]
1329
+ # @see TupleReply
1330
+ def tuple_reply; self[:"tuple_reply"]&.value; end
1331
+ # conntrack flag bits
1332
+ #
1333
+ # Known flags are defined in {Flags::NfCtStatus}.
1334
+ # @rbs return: ::Integer
1335
+ # @return [Integer]
1336
+ # @see Status
1337
+ def status; self[:"status"]&.value; end
1338
+ # @rbs return: AttributeSets::ProtoinfoAttrs
1339
+ # @return [AttributeSets::ProtoinfoAttrs]
1340
+ # @see Protoinfo
1341
+ def protoinfo; self[:"protoinfo"]&.value; end
1342
+ # @rbs return: AttributeSets::HelpAttrs
1343
+ # @return [AttributeSets::HelpAttrs]
1344
+ # @see Help
1345
+ def help; self[:"help"]&.value; end
1346
+ # @rbs return: AttributeSets::NatAttrs
1347
+ # @return [AttributeSets::NatAttrs]
1348
+ # @see NatSrc
1349
+ def nat_src; self[:"nat_src"]&.value; end
1350
+ # @rbs return: ::Integer
1351
+ # @return [Integer]
1352
+ # @see Timeout
1353
+ def timeout; self[:"timeout"]&.value; end
1354
+ # @rbs return: ::Integer
1355
+ # @return [Integer]
1356
+ # @see Mark
1357
+ def mark; self[:"mark"]&.value; end
1358
+ # @rbs return: AttributeSets::CounterAttrs
1359
+ # @return [AttributeSets::CounterAttrs]
1360
+ # @see CountersOrig
1361
+ def counters_orig; self[:"counters_orig"]&.value; end
1362
+ # @rbs return: AttributeSets::CounterAttrs
1363
+ # @return [AttributeSets::CounterAttrs]
1364
+ # @see CountersReply
1365
+ def counters_reply; self[:"counters_reply"]&.value; end
1366
+ # @rbs return: ::Integer
1367
+ # @return [Integer]
1368
+ # @see Use
1369
+ def use; self[:"use"]&.value; end
1370
+ # @rbs return: ::Integer
1371
+ # @return [Integer]
1372
+ # @see Id
1373
+ def id; self[:"id"]&.value; end
1374
+ # @rbs return: AttributeSets::NatAttrs
1375
+ # @return [AttributeSets::NatAttrs]
1376
+ # @see NatDst
1377
+ def nat_dst; self[:"nat_dst"]&.value; end
1378
+ # @rbs return: AttributeSets::TupleAttrs
1379
+ # @return [AttributeSets::TupleAttrs]
1380
+ # @see TupleMaster
1381
+ def tuple_master; self[:"tuple_master"]&.value; end
1382
+ # @rbs return: AttributeSets::SeqadjAttrs
1383
+ # @return [AttributeSets::SeqadjAttrs]
1384
+ # @see SeqAdjOrig
1385
+ def seq_adj_orig; self[:"seq_adj_orig"]&.value; end
1386
+ # @rbs return: AttributeSets::SeqadjAttrs
1387
+ # @return [AttributeSets::SeqadjAttrs]
1388
+ # @see SeqAdjReply
1389
+ def seq_adj_reply; self[:"seq_adj_reply"]&.value; end
1390
+ # obsolete
1391
+ # @rbs return: ::String
1392
+ # @return [String]
1393
+ # @see Secmark
1394
+ def secmark; self[:"secmark"]&.value; end
1395
+ # conntrack zone id
1396
+ # @rbs return: ::Integer
1397
+ # @return [Integer]
1398
+ # @see Zone
1399
+ def zone; self[:"zone"]&.value; end
1400
+ # @rbs return: AttributeSets::SecctxAttrs
1401
+ # @return [AttributeSets::SecctxAttrs]
1402
+ # @see Secctx
1403
+ def secctx; self[:"secctx"]&.value; end
1404
+ # @rbs return: ::Integer
1405
+ # @return [Integer]
1406
+ # @see Timestamp
1407
+ def timestamp; self[:"timestamp"]&.value; end
1408
+ # @rbs return: ::Integer
1409
+ # @return [Integer]
1410
+ # @see MarkMask
1411
+ def mark_mask; self[:"mark_mask"]&.value; end
1412
+ # @rbs return: ::String
1413
+ # @return [String]
1414
+ # @see Labels
1415
+ def labels; self[:"labels"]&.value; end
1416
+ # @rbs return: ::String
1417
+ # @return [String]
1418
+ # @see LabelsMask
1419
+ def labels_mask; self[:"labels_mask"]&.value; end
1420
+ # @rbs return: AttributeSets::SynproxyAttrs
1421
+ # @return [AttributeSets::SynproxyAttrs]
1422
+ # @see Synproxy
1423
+ def synproxy; self[:"synproxy"]&.value; end
1424
+ # @rbs return: AttributeSets::TupleAttrs
1425
+ # @return [AttributeSets::TupleAttrs]
1426
+ # @see Filter
1427
+ def filter; self[:"filter"]&.value; end
1428
+ # conntrack flag bits to change
1429
+ #
1430
+ # Known flags are defined in {Flags::NfCtStatus}.
1431
+ # @rbs return: ::Integer
1432
+ # @return [Integer]
1433
+ # @see StatusMask
1434
+ def status_mask; self[:"status_mask"]&.value; end
1435
+ # @rbs return: ::Integer
1436
+ # @return [Integer]
1437
+ # @see TimestampEvent
1438
+ def timestamp_event; self[:"timestamp_event"]&.value; end
732
1439
  class << self
733
1440
  # Looks up Attribute class by name.
734
- #--
735
1441
  # @rbs name: Symbol
736
1442
  # @rbs return: Attribute
1443
+ # @param [Symbol] name
1444
+ # @return [Attribute]
737
1445
  def by_name(name); BY_NAME.fetch(name); end
738
1446
  # Looks up Attribute class by type value.
739
- #--
740
1447
  # @rbs type: Integer
741
1448
  # @rbs return: Attribute
1449
+ # @param [Integer] type
1450
+ # @return [Attribute]
742
1451
  def by_type(type); BY_TYPE.fetch(type); end
743
1452
  end
744
1453
  end
745
- class ConntrackStatsAttrs < ::Nl::Protocols::Raw::AttributeSet
1454
+ class ConntrackStatsAttrs < ::Nl::AttributeSet
746
1455
  # Abstract class
747
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
1456
+ class Attribute < ::Nl::AttributeSet::Attribute
748
1457
  end
1458
+ # obsolete
749
1459
  class Searched < Attribute
750
1460
  TYPE = 1
751
1461
  NAME = :"searched"
752
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1462
+ # @private
1463
+ ORDER = 0
1464
+ # @private
1465
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
753
1466
  end
754
1467
  class Found < Attribute
755
1468
  TYPE = 2
756
1469
  NAME = :"found"
757
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1470
+ # @private
1471
+ ORDER = 1
1472
+ # @private
1473
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
758
1474
  end
1475
+ # obsolete
759
1476
  class New < Attribute
760
1477
  TYPE = 3
761
1478
  NAME = :"new"
762
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1479
+ # @private
1480
+ ORDER = 2
1481
+ # @private
1482
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
763
1483
  end
1484
+ # obsolete
764
1485
  class Invalid < Attribute
765
1486
  TYPE = 4
766
1487
  NAME = :"invalid"
767
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1488
+ # @private
1489
+ ORDER = 3
1490
+ # @private
1491
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
768
1492
  end
1493
+ # obsolete
769
1494
  class Ignore < Attribute
770
1495
  TYPE = 5
771
1496
  NAME = :"ignore"
772
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1497
+ # @private
1498
+ ORDER = 4
1499
+ # @private
1500
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
773
1501
  end
1502
+ # obsolete
774
1503
  class Delete < Attribute
775
1504
  TYPE = 6
776
1505
  NAME = :"delete"
777
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1506
+ # @private
1507
+ ORDER = 5
1508
+ # @private
1509
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
778
1510
  end
1511
+ # obsolete
779
1512
  class DeleteList < Attribute
780
1513
  TYPE = 7
781
1514
  NAME = :"delete_list"
782
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1515
+ # @private
1516
+ ORDER = 6
1517
+ # @private
1518
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
783
1519
  end
784
1520
  class Insert < Attribute
785
1521
  TYPE = 8
786
1522
  NAME = :"insert"
787
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1523
+ # @private
1524
+ ORDER = 7
1525
+ # @private
1526
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
788
1527
  end
789
1528
  class InsertFailed < Attribute
790
1529
  TYPE = 9
791
1530
  NAME = :"insert_failed"
792
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1531
+ # @private
1532
+ ORDER = 8
1533
+ # @private
1534
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
793
1535
  end
794
1536
  class Drop < Attribute
795
1537
  TYPE = 10
796
1538
  NAME = :"drop"
797
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1539
+ # @private
1540
+ ORDER = 9
1541
+ # @private
1542
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
798
1543
  end
799
1544
  class EarlyDrop < Attribute
800
1545
  TYPE = 11
801
1546
  NAME = :"early_drop"
802
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1547
+ # @private
1548
+ ORDER = 10
1549
+ # @private
1550
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
803
1551
  end
804
1552
  class Error < Attribute
805
1553
  TYPE = 12
806
1554
  NAME = :"error"
807
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1555
+ # @private
1556
+ ORDER = 11
1557
+ # @private
1558
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
808
1559
  end
809
1560
  class SearchRestart < Attribute
810
1561
  TYPE = 13
811
1562
  NAME = :"search_restart"
812
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1563
+ # @private
1564
+ ORDER = 12
1565
+ # @private
1566
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
813
1567
  end
814
1568
  class ClashResolve < Attribute
815
1569
  TYPE = 14
816
1570
  NAME = :"clash_resolve"
817
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1571
+ # @private
1572
+ ORDER = 13
1573
+ # @private
1574
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
818
1575
  end
819
1576
  class ChainToolong < Attribute
820
1577
  TYPE = 15
821
1578
  NAME = :"chain_toolong"
822
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
1579
+ # @private
1580
+ ORDER = 14
1581
+ # @private
1582
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
823
1583
  end
824
- # :nodoc:
1584
+ # @private
825
1585
  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:
1586
+ # @private
827
1587
  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]
1588
+ # obsolete
1589
+ # @rbs return: ::Integer
1590
+ # @return [Integer]
1591
+ # @see Searched
1592
+ def searched; self[:"searched"]&.value; end
1593
+ # @rbs return: ::Integer
1594
+ # @return [Integer]
1595
+ # @see Found
1596
+ def found; self[:"found"]&.value; end
1597
+ # obsolete
1598
+ # @rbs return: ::Integer
1599
+ # @return [Integer]
1600
+ # @see New
1601
+ def new; self[:"new"]&.value; end
1602
+ # obsolete
1603
+ # @rbs return: ::Integer
1604
+ # @return [Integer]
1605
+ # @see Invalid
1606
+ def invalid; self[:"invalid"]&.value; end
1607
+ # obsolete
1608
+ # @rbs return: ::Integer
1609
+ # @return [Integer]
1610
+ # @see Ignore
1611
+ def ignore; self[:"ignore"]&.value; end
1612
+ # obsolete
1613
+ # @rbs return: ::Integer
1614
+ # @return [Integer]
1615
+ # @see Delete
1616
+ def delete; self[:"delete"]&.value; end
1617
+ # obsolete
1618
+ # @rbs return: ::Integer
1619
+ # @return [Integer]
1620
+ # @see DeleteList
1621
+ def delete_list; self[:"delete_list"]&.value; end
1622
+ # @rbs return: ::Integer
1623
+ # @return [Integer]
1624
+ # @see Insert
1625
+ def insert; self[:"insert"]&.value; end
1626
+ # @rbs return: ::Integer
1627
+ # @return [Integer]
1628
+ # @see InsertFailed
1629
+ def insert_failed; self[:"insert_failed"]&.value; end
1630
+ # @rbs return: ::Integer
1631
+ # @return [Integer]
1632
+ # @see Drop
1633
+ def drop; self[:"drop"]&.value; end
1634
+ # @rbs return: ::Integer
1635
+ # @return [Integer]
1636
+ # @see EarlyDrop
1637
+ def early_drop; self[:"early_drop"]&.value; end
1638
+ # @rbs return: ::Integer
1639
+ # @return [Integer]
1640
+ # @see Error
1641
+ def error; self[:"error"]&.value; end
1642
+ # @rbs return: ::Integer
1643
+ # @return [Integer]
1644
+ # @see SearchRestart
1645
+ def search_restart; self[:"search_restart"]&.value; end
1646
+ # @rbs return: ::Integer
1647
+ # @return [Integer]
1648
+ # @see ClashResolve
1649
+ def clash_resolve; self[:"clash_resolve"]&.value; end
1650
+ # @rbs return: ::Integer
1651
+ # @return [Integer]
1652
+ # @see ChainToolong
1653
+ def chain_toolong; self[:"chain_toolong"]&.value; end
828
1654
  class << self
829
1655
  # Looks up Attribute class by name.
830
- #--
831
1656
  # @rbs name: Symbol
832
1657
  # @rbs return: Attribute
1658
+ # @param [Symbol] name
1659
+ # @return [Attribute]
833
1660
  def by_name(name); BY_NAME.fetch(name); end
834
1661
  # Looks up Attribute class by type value.
835
- #--
836
1662
  # @rbs type: Integer
837
1663
  # @rbs return: Attribute
1664
+ # @param [Integer] type
1665
+ # @return [Attribute]
838
1666
  def by_type(type); BY_TYPE.fetch(type); end
839
1667
  end
840
1668
  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)
1669
+ # @private
1670
+ TupleAttrs::TupleIp::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleIpAttrs, selector_bindings: Ractor.make_shareable([]))
1671
+ # @private
1672
+ TupleAttrs::TupleProto::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleProtoAttrs, selector_bindings: Ractor.make_shareable([]))
1673
+ # @private
1674
+ ProtoinfoAttrs::ProtoinfoTcp::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::ProtoinfoTcpAttrs, selector_bindings: Ractor.make_shareable([]))
1675
+ # @private
1676
+ ProtoinfoAttrs::ProtoinfoDccp::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::ProtoinfoDccpAttrs, selector_bindings: Ractor.make_shareable([]))
1677
+ # @private
1678
+ ProtoinfoAttrs::ProtoinfoSctp::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::ProtoinfoSctpAttrs, selector_bindings: Ractor.make_shareable([]))
1679
+ # @private
1680
+ NatAttrs::NatProto::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::NatProtoAttrs, selector_bindings: Ractor.make_shareable([]))
1681
+ # @private
1682
+ ConntrackAttrs::TupleOrig::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleAttrs, selector_bindings: Ractor.make_shareable([]))
1683
+ # @private
1684
+ ConntrackAttrs::TupleReply::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleAttrs, selector_bindings: Ractor.make_shareable([]))
1685
+ # @private
1686
+ ConntrackAttrs::Protoinfo::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::ProtoinfoAttrs, selector_bindings: Ractor.make_shareable([]))
1687
+ # @private
1688
+ ConntrackAttrs::Help::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::HelpAttrs, selector_bindings: Ractor.make_shareable([]))
1689
+ # @private
1690
+ ConntrackAttrs::NatSrc::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::NatAttrs, selector_bindings: Ractor.make_shareable([]))
1691
+ # @private
1692
+ ConntrackAttrs::CountersOrig::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::CounterAttrs, selector_bindings: Ractor.make_shareable([]))
1693
+ # @private
1694
+ ConntrackAttrs::CountersReply::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::CounterAttrs, selector_bindings: Ractor.make_shareable([]))
1695
+ # @private
1696
+ ConntrackAttrs::NatDst::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::NatAttrs, selector_bindings: Ractor.make_shareable([]))
1697
+ # @private
1698
+ ConntrackAttrs::TupleMaster::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleAttrs, selector_bindings: Ractor.make_shareable([]))
1699
+ # @private
1700
+ ConntrackAttrs::SeqAdjOrig::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::SeqadjAttrs, selector_bindings: Ractor.make_shareable([]))
1701
+ # @private
1702
+ ConntrackAttrs::SeqAdjReply::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::SeqadjAttrs, selector_bindings: Ractor.make_shareable([]))
1703
+ # @private
1704
+ ConntrackAttrs::Secctx::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::SecctxAttrs, selector_bindings: Ractor.make_shareable([]))
1705
+ # @private
1706
+ ConntrackAttrs::Synproxy::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::SynproxyAttrs, selector_bindings: Ractor.make_shareable([]))
1707
+ # @private
1708
+ ConntrackAttrs::Filter::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::TupleAttrs, selector_bindings: Ractor.make_shareable([]))
861
1709
  end
862
1710
  module Messages
863
1711
  # get / dump entries
864
- class DoGetRequest < ::Nl::Protocols::Raw::Message
1712
+ class DoGetRequest < ::Nl::Raw::Message
865
1713
  TYPE = 257
866
1714
  FIXED_HEADER = Structs::Nfgenmsg
867
1715
  ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
868
1716
  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
1717
  # @rbs return: ::Integer
1718
+ # @return [Integer]
872
1719
  def nfgen_family; fixed_header.nfgen_family; end
873
- # Gets the value of `version` field in the message's fixed header.
874
- #--
875
1720
  # @rbs return: ::Integer
1721
+ # @return [Integer]
876
1722
  def version; fixed_header.version; end
877
- # Gets the value of `res-id` field in the message's fixed header.
878
- #--
879
1723
  # @rbs return: ::Integer
1724
+ # @return [Integer]
880
1725
  def res_id; fixed_header.res_id; end
881
- # Gets the value of `tuple-orig` attribute in the message.
882
- #--
1726
+ # conntrack l3+l4 protocol information, original direction
883
1727
  # @rbs return: AttributeSets::TupleAttrs
1728
+ # @return [AttributeSets::TupleAttrs]
1729
+ # @see AttributeSets::ConntrackAttrs::TupleOrig
884
1730
  def tuple_orig; attributes[:"tuple_orig"]&.value; end
885
- # Gets the value of `tuple-reply` attribute in the message.
886
- #--
1731
+ # conntrack l3+l4 protocol information, reply direction
887
1732
  # @rbs return: AttributeSets::TupleAttrs
1733
+ # @return [AttributeSets::TupleAttrs]
1734
+ # @see AttributeSets::ConntrackAttrs::TupleReply
888
1735
  def tuple_reply; attributes[:"tuple_reply"]&.value; end
889
- # Gets the value of `zone` attribute in the message.
890
- #--
1736
+ # conntrack zone id
891
1737
  # @rbs return: ::Integer
1738
+ # @return [Integer]
1739
+ # @see AttributeSets::ConntrackAttrs::Zone
892
1740
  def zone; attributes[:"zone"]&.value; end
893
1741
  end
894
1742
  # get / dump entries
895
- class DoGetReply < ::Nl::Protocols::Raw::Message
1743
+ class DoGetReply < ::Nl::Raw::Message
896
1744
  TYPE = 256
897
1745
  FIXED_HEADER = Structs::Nfgenmsg
898
1746
  ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
899
1747
  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
1748
  # @rbs return: ::Integer
1749
+ # @return [Integer]
903
1750
  def nfgen_family; fixed_header.nfgen_family; end
904
- # Gets the value of `version` field in the message's fixed header.
905
- #--
906
1751
  # @rbs return: ::Integer
1752
+ # @return [Integer]
907
1753
  def version; fixed_header.version; end
908
- # Gets the value of `res-id` field in the message's fixed header.
909
- #--
910
1754
  # @rbs return: ::Integer
1755
+ # @return [Integer]
911
1756
  def res_id; fixed_header.res_id; end
912
- # Gets the value of `tuple-orig` attribute in the message.
913
- #--
1757
+ # conntrack l3+l4 protocol information, original direction
914
1758
  # @rbs return: AttributeSets::TupleAttrs
1759
+ # @return [AttributeSets::TupleAttrs]
1760
+ # @see AttributeSets::ConntrackAttrs::TupleOrig
915
1761
  def tuple_orig; attributes[:"tuple_orig"]&.value; end
916
- # Gets the value of `tuple-reply` attribute in the message.
917
- #--
1762
+ # conntrack l3+l4 protocol information, reply direction
918
1763
  # @rbs return: AttributeSets::TupleAttrs
1764
+ # @return [AttributeSets::TupleAttrs]
1765
+ # @see AttributeSets::ConntrackAttrs::TupleReply
919
1766
  def tuple_reply; attributes[:"tuple_reply"]&.value; end
920
- # Gets the value of `status` attribute in the message.
921
- #--
1767
+ # conntrack flag bits
1768
+ #
1769
+ # Known flags are defined in {Flags::NfCtStatus}.
922
1770
  # @rbs return: ::Integer
1771
+ # @return [Integer]
1772
+ # @see AttributeSets::ConntrackAttrs::Status
923
1773
  def status; attributes[:"status"]&.value; end
924
- # Gets the value of `protoinfo` attribute in the message.
925
- #--
926
1774
  # @rbs return: AttributeSets::ProtoinfoAttrs
1775
+ # @return [AttributeSets::ProtoinfoAttrs]
1776
+ # @see AttributeSets::ConntrackAttrs::Protoinfo
927
1777
  def protoinfo; attributes[:"protoinfo"]&.value; end
928
- # Gets the value of `help` attribute in the message.
929
- #--
930
1778
  # @rbs return: AttributeSets::HelpAttrs
1779
+ # @return [AttributeSets::HelpAttrs]
1780
+ # @see AttributeSets::ConntrackAttrs::Help
931
1781
  def help; attributes[:"help"]&.value; end
932
- # Gets the value of `nat-src` attribute in the message.
933
- #--
934
1782
  # @rbs return: AttributeSets::NatAttrs
1783
+ # @return [AttributeSets::NatAttrs]
1784
+ # @see AttributeSets::ConntrackAttrs::NatSrc
935
1785
  def nat_src; attributes[:"nat_src"]&.value; end
936
- # Gets the value of `timeout` attribute in the message.
937
- #--
938
1786
  # @rbs return: ::Integer
1787
+ # @return [Integer]
1788
+ # @see AttributeSets::ConntrackAttrs::Timeout
939
1789
  def timeout; attributes[:"timeout"]&.value; end
940
- # Gets the value of `mark` attribute in the message.
941
- #--
942
1790
  # @rbs return: ::Integer
1791
+ # @return [Integer]
1792
+ # @see AttributeSets::ConntrackAttrs::Mark
943
1793
  def mark; attributes[:"mark"]&.value; end
944
- # Gets the value of `counters-orig` attribute in the message.
945
- #--
946
1794
  # @rbs return: AttributeSets::CounterAttrs
1795
+ # @return [AttributeSets::CounterAttrs]
1796
+ # @see AttributeSets::ConntrackAttrs::CountersOrig
947
1797
  def counters_orig; attributes[:"counters_orig"]&.value; end
948
- # Gets the value of `counters-reply` attribute in the message.
949
- #--
950
1798
  # @rbs return: AttributeSets::CounterAttrs
1799
+ # @return [AttributeSets::CounterAttrs]
1800
+ # @see AttributeSets::ConntrackAttrs::CountersReply
951
1801
  def counters_reply; attributes[:"counters_reply"]&.value; end
952
- # Gets the value of `use` attribute in the message.
953
- #--
954
1802
  # @rbs return: ::Integer
1803
+ # @return [Integer]
1804
+ # @see AttributeSets::ConntrackAttrs::Use
955
1805
  def use; attributes[:"use"]&.value; end
956
- # Gets the value of `id` attribute in the message.
957
- #--
958
1806
  # @rbs return: ::Integer
1807
+ # @return [Integer]
1808
+ # @see AttributeSets::ConntrackAttrs::Id
959
1809
  def id; attributes[:"id"]&.value; end
960
- # Gets the value of `nat-dst` attribute in the message.
961
- #--
962
1810
  # @rbs return: AttributeSets::NatAttrs
1811
+ # @return [AttributeSets::NatAttrs]
1812
+ # @see AttributeSets::ConntrackAttrs::NatDst
963
1813
  def nat_dst; attributes[:"nat_dst"]&.value; end
964
- # Gets the value of `tuple-master` attribute in the message.
965
- #--
966
1814
  # @rbs return: AttributeSets::TupleAttrs
1815
+ # @return [AttributeSets::TupleAttrs]
1816
+ # @see AttributeSets::ConntrackAttrs::TupleMaster
967
1817
  def tuple_master; attributes[:"tuple_master"]&.value; end
968
- # Gets the value of `seq-adj-orig` attribute in the message.
969
- #--
970
1818
  # @rbs return: AttributeSets::SeqadjAttrs
1819
+ # @return [AttributeSets::SeqadjAttrs]
1820
+ # @see AttributeSets::ConntrackAttrs::SeqAdjOrig
971
1821
  def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
972
- # Gets the value of `seq-adj-reply` attribute in the message.
973
- #--
974
1822
  # @rbs return: AttributeSets::SeqadjAttrs
1823
+ # @return [AttributeSets::SeqadjAttrs]
1824
+ # @see AttributeSets::ConntrackAttrs::SeqAdjReply
975
1825
  def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
976
- # Gets the value of `zone` attribute in the message.
977
- #--
1826
+ # conntrack zone id
978
1827
  # @rbs return: ::Integer
1828
+ # @return [Integer]
1829
+ # @see AttributeSets::ConntrackAttrs::Zone
979
1830
  def zone; attributes[:"zone"]&.value; end
980
- # Gets the value of `secctx` attribute in the message.
981
- #--
982
1831
  # @rbs return: AttributeSets::SecctxAttrs
1832
+ # @return [AttributeSets::SecctxAttrs]
1833
+ # @see AttributeSets::ConntrackAttrs::Secctx
983
1834
  def secctx; attributes[:"secctx"]&.value; end
984
- # Gets the value of `labels` attribute in the message.
985
- #--
986
- # @rbs return: untyped
1835
+ # @rbs return: ::String
1836
+ # @return [String]
1837
+ # @see AttributeSets::ConntrackAttrs::Labels
987
1838
  def labels; attributes[:"labels"]&.value; end
988
- # Gets the value of `synproxy` attribute in the message.
989
- #--
990
1839
  # @rbs return: AttributeSets::SynproxyAttrs
1840
+ # @return [AttributeSets::SynproxyAttrs]
1841
+ # @see AttributeSets::ConntrackAttrs::Synproxy
991
1842
  def synproxy; attributes[:"synproxy"]&.value; end
992
1843
  end
993
1844
  # get / dump entries
994
- class DumpGetRequest < ::Nl::Protocols::Raw::Message
1845
+ class DumpGetRequest < ::Nl::Raw::Message
995
1846
  TYPE = 257
996
1847
  FIXED_HEADER = Structs::Nfgenmsg
997
1848
  ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
998
1849
  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
1850
  # @rbs return: ::Integer
1851
+ # @return [Integer]
1002
1852
  def nfgen_family; fixed_header.nfgen_family; end
1003
- # Gets the value of `version` field in the message's fixed header.
1004
- #--
1005
1853
  # @rbs return: ::Integer
1854
+ # @return [Integer]
1006
1855
  def version; fixed_header.version; end
1007
- # Gets the value of `res-id` field in the message's fixed header.
1008
- #--
1009
1856
  # @rbs return: ::Integer
1857
+ # @return [Integer]
1010
1858
  def res_id; fixed_header.res_id; end
1011
- # Gets the value of `status` attribute in the message.
1012
- #--
1859
+ # conntrack flag bits
1860
+ #
1861
+ # Known flags are defined in {Flags::NfCtStatus}.
1013
1862
  # @rbs return: ::Integer
1863
+ # @return [Integer]
1864
+ # @see AttributeSets::ConntrackAttrs::Status
1014
1865
  def status; attributes[:"status"]&.value; end
1015
- # Gets the value of `mark` attribute in the message.
1016
- #--
1017
1866
  # @rbs return: ::Integer
1867
+ # @return [Integer]
1868
+ # @see AttributeSets::ConntrackAttrs::Mark
1018
1869
  def mark; attributes[:"mark"]&.value; end
1019
- # Gets the value of `zone` attribute in the message.
1020
- #--
1870
+ # conntrack zone id
1021
1871
  # @rbs return: ::Integer
1872
+ # @return [Integer]
1873
+ # @see AttributeSets::ConntrackAttrs::Zone
1022
1874
  def zone; attributes[:"zone"]&.value; end
1023
- # Gets the value of `filter` attribute in the message.
1024
- #--
1025
1875
  # @rbs return: AttributeSets::TupleAttrs
1876
+ # @return [AttributeSets::TupleAttrs]
1877
+ # @see AttributeSets::ConntrackAttrs::Filter
1026
1878
  def filter; attributes[:"filter"]&.value; end
1027
1879
  end
1028
1880
  # get / dump entries
1029
- class DumpGetReply < ::Nl::Protocols::Raw::Message
1881
+ class DumpGetReply < ::Nl::Raw::Message
1030
1882
  TYPE = 256
1031
1883
  FIXED_HEADER = Structs::Nfgenmsg
1032
1884
  ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
1033
1885
  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
1886
  # @rbs return: ::Integer
1887
+ # @return [Integer]
1037
1888
  def nfgen_family; fixed_header.nfgen_family; end
1038
- # Gets the value of `version` field in the message's fixed header.
1039
- #--
1040
1889
  # @rbs return: ::Integer
1890
+ # @return [Integer]
1041
1891
  def version; fixed_header.version; end
1042
- # Gets the value of `res-id` field in the message's fixed header.
1043
- #--
1044
1892
  # @rbs return: ::Integer
1893
+ # @return [Integer]
1045
1894
  def res_id; fixed_header.res_id; end
1046
- # Gets the value of `tuple-orig` attribute in the message.
1047
- #--
1895
+ # conntrack l3+l4 protocol information, original direction
1048
1896
  # @rbs return: AttributeSets::TupleAttrs
1897
+ # @return [AttributeSets::TupleAttrs]
1898
+ # @see AttributeSets::ConntrackAttrs::TupleOrig
1049
1899
  def tuple_orig; attributes[:"tuple_orig"]&.value; end
1050
- # Gets the value of `tuple-reply` attribute in the message.
1051
- #--
1900
+ # conntrack l3+l4 protocol information, reply direction
1052
1901
  # @rbs return: AttributeSets::TupleAttrs
1902
+ # @return [AttributeSets::TupleAttrs]
1903
+ # @see AttributeSets::ConntrackAttrs::TupleReply
1053
1904
  def tuple_reply; attributes[:"tuple_reply"]&.value; end
1054
- # Gets the value of `status` attribute in the message.
1055
- #--
1905
+ # conntrack flag bits
1906
+ #
1907
+ # Known flags are defined in {Flags::NfCtStatus}.
1056
1908
  # @rbs return: ::Integer
1909
+ # @return [Integer]
1910
+ # @see AttributeSets::ConntrackAttrs::Status
1057
1911
  def status; attributes[:"status"]&.value; end
1058
- # Gets the value of `protoinfo` attribute in the message.
1059
- #--
1060
1912
  # @rbs return: AttributeSets::ProtoinfoAttrs
1913
+ # @return [AttributeSets::ProtoinfoAttrs]
1914
+ # @see AttributeSets::ConntrackAttrs::Protoinfo
1061
1915
  def protoinfo; attributes[:"protoinfo"]&.value; end
1062
- # Gets the value of `help` attribute in the message.
1063
- #--
1064
1916
  # @rbs return: AttributeSets::HelpAttrs
1917
+ # @return [AttributeSets::HelpAttrs]
1918
+ # @see AttributeSets::ConntrackAttrs::Help
1065
1919
  def help; attributes[:"help"]&.value; end
1066
- # Gets the value of `nat-src` attribute in the message.
1067
- #--
1068
1920
  # @rbs return: AttributeSets::NatAttrs
1921
+ # @return [AttributeSets::NatAttrs]
1922
+ # @see AttributeSets::ConntrackAttrs::NatSrc
1069
1923
  def nat_src; attributes[:"nat_src"]&.value; end
1070
- # Gets the value of `timeout` attribute in the message.
1071
- #--
1072
1924
  # @rbs return: ::Integer
1925
+ # @return [Integer]
1926
+ # @see AttributeSets::ConntrackAttrs::Timeout
1073
1927
  def timeout; attributes[:"timeout"]&.value; end
1074
- # Gets the value of `mark` attribute in the message.
1075
- #--
1076
1928
  # @rbs return: ::Integer
1929
+ # @return [Integer]
1930
+ # @see AttributeSets::ConntrackAttrs::Mark
1077
1931
  def mark; attributes[:"mark"]&.value; end
1078
- # Gets the value of `counters-orig` attribute in the message.
1079
- #--
1080
1932
  # @rbs return: AttributeSets::CounterAttrs
1933
+ # @return [AttributeSets::CounterAttrs]
1934
+ # @see AttributeSets::ConntrackAttrs::CountersOrig
1081
1935
  def counters_orig; attributes[:"counters_orig"]&.value; end
1082
- # Gets the value of `counters-reply` attribute in the message.
1083
- #--
1084
1936
  # @rbs return: AttributeSets::CounterAttrs
1937
+ # @return [AttributeSets::CounterAttrs]
1938
+ # @see AttributeSets::ConntrackAttrs::CountersReply
1085
1939
  def counters_reply; attributes[:"counters_reply"]&.value; end
1086
- # Gets the value of `use` attribute in the message.
1087
- #--
1088
1940
  # @rbs return: ::Integer
1941
+ # @return [Integer]
1942
+ # @see AttributeSets::ConntrackAttrs::Use
1089
1943
  def use; attributes[:"use"]&.value; end
1090
- # Gets the value of `id` attribute in the message.
1091
- #--
1092
1944
  # @rbs return: ::Integer
1945
+ # @return [Integer]
1946
+ # @see AttributeSets::ConntrackAttrs::Id
1093
1947
  def id; attributes[:"id"]&.value; end
1094
- # Gets the value of `nat-dst` attribute in the message.
1095
- #--
1096
1948
  # @rbs return: AttributeSets::NatAttrs
1949
+ # @return [AttributeSets::NatAttrs]
1950
+ # @see AttributeSets::ConntrackAttrs::NatDst
1097
1951
  def nat_dst; attributes[:"nat_dst"]&.value; end
1098
- # Gets the value of `tuple-master` attribute in the message.
1099
- #--
1100
1952
  # @rbs return: AttributeSets::TupleAttrs
1953
+ # @return [AttributeSets::TupleAttrs]
1954
+ # @see AttributeSets::ConntrackAttrs::TupleMaster
1101
1955
  def tuple_master; attributes[:"tuple_master"]&.value; end
1102
- # Gets the value of `seq-adj-orig` attribute in the message.
1103
- #--
1104
1956
  # @rbs return: AttributeSets::SeqadjAttrs
1957
+ # @return [AttributeSets::SeqadjAttrs]
1958
+ # @see AttributeSets::ConntrackAttrs::SeqAdjOrig
1105
1959
  def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
1106
- # Gets the value of `seq-adj-reply` attribute in the message.
1107
- #--
1108
1960
  # @rbs return: AttributeSets::SeqadjAttrs
1961
+ # @return [AttributeSets::SeqadjAttrs]
1962
+ # @see AttributeSets::ConntrackAttrs::SeqAdjReply
1109
1963
  def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
1110
- # Gets the value of `zone` attribute in the message.
1111
- #--
1964
+ # conntrack zone id
1112
1965
  # @rbs return: ::Integer
1966
+ # @return [Integer]
1967
+ # @see AttributeSets::ConntrackAttrs::Zone
1113
1968
  def zone; attributes[:"zone"]&.value; end
1114
- # Gets the value of `secctx` attribute in the message.
1115
- #--
1116
1969
  # @rbs return: AttributeSets::SecctxAttrs
1970
+ # @return [AttributeSets::SecctxAttrs]
1971
+ # @see AttributeSets::ConntrackAttrs::Secctx
1117
1972
  def secctx; attributes[:"secctx"]&.value; end
1118
- # Gets the value of `labels` attribute in the message.
1119
- #--
1120
- # @rbs return: untyped
1973
+ # @rbs return: ::String
1974
+ # @return [String]
1975
+ # @see AttributeSets::ConntrackAttrs::Labels
1121
1976
  def labels; attributes[:"labels"]&.value; end
1122
- # Gets the value of `synproxy` attribute in the message.
1123
- #--
1124
1977
  # @rbs return: AttributeSets::SynproxyAttrs
1978
+ # @return [AttributeSets::SynproxyAttrs]
1979
+ # @see AttributeSets::ConntrackAttrs::Synproxy
1125
1980
  def synproxy; attributes[:"synproxy"]&.value; end
1126
1981
  end
1127
1982
  # dump pcpu conntrack stats
1128
- class DumpGetStatsRequest < ::Nl::Protocols::Raw::Message
1983
+ class DumpGetStatsRequest < ::Nl::Raw::Message
1129
1984
  TYPE = 260
1130
1985
  FIXED_HEADER = Structs::Nfgenmsg
1131
1986
  ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1132
1987
  ATTRIBUTES = Ractor.make_shareable(%i[])
1133
- # Gets the value of `nfgen-family` field in the message's fixed header.
1134
- #--
1135
1988
  # @rbs return: ::Integer
1989
+ # @return [Integer]
1136
1990
  def nfgen_family; fixed_header.nfgen_family; end
1137
- # Gets the value of `version` field in the message's fixed header.
1138
- #--
1139
1991
  # @rbs return: ::Integer
1992
+ # @return [Integer]
1140
1993
  def version; fixed_header.version; end
1141
- # Gets the value of `res-id` field in the message's fixed header.
1142
- #--
1143
1994
  # @rbs return: ::Integer
1995
+ # @return [Integer]
1144
1996
  def res_id; fixed_header.res_id; end
1145
1997
  end
1146
1998
  # dump pcpu conntrack stats
1147
- class DumpGetStatsReply < ::Nl::Protocols::Raw::Message
1999
+ class DumpGetStatsReply < ::Nl::Raw::Message
1148
2000
  TYPE = 260
1149
2001
  FIXED_HEADER = Structs::Nfgenmsg
1150
2002
  ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1151
2003
  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
2004
  # @rbs return: ::Integer
2005
+ # @return [Integer]
1155
2006
  def nfgen_family; fixed_header.nfgen_family; end
1156
- # Gets the value of `version` field in the message's fixed header.
1157
- #--
1158
2007
  # @rbs return: ::Integer
2008
+ # @return [Integer]
1159
2009
  def version; fixed_header.version; end
1160
- # Gets the value of `res-id` field in the message's fixed header.
1161
- #--
1162
2010
  # @rbs return: ::Integer
2011
+ # @return [Integer]
1163
2012
  def res_id; fixed_header.res_id; end
1164
- # Gets the value of `searched` attribute in the message.
1165
- #--
2013
+ # obsolete
1166
2014
  # @rbs return: ::Integer
2015
+ # @return [Integer]
2016
+ # @see AttributeSets::ConntrackStatsAttrs::Searched
1167
2017
  def searched; attributes[:"searched"]&.value; end
1168
- # Gets the value of `found` attribute in the message.
1169
- #--
1170
2018
  # @rbs return: ::Integer
2019
+ # @return [Integer]
2020
+ # @see AttributeSets::ConntrackStatsAttrs::Found
1171
2021
  def found; attributes[:"found"]&.value; end
1172
- # Gets the value of `insert` attribute in the message.
1173
- #--
1174
2022
  # @rbs return: ::Integer
2023
+ # @return [Integer]
2024
+ # @see AttributeSets::ConntrackStatsAttrs::Insert
1175
2025
  def insert; attributes[:"insert"]&.value; end
1176
- # Gets the value of `insert-failed` attribute in the message.
1177
- #--
1178
2026
  # @rbs return: ::Integer
2027
+ # @return [Integer]
2028
+ # @see AttributeSets::ConntrackStatsAttrs::InsertFailed
1179
2029
  def insert_failed; attributes[:"insert_failed"]&.value; end
1180
- # Gets the value of `drop` attribute in the message.
1181
- #--
1182
2030
  # @rbs return: ::Integer
2031
+ # @return [Integer]
2032
+ # @see AttributeSets::ConntrackStatsAttrs::Drop
1183
2033
  def drop; attributes[:"drop"]&.value; end
1184
- # Gets the value of `early-drop` attribute in the message.
1185
- #--
1186
2034
  # @rbs return: ::Integer
2035
+ # @return [Integer]
2036
+ # @see AttributeSets::ConntrackStatsAttrs::EarlyDrop
1187
2037
  def early_drop; attributes[:"early_drop"]&.value; end
1188
- # Gets the value of `error` attribute in the message.
1189
- #--
1190
2038
  # @rbs return: ::Integer
2039
+ # @return [Integer]
2040
+ # @see AttributeSets::ConntrackStatsAttrs::Error
1191
2041
  def error; attributes[:"error"]&.value; end
1192
- # Gets the value of `search-restart` attribute in the message.
1193
- #--
1194
2042
  # @rbs return: ::Integer
2043
+ # @return [Integer]
2044
+ # @see AttributeSets::ConntrackStatsAttrs::SearchRestart
1195
2045
  def search_restart; attributes[:"search_restart"]&.value; end
1196
- # Gets the value of `clash-resolve` attribute in the message.
1197
- #--
1198
2046
  # @rbs return: ::Integer
2047
+ # @return [Integer]
2048
+ # @see AttributeSets::ConntrackStatsAttrs::ClashResolve
1199
2049
  def clash_resolve; attributes[:"clash_resolve"]&.value; end
1200
- # Gets the value of `chain-toolong` attribute in the message.
1201
- #--
1202
2050
  # @rbs return: ::Integer
2051
+ # @return [Integer]
2052
+ # @see AttributeSets::ConntrackStatsAttrs::ChainToolong
1203
2053
  def chain_toolong; attributes[:"chain_toolong"]&.value; end
1204
2054
  end
1205
2055
  end
2056
+ module Notifications
2057
+ end
2058
+ # @private
2059
+ NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
1206
2060
  # 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
2061
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?tuple_orig: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped]), ?tuple_reply: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped]), ?zone: ::Integer) -> Messages::DoGetReply
2062
+ # @param [Hash] args
2063
+ # @option args [Integer] nfgen_family
2064
+ # @option args [Integer] version
2065
+ # @option args [Integer] res_id
2066
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] tuple_orig conntrack l3+l4 protocol information, original direction
2067
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] tuple_reply conntrack l3+l4 protocol information, reply direction
2068
+ # @option args [Integer] zone conntrack zone id
2069
+ # @return [Messages::DoGetReply]
2070
+ # @see Messages::DoGetRequest
1209
2071
  def do_get(**args)
1210
2072
  exchange_message(:"do", Messages::DoGetRequest, Messages::DoGetReply, args)
1211
2073
  end
1212
2074
  # 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
2075
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped])) -> Array[Messages::DumpGetReply]
2076
+ # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped])) { (Messages::DumpGetReply) -> void } -> void
2077
+ # @overload dump_get(**args)
2078
+ # Returns an array when no block is given.
2079
+ # @param [Hash] args
2080
+ # @option args [Integer] nfgen_family
2081
+ # @option args [Integer] version
2082
+ # @option args [Integer] res_id
2083
+ # @option args [Integer] status conntrack flag bits
2084
+ #
2085
+ # Known flags are defined in {Flags::NfCtStatus}.
2086
+ # @option args [Integer] mark
2087
+ # @option args [Integer] zone conntrack zone id
2088
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] filter
2089
+ # @return [Array<Messages::DumpGetReply>]
2090
+ # @overload dump_get(**args, &block)
2091
+ # Yields each reply when a block is given.
2092
+ # @param [Hash] args
2093
+ # @option args [Integer] nfgen_family
2094
+ # @option args [Integer] version
2095
+ # @option args [Integer] res_id
2096
+ # @option args [Integer] status conntrack flag bits
2097
+ #
2098
+ # Known flags are defined in {Flags::NfCtStatus}.
2099
+ # @option args [Integer] mark
2100
+ # @option args [Integer] zone conntrack zone id
2101
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] filter
2102
+ # @yieldparam [Messages::DumpGetReply] reply
2103
+ # @return [void]
2104
+ # @see Messages::DumpGetRequest
1216
2105
  def dump_get(**args, &block)
1217
2106
  exchange_message(:"dump", Messages::DumpGetRequest, Messages::DumpGetReply, args, &block)
1218
2107
  end
1219
2108
  # dump pcpu conntrack stats
1220
- #--
1221
- # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) -> Enumerable[Messages::DumpGetStatsReply]
2109
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) -> Array[Messages::DumpGetStatsReply]
1222
2110
  # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) { (Messages::DumpGetStatsReply) -> void } -> void
2111
+ # @overload dump_get_stats(**args)
2112
+ # Returns an array when no block is given.
2113
+ # @param [Hash] args
2114
+ # @option args [Integer] nfgen_family
2115
+ # @option args [Integer] version
2116
+ # @option args [Integer] res_id
2117
+ # @return [Array<Messages::DumpGetStatsReply>]
2118
+ # @overload dump_get_stats(**args, &block)
2119
+ # Yields each reply when a block is given.
2120
+ # @param [Hash] args
2121
+ # @option args [Integer] nfgen_family
2122
+ # @option args [Integer] version
2123
+ # @option args [Integer] res_id
2124
+ # @yieldparam [Messages::DumpGetStatsReply] reply
2125
+ # @return [void]
2126
+ # @see Messages::DumpGetStatsRequest
1223
2127
  def dump_get_stats(**args, &block)
1224
2128
  exchange_message(:"dump", Messages::DumpGetStatsRequest, Messages::DumpGetStatsReply, args, &block)
1225
2129
  end
2130
+ class AsyncOperations
2131
+ # @private
2132
+ def initialize(&exchange)
2133
+ @exchange = exchange
2134
+ end
2135
+ # get / dump entries
2136
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?tuple_orig: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped]), ?tuple_reply: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped]), ?zone: ::Integer) -> ::Nl::Async::Future[Messages::DoGetReply]
2137
+ # @param [Hash] args
2138
+ # @option args [Integer] nfgen_family
2139
+ # @option args [Integer] version
2140
+ # @option args [Integer] res_id
2141
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] tuple_orig conntrack l3+l4 protocol information, original direction
2142
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] tuple_reply conntrack l3+l4 protocol information, reply direction
2143
+ # @option args [Integer] zone conntrack zone id
2144
+ # @return [Nl::Async::Future<Messages::DoGetReply>]
2145
+ # @see Messages::DoGetRequest
2146
+ def do_get(**args)
2147
+ @exchange.call(:"do", Messages::DoGetRequest, Messages::DoGetReply, args)
2148
+ end
2149
+ # get / dump entries
2150
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: (AttributeSets::TupleAttrs | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Stream[Messages::DumpGetReply]
2151
+ # @param [Hash] args
2152
+ # @option args [Integer] nfgen_family
2153
+ # @option args [Integer] version
2154
+ # @option args [Integer] res_id
2155
+ # @option args [Integer] status conntrack flag bits
2156
+ #
2157
+ # Known flags are defined in {Flags::NfCtStatus}.
2158
+ # @option args [Integer] mark
2159
+ # @option args [Integer] zone conntrack zone id
2160
+ # @option args [AttributeSets::TupleAttrs, Hash<Symbol, Object>] filter
2161
+ # @return [Nl::Async::Stream<Messages::DumpGetReply>]
2162
+ # @see Messages::DumpGetRequest
2163
+ def dump_get(**args)
2164
+ @exchange.call(:"dump", Messages::DumpGetRequest, Messages::DumpGetReply, args)
2165
+ end
2166
+ # dump pcpu conntrack stats
2167
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetStatsReply]
2168
+ # @param [Hash] args
2169
+ # @option args [Integer] nfgen_family
2170
+ # @option args [Integer] version
2171
+ # @option args [Integer] res_id
2172
+ # @return [Nl::Async::Stream<Messages::DumpGetStatsReply>]
2173
+ # @see Messages::DumpGetStatsRequest
2174
+ def dump_get_stats(**args)
2175
+ @exchange.call(:"dump", Messages::DumpGetStatsRequest, Messages::DumpGetStatsReply, args)
2176
+ end
2177
+ end
2178
+ # Returns the asynchronous operation facade for this family.
2179
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
2180
+ # @param [::Integer, nil] stream_capacity
2181
+ # @return [AsyncOperations]
2182
+ def async(stream_capacity: nil)
2183
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
2184
+ build_async_facade(AsyncOperations, stream_capacity:)
2185
+ end
1226
2186
  end
1227
2187
  end; end