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,33 +1,69 @@
|
|
|
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/rt-rule.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
|
# FIB rule management over rtnetlink.
|
|
9
|
-
class RtRule < ::Nl::Family
|
|
10
|
+
class RtRule < ::Nl::Raw::Family
|
|
10
11
|
NAME = "rt-rule"
|
|
11
|
-
|
|
12
|
+
PROTONUM = 0
|
|
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 [RtRule]
|
|
19
|
+
# @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
|
|
20
|
+
# @param [Symbol, nil] executor
|
|
21
|
+
# @param [Integer, nil] notification_capacity
|
|
22
|
+
# @yieldparam [RtRule] 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({:"rtnlgrp_ipv4_rule" => ::Nl::McastGroup.new("rtnlgrp-ipv4-rule", 8), :"rtnlgrp_ipv6_rule" => ::Nl::McastGroup.new("rtnlgrp-ipv6-rule", 19)}) #: Hash[::Symbol, ::Nl::McastGroup]
|
|
29
|
+
module Enums
|
|
30
|
+
module FrAct
|
|
31
|
+
Unspec = 0
|
|
32
|
+
ToTbl = 1
|
|
33
|
+
Goto = 2
|
|
34
|
+
Nop = 3
|
|
35
|
+
Res3 = 4
|
|
36
|
+
Res4 = 5
|
|
37
|
+
Blackhole = 6
|
|
38
|
+
Unreachable = 7
|
|
39
|
+
Prohibit = 8
|
|
40
|
+
end
|
|
41
|
+
end
|
|
12
42
|
module Structs
|
|
13
43
|
Rtgenmsg = Struct.new(
|
|
14
44
|
:"family", #: ::Integer
|
|
15
45
|
:"pad", #: nil
|
|
16
46
|
)
|
|
17
47
|
class Rtgenmsg
|
|
18
|
-
#
|
|
19
|
-
|
|
48
|
+
# @!attribute [rw] family
|
|
49
|
+
# @return [Integer]
|
|
50
|
+
# @!attribute [rw] pad
|
|
51
|
+
# @return [nil]
|
|
52
|
+
# @private
|
|
53
|
+
MEMBERS = Ractor.make_shareable({family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), pad: ::Nl::DataTypes::Pad.new(3)}) #: Hash[::Symbol, ::Nl::_DataType]
|
|
20
54
|
# Decodes the struct.
|
|
21
|
-
#--
|
|
22
55
|
# @rbs decoder: ::Nl::Decoder
|
|
23
56
|
# @rbs return: instance
|
|
57
|
+
# @param [Nl::Decoder] decoder
|
|
58
|
+
# @return [self]
|
|
24
59
|
def self.decode(decoder)
|
|
25
60
|
self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
|
|
26
61
|
end
|
|
27
62
|
# Encodes the struct.
|
|
28
|
-
#--
|
|
29
63
|
# @rbs encoder: ::Nl::Encoder
|
|
30
64
|
# @rbs return: void
|
|
65
|
+
# @param [Nl::Encoder] encoder
|
|
66
|
+
# @return [void]
|
|
31
67
|
def encode(encoder)
|
|
32
68
|
MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
|
|
33
69
|
end
|
|
@@ -44,19 +80,39 @@ class RtRule < ::Nl::Family
|
|
|
44
80
|
:"flags", #: ::Integer
|
|
45
81
|
)
|
|
46
82
|
class FibRuleHdr
|
|
47
|
-
#
|
|
48
|
-
|
|
83
|
+
# @!attribute [rw] family
|
|
84
|
+
# @return [Integer]
|
|
85
|
+
# @!attribute [rw] dst_len
|
|
86
|
+
# @return [Integer]
|
|
87
|
+
# @!attribute [rw] src_len
|
|
88
|
+
# @return [Integer]
|
|
89
|
+
# @!attribute [rw] tos
|
|
90
|
+
# @return [Integer]
|
|
91
|
+
# @!attribute [rw] table
|
|
92
|
+
# @return [Integer]
|
|
93
|
+
# @!attribute [rw] res1
|
|
94
|
+
# @return [nil]
|
|
95
|
+
# @!attribute [rw] res2
|
|
96
|
+
# @return [nil]
|
|
97
|
+
# @!attribute [rw] action
|
|
98
|
+
# @return [Integer]
|
|
99
|
+
# @!attribute [rw] flags
|
|
100
|
+
# @return [Integer]
|
|
101
|
+
# @private
|
|
102
|
+
MEMBERS = Ractor.make_shareable({family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), dst_len: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), src_len: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), tos: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), table: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), res1: ::Nl::DataTypes::Pad.new(1), res2: ::Nl::DataTypes::Pad.new(1), action: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), flags: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
|
|
49
103
|
# Decodes the struct.
|
|
50
|
-
#--
|
|
51
104
|
# @rbs decoder: ::Nl::Decoder
|
|
52
105
|
# @rbs return: instance
|
|
106
|
+
# @param [Nl::Decoder] decoder
|
|
107
|
+
# @return [self]
|
|
53
108
|
def self.decode(decoder)
|
|
54
109
|
self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
|
|
55
110
|
end
|
|
56
111
|
# Encodes the struct.
|
|
57
|
-
#--
|
|
58
112
|
# @rbs encoder: ::Nl::Encoder
|
|
59
113
|
# @rbs return: void
|
|
114
|
+
# @param [Nl::Encoder] encoder
|
|
115
|
+
# @return [void]
|
|
60
116
|
def encode(encoder)
|
|
61
117
|
MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
|
|
62
118
|
end
|
|
@@ -66,19 +122,25 @@ class RtRule < ::Nl::Family
|
|
|
66
122
|
:"end", #: ::Integer
|
|
67
123
|
)
|
|
68
124
|
class FibRulePortRange
|
|
69
|
-
#
|
|
70
|
-
|
|
125
|
+
# @!attribute [rw] start
|
|
126
|
+
# @return [Integer]
|
|
127
|
+
# @!attribute [rw] end
|
|
128
|
+
# @return [Integer]
|
|
129
|
+
# @private
|
|
130
|
+
MEMBERS = Ractor.make_shareable({start: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil), end: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
|
|
71
131
|
# Decodes the struct.
|
|
72
|
-
#--
|
|
73
132
|
# @rbs decoder: ::Nl::Decoder
|
|
74
133
|
# @rbs return: instance
|
|
134
|
+
# @param [Nl::Decoder] decoder
|
|
135
|
+
# @return [self]
|
|
75
136
|
def self.decode(decoder)
|
|
76
137
|
self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
|
|
77
138
|
end
|
|
78
139
|
# Encodes the struct.
|
|
79
|
-
#--
|
|
80
140
|
# @rbs encoder: ::Nl::Encoder
|
|
81
141
|
# @rbs return: void
|
|
142
|
+
# @param [Nl::Encoder] encoder
|
|
143
|
+
# @return [void]
|
|
82
144
|
def encode(encoder)
|
|
83
145
|
MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
|
|
84
146
|
end
|
|
@@ -88,621 +150,1228 @@ class RtRule < ::Nl::Family
|
|
|
88
150
|
:"end", #: ::Integer
|
|
89
151
|
)
|
|
90
152
|
class FibRuleUidRange
|
|
91
|
-
#
|
|
92
|
-
|
|
153
|
+
# @!attribute [rw] start
|
|
154
|
+
# @return [Integer]
|
|
155
|
+
# @!attribute [rw] end
|
|
156
|
+
# @return [Integer]
|
|
157
|
+
# @private
|
|
158
|
+
MEMBERS = Ractor.make_shareable({start: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), end: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
|
|
93
159
|
# Decodes the struct.
|
|
94
|
-
#--
|
|
95
160
|
# @rbs decoder: ::Nl::Decoder
|
|
96
161
|
# @rbs return: instance
|
|
162
|
+
# @param [Nl::Decoder] decoder
|
|
163
|
+
# @return [self]
|
|
97
164
|
def self.decode(decoder)
|
|
98
165
|
self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
|
|
99
166
|
end
|
|
100
167
|
# Encodes the struct.
|
|
101
|
-
#--
|
|
102
168
|
# @rbs encoder: ::Nl::Encoder
|
|
103
169
|
# @rbs return: void
|
|
170
|
+
# @param [Nl::Encoder] encoder
|
|
171
|
+
# @return [void]
|
|
104
172
|
def encode(encoder)
|
|
105
173
|
MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
|
|
106
174
|
end
|
|
107
175
|
end
|
|
108
176
|
end
|
|
109
177
|
module AttributeSets
|
|
110
|
-
class FibRuleAttrs < ::Nl::
|
|
178
|
+
class FibRuleAttrs < ::Nl::AttributeSet
|
|
111
179
|
# Abstract class
|
|
112
|
-
class Attribute < ::Nl::
|
|
180
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
113
181
|
end
|
|
114
182
|
class Dst < Attribute
|
|
115
183
|
TYPE = 1
|
|
116
184
|
NAME = :"dst"
|
|
117
|
-
|
|
185
|
+
# @private
|
|
186
|
+
ORDER = 0
|
|
187
|
+
# @private
|
|
188
|
+
DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
|
|
118
189
|
end
|
|
119
190
|
class Src < Attribute
|
|
120
191
|
TYPE = 2
|
|
121
192
|
NAME = :"src"
|
|
122
|
-
|
|
193
|
+
# @private
|
|
194
|
+
ORDER = 1
|
|
195
|
+
# @private
|
|
196
|
+
DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
|
|
123
197
|
end
|
|
124
198
|
class Iifname < Attribute
|
|
125
199
|
TYPE = 3
|
|
126
200
|
NAME = :"iifname"
|
|
127
|
-
|
|
201
|
+
# @private
|
|
202
|
+
ORDER = 2
|
|
203
|
+
# @private
|
|
204
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
128
205
|
end
|
|
129
206
|
class Goto < Attribute
|
|
130
207
|
TYPE = 4
|
|
131
208
|
NAME = :"goto"
|
|
132
|
-
|
|
209
|
+
# @private
|
|
210
|
+
ORDER = 3
|
|
211
|
+
# @private
|
|
212
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
133
213
|
end
|
|
134
214
|
class Unused2 < Attribute
|
|
135
215
|
TYPE = 5
|
|
136
216
|
NAME = :"unused2"
|
|
137
|
-
|
|
217
|
+
# @private
|
|
218
|
+
ORDER = 4
|
|
219
|
+
# @private
|
|
220
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
138
221
|
end
|
|
139
222
|
class Priority < Attribute
|
|
140
223
|
TYPE = 6
|
|
141
224
|
NAME = :"priority"
|
|
142
|
-
|
|
225
|
+
# @private
|
|
226
|
+
ORDER = 5
|
|
227
|
+
# @private
|
|
228
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
143
229
|
end
|
|
144
230
|
class Unused3 < Attribute
|
|
145
231
|
TYPE = 7
|
|
146
232
|
NAME = :"unused3"
|
|
147
|
-
|
|
233
|
+
# @private
|
|
234
|
+
ORDER = 6
|
|
235
|
+
# @private
|
|
236
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
148
237
|
end
|
|
149
238
|
class Unused4 < Attribute
|
|
150
239
|
TYPE = 8
|
|
151
240
|
NAME = :"unused4"
|
|
152
|
-
|
|
241
|
+
# @private
|
|
242
|
+
ORDER = 7
|
|
243
|
+
# @private
|
|
244
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
153
245
|
end
|
|
154
246
|
class Unused5 < Attribute
|
|
155
247
|
TYPE = 9
|
|
156
248
|
NAME = :"unused5"
|
|
157
|
-
|
|
249
|
+
# @private
|
|
250
|
+
ORDER = 8
|
|
251
|
+
# @private
|
|
252
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
158
253
|
end
|
|
159
254
|
class Fwmark < Attribute
|
|
160
255
|
TYPE = 10
|
|
161
256
|
NAME = :"fwmark"
|
|
162
|
-
|
|
257
|
+
# @private
|
|
258
|
+
ORDER = 9
|
|
259
|
+
# @private
|
|
260
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
163
261
|
end
|
|
164
262
|
class Flow < Attribute
|
|
165
263
|
TYPE = 11
|
|
166
264
|
NAME = :"flow"
|
|
167
|
-
|
|
265
|
+
# @private
|
|
266
|
+
ORDER = 10
|
|
267
|
+
# @private
|
|
268
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
168
269
|
end
|
|
169
270
|
class TunId < Attribute
|
|
170
271
|
TYPE = 12
|
|
171
272
|
NAME = :"tun_id"
|
|
172
|
-
|
|
273
|
+
# @private
|
|
274
|
+
ORDER = 11
|
|
275
|
+
# @private
|
|
276
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
173
277
|
end
|
|
174
278
|
class SuppressIfgroup < Attribute
|
|
175
279
|
TYPE = 13
|
|
176
280
|
NAME = :"suppress_ifgroup"
|
|
177
|
-
|
|
281
|
+
# @private
|
|
282
|
+
ORDER = 12
|
|
283
|
+
# @private
|
|
284
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
178
285
|
end
|
|
179
286
|
class SuppressPrefixlen < Attribute
|
|
180
287
|
TYPE = 14
|
|
181
288
|
NAME = :"suppress_prefixlen"
|
|
182
|
-
|
|
289
|
+
# @private
|
|
290
|
+
ORDER = 13
|
|
291
|
+
# @private
|
|
292
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
183
293
|
end
|
|
184
294
|
class Table < Attribute
|
|
185
295
|
TYPE = 15
|
|
186
296
|
NAME = :"table"
|
|
187
|
-
|
|
297
|
+
# @private
|
|
298
|
+
ORDER = 14
|
|
299
|
+
# @private
|
|
300
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
188
301
|
end
|
|
189
302
|
class Fwmask < Attribute
|
|
190
303
|
TYPE = 16
|
|
191
304
|
NAME = :"fwmask"
|
|
192
|
-
|
|
305
|
+
# @private
|
|
306
|
+
ORDER = 15
|
|
307
|
+
# @private
|
|
308
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
193
309
|
end
|
|
194
310
|
class Oifname < Attribute
|
|
195
311
|
TYPE = 17
|
|
196
312
|
NAME = :"oifname"
|
|
197
|
-
|
|
313
|
+
# @private
|
|
314
|
+
ORDER = 16
|
|
315
|
+
# @private
|
|
316
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
198
317
|
end
|
|
199
318
|
class Pad < Attribute
|
|
200
319
|
TYPE = 18
|
|
201
320
|
NAME = :"pad"
|
|
202
|
-
|
|
321
|
+
# @private
|
|
322
|
+
ORDER = 17
|
|
323
|
+
# @private
|
|
324
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
203
325
|
end
|
|
204
326
|
class L3mdev < Attribute
|
|
205
327
|
TYPE = 19
|
|
206
328
|
NAME = :"l3mdev"
|
|
207
|
-
|
|
329
|
+
# @private
|
|
330
|
+
ORDER = 18
|
|
331
|
+
# @private
|
|
332
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
208
333
|
end
|
|
209
334
|
class UidRange < Attribute
|
|
210
335
|
TYPE = 20
|
|
211
336
|
NAME = :"uid_range"
|
|
212
|
-
|
|
337
|
+
# @private
|
|
338
|
+
ORDER = 19
|
|
339
|
+
# @private
|
|
340
|
+
DATATYPE = ::Nl::DataTypes::Struct.new(Structs::FibRuleUidRange, check: nil, consume_remaining: true)
|
|
213
341
|
end
|
|
214
342
|
class Protocol < Attribute
|
|
215
343
|
TYPE = 21
|
|
216
344
|
NAME = :"protocol"
|
|
217
|
-
|
|
345
|
+
# @private
|
|
346
|
+
ORDER = 20
|
|
347
|
+
# @private
|
|
348
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
218
349
|
end
|
|
219
350
|
class IpProto < Attribute
|
|
220
351
|
TYPE = 22
|
|
221
352
|
NAME = :"ip_proto"
|
|
222
|
-
|
|
353
|
+
# @private
|
|
354
|
+
ORDER = 21
|
|
355
|
+
# @private
|
|
356
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
223
357
|
end
|
|
224
358
|
class SportRange < Attribute
|
|
225
359
|
TYPE = 23
|
|
226
360
|
NAME = :"sport_range"
|
|
227
|
-
|
|
361
|
+
# @private
|
|
362
|
+
ORDER = 22
|
|
363
|
+
# @private
|
|
364
|
+
DATATYPE = ::Nl::DataTypes::Struct.new(Structs::FibRulePortRange, check: nil, consume_remaining: true)
|
|
228
365
|
end
|
|
229
366
|
class DportRange < Attribute
|
|
230
367
|
TYPE = 24
|
|
231
368
|
NAME = :"dport_range"
|
|
232
|
-
|
|
369
|
+
# @private
|
|
370
|
+
ORDER = 23
|
|
371
|
+
# @private
|
|
372
|
+
DATATYPE = ::Nl::DataTypes::Struct.new(Structs::FibRulePortRange, check: nil, consume_remaining: true)
|
|
233
373
|
end
|
|
234
374
|
class Dscp < Attribute
|
|
235
375
|
TYPE = 25
|
|
236
376
|
NAME = :"dscp"
|
|
237
|
-
|
|
377
|
+
# @private
|
|
378
|
+
ORDER = 24
|
|
379
|
+
# @private
|
|
380
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
238
381
|
end
|
|
239
382
|
class Flowlabel < Attribute
|
|
240
383
|
TYPE = 26
|
|
241
384
|
NAME = :"flowlabel"
|
|
242
|
-
|
|
385
|
+
# @private
|
|
386
|
+
ORDER = 25
|
|
387
|
+
# @private
|
|
388
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
243
389
|
end
|
|
244
390
|
class FlowlabelMask < Attribute
|
|
245
391
|
TYPE = 27
|
|
246
392
|
NAME = :"flowlabel_mask"
|
|
247
|
-
|
|
393
|
+
# @private
|
|
394
|
+
ORDER = 26
|
|
395
|
+
# @private
|
|
396
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
|
|
248
397
|
end
|
|
249
398
|
class SportMask < Attribute
|
|
250
399
|
TYPE = 28
|
|
251
400
|
NAME = :"sport_mask"
|
|
252
|
-
|
|
401
|
+
# @private
|
|
402
|
+
ORDER = 27
|
|
403
|
+
# @private
|
|
404
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
|
|
253
405
|
end
|
|
254
406
|
class DportMask < Attribute
|
|
255
407
|
TYPE = 29
|
|
256
408
|
NAME = :"dport_mask"
|
|
257
|
-
|
|
409
|
+
# @private
|
|
410
|
+
ORDER = 28
|
|
411
|
+
# @private
|
|
412
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
|
|
258
413
|
end
|
|
259
414
|
class DscpMask < Attribute
|
|
260
415
|
TYPE = 30
|
|
261
416
|
NAME = :"dscp_mask"
|
|
262
|
-
|
|
417
|
+
# @private
|
|
418
|
+
ORDER = 29
|
|
419
|
+
# @private
|
|
420
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
|
|
263
421
|
end
|
|
264
|
-
#
|
|
422
|
+
# @private
|
|
265
423
|
BY_NAME = Ractor.make_shareable({:"dst" => Dst, :"src" => Src, :"iifname" => Iifname, :"goto" => Goto, :"unused2" => Unused2, :"priority" => Priority, :"unused3" => Unused3, :"unused4" => Unused4, :"unused5" => Unused5, :"fwmark" => Fwmark, :"flow" => Flow, :"tun_id" => TunId, :"suppress_ifgroup" => SuppressIfgroup, :"suppress_prefixlen" => SuppressPrefixlen, :"table" => Table, :"fwmask" => Fwmask, :"oifname" => Oifname, :"pad" => Pad, :"l3mdev" => L3mdev, :"uid_range" => UidRange, :"protocol" => Protocol, :"ip_proto" => IpProto, :"sport_range" => SportRange, :"dport_range" => DportRange, :"dscp" => Dscp, :"flowlabel" => Flowlabel, :"flowlabel_mask" => FlowlabelMask, :"sport_mask" => SportMask, :"dport_mask" => DportMask, :"dscp_mask" => DscpMask}) #: Hash[::Symbol, Attribute]
|
|
266
|
-
#
|
|
424
|
+
# @private
|
|
267
425
|
BY_TYPE = Ractor.make_shareable({1 => Dst, 2 => Src, 3 => Iifname, 4 => Goto, 5 => Unused2, 6 => Priority, 7 => Unused3, 8 => Unused4, 9 => Unused5, 10 => Fwmark, 11 => Flow, 12 => TunId, 13 => SuppressIfgroup, 14 => SuppressPrefixlen, 15 => Table, 16 => Fwmask, 17 => Oifname, 18 => Pad, 19 => L3mdev, 20 => UidRange, 21 => Protocol, 22 => IpProto, 23 => SportRange, 24 => DportRange, 25 => Dscp, 26 => Flowlabel, 27 => FlowlabelMask, 28 => SportMask, 29 => DportMask, 30 => DscpMask}) #: Hash[::Integer, Attribute]
|
|
426
|
+
# @rbs return: ::String
|
|
427
|
+
# @return [String]
|
|
428
|
+
# @see Dst
|
|
429
|
+
def dst; self[:"dst"]&.value; end
|
|
430
|
+
# @rbs return: ::String
|
|
431
|
+
# @return [String]
|
|
432
|
+
# @see Src
|
|
433
|
+
def src; self[:"src"]&.value; end
|
|
434
|
+
# @rbs return: ::String
|
|
435
|
+
# @return [String]
|
|
436
|
+
# @see Iifname
|
|
437
|
+
def iifname; self[:"iifname"]&.value; end
|
|
438
|
+
# @rbs return: ::Integer
|
|
439
|
+
# @return [Integer]
|
|
440
|
+
# @see Goto
|
|
441
|
+
def goto; self[:"goto"]&.value; end
|
|
442
|
+
# @rbs return: ::Integer
|
|
443
|
+
# @return [Integer]
|
|
444
|
+
# @see Priority
|
|
445
|
+
def priority; self[:"priority"]&.value; end
|
|
446
|
+
# @rbs return: ::Integer
|
|
447
|
+
# @return [Integer]
|
|
448
|
+
# @see Fwmark
|
|
449
|
+
def fwmark; self[:"fwmark"]&.value; end
|
|
450
|
+
# @rbs return: ::Integer
|
|
451
|
+
# @return [Integer]
|
|
452
|
+
# @see Flow
|
|
453
|
+
def flow; self[:"flow"]&.value; end
|
|
454
|
+
# @rbs return: ::Integer
|
|
455
|
+
# @return [Integer]
|
|
456
|
+
# @see TunId
|
|
457
|
+
def tun_id; self[:"tun_id"]&.value; end
|
|
458
|
+
# @rbs return: ::Integer
|
|
459
|
+
# @return [Integer]
|
|
460
|
+
# @see SuppressIfgroup
|
|
461
|
+
def suppress_ifgroup; self[:"suppress_ifgroup"]&.value; end
|
|
462
|
+
# @rbs return: ::Integer
|
|
463
|
+
# @return [Integer]
|
|
464
|
+
# @see SuppressPrefixlen
|
|
465
|
+
def suppress_prefixlen; self[:"suppress_prefixlen"]&.value; end
|
|
466
|
+
# @rbs return: ::Integer
|
|
467
|
+
# @return [Integer]
|
|
468
|
+
# @see Table
|
|
469
|
+
def table; self[:"table"]&.value; end
|
|
470
|
+
# @rbs return: ::Integer
|
|
471
|
+
# @return [Integer]
|
|
472
|
+
# @see Fwmask
|
|
473
|
+
def fwmask; self[:"fwmask"]&.value; end
|
|
474
|
+
# @rbs return: ::String
|
|
475
|
+
# @return [String]
|
|
476
|
+
# @see Oifname
|
|
477
|
+
def oifname; self[:"oifname"]&.value; end
|
|
478
|
+
# @rbs return: ::Integer
|
|
479
|
+
# @return [Integer]
|
|
480
|
+
# @see L3mdev
|
|
481
|
+
def l3mdev; self[:"l3mdev"]&.value; end
|
|
482
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
483
|
+
# @return [Structs::FibRuleUidRange]
|
|
484
|
+
# @see UidRange
|
|
485
|
+
def uid_range; self[:"uid_range"]&.value; end
|
|
486
|
+
# @rbs return: ::Integer
|
|
487
|
+
# @return [Integer]
|
|
488
|
+
# @see Protocol
|
|
489
|
+
def protocol; self[:"protocol"]&.value; end
|
|
490
|
+
# @rbs return: ::Integer
|
|
491
|
+
# @return [Integer]
|
|
492
|
+
# @see IpProto
|
|
493
|
+
def ip_proto; self[:"ip_proto"]&.value; end
|
|
494
|
+
# @rbs return: Structs::FibRulePortRange
|
|
495
|
+
# @return [Structs::FibRulePortRange]
|
|
496
|
+
# @see SportRange
|
|
497
|
+
def sport_range; self[:"sport_range"]&.value; end
|
|
498
|
+
# @rbs return: Structs::FibRulePortRange
|
|
499
|
+
# @return [Structs::FibRulePortRange]
|
|
500
|
+
# @see DportRange
|
|
501
|
+
def dport_range; self[:"dport_range"]&.value; end
|
|
502
|
+
# @rbs return: ::Integer
|
|
503
|
+
# @return [Integer]
|
|
504
|
+
# @see Dscp
|
|
505
|
+
def dscp; self[:"dscp"]&.value; end
|
|
506
|
+
# @rbs return: ::Integer
|
|
507
|
+
# @return [Integer]
|
|
508
|
+
# @see Flowlabel
|
|
509
|
+
def flowlabel; self[:"flowlabel"]&.value; end
|
|
510
|
+
# @rbs return: ::Integer
|
|
511
|
+
# @return [Integer]
|
|
512
|
+
# @see FlowlabelMask
|
|
513
|
+
def flowlabel_mask; self[:"flowlabel_mask"]&.value; end
|
|
514
|
+
# @rbs return: ::Integer
|
|
515
|
+
# @return [Integer]
|
|
516
|
+
# @see SportMask
|
|
517
|
+
def sport_mask; self[:"sport_mask"]&.value; end
|
|
518
|
+
# @rbs return: ::Integer
|
|
519
|
+
# @return [Integer]
|
|
520
|
+
# @see DportMask
|
|
521
|
+
def dport_mask; self[:"dport_mask"]&.value; end
|
|
522
|
+
# @rbs return: ::Integer
|
|
523
|
+
# @return [Integer]
|
|
524
|
+
# @see DscpMask
|
|
525
|
+
def dscp_mask; self[:"dscp_mask"]&.value; end
|
|
268
526
|
class << self
|
|
269
527
|
# Looks up Attribute class by name.
|
|
270
|
-
#--
|
|
271
528
|
# @rbs name: Symbol
|
|
272
529
|
# @rbs return: Attribute
|
|
530
|
+
# @param [Symbol] name
|
|
531
|
+
# @return [Attribute]
|
|
273
532
|
def by_name(name); BY_NAME.fetch(name); end
|
|
274
533
|
# Looks up Attribute class by type value.
|
|
275
|
-
#--
|
|
276
534
|
# @rbs type: Integer
|
|
277
535
|
# @rbs return: Attribute
|
|
536
|
+
# @param [Integer] type
|
|
537
|
+
# @return [Attribute]
|
|
278
538
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
279
539
|
end
|
|
280
540
|
end
|
|
281
541
|
end
|
|
282
542
|
module Messages
|
|
283
543
|
# Add new FIB rule
|
|
284
|
-
class DoNewruleRequest < ::Nl::
|
|
544
|
+
class DoNewruleRequest < ::Nl::Raw::Message
|
|
285
545
|
TYPE = 32
|
|
286
546
|
FIXED_HEADER = Structs::FibRuleHdr
|
|
287
547
|
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
288
548
|
ATTRIBUTES = Ractor.make_shareable(%i[iifname goto priority fwmark flow tun_id suppress_ifgroup suppress_prefixlen table fwmask oifname l3mdev uid_range protocol ip_proto sport_range dport_range dscp flowlabel flowlabel_mask sport_mask dport_mask dscp_mask])
|
|
289
|
-
# Gets the value of `family` field in the message's fixed header.
|
|
290
|
-
#--
|
|
291
549
|
# @rbs return: ::Integer
|
|
550
|
+
# @return [Integer]
|
|
292
551
|
def family; fixed_header.family; end
|
|
293
|
-
# Gets the value of `dst-len` field in the message's fixed header.
|
|
294
|
-
#--
|
|
295
552
|
# @rbs return: ::Integer
|
|
553
|
+
# @return [Integer]
|
|
296
554
|
def dst_len; fixed_header.dst_len; end
|
|
297
|
-
# Gets the value of `src-len` field in the message's fixed header.
|
|
298
|
-
#--
|
|
299
555
|
# @rbs return: ::Integer
|
|
556
|
+
# @return [Integer]
|
|
300
557
|
def src_len; fixed_header.src_len; end
|
|
301
|
-
# Gets the value of `tos` field in the message's fixed header.
|
|
302
|
-
#--
|
|
303
558
|
# @rbs return: ::Integer
|
|
559
|
+
# @return [Integer]
|
|
304
560
|
def tos; fixed_header.tos; end
|
|
305
|
-
# Gets the value of `action` field in the message's fixed header.
|
|
306
|
-
#--
|
|
307
561
|
# @rbs return: ::Integer
|
|
562
|
+
# @return [Integer]
|
|
308
563
|
def action; fixed_header.action; end
|
|
309
|
-
# Gets the value of `flags` field in the message's fixed header.
|
|
310
|
-
#--
|
|
311
564
|
# @rbs return: ::Integer
|
|
565
|
+
# @return [Integer]
|
|
312
566
|
def flags; fixed_header.flags; end
|
|
313
|
-
# Gets the value of `iifname` attribute in the message.
|
|
314
|
-
#--
|
|
315
567
|
# @rbs return: ::String
|
|
568
|
+
# @return [String]
|
|
569
|
+
# @see AttributeSets::FibRuleAttrs::Iifname
|
|
316
570
|
def iifname; attributes[:"iifname"]&.value; end
|
|
317
|
-
# Gets the value of `goto` attribute in the message.
|
|
318
|
-
#--
|
|
319
571
|
# @rbs return: ::Integer
|
|
572
|
+
# @return [Integer]
|
|
573
|
+
# @see AttributeSets::FibRuleAttrs::Goto
|
|
320
574
|
def goto; attributes[:"goto"]&.value; end
|
|
321
|
-
# Gets the value of `priority` attribute in the message.
|
|
322
|
-
#--
|
|
323
575
|
# @rbs return: ::Integer
|
|
576
|
+
# @return [Integer]
|
|
577
|
+
# @see AttributeSets::FibRuleAttrs::Priority
|
|
324
578
|
def priority; attributes[:"priority"]&.value; end
|
|
325
|
-
# Gets the value of `fwmark` attribute in the message.
|
|
326
|
-
#--
|
|
327
579
|
# @rbs return: ::Integer
|
|
580
|
+
# @return [Integer]
|
|
581
|
+
# @see AttributeSets::FibRuleAttrs::Fwmark
|
|
328
582
|
def fwmark; attributes[:"fwmark"]&.value; end
|
|
329
|
-
# Gets the value of `flow` attribute in the message.
|
|
330
|
-
#--
|
|
331
583
|
# @rbs return: ::Integer
|
|
584
|
+
# @return [Integer]
|
|
585
|
+
# @see AttributeSets::FibRuleAttrs::Flow
|
|
332
586
|
def flow; attributes[:"flow"]&.value; end
|
|
333
|
-
# Gets the value of `tun-id` attribute in the message.
|
|
334
|
-
#--
|
|
335
587
|
# @rbs return: ::Integer
|
|
588
|
+
# @return [Integer]
|
|
589
|
+
# @see AttributeSets::FibRuleAttrs::TunId
|
|
336
590
|
def tun_id; attributes[:"tun_id"]&.value; end
|
|
337
|
-
# Gets the value of `suppress-ifgroup` attribute in the message.
|
|
338
|
-
#--
|
|
339
591
|
# @rbs return: ::Integer
|
|
592
|
+
# @return [Integer]
|
|
593
|
+
# @see AttributeSets::FibRuleAttrs::SuppressIfgroup
|
|
340
594
|
def suppress_ifgroup; attributes[:"suppress_ifgroup"]&.value; end
|
|
341
|
-
# Gets the value of `suppress-prefixlen` attribute in the message.
|
|
342
|
-
#--
|
|
343
595
|
# @rbs return: ::Integer
|
|
596
|
+
# @return [Integer]
|
|
597
|
+
# @see AttributeSets::FibRuleAttrs::SuppressPrefixlen
|
|
344
598
|
def suppress_prefixlen; attributes[:"suppress_prefixlen"]&.value; end
|
|
345
|
-
# Gets the value of `table` attribute or fixed header in the message.
|
|
346
|
-
#--
|
|
347
599
|
# @rbs return: ::Integer
|
|
600
|
+
# @return [Integer]
|
|
601
|
+
# @see AttributeSets::FibRuleAttrs::Table
|
|
348
602
|
def table; attributes[:"table"]&.value || fixed_header.table; end
|
|
349
|
-
# Gets the value of `fwmask` attribute in the message.
|
|
350
|
-
#--
|
|
351
603
|
# @rbs return: ::Integer
|
|
604
|
+
# @return [Integer]
|
|
605
|
+
# @see AttributeSets::FibRuleAttrs::Fwmask
|
|
352
606
|
def fwmask; attributes[:"fwmask"]&.value; end
|
|
353
|
-
# Gets the value of `oifname` attribute in the message.
|
|
354
|
-
#--
|
|
355
607
|
# @rbs return: ::String
|
|
608
|
+
# @return [String]
|
|
609
|
+
# @see AttributeSets::FibRuleAttrs::Oifname
|
|
356
610
|
def oifname; attributes[:"oifname"]&.value; end
|
|
357
|
-
# Gets the value of `l3mdev` attribute in the message.
|
|
358
|
-
#--
|
|
359
611
|
# @rbs return: ::Integer
|
|
612
|
+
# @return [Integer]
|
|
613
|
+
# @see AttributeSets::FibRuleAttrs::L3mdev
|
|
360
614
|
def l3mdev; attributes[:"l3mdev"]&.value; end
|
|
361
|
-
#
|
|
362
|
-
|
|
363
|
-
# @
|
|
615
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
616
|
+
# @return [Structs::FibRuleUidRange]
|
|
617
|
+
# @see AttributeSets::FibRuleAttrs::UidRange
|
|
364
618
|
def uid_range; attributes[:"uid_range"]&.value; end
|
|
365
|
-
# Gets the value of `protocol` attribute in the message.
|
|
366
|
-
#--
|
|
367
619
|
# @rbs return: ::Integer
|
|
620
|
+
# @return [Integer]
|
|
621
|
+
# @see AttributeSets::FibRuleAttrs::Protocol
|
|
368
622
|
def protocol; attributes[:"protocol"]&.value; end
|
|
369
|
-
# Gets the value of `ip-proto` attribute in the message.
|
|
370
|
-
#--
|
|
371
623
|
# @rbs return: ::Integer
|
|
624
|
+
# @return [Integer]
|
|
625
|
+
# @see AttributeSets::FibRuleAttrs::IpProto
|
|
372
626
|
def ip_proto; attributes[:"ip_proto"]&.value; end
|
|
373
|
-
#
|
|
374
|
-
|
|
375
|
-
# @
|
|
627
|
+
# @rbs return: Structs::FibRulePortRange
|
|
628
|
+
# @return [Structs::FibRulePortRange]
|
|
629
|
+
# @see AttributeSets::FibRuleAttrs::SportRange
|
|
376
630
|
def sport_range; attributes[:"sport_range"]&.value; end
|
|
377
|
-
#
|
|
378
|
-
|
|
379
|
-
# @
|
|
631
|
+
# @rbs return: Structs::FibRulePortRange
|
|
632
|
+
# @return [Structs::FibRulePortRange]
|
|
633
|
+
# @see AttributeSets::FibRuleAttrs::DportRange
|
|
380
634
|
def dport_range; attributes[:"dport_range"]&.value; end
|
|
381
|
-
# Gets the value of `dscp` attribute in the message.
|
|
382
|
-
#--
|
|
383
635
|
# @rbs return: ::Integer
|
|
636
|
+
# @return [Integer]
|
|
637
|
+
# @see AttributeSets::FibRuleAttrs::Dscp
|
|
384
638
|
def dscp; attributes[:"dscp"]&.value; end
|
|
385
|
-
# Gets the value of `flowlabel` attribute in the message.
|
|
386
|
-
#--
|
|
387
639
|
# @rbs return: ::Integer
|
|
640
|
+
# @return [Integer]
|
|
641
|
+
# @see AttributeSets::FibRuleAttrs::Flowlabel
|
|
388
642
|
def flowlabel; attributes[:"flowlabel"]&.value; end
|
|
389
|
-
# Gets the value of `flowlabel-mask` attribute in the message.
|
|
390
|
-
#--
|
|
391
643
|
# @rbs return: ::Integer
|
|
644
|
+
# @return [Integer]
|
|
645
|
+
# @see AttributeSets::FibRuleAttrs::FlowlabelMask
|
|
392
646
|
def flowlabel_mask; attributes[:"flowlabel_mask"]&.value; end
|
|
393
|
-
# Gets the value of `sport-mask` attribute in the message.
|
|
394
|
-
#--
|
|
395
647
|
# @rbs return: ::Integer
|
|
648
|
+
# @return [Integer]
|
|
649
|
+
# @see AttributeSets::FibRuleAttrs::SportMask
|
|
396
650
|
def sport_mask; attributes[:"sport_mask"]&.value; end
|
|
397
|
-
# Gets the value of `dport-mask` attribute in the message.
|
|
398
|
-
#--
|
|
399
651
|
# @rbs return: ::Integer
|
|
652
|
+
# @return [Integer]
|
|
653
|
+
# @see AttributeSets::FibRuleAttrs::DportMask
|
|
400
654
|
def dport_mask; attributes[:"dport_mask"]&.value; end
|
|
401
|
-
# Gets the value of `dscp-mask` attribute in the message.
|
|
402
|
-
#--
|
|
403
655
|
# @rbs return: ::Integer
|
|
656
|
+
# @return [Integer]
|
|
657
|
+
# @see AttributeSets::FibRuleAttrs::DscpMask
|
|
404
658
|
def dscp_mask; attributes[:"dscp_mask"]&.value; end
|
|
405
659
|
end
|
|
406
660
|
# Remove an existing FIB rule
|
|
407
|
-
class DoDelruleRequest < ::Nl::
|
|
661
|
+
class DoDelruleRequest < ::Nl::Raw::Message
|
|
408
662
|
TYPE = 33
|
|
409
663
|
FIXED_HEADER = Structs::FibRuleHdr
|
|
410
664
|
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
411
665
|
ATTRIBUTES = Ractor.make_shareable(%i[iifname goto priority fwmark flow tun_id suppress_ifgroup suppress_prefixlen table fwmask oifname l3mdev uid_range protocol ip_proto sport_range dport_range dscp flowlabel flowlabel_mask sport_mask dport_mask dscp_mask])
|
|
412
|
-
# Gets the value of `family` field in the message's fixed header.
|
|
413
|
-
#--
|
|
414
666
|
# @rbs return: ::Integer
|
|
667
|
+
# @return [Integer]
|
|
415
668
|
def family; fixed_header.family; end
|
|
416
|
-
# Gets the value of `dst-len` field in the message's fixed header.
|
|
417
|
-
#--
|
|
418
669
|
# @rbs return: ::Integer
|
|
670
|
+
# @return [Integer]
|
|
419
671
|
def dst_len; fixed_header.dst_len; end
|
|
420
|
-
# Gets the value of `src-len` field in the message's fixed header.
|
|
421
|
-
#--
|
|
422
672
|
# @rbs return: ::Integer
|
|
673
|
+
# @return [Integer]
|
|
423
674
|
def src_len; fixed_header.src_len; end
|
|
424
|
-
# Gets the value of `tos` field in the message's fixed header.
|
|
425
|
-
#--
|
|
426
675
|
# @rbs return: ::Integer
|
|
676
|
+
# @return [Integer]
|
|
427
677
|
def tos; fixed_header.tos; end
|
|
428
|
-
# Gets the value of `action` field in the message's fixed header.
|
|
429
|
-
#--
|
|
430
678
|
# @rbs return: ::Integer
|
|
679
|
+
# @return [Integer]
|
|
431
680
|
def action; fixed_header.action; end
|
|
432
|
-
# Gets the value of `flags` field in the message's fixed header.
|
|
433
|
-
#--
|
|
434
681
|
# @rbs return: ::Integer
|
|
682
|
+
# @return [Integer]
|
|
435
683
|
def flags; fixed_header.flags; end
|
|
436
|
-
# Gets the value of `iifname` attribute in the message.
|
|
437
|
-
#--
|
|
438
684
|
# @rbs return: ::String
|
|
685
|
+
# @return [String]
|
|
686
|
+
# @see AttributeSets::FibRuleAttrs::Iifname
|
|
439
687
|
def iifname; attributes[:"iifname"]&.value; end
|
|
440
|
-
# Gets the value of `goto` attribute in the message.
|
|
441
|
-
#--
|
|
442
688
|
# @rbs return: ::Integer
|
|
689
|
+
# @return [Integer]
|
|
690
|
+
# @see AttributeSets::FibRuleAttrs::Goto
|
|
443
691
|
def goto; attributes[:"goto"]&.value; end
|
|
444
|
-
# Gets the value of `priority` attribute in the message.
|
|
445
|
-
#--
|
|
446
692
|
# @rbs return: ::Integer
|
|
693
|
+
# @return [Integer]
|
|
694
|
+
# @see AttributeSets::FibRuleAttrs::Priority
|
|
447
695
|
def priority; attributes[:"priority"]&.value; end
|
|
448
|
-
# Gets the value of `fwmark` attribute in the message.
|
|
449
|
-
#--
|
|
450
696
|
# @rbs return: ::Integer
|
|
697
|
+
# @return [Integer]
|
|
698
|
+
# @see AttributeSets::FibRuleAttrs::Fwmark
|
|
451
699
|
def fwmark; attributes[:"fwmark"]&.value; end
|
|
452
|
-
# Gets the value of `flow` attribute in the message.
|
|
453
|
-
#--
|
|
454
700
|
# @rbs return: ::Integer
|
|
701
|
+
# @return [Integer]
|
|
702
|
+
# @see AttributeSets::FibRuleAttrs::Flow
|
|
455
703
|
def flow; attributes[:"flow"]&.value; end
|
|
456
|
-
# Gets the value of `tun-id` attribute in the message.
|
|
457
|
-
#--
|
|
458
704
|
# @rbs return: ::Integer
|
|
705
|
+
# @return [Integer]
|
|
706
|
+
# @see AttributeSets::FibRuleAttrs::TunId
|
|
459
707
|
def tun_id; attributes[:"tun_id"]&.value; end
|
|
460
|
-
# Gets the value of `suppress-ifgroup` attribute in the message.
|
|
461
|
-
#--
|
|
462
708
|
# @rbs return: ::Integer
|
|
709
|
+
# @return [Integer]
|
|
710
|
+
# @see AttributeSets::FibRuleAttrs::SuppressIfgroup
|
|
463
711
|
def suppress_ifgroup; attributes[:"suppress_ifgroup"]&.value; end
|
|
464
|
-
# Gets the value of `suppress-prefixlen` attribute in the message.
|
|
465
|
-
#--
|
|
466
712
|
# @rbs return: ::Integer
|
|
713
|
+
# @return [Integer]
|
|
714
|
+
# @see AttributeSets::FibRuleAttrs::SuppressPrefixlen
|
|
467
715
|
def suppress_prefixlen; attributes[:"suppress_prefixlen"]&.value; end
|
|
468
|
-
# Gets the value of `table` attribute or fixed header in the message.
|
|
469
|
-
#--
|
|
470
716
|
# @rbs return: ::Integer
|
|
717
|
+
# @return [Integer]
|
|
718
|
+
# @see AttributeSets::FibRuleAttrs::Table
|
|
471
719
|
def table; attributes[:"table"]&.value || fixed_header.table; end
|
|
472
|
-
# Gets the value of `fwmask` attribute in the message.
|
|
473
|
-
#--
|
|
474
720
|
# @rbs return: ::Integer
|
|
721
|
+
# @return [Integer]
|
|
722
|
+
# @see AttributeSets::FibRuleAttrs::Fwmask
|
|
475
723
|
def fwmask; attributes[:"fwmask"]&.value; end
|
|
476
|
-
# Gets the value of `oifname` attribute in the message.
|
|
477
|
-
#--
|
|
478
724
|
# @rbs return: ::String
|
|
725
|
+
# @return [String]
|
|
726
|
+
# @see AttributeSets::FibRuleAttrs::Oifname
|
|
479
727
|
def oifname; attributes[:"oifname"]&.value; end
|
|
480
|
-
# Gets the value of `l3mdev` attribute in the message.
|
|
481
|
-
#--
|
|
482
728
|
# @rbs return: ::Integer
|
|
729
|
+
# @return [Integer]
|
|
730
|
+
# @see AttributeSets::FibRuleAttrs::L3mdev
|
|
483
731
|
def l3mdev; attributes[:"l3mdev"]&.value; end
|
|
484
|
-
#
|
|
485
|
-
|
|
486
|
-
# @
|
|
732
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
733
|
+
# @return [Structs::FibRuleUidRange]
|
|
734
|
+
# @see AttributeSets::FibRuleAttrs::UidRange
|
|
487
735
|
def uid_range; attributes[:"uid_range"]&.value; end
|
|
488
|
-
# Gets the value of `protocol` attribute in the message.
|
|
489
|
-
#--
|
|
490
736
|
# @rbs return: ::Integer
|
|
737
|
+
# @return [Integer]
|
|
738
|
+
# @see AttributeSets::FibRuleAttrs::Protocol
|
|
491
739
|
def protocol; attributes[:"protocol"]&.value; end
|
|
492
|
-
# Gets the value of `ip-proto` attribute in the message.
|
|
493
|
-
#--
|
|
494
740
|
# @rbs return: ::Integer
|
|
741
|
+
# @return [Integer]
|
|
742
|
+
# @see AttributeSets::FibRuleAttrs::IpProto
|
|
495
743
|
def ip_proto; attributes[:"ip_proto"]&.value; end
|
|
496
|
-
#
|
|
497
|
-
|
|
498
|
-
# @
|
|
744
|
+
# @rbs return: Structs::FibRulePortRange
|
|
745
|
+
# @return [Structs::FibRulePortRange]
|
|
746
|
+
# @see AttributeSets::FibRuleAttrs::SportRange
|
|
499
747
|
def sport_range; attributes[:"sport_range"]&.value; end
|
|
500
|
-
#
|
|
501
|
-
|
|
502
|
-
# @
|
|
748
|
+
# @rbs return: Structs::FibRulePortRange
|
|
749
|
+
# @return [Structs::FibRulePortRange]
|
|
750
|
+
# @see AttributeSets::FibRuleAttrs::DportRange
|
|
503
751
|
def dport_range; attributes[:"dport_range"]&.value; end
|
|
504
|
-
# Gets the value of `dscp` attribute in the message.
|
|
505
|
-
#--
|
|
506
752
|
# @rbs return: ::Integer
|
|
753
|
+
# @return [Integer]
|
|
754
|
+
# @see AttributeSets::FibRuleAttrs::Dscp
|
|
507
755
|
def dscp; attributes[:"dscp"]&.value; end
|
|
508
|
-
# Gets the value of `flowlabel` attribute in the message.
|
|
509
|
-
#--
|
|
510
756
|
# @rbs return: ::Integer
|
|
757
|
+
# @return [Integer]
|
|
758
|
+
# @see AttributeSets::FibRuleAttrs::Flowlabel
|
|
511
759
|
def flowlabel; attributes[:"flowlabel"]&.value; end
|
|
512
|
-
# Gets the value of `flowlabel-mask` attribute in the message.
|
|
513
|
-
#--
|
|
514
760
|
# @rbs return: ::Integer
|
|
761
|
+
# @return [Integer]
|
|
762
|
+
# @see AttributeSets::FibRuleAttrs::FlowlabelMask
|
|
515
763
|
def flowlabel_mask; attributes[:"flowlabel_mask"]&.value; end
|
|
516
|
-
# Gets the value of `sport-mask` attribute in the message.
|
|
517
|
-
#--
|
|
518
764
|
# @rbs return: ::Integer
|
|
765
|
+
# @return [Integer]
|
|
766
|
+
# @see AttributeSets::FibRuleAttrs::SportMask
|
|
519
767
|
def sport_mask; attributes[:"sport_mask"]&.value; end
|
|
520
|
-
# Gets the value of `dport-mask` attribute in the message.
|
|
521
|
-
#--
|
|
522
768
|
# @rbs return: ::Integer
|
|
769
|
+
# @return [Integer]
|
|
770
|
+
# @see AttributeSets::FibRuleAttrs::DportMask
|
|
523
771
|
def dport_mask; attributes[:"dport_mask"]&.value; end
|
|
524
|
-
# Gets the value of `dscp-mask` attribute in the message.
|
|
525
|
-
#--
|
|
526
772
|
# @rbs return: ::Integer
|
|
773
|
+
# @return [Integer]
|
|
774
|
+
# @see AttributeSets::FibRuleAttrs::DscpMask
|
|
527
775
|
def dscp_mask; attributes[:"dscp_mask"]&.value; end
|
|
528
776
|
end
|
|
529
777
|
# Dump all FIB rules
|
|
530
|
-
class DumpGetruleRequest < ::Nl::
|
|
778
|
+
class DumpGetruleRequest < ::Nl::Raw::Message
|
|
531
779
|
TYPE = 34
|
|
532
780
|
FIXED_HEADER = Structs::FibRuleHdr
|
|
533
781
|
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
534
782
|
ATTRIBUTES = Ractor.make_shareable(%i[])
|
|
535
|
-
# Gets the value of `family` field in the message's fixed header.
|
|
536
|
-
#--
|
|
537
783
|
# @rbs return: ::Integer
|
|
784
|
+
# @return [Integer]
|
|
538
785
|
def family; fixed_header.family; end
|
|
539
|
-
# Gets the value of `dst-len` field in the message's fixed header.
|
|
540
|
-
#--
|
|
541
786
|
# @rbs return: ::Integer
|
|
787
|
+
# @return [Integer]
|
|
542
788
|
def dst_len; fixed_header.dst_len; end
|
|
543
|
-
# Gets the value of `src-len` field in the message's fixed header.
|
|
544
|
-
#--
|
|
545
789
|
# @rbs return: ::Integer
|
|
790
|
+
# @return [Integer]
|
|
546
791
|
def src_len; fixed_header.src_len; end
|
|
547
|
-
# Gets the value of `tos` field in the message's fixed header.
|
|
548
|
-
#--
|
|
549
792
|
# @rbs return: ::Integer
|
|
793
|
+
# @return [Integer]
|
|
550
794
|
def tos; fixed_header.tos; end
|
|
551
|
-
# Gets the value of `table` field in the message's fixed header.
|
|
552
|
-
#--
|
|
553
795
|
# @rbs return: ::Integer
|
|
796
|
+
# @return [Integer]
|
|
554
797
|
def table; fixed_header.table; end
|
|
555
|
-
# Gets the value of `action` field in the message's fixed header.
|
|
556
|
-
#--
|
|
557
798
|
# @rbs return: ::Integer
|
|
799
|
+
# @return [Integer]
|
|
558
800
|
def action; fixed_header.action; end
|
|
559
|
-
# Gets the value of `flags` field in the message's fixed header.
|
|
560
|
-
#--
|
|
561
801
|
# @rbs return: ::Integer
|
|
802
|
+
# @return [Integer]
|
|
562
803
|
def flags; fixed_header.flags; end
|
|
563
804
|
end
|
|
564
805
|
# Dump all FIB rules
|
|
565
|
-
class DumpGetruleReply < ::Nl::
|
|
806
|
+
class DumpGetruleReply < ::Nl::Raw::Message
|
|
807
|
+
TYPE = 32
|
|
808
|
+
FIXED_HEADER = Structs::FibRuleHdr
|
|
809
|
+
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
810
|
+
ATTRIBUTES = Ractor.make_shareable(%i[iifname goto priority fwmark flow tun_id suppress_ifgroup suppress_prefixlen table fwmask oifname l3mdev uid_range protocol ip_proto sport_range dport_range dscp flowlabel flowlabel_mask sport_mask dport_mask dscp_mask])
|
|
811
|
+
# @rbs return: ::Integer
|
|
812
|
+
# @return [Integer]
|
|
813
|
+
def family; fixed_header.family; end
|
|
814
|
+
# @rbs return: ::Integer
|
|
815
|
+
# @return [Integer]
|
|
816
|
+
def dst_len; fixed_header.dst_len; end
|
|
817
|
+
# @rbs return: ::Integer
|
|
818
|
+
# @return [Integer]
|
|
819
|
+
def src_len; fixed_header.src_len; end
|
|
820
|
+
# @rbs return: ::Integer
|
|
821
|
+
# @return [Integer]
|
|
822
|
+
def tos; fixed_header.tos; end
|
|
823
|
+
# @rbs return: ::Integer
|
|
824
|
+
# @return [Integer]
|
|
825
|
+
def action; fixed_header.action; end
|
|
826
|
+
# @rbs return: ::Integer
|
|
827
|
+
# @return [Integer]
|
|
828
|
+
def flags; fixed_header.flags; end
|
|
829
|
+
# @rbs return: ::String
|
|
830
|
+
# @return [String]
|
|
831
|
+
# @see AttributeSets::FibRuleAttrs::Iifname
|
|
832
|
+
def iifname; attributes[:"iifname"]&.value; end
|
|
833
|
+
# @rbs return: ::Integer
|
|
834
|
+
# @return [Integer]
|
|
835
|
+
# @see AttributeSets::FibRuleAttrs::Goto
|
|
836
|
+
def goto; attributes[:"goto"]&.value; end
|
|
837
|
+
# @rbs return: ::Integer
|
|
838
|
+
# @return [Integer]
|
|
839
|
+
# @see AttributeSets::FibRuleAttrs::Priority
|
|
840
|
+
def priority; attributes[:"priority"]&.value; end
|
|
841
|
+
# @rbs return: ::Integer
|
|
842
|
+
# @return [Integer]
|
|
843
|
+
# @see AttributeSets::FibRuleAttrs::Fwmark
|
|
844
|
+
def fwmark; attributes[:"fwmark"]&.value; end
|
|
845
|
+
# @rbs return: ::Integer
|
|
846
|
+
# @return [Integer]
|
|
847
|
+
# @see AttributeSets::FibRuleAttrs::Flow
|
|
848
|
+
def flow; attributes[:"flow"]&.value; end
|
|
849
|
+
# @rbs return: ::Integer
|
|
850
|
+
# @return [Integer]
|
|
851
|
+
# @see AttributeSets::FibRuleAttrs::TunId
|
|
852
|
+
def tun_id; attributes[:"tun_id"]&.value; end
|
|
853
|
+
# @rbs return: ::Integer
|
|
854
|
+
# @return [Integer]
|
|
855
|
+
# @see AttributeSets::FibRuleAttrs::SuppressIfgroup
|
|
856
|
+
def suppress_ifgroup; attributes[:"suppress_ifgroup"]&.value; end
|
|
857
|
+
# @rbs return: ::Integer
|
|
858
|
+
# @return [Integer]
|
|
859
|
+
# @see AttributeSets::FibRuleAttrs::SuppressPrefixlen
|
|
860
|
+
def suppress_prefixlen; attributes[:"suppress_prefixlen"]&.value; end
|
|
861
|
+
# @rbs return: ::Integer
|
|
862
|
+
# @return [Integer]
|
|
863
|
+
# @see AttributeSets::FibRuleAttrs::Table
|
|
864
|
+
def table; attributes[:"table"]&.value || fixed_header.table; end
|
|
865
|
+
# @rbs return: ::Integer
|
|
866
|
+
# @return [Integer]
|
|
867
|
+
# @see AttributeSets::FibRuleAttrs::Fwmask
|
|
868
|
+
def fwmask; attributes[:"fwmask"]&.value; end
|
|
869
|
+
# @rbs return: ::String
|
|
870
|
+
# @return [String]
|
|
871
|
+
# @see AttributeSets::FibRuleAttrs::Oifname
|
|
872
|
+
def oifname; attributes[:"oifname"]&.value; end
|
|
873
|
+
# @rbs return: ::Integer
|
|
874
|
+
# @return [Integer]
|
|
875
|
+
# @see AttributeSets::FibRuleAttrs::L3mdev
|
|
876
|
+
def l3mdev; attributes[:"l3mdev"]&.value; end
|
|
877
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
878
|
+
# @return [Structs::FibRuleUidRange]
|
|
879
|
+
# @see AttributeSets::FibRuleAttrs::UidRange
|
|
880
|
+
def uid_range; attributes[:"uid_range"]&.value; end
|
|
881
|
+
# @rbs return: ::Integer
|
|
882
|
+
# @return [Integer]
|
|
883
|
+
# @see AttributeSets::FibRuleAttrs::Protocol
|
|
884
|
+
def protocol; attributes[:"protocol"]&.value; end
|
|
885
|
+
# @rbs return: ::Integer
|
|
886
|
+
# @return [Integer]
|
|
887
|
+
# @see AttributeSets::FibRuleAttrs::IpProto
|
|
888
|
+
def ip_proto; attributes[:"ip_proto"]&.value; end
|
|
889
|
+
# @rbs return: Structs::FibRulePortRange
|
|
890
|
+
# @return [Structs::FibRulePortRange]
|
|
891
|
+
# @see AttributeSets::FibRuleAttrs::SportRange
|
|
892
|
+
def sport_range; attributes[:"sport_range"]&.value; end
|
|
893
|
+
# @rbs return: Structs::FibRulePortRange
|
|
894
|
+
# @return [Structs::FibRulePortRange]
|
|
895
|
+
# @see AttributeSets::FibRuleAttrs::DportRange
|
|
896
|
+
def dport_range; attributes[:"dport_range"]&.value; end
|
|
897
|
+
# @rbs return: ::Integer
|
|
898
|
+
# @return [Integer]
|
|
899
|
+
# @see AttributeSets::FibRuleAttrs::Dscp
|
|
900
|
+
def dscp; attributes[:"dscp"]&.value; end
|
|
901
|
+
# @rbs return: ::Integer
|
|
902
|
+
# @return [Integer]
|
|
903
|
+
# @see AttributeSets::FibRuleAttrs::Flowlabel
|
|
904
|
+
def flowlabel; attributes[:"flowlabel"]&.value; end
|
|
905
|
+
# @rbs return: ::Integer
|
|
906
|
+
# @return [Integer]
|
|
907
|
+
# @see AttributeSets::FibRuleAttrs::FlowlabelMask
|
|
908
|
+
def flowlabel_mask; attributes[:"flowlabel_mask"]&.value; end
|
|
909
|
+
# @rbs return: ::Integer
|
|
910
|
+
# @return [Integer]
|
|
911
|
+
# @see AttributeSets::FibRuleAttrs::SportMask
|
|
912
|
+
def sport_mask; attributes[:"sport_mask"]&.value; end
|
|
913
|
+
# @rbs return: ::Integer
|
|
914
|
+
# @return [Integer]
|
|
915
|
+
# @see AttributeSets::FibRuleAttrs::DportMask
|
|
916
|
+
def dport_mask; attributes[:"dport_mask"]&.value; end
|
|
917
|
+
# @rbs return: ::Integer
|
|
918
|
+
# @return [Integer]
|
|
919
|
+
# @see AttributeSets::FibRuleAttrs::DscpMask
|
|
920
|
+
def dscp_mask; attributes[:"dscp_mask"]&.value; end
|
|
921
|
+
end
|
|
922
|
+
end
|
|
923
|
+
module Notifications
|
|
924
|
+
# Notify a rule creation
|
|
925
|
+
class NewruleNtf < ::Nl::Raw::Message
|
|
566
926
|
TYPE = 32
|
|
567
927
|
FIXED_HEADER = Structs::FibRuleHdr
|
|
568
928
|
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
569
929
|
ATTRIBUTES = Ractor.make_shareable(%i[iifname goto priority fwmark flow tun_id suppress_ifgroup suppress_prefixlen table fwmask oifname l3mdev uid_range protocol ip_proto sport_range dport_range dscp flowlabel flowlabel_mask sport_mask dport_mask dscp_mask])
|
|
570
|
-
# Gets the value of `family` field in the message's fixed header.
|
|
571
|
-
#--
|
|
572
930
|
# @rbs return: ::Integer
|
|
931
|
+
# @return [Integer]
|
|
573
932
|
def family; fixed_header.family; end
|
|
574
|
-
# Gets the value of `dst-len` field in the message's fixed header.
|
|
575
|
-
#--
|
|
576
933
|
# @rbs return: ::Integer
|
|
934
|
+
# @return [Integer]
|
|
577
935
|
def dst_len; fixed_header.dst_len; end
|
|
578
|
-
# Gets the value of `src-len` field in the message's fixed header.
|
|
579
|
-
#--
|
|
580
936
|
# @rbs return: ::Integer
|
|
937
|
+
# @return [Integer]
|
|
581
938
|
def src_len; fixed_header.src_len; end
|
|
582
|
-
# Gets the value of `tos` field in the message's fixed header.
|
|
583
|
-
#--
|
|
584
939
|
# @rbs return: ::Integer
|
|
940
|
+
# @return [Integer]
|
|
585
941
|
def tos; fixed_header.tos; end
|
|
586
|
-
# Gets the value of `action` field in the message's fixed header.
|
|
587
|
-
#--
|
|
588
942
|
# @rbs return: ::Integer
|
|
943
|
+
# @return [Integer]
|
|
589
944
|
def action; fixed_header.action; end
|
|
590
|
-
# Gets the value of `flags` field in the message's fixed header.
|
|
591
|
-
#--
|
|
592
945
|
# @rbs return: ::Integer
|
|
946
|
+
# @return [Integer]
|
|
593
947
|
def flags; fixed_header.flags; end
|
|
594
|
-
# Gets the value of `iifname` attribute in the message.
|
|
595
|
-
#--
|
|
596
948
|
# @rbs return: ::String
|
|
949
|
+
# @return [String]
|
|
950
|
+
# @see AttributeSets::FibRuleAttrs::Iifname
|
|
597
951
|
def iifname; attributes[:"iifname"]&.value; end
|
|
598
|
-
# Gets the value of `goto` attribute in the message.
|
|
599
|
-
#--
|
|
600
952
|
# @rbs return: ::Integer
|
|
953
|
+
# @return [Integer]
|
|
954
|
+
# @see AttributeSets::FibRuleAttrs::Goto
|
|
601
955
|
def goto; attributes[:"goto"]&.value; end
|
|
602
|
-
# Gets the value of `priority` attribute in the message.
|
|
603
|
-
#--
|
|
604
956
|
# @rbs return: ::Integer
|
|
957
|
+
# @return [Integer]
|
|
958
|
+
# @see AttributeSets::FibRuleAttrs::Priority
|
|
605
959
|
def priority; attributes[:"priority"]&.value; end
|
|
606
|
-
# Gets the value of `fwmark` attribute in the message.
|
|
607
|
-
#--
|
|
608
960
|
# @rbs return: ::Integer
|
|
961
|
+
# @return [Integer]
|
|
962
|
+
# @see AttributeSets::FibRuleAttrs::Fwmark
|
|
609
963
|
def fwmark; attributes[:"fwmark"]&.value; end
|
|
610
|
-
# Gets the value of `flow` attribute in the message.
|
|
611
|
-
#--
|
|
612
964
|
# @rbs return: ::Integer
|
|
965
|
+
# @return [Integer]
|
|
966
|
+
# @see AttributeSets::FibRuleAttrs::Flow
|
|
613
967
|
def flow; attributes[:"flow"]&.value; end
|
|
614
|
-
# Gets the value of `tun-id` attribute in the message.
|
|
615
|
-
#--
|
|
616
968
|
# @rbs return: ::Integer
|
|
969
|
+
# @return [Integer]
|
|
970
|
+
# @see AttributeSets::FibRuleAttrs::TunId
|
|
617
971
|
def tun_id; attributes[:"tun_id"]&.value; end
|
|
618
|
-
# Gets the value of `suppress-ifgroup` attribute in the message.
|
|
619
|
-
#--
|
|
620
972
|
# @rbs return: ::Integer
|
|
973
|
+
# @return [Integer]
|
|
974
|
+
# @see AttributeSets::FibRuleAttrs::SuppressIfgroup
|
|
621
975
|
def suppress_ifgroup; attributes[:"suppress_ifgroup"]&.value; end
|
|
622
|
-
# Gets the value of `suppress-prefixlen` attribute in the message.
|
|
623
|
-
#--
|
|
624
976
|
# @rbs return: ::Integer
|
|
977
|
+
# @return [Integer]
|
|
978
|
+
# @see AttributeSets::FibRuleAttrs::SuppressPrefixlen
|
|
625
979
|
def suppress_prefixlen; attributes[:"suppress_prefixlen"]&.value; end
|
|
626
|
-
# Gets the value of `table` attribute or fixed header in the message.
|
|
627
|
-
#--
|
|
628
980
|
# @rbs return: ::Integer
|
|
981
|
+
# @return [Integer]
|
|
982
|
+
# @see AttributeSets::FibRuleAttrs::Table
|
|
629
983
|
def table; attributes[:"table"]&.value || fixed_header.table; end
|
|
630
|
-
# Gets the value of `fwmask` attribute in the message.
|
|
631
|
-
#--
|
|
632
984
|
# @rbs return: ::Integer
|
|
985
|
+
# @return [Integer]
|
|
986
|
+
# @see AttributeSets::FibRuleAttrs::Fwmask
|
|
633
987
|
def fwmask; attributes[:"fwmask"]&.value; end
|
|
634
|
-
# Gets the value of `oifname` attribute in the message.
|
|
635
|
-
#--
|
|
636
988
|
# @rbs return: ::String
|
|
989
|
+
# @return [String]
|
|
990
|
+
# @see AttributeSets::FibRuleAttrs::Oifname
|
|
637
991
|
def oifname; attributes[:"oifname"]&.value; end
|
|
638
|
-
# Gets the value of `l3mdev` attribute in the message.
|
|
639
|
-
#--
|
|
640
992
|
# @rbs return: ::Integer
|
|
993
|
+
# @return [Integer]
|
|
994
|
+
# @see AttributeSets::FibRuleAttrs::L3mdev
|
|
641
995
|
def l3mdev; attributes[:"l3mdev"]&.value; end
|
|
642
|
-
#
|
|
643
|
-
|
|
644
|
-
# @
|
|
996
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
997
|
+
# @return [Structs::FibRuleUidRange]
|
|
998
|
+
# @see AttributeSets::FibRuleAttrs::UidRange
|
|
645
999
|
def uid_range; attributes[:"uid_range"]&.value; end
|
|
646
|
-
# Gets the value of `protocol` attribute in the message.
|
|
647
|
-
#--
|
|
648
1000
|
# @rbs return: ::Integer
|
|
1001
|
+
# @return [Integer]
|
|
1002
|
+
# @see AttributeSets::FibRuleAttrs::Protocol
|
|
649
1003
|
def protocol; attributes[:"protocol"]&.value; end
|
|
650
|
-
# Gets the value of `ip-proto` attribute in the message.
|
|
651
|
-
#--
|
|
652
1004
|
# @rbs return: ::Integer
|
|
1005
|
+
# @return [Integer]
|
|
1006
|
+
# @see AttributeSets::FibRuleAttrs::IpProto
|
|
653
1007
|
def ip_proto; attributes[:"ip_proto"]&.value; end
|
|
654
|
-
#
|
|
655
|
-
|
|
656
|
-
# @
|
|
1008
|
+
# @rbs return: Structs::FibRulePortRange
|
|
1009
|
+
# @return [Structs::FibRulePortRange]
|
|
1010
|
+
# @see AttributeSets::FibRuleAttrs::SportRange
|
|
657
1011
|
def sport_range; attributes[:"sport_range"]&.value; end
|
|
658
|
-
#
|
|
659
|
-
|
|
660
|
-
# @
|
|
1012
|
+
# @rbs return: Structs::FibRulePortRange
|
|
1013
|
+
# @return [Structs::FibRulePortRange]
|
|
1014
|
+
# @see AttributeSets::FibRuleAttrs::DportRange
|
|
661
1015
|
def dport_range; attributes[:"dport_range"]&.value; end
|
|
662
|
-
# Gets the value of `dscp` attribute in the message.
|
|
663
|
-
#--
|
|
664
1016
|
# @rbs return: ::Integer
|
|
1017
|
+
# @return [Integer]
|
|
1018
|
+
# @see AttributeSets::FibRuleAttrs::Dscp
|
|
665
1019
|
def dscp; attributes[:"dscp"]&.value; end
|
|
666
|
-
# Gets the value of `flowlabel` attribute in the message.
|
|
667
|
-
#--
|
|
668
1020
|
# @rbs return: ::Integer
|
|
1021
|
+
# @return [Integer]
|
|
1022
|
+
# @see AttributeSets::FibRuleAttrs::Flowlabel
|
|
669
1023
|
def flowlabel; attributes[:"flowlabel"]&.value; end
|
|
670
|
-
# Gets the value of `flowlabel-mask` attribute in the message.
|
|
671
|
-
#--
|
|
672
1024
|
# @rbs return: ::Integer
|
|
1025
|
+
# @return [Integer]
|
|
1026
|
+
# @see AttributeSets::FibRuleAttrs::FlowlabelMask
|
|
673
1027
|
def flowlabel_mask; attributes[:"flowlabel_mask"]&.value; end
|
|
674
|
-
# Gets the value of `sport-mask` attribute in the message.
|
|
675
|
-
#--
|
|
676
1028
|
# @rbs return: ::Integer
|
|
1029
|
+
# @return [Integer]
|
|
1030
|
+
# @see AttributeSets::FibRuleAttrs::SportMask
|
|
677
1031
|
def sport_mask; attributes[:"sport_mask"]&.value; end
|
|
678
|
-
# Gets the value of `dport-mask` attribute in the message.
|
|
679
|
-
#--
|
|
680
1032
|
# @rbs return: ::Integer
|
|
1033
|
+
# @return [Integer]
|
|
1034
|
+
# @see AttributeSets::FibRuleAttrs::DportMask
|
|
681
1035
|
def dport_mask; attributes[:"dport_mask"]&.value; end
|
|
682
|
-
# Gets the value of `dscp-mask` attribute in the message.
|
|
683
|
-
#--
|
|
684
1036
|
# @rbs return: ::Integer
|
|
1037
|
+
# @return [Integer]
|
|
1038
|
+
# @see AttributeSets::FibRuleAttrs::DscpMask
|
|
1039
|
+
def dscp_mask; attributes[:"dscp_mask"]&.value; end
|
|
1040
|
+
end
|
|
1041
|
+
# Notify a rule deletion
|
|
1042
|
+
class DelruleNtf < ::Nl::Raw::Message
|
|
1043
|
+
TYPE = 33
|
|
1044
|
+
FIXED_HEADER = Structs::FibRuleHdr
|
|
1045
|
+
ATTRIBUTE_SET = AttributeSets::FibRuleAttrs
|
|
1046
|
+
ATTRIBUTES = Ractor.make_shareable(%i[iifname goto priority fwmark flow tun_id suppress_ifgroup suppress_prefixlen table fwmask oifname l3mdev uid_range protocol ip_proto sport_range dport_range dscp flowlabel flowlabel_mask sport_mask dport_mask dscp_mask])
|
|
1047
|
+
# @rbs return: ::Integer
|
|
1048
|
+
# @return [Integer]
|
|
1049
|
+
def family; fixed_header.family; end
|
|
1050
|
+
# @rbs return: ::Integer
|
|
1051
|
+
# @return [Integer]
|
|
1052
|
+
def dst_len; fixed_header.dst_len; end
|
|
1053
|
+
# @rbs return: ::Integer
|
|
1054
|
+
# @return [Integer]
|
|
1055
|
+
def src_len; fixed_header.src_len; end
|
|
1056
|
+
# @rbs return: ::Integer
|
|
1057
|
+
# @return [Integer]
|
|
1058
|
+
def tos; fixed_header.tos; end
|
|
1059
|
+
# @rbs return: ::Integer
|
|
1060
|
+
# @return [Integer]
|
|
1061
|
+
def action; fixed_header.action; end
|
|
1062
|
+
# @rbs return: ::Integer
|
|
1063
|
+
# @return [Integer]
|
|
1064
|
+
def flags; fixed_header.flags; end
|
|
1065
|
+
# @rbs return: ::String
|
|
1066
|
+
# @return [String]
|
|
1067
|
+
# @see AttributeSets::FibRuleAttrs::Iifname
|
|
1068
|
+
def iifname; attributes[:"iifname"]&.value; end
|
|
1069
|
+
# @rbs return: ::Integer
|
|
1070
|
+
# @return [Integer]
|
|
1071
|
+
# @see AttributeSets::FibRuleAttrs::Goto
|
|
1072
|
+
def goto; attributes[:"goto"]&.value; end
|
|
1073
|
+
# @rbs return: ::Integer
|
|
1074
|
+
# @return [Integer]
|
|
1075
|
+
# @see AttributeSets::FibRuleAttrs::Priority
|
|
1076
|
+
def priority; attributes[:"priority"]&.value; end
|
|
1077
|
+
# @rbs return: ::Integer
|
|
1078
|
+
# @return [Integer]
|
|
1079
|
+
# @see AttributeSets::FibRuleAttrs::Fwmark
|
|
1080
|
+
def fwmark; attributes[:"fwmark"]&.value; end
|
|
1081
|
+
# @rbs return: ::Integer
|
|
1082
|
+
# @return [Integer]
|
|
1083
|
+
# @see AttributeSets::FibRuleAttrs::Flow
|
|
1084
|
+
def flow; attributes[:"flow"]&.value; end
|
|
1085
|
+
# @rbs return: ::Integer
|
|
1086
|
+
# @return [Integer]
|
|
1087
|
+
# @see AttributeSets::FibRuleAttrs::TunId
|
|
1088
|
+
def tun_id; attributes[:"tun_id"]&.value; end
|
|
1089
|
+
# @rbs return: ::Integer
|
|
1090
|
+
# @return [Integer]
|
|
1091
|
+
# @see AttributeSets::FibRuleAttrs::SuppressIfgroup
|
|
1092
|
+
def suppress_ifgroup; attributes[:"suppress_ifgroup"]&.value; end
|
|
1093
|
+
# @rbs return: ::Integer
|
|
1094
|
+
# @return [Integer]
|
|
1095
|
+
# @see AttributeSets::FibRuleAttrs::SuppressPrefixlen
|
|
1096
|
+
def suppress_prefixlen; attributes[:"suppress_prefixlen"]&.value; end
|
|
1097
|
+
# @rbs return: ::Integer
|
|
1098
|
+
# @return [Integer]
|
|
1099
|
+
# @see AttributeSets::FibRuleAttrs::Table
|
|
1100
|
+
def table; attributes[:"table"]&.value || fixed_header.table; end
|
|
1101
|
+
# @rbs return: ::Integer
|
|
1102
|
+
# @return [Integer]
|
|
1103
|
+
# @see AttributeSets::FibRuleAttrs::Fwmask
|
|
1104
|
+
def fwmask; attributes[:"fwmask"]&.value; end
|
|
1105
|
+
# @rbs return: ::String
|
|
1106
|
+
# @return [String]
|
|
1107
|
+
# @see AttributeSets::FibRuleAttrs::Oifname
|
|
1108
|
+
def oifname; attributes[:"oifname"]&.value; end
|
|
1109
|
+
# @rbs return: ::Integer
|
|
1110
|
+
# @return [Integer]
|
|
1111
|
+
# @see AttributeSets::FibRuleAttrs::L3mdev
|
|
1112
|
+
def l3mdev; attributes[:"l3mdev"]&.value; end
|
|
1113
|
+
# @rbs return: Structs::FibRuleUidRange
|
|
1114
|
+
# @return [Structs::FibRuleUidRange]
|
|
1115
|
+
# @see AttributeSets::FibRuleAttrs::UidRange
|
|
1116
|
+
def uid_range; attributes[:"uid_range"]&.value; end
|
|
1117
|
+
# @rbs return: ::Integer
|
|
1118
|
+
# @return [Integer]
|
|
1119
|
+
# @see AttributeSets::FibRuleAttrs::Protocol
|
|
1120
|
+
def protocol; attributes[:"protocol"]&.value; end
|
|
1121
|
+
# @rbs return: ::Integer
|
|
1122
|
+
# @return [Integer]
|
|
1123
|
+
# @see AttributeSets::FibRuleAttrs::IpProto
|
|
1124
|
+
def ip_proto; attributes[:"ip_proto"]&.value; end
|
|
1125
|
+
# @rbs return: Structs::FibRulePortRange
|
|
1126
|
+
# @return [Structs::FibRulePortRange]
|
|
1127
|
+
# @see AttributeSets::FibRuleAttrs::SportRange
|
|
1128
|
+
def sport_range; attributes[:"sport_range"]&.value; end
|
|
1129
|
+
# @rbs return: Structs::FibRulePortRange
|
|
1130
|
+
# @return [Structs::FibRulePortRange]
|
|
1131
|
+
# @see AttributeSets::FibRuleAttrs::DportRange
|
|
1132
|
+
def dport_range; attributes[:"dport_range"]&.value; end
|
|
1133
|
+
# @rbs return: ::Integer
|
|
1134
|
+
# @return [Integer]
|
|
1135
|
+
# @see AttributeSets::FibRuleAttrs::Dscp
|
|
1136
|
+
def dscp; attributes[:"dscp"]&.value; end
|
|
1137
|
+
# @rbs return: ::Integer
|
|
1138
|
+
# @return [Integer]
|
|
1139
|
+
# @see AttributeSets::FibRuleAttrs::Flowlabel
|
|
1140
|
+
def flowlabel; attributes[:"flowlabel"]&.value; end
|
|
1141
|
+
# @rbs return: ::Integer
|
|
1142
|
+
# @return [Integer]
|
|
1143
|
+
# @see AttributeSets::FibRuleAttrs::FlowlabelMask
|
|
1144
|
+
def flowlabel_mask; attributes[:"flowlabel_mask"]&.value; end
|
|
1145
|
+
# @rbs return: ::Integer
|
|
1146
|
+
# @return [Integer]
|
|
1147
|
+
# @see AttributeSets::FibRuleAttrs::SportMask
|
|
1148
|
+
def sport_mask; attributes[:"sport_mask"]&.value; end
|
|
1149
|
+
# @rbs return: ::Integer
|
|
1150
|
+
# @return [Integer]
|
|
1151
|
+
# @see AttributeSets::FibRuleAttrs::DportMask
|
|
1152
|
+
def dport_mask; attributes[:"dport_mask"]&.value; end
|
|
1153
|
+
# @rbs return: ::Integer
|
|
1154
|
+
# @return [Integer]
|
|
1155
|
+
# @see AttributeSets::FibRuleAttrs::DscpMask
|
|
685
1156
|
def dscp_mask; attributes[:"dscp_mask"]&.value; end
|
|
686
1157
|
end
|
|
687
1158
|
end
|
|
1159
|
+
# @private
|
|
1160
|
+
NOTIFICATIONS = Ractor.make_shareable({32 => Notifications::NewruleNtf, 33 => Notifications::DelruleNtf}) #: Hash[::Integer, ::Class]
|
|
688
1161
|
# Add new FIB rule
|
|
689
|
-
|
|
690
|
-
# @
|
|
1162
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer, ?iifname: ::String, ?goto: ::Integer, ?priority: ::Integer, ?fwmark: ::Integer, ?flow: ::Integer, ?tun_id: ::Integer, ?suppress_ifgroup: ::Integer, ?suppress_prefixlen: ::Integer, ?fwmask: ::Integer, ?oifname: ::String, ?l3mdev: ::Integer, ?uid_range: (Structs::FibRuleUidRange | ::Hash[::Symbol, untyped]), ?protocol: ::Integer, ?ip_proto: ::Integer, ?sport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dscp: ::Integer, ?flowlabel: ::Integer, ?flowlabel_mask: ::Integer, ?sport_mask: ::Integer, ?dport_mask: ::Integer, ?dscp_mask: ::Integer) -> void
|
|
1163
|
+
# @param [Hash] args
|
|
1164
|
+
# @option args [Integer] family
|
|
1165
|
+
# @option args [Integer] dst_len
|
|
1166
|
+
# @option args [Integer] src_len
|
|
1167
|
+
# @option args [Integer] tos
|
|
1168
|
+
# @option args [Integer] table
|
|
1169
|
+
# @option args [Integer] action
|
|
1170
|
+
# @option args [Integer] flags
|
|
1171
|
+
# @option args [String] iifname
|
|
1172
|
+
# @option args [Integer] goto
|
|
1173
|
+
# @option args [Integer] priority
|
|
1174
|
+
# @option args [Integer] fwmark
|
|
1175
|
+
# @option args [Integer] flow
|
|
1176
|
+
# @option args [Integer] tun_id
|
|
1177
|
+
# @option args [Integer] suppress_ifgroup
|
|
1178
|
+
# @option args [Integer] suppress_prefixlen
|
|
1179
|
+
# @option args [Integer] fwmask
|
|
1180
|
+
# @option args [String] oifname
|
|
1181
|
+
# @option args [Integer] l3mdev
|
|
1182
|
+
# @option args [Structs::FibRuleUidRange, Hash<Symbol, Object>] uid_range
|
|
1183
|
+
# @option args [Integer] protocol
|
|
1184
|
+
# @option args [Integer] ip_proto
|
|
1185
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] sport_range
|
|
1186
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] dport_range
|
|
1187
|
+
# @option args [Integer] dscp
|
|
1188
|
+
# @option args [Integer] flowlabel
|
|
1189
|
+
# @option args [Integer] flowlabel_mask
|
|
1190
|
+
# @option args [Integer] sport_mask
|
|
1191
|
+
# @option args [Integer] dport_mask
|
|
1192
|
+
# @option args [Integer] dscp_mask
|
|
1193
|
+
# @return [void]
|
|
1194
|
+
# @see Messages::DoNewruleRequest
|
|
691
1195
|
def do_newrule(**args)
|
|
692
1196
|
exchange_message(:"do", Messages::DoNewruleRequest, nil, args)
|
|
693
1197
|
end
|
|
694
1198
|
# Remove an existing FIB rule
|
|
695
|
-
|
|
696
|
-
# @
|
|
1199
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer, ?iifname: ::String, ?goto: ::Integer, ?priority: ::Integer, ?fwmark: ::Integer, ?flow: ::Integer, ?tun_id: ::Integer, ?suppress_ifgroup: ::Integer, ?suppress_prefixlen: ::Integer, ?fwmask: ::Integer, ?oifname: ::String, ?l3mdev: ::Integer, ?uid_range: (Structs::FibRuleUidRange | ::Hash[::Symbol, untyped]), ?protocol: ::Integer, ?ip_proto: ::Integer, ?sport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dscp: ::Integer, ?flowlabel: ::Integer, ?flowlabel_mask: ::Integer, ?sport_mask: ::Integer, ?dport_mask: ::Integer, ?dscp_mask: ::Integer) -> void
|
|
1200
|
+
# @param [Hash] args
|
|
1201
|
+
# @option args [Integer] family
|
|
1202
|
+
# @option args [Integer] dst_len
|
|
1203
|
+
# @option args [Integer] src_len
|
|
1204
|
+
# @option args [Integer] tos
|
|
1205
|
+
# @option args [Integer] table
|
|
1206
|
+
# @option args [Integer] action
|
|
1207
|
+
# @option args [Integer] flags
|
|
1208
|
+
# @option args [String] iifname
|
|
1209
|
+
# @option args [Integer] goto
|
|
1210
|
+
# @option args [Integer] priority
|
|
1211
|
+
# @option args [Integer] fwmark
|
|
1212
|
+
# @option args [Integer] flow
|
|
1213
|
+
# @option args [Integer] tun_id
|
|
1214
|
+
# @option args [Integer] suppress_ifgroup
|
|
1215
|
+
# @option args [Integer] suppress_prefixlen
|
|
1216
|
+
# @option args [Integer] fwmask
|
|
1217
|
+
# @option args [String] oifname
|
|
1218
|
+
# @option args [Integer] l3mdev
|
|
1219
|
+
# @option args [Structs::FibRuleUidRange, Hash<Symbol, Object>] uid_range
|
|
1220
|
+
# @option args [Integer] protocol
|
|
1221
|
+
# @option args [Integer] ip_proto
|
|
1222
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] sport_range
|
|
1223
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] dport_range
|
|
1224
|
+
# @option args [Integer] dscp
|
|
1225
|
+
# @option args [Integer] flowlabel
|
|
1226
|
+
# @option args [Integer] flowlabel_mask
|
|
1227
|
+
# @option args [Integer] sport_mask
|
|
1228
|
+
# @option args [Integer] dport_mask
|
|
1229
|
+
# @option args [Integer] dscp_mask
|
|
1230
|
+
# @return [void]
|
|
1231
|
+
# @see Messages::DoDelruleRequest
|
|
697
1232
|
def do_delrule(**args)
|
|
698
1233
|
exchange_message(:"do", Messages::DoDelruleRequest, nil, args)
|
|
699
1234
|
end
|
|
700
1235
|
# Dump all FIB rules
|
|
701
|
-
|
|
702
|
-
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer) -> Enumerable[Messages::DumpGetruleReply]
|
|
1236
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer) -> Array[Messages::DumpGetruleReply]
|
|
703
1237
|
# | (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer) { (Messages::DumpGetruleReply) -> void } -> void
|
|
1238
|
+
# @overload dump_getrule(**args)
|
|
1239
|
+
# Returns an array when no block is given.
|
|
1240
|
+
# @param [Hash] args
|
|
1241
|
+
# @option args [Integer] family
|
|
1242
|
+
# @option args [Integer] dst_len
|
|
1243
|
+
# @option args [Integer] src_len
|
|
1244
|
+
# @option args [Integer] tos
|
|
1245
|
+
# @option args [Integer] table
|
|
1246
|
+
# @option args [Integer] action
|
|
1247
|
+
# @option args [Integer] flags
|
|
1248
|
+
# @return [Array<Messages::DumpGetruleReply>]
|
|
1249
|
+
# @overload dump_getrule(**args, &block)
|
|
1250
|
+
# Yields each reply when a block is given.
|
|
1251
|
+
# @param [Hash] args
|
|
1252
|
+
# @option args [Integer] family
|
|
1253
|
+
# @option args [Integer] dst_len
|
|
1254
|
+
# @option args [Integer] src_len
|
|
1255
|
+
# @option args [Integer] tos
|
|
1256
|
+
# @option args [Integer] table
|
|
1257
|
+
# @option args [Integer] action
|
|
1258
|
+
# @option args [Integer] flags
|
|
1259
|
+
# @yieldparam [Messages::DumpGetruleReply] reply
|
|
1260
|
+
# @return [void]
|
|
1261
|
+
# @see Messages::DumpGetruleRequest
|
|
704
1262
|
def dump_getrule(**args, &block)
|
|
705
1263
|
exchange_message(:"dump", Messages::DumpGetruleRequest, Messages::DumpGetruleReply, args, &block)
|
|
706
1264
|
end
|
|
1265
|
+
class AsyncOperations
|
|
1266
|
+
# @private
|
|
1267
|
+
def initialize(&exchange)
|
|
1268
|
+
@exchange = exchange
|
|
1269
|
+
end
|
|
1270
|
+
# Add new FIB rule
|
|
1271
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer, ?iifname: ::String, ?goto: ::Integer, ?priority: ::Integer, ?fwmark: ::Integer, ?flow: ::Integer, ?tun_id: ::Integer, ?suppress_ifgroup: ::Integer, ?suppress_prefixlen: ::Integer, ?fwmask: ::Integer, ?oifname: ::String, ?l3mdev: ::Integer, ?uid_range: (Structs::FibRuleUidRange | ::Hash[::Symbol, untyped]), ?protocol: ::Integer, ?ip_proto: ::Integer, ?sport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dscp: ::Integer, ?flowlabel: ::Integer, ?flowlabel_mask: ::Integer, ?sport_mask: ::Integer, ?dport_mask: ::Integer, ?dscp_mask: ::Integer) -> ::Nl::Async::Future[void]
|
|
1272
|
+
# @param [Hash] args
|
|
1273
|
+
# @option args [Integer] family
|
|
1274
|
+
# @option args [Integer] dst_len
|
|
1275
|
+
# @option args [Integer] src_len
|
|
1276
|
+
# @option args [Integer] tos
|
|
1277
|
+
# @option args [Integer] table
|
|
1278
|
+
# @option args [Integer] action
|
|
1279
|
+
# @option args [Integer] flags
|
|
1280
|
+
# @option args [String] iifname
|
|
1281
|
+
# @option args [Integer] goto
|
|
1282
|
+
# @option args [Integer] priority
|
|
1283
|
+
# @option args [Integer] fwmark
|
|
1284
|
+
# @option args [Integer] flow
|
|
1285
|
+
# @option args [Integer] tun_id
|
|
1286
|
+
# @option args [Integer] suppress_ifgroup
|
|
1287
|
+
# @option args [Integer] suppress_prefixlen
|
|
1288
|
+
# @option args [Integer] fwmask
|
|
1289
|
+
# @option args [String] oifname
|
|
1290
|
+
# @option args [Integer] l3mdev
|
|
1291
|
+
# @option args [Structs::FibRuleUidRange, Hash<Symbol, Object>] uid_range
|
|
1292
|
+
# @option args [Integer] protocol
|
|
1293
|
+
# @option args [Integer] ip_proto
|
|
1294
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] sport_range
|
|
1295
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] dport_range
|
|
1296
|
+
# @option args [Integer] dscp
|
|
1297
|
+
# @option args [Integer] flowlabel
|
|
1298
|
+
# @option args [Integer] flowlabel_mask
|
|
1299
|
+
# @option args [Integer] sport_mask
|
|
1300
|
+
# @option args [Integer] dport_mask
|
|
1301
|
+
# @option args [Integer] dscp_mask
|
|
1302
|
+
# @return [Nl::Async::Future<void>]
|
|
1303
|
+
# @see Messages::DoNewruleRequest
|
|
1304
|
+
def do_newrule(**args)
|
|
1305
|
+
@exchange.call(:"do", Messages::DoNewruleRequest, nil, args)
|
|
1306
|
+
end
|
|
1307
|
+
# Remove an existing FIB rule
|
|
1308
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer, ?iifname: ::String, ?goto: ::Integer, ?priority: ::Integer, ?fwmark: ::Integer, ?flow: ::Integer, ?tun_id: ::Integer, ?suppress_ifgroup: ::Integer, ?suppress_prefixlen: ::Integer, ?fwmask: ::Integer, ?oifname: ::String, ?l3mdev: ::Integer, ?uid_range: (Structs::FibRuleUidRange | ::Hash[::Symbol, untyped]), ?protocol: ::Integer, ?ip_proto: ::Integer, ?sport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dport_range: (Structs::FibRulePortRange | ::Hash[::Symbol, untyped]), ?dscp: ::Integer, ?flowlabel: ::Integer, ?flowlabel_mask: ::Integer, ?sport_mask: ::Integer, ?dport_mask: ::Integer, ?dscp_mask: ::Integer) -> ::Nl::Async::Future[void]
|
|
1309
|
+
# @param [Hash] args
|
|
1310
|
+
# @option args [Integer] family
|
|
1311
|
+
# @option args [Integer] dst_len
|
|
1312
|
+
# @option args [Integer] src_len
|
|
1313
|
+
# @option args [Integer] tos
|
|
1314
|
+
# @option args [Integer] table
|
|
1315
|
+
# @option args [Integer] action
|
|
1316
|
+
# @option args [Integer] flags
|
|
1317
|
+
# @option args [String] iifname
|
|
1318
|
+
# @option args [Integer] goto
|
|
1319
|
+
# @option args [Integer] priority
|
|
1320
|
+
# @option args [Integer] fwmark
|
|
1321
|
+
# @option args [Integer] flow
|
|
1322
|
+
# @option args [Integer] tun_id
|
|
1323
|
+
# @option args [Integer] suppress_ifgroup
|
|
1324
|
+
# @option args [Integer] suppress_prefixlen
|
|
1325
|
+
# @option args [Integer] fwmask
|
|
1326
|
+
# @option args [String] oifname
|
|
1327
|
+
# @option args [Integer] l3mdev
|
|
1328
|
+
# @option args [Structs::FibRuleUidRange, Hash<Symbol, Object>] uid_range
|
|
1329
|
+
# @option args [Integer] protocol
|
|
1330
|
+
# @option args [Integer] ip_proto
|
|
1331
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] sport_range
|
|
1332
|
+
# @option args [Structs::FibRulePortRange, Hash<Symbol, Object>] dport_range
|
|
1333
|
+
# @option args [Integer] dscp
|
|
1334
|
+
# @option args [Integer] flowlabel
|
|
1335
|
+
# @option args [Integer] flowlabel_mask
|
|
1336
|
+
# @option args [Integer] sport_mask
|
|
1337
|
+
# @option args [Integer] dport_mask
|
|
1338
|
+
# @option args [Integer] dscp_mask
|
|
1339
|
+
# @return [Nl::Async::Future<void>]
|
|
1340
|
+
# @see Messages::DoDelruleRequest
|
|
1341
|
+
def do_delrule(**args)
|
|
1342
|
+
@exchange.call(:"do", Messages::DoDelruleRequest, nil, args)
|
|
1343
|
+
end
|
|
1344
|
+
# Dump all FIB rules
|
|
1345
|
+
# @rbs (?family: ::Integer, ?dst_len: ::Integer, ?src_len: ::Integer, ?tos: ::Integer, ?table: ::Integer, ?action: ::Integer, ?flags: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetruleReply]
|
|
1346
|
+
# @param [Hash] args
|
|
1347
|
+
# @option args [Integer] family
|
|
1348
|
+
# @option args [Integer] dst_len
|
|
1349
|
+
# @option args [Integer] src_len
|
|
1350
|
+
# @option args [Integer] tos
|
|
1351
|
+
# @option args [Integer] table
|
|
1352
|
+
# @option args [Integer] action
|
|
1353
|
+
# @option args [Integer] flags
|
|
1354
|
+
# @return [Nl::Async::Stream<Messages::DumpGetruleReply>]
|
|
1355
|
+
# @see Messages::DumpGetruleRequest
|
|
1356
|
+
def dump_getrule(**args)
|
|
1357
|
+
@exchange.call(:"dump", Messages::DumpGetruleRequest, Messages::DumpGetruleReply, args)
|
|
1358
|
+
end
|
|
1359
|
+
end
|
|
1360
|
+
# Returns the asynchronous operation facade for this family.
|
|
1361
|
+
# @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
|
|
1362
|
+
# @param [::Integer, nil] stream_capacity
|
|
1363
|
+
# @return [AsyncOperations]
|
|
1364
|
+
def async(stream_capacity: nil)
|
|
1365
|
+
return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
|
|
1366
|
+
build_async_facade(AsyncOperations, stream_capacity:)
|
|
1367
|
+
end
|
|
1368
|
+
# @rbs (*(:rtnlgrp_ipv4_rule | :rtnlgrp_ipv6_rule) groups) -> self
|
|
1369
|
+
# @param [Array<:rtnlgrp_ipv4_rule, :rtnlgrp_ipv6_rule>] groups
|
|
1370
|
+
# @return [self]
|
|
1371
|
+
def subscribe(*groups) = super
|
|
1372
|
+
# @rbs (*(:rtnlgrp_ipv4_rule | :rtnlgrp_ipv6_rule) groups) -> self
|
|
1373
|
+
# @param [Array<:rtnlgrp_ipv4_rule, :rtnlgrp_ipv6_rule>] groups
|
|
1374
|
+
# @return [self]
|
|
1375
|
+
def unsubscribe(*groups) = super
|
|
707
1376
|
end
|
|
708
1377
|
end; end
|