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.
- checksums.yaml +4 -4
- data/.yardopts +5 -0
- data/CHANGELOG.md +6 -0
- data/Rakefile +14 -2
- data/generated/nl/linux/binder.rb +172 -44
- data/generated/nl/linux/conntrack.rb +1293 -370
- data/generated/nl/linux/dev_energymodel.rb +278 -93
- data/generated/nl/linux/devlink.rb +5654 -1954
- data/generated/nl/linux/dpll.rb +1838 -669
- data/generated/nl/linux/drm_ras.rb +234 -72
- data/generated/nl/linux/ethtool.rb +6683 -2885
- data/generated/nl/linux/fou.rb +308 -129
- data/generated/nl/linux/handshake.rb +277 -99
- data/generated/nl/linux/lockd.rb +88 -33
- data/generated/nl/linux/mptcp_pm.rb +639 -186
- data/generated/nl/linux/net_shaper.rb +782 -224
- data/generated/nl/linux/netdev.rb +2105 -631
- data/generated/nl/linux/nfsd.rb +1030 -358
- data/generated/nl/linux/nftables.rb +5041 -1612
- data/generated/nl/linux/nl80211.rb +4531 -871
- data/generated/nl/linux/nlctrl.rb +411 -119
- data/generated/nl/linux/ovpn.rb +1211 -293
- data/generated/nl/linux/ovs_datapath.rb +271 -106
- data/generated/nl/linux/ovs_flow.rb +1819 -354
- data/generated/nl/linux/ovs_packet.rb +257 -82
- data/generated/nl/linux/ovs_vport.rb +334 -132
- data/generated/nl/linux/psp.rb +916 -281
- data/generated/nl/linux/rt_addr.rb +369 -166
- data/generated/nl/linux/rt_link.rb +6708 -1450
- data/generated/nl/linux/rt_neigh.rb +919 -364
- data/generated/nl/linux/rt_route.rb +1034 -448
- data/generated/nl/linux/rt_rule.rb +775 -395
- data/generated/nl/linux/sunrpc_cache.rb +297 -102
- data/generated/nl/linux/tc.rb +9989 -1780
- data/generated/nl/linux/tcp_metrics.rb +327 -105
- data/generated/nl/linux/team.rb +279 -93
- data/generated/nl/linux/wireguard.rb +432 -95
- data/generated/nl/linux.rb +1 -0
- data/lib/nl/linux/nlctrl_resolver.rb +31 -0
- data/lib/nl/linux/version.rb +1 -1
- data/sig/generated/nl/linux/binder.rbs +366 -0
- data/sig/generated/nl/linux/conntrack.rbs +2787 -0
- data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
- data/sig/generated/nl/linux/devlink.rbs +12496 -0
- data/sig/generated/nl/linux/dpll.rbs +3461 -0
- data/sig/generated/nl/linux/drm_ras.rbs +553 -0
- data/sig/generated/nl/linux/ethtool.rbs +15291 -0
- data/sig/generated/nl/linux/fou.rbs +702 -0
- data/sig/generated/nl/linux/handshake.rbs +622 -0
- data/sig/generated/nl/linux/lockd.rbs +234 -0
- data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
- data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
- data/sig/generated/nl/linux/netdev.rbs +4187 -0
- data/sig/generated/nl/linux/nfsd.rbs +2520 -0
- data/sig/generated/nl/linux/nftables.rbs +10304 -0
- data/sig/generated/nl/linux/nl80211.rbs +9786 -0
- data/sig/generated/nl/linux/nlctrl.rbs +944 -0
- data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
- data/sig/generated/nl/linux/ovpn.rbs +2564 -0
- data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
- data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
- data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
- data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
- data/sig/generated/nl/linux/psp.rbs +1846 -0
- data/sig/generated/nl/linux/rt_addr.rbs +866 -0
- data/sig/generated/nl/linux/rt_link.rbs +13438 -0
- data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
- data/sig/generated/nl/linux/rt_route.rbs +2218 -0
- data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
- data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
- data/sig/generated/nl/linux/tc.rbs +19931 -0
- data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
- data/sig/generated/nl/linux/team.rbs +733 -0
- data/sig/generated/nl/linux/version.rbs +7 -0
- data/sig/generated/nl/linux/wireguard.rbs +1006 -0
- data/sig/generated/nl/linux.rbs +6 -0
- data/sig/generated/nl-linux.rbs +2 -0
- 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
|
-
|
|
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
|
-
#
|
|
23
|
-
|
|
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
|
-
#
|
|
45
|
-
|
|
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::
|
|
151
|
+
class CounterAttrs < ::Nl::AttributeSet
|
|
64
152
|
# Abstract class
|
|
65
|
-
class Attribute < ::Nl::
|
|
153
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
66
154
|
end
|
|
67
155
|
class Packets < Attribute
|
|
68
156
|
TYPE = 1
|
|
69
157
|
NAME = :"packets"
|
|
70
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
190
|
+
# @private
|
|
191
|
+
ORDER = 4
|
|
192
|
+
# @private
|
|
193
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
91
194
|
end
|
|
92
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
230
|
+
class TupleProtoAttrs < ::Nl::AttributeSet
|
|
110
231
|
# Abstract class
|
|
111
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
306
|
+
# @private
|
|
307
|
+
ORDER = 8
|
|
308
|
+
# @private
|
|
309
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
157
310
|
end
|
|
158
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
371
|
+
class TupleIpAttrs < ::Nl::AttributeSet
|
|
176
372
|
# Abstract class
|
|
177
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
450
|
+
class TupleAttrs < ::Nl::AttributeSet
|
|
217
451
|
# Abstract class
|
|
218
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
472
|
+
# @private
|
|
473
|
+
ORDER = 2
|
|
474
|
+
# @private
|
|
475
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
|
|
232
476
|
end
|
|
233
|
-
#
|
|
477
|
+
# @private
|
|
234
478
|
BY_NAME = Ractor.make_shareable({:"tuple_ip" => TupleIp, :"tuple_proto" => TupleProto, :"tuple_zone" => TupleZone}) #: Hash[::Symbol, Attribute]
|
|
235
|
-
#
|
|
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::
|
|
511
|
+
class ProtoinfoTcpAttrs < ::Nl::AttributeSet
|
|
251
512
|
# Abstract class
|
|
252
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
555
|
+
# @private
|
|
556
|
+
ORDER = 4
|
|
557
|
+
# @private
|
|
558
|
+
DATATYPE = ::Nl::DataTypes::Struct.new(Structs::NfCtTcpFlagsMask, check: nil, consume_remaining: true)
|
|
278
559
|
end
|
|
279
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
604
|
+
class ProtoinfoDccpAttrs < ::Nl::AttributeSet
|
|
297
605
|
# Abstract class
|
|
298
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
636
|
+
# @private
|
|
637
|
+
ORDER = 3
|
|
638
|
+
# @private
|
|
639
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
319
640
|
end
|
|
320
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
673
|
+
class ProtoinfoSctpAttrs < ::Nl::AttributeSet
|
|
338
674
|
# Abstract class
|
|
339
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
699
|
+
# @private
|
|
700
|
+
ORDER = 2
|
|
701
|
+
# @private
|
|
702
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
355
703
|
end
|
|
356
|
-
#
|
|
704
|
+
# @private
|
|
357
705
|
BY_NAME = Ractor.make_shareable({:"sctp_state" => SctpState, :"vtag_original" => VtagOriginal, :"vtag_reply" => VtagReply}) #: Hash[::Symbol, Attribute]
|
|
358
|
-
#
|
|
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::
|
|
738
|
+
class ProtoinfoAttrs < ::Nl::AttributeSet
|
|
374
739
|
# Abstract class
|
|
375
|
-
class Attribute < ::Nl::
|
|
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
|
-
#
|
|
763
|
+
# @private
|
|
390
764
|
BY_NAME = Ractor.make_shareable({:"protoinfo_tcp" => ProtoinfoTcp, :"protoinfo_dccp" => ProtoinfoDccp, :"protoinfo_sctp" => ProtoinfoSctp}) #: Hash[::Symbol, Attribute]
|
|
391
|
-
#
|
|
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::
|
|
797
|
+
class HelpAttrs < ::Nl::AttributeSet
|
|
407
798
|
# Abstract class
|
|
408
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
805
|
+
# @private
|
|
806
|
+
ORDER = 0
|
|
807
|
+
# @private
|
|
808
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
414
809
|
end
|
|
415
|
-
#
|
|
810
|
+
# @private
|
|
416
811
|
BY_NAME = Ractor.make_shareable({:"help_name" => HelpName}) #: Hash[::Symbol, Attribute]
|
|
417
|
-
#
|
|
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::
|
|
834
|
+
class NatProtoAttrs < ::Nl::AttributeSet
|
|
433
835
|
# Abstract class
|
|
434
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
849
|
+
# @private
|
|
850
|
+
ORDER = 1
|
|
851
|
+
# @private
|
|
852
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
|
|
445
853
|
end
|
|
446
|
-
#
|
|
854
|
+
# @private
|
|
447
855
|
BY_NAME = Ractor.make_shareable({:"nat_port_min" => NatPortMin, :"nat_port_max" => NatPortMax}) #: Hash[::Symbol, Attribute]
|
|
448
|
-
#
|
|
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::
|
|
881
|
+
class NatAttrs < ::Nl::AttributeSet
|
|
464
882
|
# Abstract class
|
|
465
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
962
|
+
class SeqadjAttrs < ::Nl::AttributeSet
|
|
509
963
|
# Abstract class
|
|
510
|
-
class Attribute < ::Nl::
|
|
964
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
511
965
|
end
|
|
512
966
|
class CorrectionPos < Attribute
|
|
513
967
|
TYPE = 1
|
|
514
968
|
NAME = :"correction_pos"
|
|
515
|
-
|
|
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
|
-
|
|
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
|
-
|
|
985
|
+
# @private
|
|
986
|
+
ORDER = 2
|
|
987
|
+
# @private
|
|
988
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
526
989
|
end
|
|
527
|
-
#
|
|
990
|
+
# @private
|
|
528
991
|
BY_NAME = Ractor.make_shareable({:"correction_pos" => CorrectionPos, :"offset_before" => OffsetBefore, :"offset_after" => OffsetAfter}) #: Hash[::Symbol, Attribute]
|
|
529
|
-
#
|
|
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::
|
|
1021
|
+
class SecctxAttrs < ::Nl::AttributeSet
|
|
545
1022
|
# Abstract class
|
|
546
|
-
class Attribute < ::Nl::
|
|
1023
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
547
1024
|
end
|
|
548
1025
|
class SecctxName < Attribute
|
|
549
1026
|
TYPE = 1
|
|
550
1027
|
NAME = :"secctx_name"
|
|
551
|
-
|
|
1028
|
+
# @private
|
|
1029
|
+
ORDER = 0
|
|
1030
|
+
# @private
|
|
1031
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
552
1032
|
end
|
|
553
|
-
#
|
|
1033
|
+
# @private
|
|
554
1034
|
BY_NAME = Ractor.make_shareable({:"secctx_name" => SecctxName}) #: Hash[::Symbol, Attribute]
|
|
555
|
-
#
|
|
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::
|
|
1056
|
+
class SynproxyAttrs < ::Nl::AttributeSet
|
|
571
1057
|
# Abstract class
|
|
572
|
-
class Attribute < ::Nl::
|
|
1058
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
573
1059
|
end
|
|
574
1060
|
class Isn < Attribute
|
|
575
1061
|
TYPE = 1
|
|
576
1062
|
NAME = :"isn"
|
|
577
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1079
|
+
# @private
|
|
1080
|
+
ORDER = 2
|
|
1081
|
+
# @private
|
|
1082
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
588
1083
|
end
|
|
589
|
-
#
|
|
1084
|
+
# @private
|
|
590
1085
|
BY_NAME = Ractor.make_shareable({:"isn" => Isn, :"its" => Its, :"tsoff" => Tsoff}) #: Hash[::Symbol, Attribute]
|
|
591
|
-
#
|
|
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::
|
|
1115
|
+
class ConntrackAttrs < ::Nl::AttributeSet
|
|
607
1116
|
# Abstract class
|
|
608
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1312
|
+
# @private
|
|
1313
|
+
ORDER = 26
|
|
1314
|
+
# @private
|
|
1315
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
|
|
730
1316
|
end
|
|
731
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
1454
|
+
class ConntrackStatsAttrs < ::Nl::AttributeSet
|
|
749
1455
|
# Abstract class
|
|
750
|
-
class Attribute < ::Nl::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1579
|
+
# @private
|
|
1580
|
+
ORDER = 14
|
|
1581
|
+
# @private
|
|
1582
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
826
1583
|
end
|
|
827
|
-
#
|
|
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
|
-
#
|
|
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
|
-
|
|
845
|
-
TupleAttrs::
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
ConntrackAttrs::
|
|
858
|
-
|
|
859
|
-
ConntrackAttrs::
|
|
860
|
-
|
|
861
|
-
ConntrackAttrs::
|
|
862
|
-
|
|
863
|
-
ConntrackAttrs::
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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::
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
# @
|
|
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
|
-
#
|
|
1221
|
-
#
|
|
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
|
-
#
|
|
2131
|
+
# @private
|
|
1234
2132
|
def initialize(&exchange)
|
|
1235
2133
|
@exchange = exchange
|
|
1236
2134
|
end
|
|
1237
2135
|
# get / dump entries
|
|
1238
|
-
|
|
1239
|
-
# @
|
|
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
|
-
# @
|
|
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:)
|