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