nl-linux 0.3.0 → 0.4.1

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