nl-linux 0.2.3 → 0.3.0
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/CHANGELOG.md +8 -0
- data/NLSPEC_VERSION +1 -1
- data/Rakefile +13 -3
- data/generated/nl/linux/binder.rb +80 -0
- data/generated/nl/linux/conntrack.rb +39 -2
- data/generated/nl/linux/dev_energymodel.rb +106 -0
- data/generated/nl/linux/devlink.rb +1478 -200
- data/generated/nl/linux/dpll.rb +790 -66
- data/generated/nl/linux/drm_ras.rb +309 -0
- data/generated/nl/linux/ethtool.rb +1597 -248
- data/generated/nl/linux/fou.rb +82 -13
- data/generated/nl/linux/handshake.rb +93 -1
- data/generated/nl/linux/lockd.rb +50 -0
- data/generated/nl/linux/mptcp_pm.rb +159 -0
- data/generated/nl/linux/net_shaper.rb +124 -1
- data/generated/nl/linux/netdev.rb +515 -6
- data/generated/nl/linux/nfsd.rb +878 -10
- data/generated/nl/linux/nftables.rb +2134 -179
- data/generated/nl/linux/nl80211.rb +81 -22
- data/generated/nl/linux/nlctrl.rb +59 -8
- data/generated/nl/linux/ovpn.rb +207 -12
- data/generated/nl/linux/ovs_datapath.rb +59 -10
- data/generated/nl/linux/ovs_flow.rb +63 -20
- data/generated/nl/linux/ovs_packet.rb +277 -0
- data/generated/nl/linux/ovs_vport.rb +59 -10
- data/generated/nl/linux/psp.rb +453 -6
- data/generated/nl/linux/rt_addr.rb +69 -14
- data/generated/nl/linux/rt_link.rb +452 -112
- data/generated/nl/linux/rt_neigh.rb +227 -16
- data/generated/nl/linux/rt_route.rb +92 -49
- data/generated/nl/linux/rt_rule.rb +300 -11
- data/generated/nl/linux/sunrpc_cache.rb +423 -0
- data/generated/nl/linux/tc.rb +168 -54
- data/generated/nl/linux/tcp_metrics.rb +69 -12
- data/generated/nl/linux/team.rb +80 -0
- data/generated/nl/linux/wireguard.rb +99 -7
- data/generated/nl/linux.rb +3 -0
- data/lib/nl/linux/version.rb +1 -1
- data/linux/devlink.yaml +92 -2
- data/linux/dpll.yaml +94 -5
- data/linux/drm_ras.yaml +126 -0
- data/linux/ethtool.yaml +21 -4
- data/linux/handshake.yaml +9 -0
- data/linux/mptcp_pm.yaml +1 -0
- data/linux/net_shaper.yaml +13 -6
- data/linux/netdev.yaml +61 -2
- data/linux/nfsd.yaml +303 -2
- data/linux/nftables.yaml +640 -49
- data/linux/ovpn.yaml +26 -1
- data/linux/ovs_packet.yaml +130 -0
- data/linux/psp.yaml +80 -3
- data/linux/rt-link.yaml +70 -24
- data/linux/sunrpc_cache.yaml +149 -0
- data/linux/tc.yaml +3 -0
- metadata +17 -9
|
@@ -0,0 +1,423 @@
|
|
|
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/sunrpc_cache.yaml from Linux v7.2.
|
|
4
|
+
#--
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
# rbs_inline: enabled
|
|
7
|
+
# This code is generated by Ynl::Generator. DO NOT EDIT.
|
|
8
|
+
require 'nl'
|
|
9
|
+
module Nl; module Linux
|
|
10
|
+
# SUNRPC cache upcall support over generic netlink.
|
|
11
|
+
class Sunrpc < ::Nl::Family
|
|
12
|
+
NAME = "sunrpc"
|
|
13
|
+
PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("sunrpc"))
|
|
14
|
+
MCAST_GROUPS = Ractor.make_shareable({:"none" => ::Nl::McastGroup.new("none", nil), :"exportd" => ::Nl::McastGroup.new("exportd", nil)}) #: Hash[::Symbol, ::Nl::McastGroup]
|
|
15
|
+
module Structs
|
|
16
|
+
end
|
|
17
|
+
module AttributeSets
|
|
18
|
+
class CacheNotify < ::Nl::Protocols::Genl::AttributeSet
|
|
19
|
+
# Abstract class
|
|
20
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
21
|
+
end
|
|
22
|
+
class CacheType < Attribute
|
|
23
|
+
TYPE = 1
|
|
24
|
+
NAME = :"cache_type"
|
|
25
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
26
|
+
end
|
|
27
|
+
# :nodoc:
|
|
28
|
+
BY_NAME = Ractor.make_shareable({:"cache_type" => CacheType}) #: Hash[::Symbol, Attribute]
|
|
29
|
+
# :nodoc:
|
|
30
|
+
BY_TYPE = Ractor.make_shareable({1 => CacheType}) #: Hash[::Integer, Attribute]
|
|
31
|
+
class << self
|
|
32
|
+
# Looks up Attribute class by name.
|
|
33
|
+
#--
|
|
34
|
+
# @rbs name: Symbol
|
|
35
|
+
# @rbs return: Attribute
|
|
36
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
37
|
+
# Looks up Attribute class by type value.
|
|
38
|
+
#--
|
|
39
|
+
# @rbs type: Integer
|
|
40
|
+
# @rbs return: Attribute
|
|
41
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
class IpMap < ::Nl::Protocols::Genl::AttributeSet
|
|
45
|
+
# Abstract class
|
|
46
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
47
|
+
end
|
|
48
|
+
class Seqno < Attribute
|
|
49
|
+
TYPE = 1
|
|
50
|
+
NAME = :"seqno"
|
|
51
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
52
|
+
end
|
|
53
|
+
class Class < Attribute
|
|
54
|
+
TYPE = 2
|
|
55
|
+
NAME = :"class"
|
|
56
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
57
|
+
end
|
|
58
|
+
class Addr < Attribute
|
|
59
|
+
TYPE = 3
|
|
60
|
+
NAME = :"addr"
|
|
61
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
62
|
+
end
|
|
63
|
+
class Domain < Attribute
|
|
64
|
+
TYPE = 4
|
|
65
|
+
NAME = :"domain"
|
|
66
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
|
|
67
|
+
end
|
|
68
|
+
class Negative < Attribute
|
|
69
|
+
TYPE = 5
|
|
70
|
+
NAME = :"negative"
|
|
71
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
|
|
72
|
+
end
|
|
73
|
+
class Expiry < Attribute
|
|
74
|
+
TYPE = 6
|
|
75
|
+
NAME = :"expiry"
|
|
76
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
77
|
+
end
|
|
78
|
+
# :nodoc:
|
|
79
|
+
BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"class" => Class, :"addr" => Addr, :"domain" => Domain, :"negative" => Negative, :"expiry" => Expiry}) #: Hash[::Symbol, Attribute]
|
|
80
|
+
# :nodoc:
|
|
81
|
+
BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Class, 3 => Addr, 4 => Domain, 5 => Negative, 6 => Expiry}) #: Hash[::Integer, Attribute]
|
|
82
|
+
class << self
|
|
83
|
+
# Looks up Attribute class by name.
|
|
84
|
+
#--
|
|
85
|
+
# @rbs name: Symbol
|
|
86
|
+
# @rbs return: Attribute
|
|
87
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
88
|
+
# Looks up Attribute class by type value.
|
|
89
|
+
#--
|
|
90
|
+
# @rbs type: Integer
|
|
91
|
+
# @rbs return: Attribute
|
|
92
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
class IpMapReqs < ::Nl::Protocols::Genl::AttributeSet
|
|
96
|
+
# Abstract class
|
|
97
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
98
|
+
end
|
|
99
|
+
class Requests < Attribute
|
|
100
|
+
TYPE = 1
|
|
101
|
+
NAME = :"requests"
|
|
102
|
+
end
|
|
103
|
+
# :nodoc:
|
|
104
|
+
BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
|
|
105
|
+
# :nodoc:
|
|
106
|
+
BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
|
|
107
|
+
class << self
|
|
108
|
+
# Looks up Attribute class by name.
|
|
109
|
+
#--
|
|
110
|
+
# @rbs name: Symbol
|
|
111
|
+
# @rbs return: Attribute
|
|
112
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
113
|
+
# Looks up Attribute class by type value.
|
|
114
|
+
#--
|
|
115
|
+
# @rbs type: Integer
|
|
116
|
+
# @rbs return: Attribute
|
|
117
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
class UnixGid < ::Nl::Protocols::Genl::AttributeSet
|
|
121
|
+
# Abstract class
|
|
122
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
123
|
+
end
|
|
124
|
+
class Seqno < Attribute
|
|
125
|
+
TYPE = 1
|
|
126
|
+
NAME = :"seqno"
|
|
127
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
128
|
+
end
|
|
129
|
+
class Uid < Attribute
|
|
130
|
+
TYPE = 2
|
|
131
|
+
NAME = :"uid"
|
|
132
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
133
|
+
end
|
|
134
|
+
class Gids < Attribute
|
|
135
|
+
TYPE = 3
|
|
136
|
+
NAME = :"gids"
|
|
137
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
138
|
+
end
|
|
139
|
+
class Negative < Attribute
|
|
140
|
+
TYPE = 4
|
|
141
|
+
NAME = :"negative"
|
|
142
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
|
|
143
|
+
end
|
|
144
|
+
class Expiry < Attribute
|
|
145
|
+
TYPE = 5
|
|
146
|
+
NAME = :"expiry"
|
|
147
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
148
|
+
end
|
|
149
|
+
# :nodoc:
|
|
150
|
+
BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"uid" => Uid, :"gids" => Gids, :"negative" => Negative, :"expiry" => Expiry}) #: Hash[::Symbol, Attribute]
|
|
151
|
+
# :nodoc:
|
|
152
|
+
BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Uid, 3 => Gids, 4 => Negative, 5 => Expiry}) #: Hash[::Integer, Attribute]
|
|
153
|
+
class << self
|
|
154
|
+
# Looks up Attribute class by name.
|
|
155
|
+
#--
|
|
156
|
+
# @rbs name: Symbol
|
|
157
|
+
# @rbs return: Attribute
|
|
158
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
159
|
+
# Looks up Attribute class by type value.
|
|
160
|
+
#--
|
|
161
|
+
# @rbs type: Integer
|
|
162
|
+
# @rbs return: Attribute
|
|
163
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
class UnixGidReqs < ::Nl::Protocols::Genl::AttributeSet
|
|
167
|
+
# Abstract class
|
|
168
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
169
|
+
end
|
|
170
|
+
class Requests < Attribute
|
|
171
|
+
TYPE = 1
|
|
172
|
+
NAME = :"requests"
|
|
173
|
+
end
|
|
174
|
+
# :nodoc:
|
|
175
|
+
BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
|
|
176
|
+
# :nodoc:
|
|
177
|
+
BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
|
|
178
|
+
class << self
|
|
179
|
+
# Looks up Attribute class by name.
|
|
180
|
+
#--
|
|
181
|
+
# @rbs name: Symbol
|
|
182
|
+
# @rbs return: Attribute
|
|
183
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
184
|
+
# Looks up Attribute class by type value.
|
|
185
|
+
#--
|
|
186
|
+
# @rbs type: Integer
|
|
187
|
+
# @rbs return: Attribute
|
|
188
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
class CacheFlush < ::Nl::Protocols::Genl::AttributeSet
|
|
192
|
+
# Abstract class
|
|
193
|
+
class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
|
|
194
|
+
end
|
|
195
|
+
class Mask < Attribute
|
|
196
|
+
TYPE = 1
|
|
197
|
+
NAME = :"mask"
|
|
198
|
+
DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
199
|
+
end
|
|
200
|
+
# :nodoc:
|
|
201
|
+
BY_NAME = Ractor.make_shareable({:"mask" => Mask}) #: Hash[::Symbol, Attribute]
|
|
202
|
+
# :nodoc:
|
|
203
|
+
BY_TYPE = Ractor.make_shareable({1 => Mask}) #: Hash[::Integer, Attribute]
|
|
204
|
+
class << self
|
|
205
|
+
# Looks up Attribute class by name.
|
|
206
|
+
#--
|
|
207
|
+
# @rbs name: Symbol
|
|
208
|
+
# @rbs return: Attribute
|
|
209
|
+
def by_name(name); BY_NAME.fetch(name); end
|
|
210
|
+
# Looks up Attribute class by type value.
|
|
211
|
+
#--
|
|
212
|
+
# @rbs type: Integer
|
|
213
|
+
# @rbs return: Attribute
|
|
214
|
+
def by_type(type); BY_TYPE.fetch(type); end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
IpMapReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IpMap)
|
|
218
|
+
UnixGidReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(UnixGid)
|
|
219
|
+
end
|
|
220
|
+
module Messages
|
|
221
|
+
# Dump all pending ip_map requests
|
|
222
|
+
#
|
|
223
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
224
|
+
class DumpIpMapGetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
225
|
+
TYPE = 2
|
|
226
|
+
FIXED_HEADER = nil
|
|
227
|
+
ATTRIBUTE_SET = AttributeSets::IpMapReqs
|
|
228
|
+
ATTRIBUTES = Ractor.make_shareable(%i[])
|
|
229
|
+
end
|
|
230
|
+
# Dump all pending ip_map requests
|
|
231
|
+
#
|
|
232
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
233
|
+
class DumpIpMapGetReqsReply < ::Nl::Protocols::Genl::Message
|
|
234
|
+
TYPE = 2
|
|
235
|
+
FIXED_HEADER = nil
|
|
236
|
+
ATTRIBUTE_SET = AttributeSets::IpMapReqs
|
|
237
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
238
|
+
# Gets the value of `requests` attribute in the message.
|
|
239
|
+
#--
|
|
240
|
+
# @rbs return: AttributeSets::IpMap
|
|
241
|
+
def requests; attributes[:"requests"]&.value; end
|
|
242
|
+
end
|
|
243
|
+
# Respond to one or more ip_map requests
|
|
244
|
+
#
|
|
245
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
246
|
+
class DoIpMapSetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
247
|
+
TYPE = 3
|
|
248
|
+
FIXED_HEADER = nil
|
|
249
|
+
ATTRIBUTE_SET = AttributeSets::IpMapReqs
|
|
250
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
251
|
+
# Gets the value of `requests` attribute in the message.
|
|
252
|
+
#--
|
|
253
|
+
# @rbs return: AttributeSets::IpMap
|
|
254
|
+
def requests; attributes[:"requests"]&.value; end
|
|
255
|
+
end
|
|
256
|
+
# Dump all pending unix_gid requests
|
|
257
|
+
#
|
|
258
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
259
|
+
class DumpUnixGidGetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
260
|
+
TYPE = 4
|
|
261
|
+
FIXED_HEADER = nil
|
|
262
|
+
ATTRIBUTE_SET = AttributeSets::UnixGidReqs
|
|
263
|
+
ATTRIBUTES = Ractor.make_shareable(%i[])
|
|
264
|
+
end
|
|
265
|
+
# Dump all pending unix_gid requests
|
|
266
|
+
#
|
|
267
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
268
|
+
class DumpUnixGidGetReqsReply < ::Nl::Protocols::Genl::Message
|
|
269
|
+
TYPE = 4
|
|
270
|
+
FIXED_HEADER = nil
|
|
271
|
+
ATTRIBUTE_SET = AttributeSets::UnixGidReqs
|
|
272
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
273
|
+
# Gets the value of `requests` attribute in the message.
|
|
274
|
+
#--
|
|
275
|
+
# @rbs return: AttributeSets::UnixGid
|
|
276
|
+
def requests; attributes[:"requests"]&.value; end
|
|
277
|
+
end
|
|
278
|
+
# Respond to one or more unix_gid requests
|
|
279
|
+
#
|
|
280
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
281
|
+
class DoUnixGidSetReqsRequest < ::Nl::Protocols::Genl::Message
|
|
282
|
+
TYPE = 5
|
|
283
|
+
FIXED_HEADER = nil
|
|
284
|
+
ATTRIBUTE_SET = AttributeSets::UnixGidReqs
|
|
285
|
+
ATTRIBUTES = Ractor.make_shareable(%i[requests])
|
|
286
|
+
# Gets the value of `requests` attribute in the message.
|
|
287
|
+
#--
|
|
288
|
+
# @rbs return: AttributeSets::UnixGid
|
|
289
|
+
def requests; attributes[:"requests"]&.value; end
|
|
290
|
+
end
|
|
291
|
+
# Flush sunrpc caches (ip_map and/or unix_gid)
|
|
292
|
+
#
|
|
293
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
294
|
+
class DoCacheFlushRequest < ::Nl::Protocols::Genl::Message
|
|
295
|
+
TYPE = 6
|
|
296
|
+
FIXED_HEADER = nil
|
|
297
|
+
ATTRIBUTE_SET = AttributeSets::CacheFlush
|
|
298
|
+
ATTRIBUTES = Ractor.make_shareable(%i[mask])
|
|
299
|
+
# Gets the value of `mask` attribute in the message.
|
|
300
|
+
#--
|
|
301
|
+
# @rbs return: ::Integer
|
|
302
|
+
def mask; attributes[:"mask"]&.value; end
|
|
303
|
+
end
|
|
304
|
+
end
|
|
305
|
+
module Notifications
|
|
306
|
+
# Notification that there are cache requests that need servicing
|
|
307
|
+
#
|
|
308
|
+
# Multicast group: `exportd`.
|
|
309
|
+
class CacheNotify < ::Nl::Protocols::Genl::Message
|
|
310
|
+
TYPE = 1
|
|
311
|
+
FIXED_HEADER = nil
|
|
312
|
+
ATTRIBUTE_SET = AttributeSets::CacheNotify
|
|
313
|
+
ATTRIBUTES = Ractor.make_shareable(%i[cache_type])
|
|
314
|
+
# Gets the value of `cache-type` attribute in the message.
|
|
315
|
+
#--
|
|
316
|
+
# @rbs return: ::Integer
|
|
317
|
+
def cache_type; attributes[:"cache_type"]&.value; end
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
NOTIFICATIONS = Ractor.make_shareable({1 => Notifications::CacheNotify}) #: Hash[::Integer, ::Class]
|
|
321
|
+
# Dump all pending ip_map requests
|
|
322
|
+
#
|
|
323
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
324
|
+
#--
|
|
325
|
+
# @rbs () -> Enumerable[Messages::DumpIpMapGetReqsReply]
|
|
326
|
+
# | () { (Messages::DumpIpMapGetReqsReply) -> void } -> void
|
|
327
|
+
def dump_ip_map_get_reqs(**args, &block)
|
|
328
|
+
exchange_message(:"dump", Messages::DumpIpMapGetReqsRequest, Messages::DumpIpMapGetReqsReply, args, &block)
|
|
329
|
+
end
|
|
330
|
+
# Respond to one or more ip_map requests
|
|
331
|
+
#
|
|
332
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
333
|
+
#--
|
|
334
|
+
# @rbs (?requests: AttributeSets::IpMap) -> void
|
|
335
|
+
def do_ip_map_set_reqs(**args)
|
|
336
|
+
exchange_message(:"do", Messages::DoIpMapSetReqsRequest, nil, args)
|
|
337
|
+
end
|
|
338
|
+
# Dump all pending unix_gid requests
|
|
339
|
+
#
|
|
340
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
341
|
+
#--
|
|
342
|
+
# @rbs () -> Enumerable[Messages::DumpUnixGidGetReqsReply]
|
|
343
|
+
# | () { (Messages::DumpUnixGidGetReqsReply) -> void } -> void
|
|
344
|
+
def dump_unix_gid_get_reqs(**args, &block)
|
|
345
|
+
exchange_message(:"dump", Messages::DumpUnixGidGetReqsRequest, Messages::DumpUnixGidGetReqsReply, args, &block)
|
|
346
|
+
end
|
|
347
|
+
# Respond to one or more unix_gid requests
|
|
348
|
+
#
|
|
349
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
350
|
+
#--
|
|
351
|
+
# @rbs (?requests: AttributeSets::UnixGid) -> void
|
|
352
|
+
def do_unix_gid_set_reqs(**args)
|
|
353
|
+
exchange_message(:"do", Messages::DoUnixGidSetReqsRequest, nil, args)
|
|
354
|
+
end
|
|
355
|
+
# Flush sunrpc caches (ip_map and/or unix_gid)
|
|
356
|
+
#
|
|
357
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
358
|
+
#--
|
|
359
|
+
# @rbs (?mask: ::Integer) -> void
|
|
360
|
+
def do_cache_flush(**args)
|
|
361
|
+
exchange_message(:"do", Messages::DoCacheFlushRequest, nil, args)
|
|
362
|
+
end
|
|
363
|
+
class AsyncOperations
|
|
364
|
+
# :nodoc:
|
|
365
|
+
def initialize(&exchange)
|
|
366
|
+
@exchange = exchange
|
|
367
|
+
end
|
|
368
|
+
# Dump all pending ip_map requests
|
|
369
|
+
#
|
|
370
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
371
|
+
#--
|
|
372
|
+
# @rbs () -> ::Nl::Async::Stream[Messages::DumpIpMapGetReqsReply]
|
|
373
|
+
def dump_ip_map_get_reqs(**args)
|
|
374
|
+
@exchange.call(:"dump", Messages::DumpIpMapGetReqsRequest, Messages::DumpIpMapGetReqsReply, args)
|
|
375
|
+
end
|
|
376
|
+
# Respond to one or more ip_map requests
|
|
377
|
+
#
|
|
378
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
379
|
+
#--
|
|
380
|
+
# @rbs (?requests: AttributeSets::IpMap) -> ::Nl::Async::Future[void]
|
|
381
|
+
def do_ip_map_set_reqs(**args)
|
|
382
|
+
@exchange.call(:"do", Messages::DoIpMapSetReqsRequest, nil, args)
|
|
383
|
+
end
|
|
384
|
+
# Dump all pending unix_gid requests
|
|
385
|
+
#
|
|
386
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
387
|
+
#--
|
|
388
|
+
# @rbs () -> ::Nl::Async::Stream[Messages::DumpUnixGidGetReqsReply]
|
|
389
|
+
def dump_unix_gid_get_reqs(**args)
|
|
390
|
+
@exchange.call(:"dump", Messages::DumpUnixGidGetReqsRequest, Messages::DumpUnixGidGetReqsReply, args)
|
|
391
|
+
end
|
|
392
|
+
# Respond to one or more unix_gid requests
|
|
393
|
+
#
|
|
394
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
395
|
+
#--
|
|
396
|
+
# @rbs (?requests: AttributeSets::UnixGid) -> ::Nl::Async::Future[void]
|
|
397
|
+
def do_unix_gid_set_reqs(**args)
|
|
398
|
+
@exchange.call(:"do", Messages::DoUnixGidSetReqsRequest, nil, args)
|
|
399
|
+
end
|
|
400
|
+
# Flush sunrpc caches (ip_map and/or unix_gid)
|
|
401
|
+
#
|
|
402
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
403
|
+
#--
|
|
404
|
+
# @rbs (?mask: ::Integer) -> ::Nl::Async::Future[void]
|
|
405
|
+
def do_cache_flush(**args)
|
|
406
|
+
@exchange.call(:"do", Messages::DoCacheFlushRequest, nil, args)
|
|
407
|
+
end
|
|
408
|
+
end
|
|
409
|
+
# Returns the asynchronous operation facade for this family.
|
|
410
|
+
#--
|
|
411
|
+
# @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
|
|
412
|
+
def async(stream_capacity: nil)
|
|
413
|
+
return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
|
|
414
|
+
build_async_facade(AsyncOperations, stream_capacity:)
|
|
415
|
+
end
|
|
416
|
+
#--
|
|
417
|
+
# @rbs (*(:none | :exportd) groups) -> self
|
|
418
|
+
def subscribe(*groups) = super
|
|
419
|
+
#--
|
|
420
|
+
# @rbs (*(:none | :exportd) groups) -> self
|
|
421
|
+
def unsubscribe(*groups) = super
|
|
422
|
+
end
|
|
423
|
+
end; end
|