nl-linux 0.2.3.pre9 → 0.2.4

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.
@@ -0,0 +1,293 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #--
3
+ # frozen_string_literal: true
4
+ # rbs_inline: enabled
5
+ # This code is generated by Ynl::Generator. DO NOT EDIT.
6
+ require 'nl'
7
+ module Nl; module Linux
8
+ # SUNRPC cache upcall support over generic netlink.
9
+ class Sunrpc < ::Nl::Family
10
+ NAME = "sunrpc"
11
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("sunrpc"))
12
+ module Structs
13
+ end
14
+ module AttributeSets
15
+ class CacheNotify < ::Nl::Protocols::Genl::AttributeSet
16
+ # Abstract class
17
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
18
+ end
19
+ class CacheType < Attribute
20
+ TYPE = 1
21
+ NAME = :"cache_type"
22
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
23
+ end
24
+ # :nodoc:
25
+ BY_NAME = Ractor.make_shareable({:"cache_type" => CacheType}) #: Hash[::Symbol, Attribute]
26
+ # :nodoc:
27
+ BY_TYPE = Ractor.make_shareable({1 => CacheType}) #: Hash[::Integer, Attribute]
28
+ class << self
29
+ # Looks up Attribute class by name.
30
+ #--
31
+ # @rbs name: Symbol
32
+ # @rbs return: Attribute
33
+ def by_name(name); BY_NAME.fetch(name); end
34
+ # Looks up Attribute class by type value.
35
+ #--
36
+ # @rbs type: Integer
37
+ # @rbs return: Attribute
38
+ def by_type(type); BY_TYPE.fetch(type); end
39
+ end
40
+ end
41
+ class IpMap < ::Nl::Protocols::Genl::AttributeSet
42
+ # Abstract class
43
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
44
+ end
45
+ class Seqno < Attribute
46
+ TYPE = 1
47
+ NAME = :"seqno"
48
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
49
+ end
50
+ class Class < Attribute
51
+ TYPE = 2
52
+ NAME = :"class"
53
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
54
+ end
55
+ class Addr < Attribute
56
+ TYPE = 3
57
+ NAME = :"addr"
58
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
59
+ end
60
+ class Domain < Attribute
61
+ TYPE = 4
62
+ NAME = :"domain"
63
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
64
+ end
65
+ class Negative < Attribute
66
+ TYPE = 5
67
+ NAME = :"negative"
68
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
69
+ end
70
+ class Expiry < Attribute
71
+ TYPE = 6
72
+ NAME = :"expiry"
73
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
74
+ end
75
+ # :nodoc:
76
+ BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"class" => Class, :"addr" => Addr, :"domain" => Domain, :"negative" => Negative, :"expiry" => Expiry}) #: Hash[::Symbol, Attribute]
77
+ # :nodoc:
78
+ BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Class, 3 => Addr, 4 => Domain, 5 => Negative, 6 => Expiry}) #: Hash[::Integer, Attribute]
79
+ class << self
80
+ # Looks up Attribute class by name.
81
+ #--
82
+ # @rbs name: Symbol
83
+ # @rbs return: Attribute
84
+ def by_name(name); BY_NAME.fetch(name); end
85
+ # Looks up Attribute class by type value.
86
+ #--
87
+ # @rbs type: Integer
88
+ # @rbs return: Attribute
89
+ def by_type(type); BY_TYPE.fetch(type); end
90
+ end
91
+ end
92
+ class IpMapReqs < ::Nl::Protocols::Genl::AttributeSet
93
+ # Abstract class
94
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
95
+ end
96
+ class Requests < Attribute
97
+ TYPE = 1
98
+ NAME = :"requests"
99
+ end
100
+ # :nodoc:
101
+ BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
102
+ # :nodoc:
103
+ BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
104
+ class << self
105
+ # Looks up Attribute class by name.
106
+ #--
107
+ # @rbs name: Symbol
108
+ # @rbs return: Attribute
109
+ def by_name(name); BY_NAME.fetch(name); end
110
+ # Looks up Attribute class by type value.
111
+ #--
112
+ # @rbs type: Integer
113
+ # @rbs return: Attribute
114
+ def by_type(type); BY_TYPE.fetch(type); end
115
+ end
116
+ end
117
+ class UnixGid < ::Nl::Protocols::Genl::AttributeSet
118
+ # Abstract class
119
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
120
+ end
121
+ class Seqno < Attribute
122
+ TYPE = 1
123
+ NAME = :"seqno"
124
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
125
+ end
126
+ class Uid < Attribute
127
+ TYPE = 2
128
+ NAME = :"uid"
129
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
130
+ end
131
+ class Gids < Attribute
132
+ TYPE = 3
133
+ NAME = :"gids"
134
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
135
+ end
136
+ class Negative < Attribute
137
+ TYPE = 4
138
+ NAME = :"negative"
139
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
140
+ end
141
+ class Expiry < Attribute
142
+ TYPE = 5
143
+ NAME = :"expiry"
144
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
145
+ end
146
+ # :nodoc:
147
+ BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"uid" => Uid, :"gids" => Gids, :"negative" => Negative, :"expiry" => Expiry}) #: Hash[::Symbol, Attribute]
148
+ # :nodoc:
149
+ BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Uid, 3 => Gids, 4 => Negative, 5 => Expiry}) #: Hash[::Integer, Attribute]
150
+ class << self
151
+ # Looks up Attribute class by name.
152
+ #--
153
+ # @rbs name: Symbol
154
+ # @rbs return: Attribute
155
+ def by_name(name); BY_NAME.fetch(name); end
156
+ # Looks up Attribute class by type value.
157
+ #--
158
+ # @rbs type: Integer
159
+ # @rbs return: Attribute
160
+ def by_type(type); BY_TYPE.fetch(type); end
161
+ end
162
+ end
163
+ class UnixGidReqs < ::Nl::Protocols::Genl::AttributeSet
164
+ # Abstract class
165
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
166
+ end
167
+ class Requests < Attribute
168
+ TYPE = 1
169
+ NAME = :"requests"
170
+ end
171
+ # :nodoc:
172
+ BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
173
+ # :nodoc:
174
+ BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
175
+ class << self
176
+ # Looks up Attribute class by name.
177
+ #--
178
+ # @rbs name: Symbol
179
+ # @rbs return: Attribute
180
+ def by_name(name); BY_NAME.fetch(name); end
181
+ # Looks up Attribute class by type value.
182
+ #--
183
+ # @rbs type: Integer
184
+ # @rbs return: Attribute
185
+ def by_type(type); BY_TYPE.fetch(type); end
186
+ end
187
+ end
188
+ class CacheFlush < ::Nl::Protocols::Genl::AttributeSet
189
+ # Abstract class
190
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
191
+ end
192
+ class Mask < Attribute
193
+ TYPE = 1
194
+ NAME = :"mask"
195
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
196
+ end
197
+ # :nodoc:
198
+ BY_NAME = Ractor.make_shareable({:"mask" => Mask}) #: Hash[::Symbol, Attribute]
199
+ # :nodoc:
200
+ BY_TYPE = Ractor.make_shareable({1 => Mask}) #: Hash[::Integer, Attribute]
201
+ class << self
202
+ # Looks up Attribute class by name.
203
+ #--
204
+ # @rbs name: Symbol
205
+ # @rbs return: Attribute
206
+ def by_name(name); BY_NAME.fetch(name); end
207
+ # Looks up Attribute class by type value.
208
+ #--
209
+ # @rbs type: Integer
210
+ # @rbs return: Attribute
211
+ def by_type(type); BY_TYPE.fetch(type); end
212
+ end
213
+ end
214
+ IpMapReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(IpMap)
215
+ UnixGidReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(UnixGid)
216
+ end
217
+ module Messages
218
+ # Dump all pending ip_map requests
219
+ class DumpIpMapGetReqsReply < ::Nl::Protocols::Genl::Message
220
+ TYPE = 2
221
+ FIXED_HEADER = nil
222
+ ATTRIBUTE_SET = AttributeSets::IpMapReqs
223
+ ATTRIBUTES = Ractor.make_shareable(%i[requests])
224
+ # Gets the value of `requests` attribute in the message.
225
+ #--
226
+ # @rbs return: AttributeSets::IpMap
227
+ def requests; attributes[:"requests"]&.value; end
228
+ end
229
+ # Respond to one or more ip_map requests
230
+ class DoIpMapSetReqsRequest < ::Nl::Protocols::Genl::Message
231
+ TYPE = 3
232
+ FIXED_HEADER = nil
233
+ ATTRIBUTE_SET = AttributeSets::IpMapReqs
234
+ ATTRIBUTES = Ractor.make_shareable(%i[requests])
235
+ # Gets the value of `requests` attribute in the message.
236
+ #--
237
+ # @rbs return: AttributeSets::IpMap
238
+ def requests; attributes[:"requests"]&.value; end
239
+ end
240
+ # Dump all pending unix_gid requests
241
+ class DumpUnixGidGetReqsReply < ::Nl::Protocols::Genl::Message
242
+ TYPE = 4
243
+ FIXED_HEADER = nil
244
+ ATTRIBUTE_SET = AttributeSets::UnixGidReqs
245
+ ATTRIBUTES = Ractor.make_shareable(%i[requests])
246
+ # Gets the value of `requests` attribute in the message.
247
+ #--
248
+ # @rbs return: AttributeSets::UnixGid
249
+ def requests; attributes[:"requests"]&.value; end
250
+ end
251
+ # Respond to one or more unix_gid requests
252
+ class DoUnixGidSetReqsRequest < ::Nl::Protocols::Genl::Message
253
+ TYPE = 5
254
+ FIXED_HEADER = nil
255
+ ATTRIBUTE_SET = AttributeSets::UnixGidReqs
256
+ ATTRIBUTES = Ractor.make_shareable(%i[requests])
257
+ # Gets the value of `requests` attribute in the message.
258
+ #--
259
+ # @rbs return: AttributeSets::UnixGid
260
+ def requests; attributes[:"requests"]&.value; end
261
+ end
262
+ # Flush sunrpc caches (ip_map and/or unix_gid)
263
+ class DoCacheFlushRequest < ::Nl::Protocols::Genl::Message
264
+ TYPE = 6
265
+ FIXED_HEADER = nil
266
+ ATTRIBUTE_SET = AttributeSets::CacheFlush
267
+ ATTRIBUTES = Ractor.make_shareable(%i[mask])
268
+ # Gets the value of `mask` attribute in the message.
269
+ #--
270
+ # @rbs return: ::Integer
271
+ def mask; attributes[:"mask"]&.value; end
272
+ end
273
+ end
274
+ # Respond to one or more ip_map requests
275
+ #--
276
+ # @rbs (?requests: AttributeSets::IpMap) -> void
277
+ def do_ip_map_set_reqs(**args)
278
+ exchange_message(:"do", Messages::DoIpMapSetReqsRequest, nil, args)
279
+ end
280
+ # Respond to one or more unix_gid requests
281
+ #--
282
+ # @rbs (?requests: AttributeSets::UnixGid) -> void
283
+ def do_unix_gid_set_reqs(**args)
284
+ exchange_message(:"do", Messages::DoUnixGidSetReqsRequest, nil, args)
285
+ end
286
+ # Flush sunrpc caches (ip_map and/or unix_gid)
287
+ #--
288
+ # @rbs (?mask: ::Integer) -> void
289
+ def do_cache_flush(**args)
290
+ exchange_message(:"do", Messages::DoCacheFlushRequest, nil, args)
291
+ end
292
+ end
293
+ end; end
@@ -3005,10 +3005,15 @@ class Tc < ::Nl::Family
3005
3005
  NAME = :"blue_timer_us"
3006
3006
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
3007
3007
  end
3008
+ class ActiveQueues < Attribute
3009
+ TYPE = 17
3010
+ NAME = :"active_queues"
3011
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3012
+ end
3008
3013
  # :nodoc:
3009
- BY_NAME = Ractor.make_shareable({:"pad" => Pad, :"capacity_estimate64" => CapacityEstimate64, :"memory_limit" => MemoryLimit, :"memory_used" => MemoryUsed, :"avg_netoff" => AvgNetoff, :"min_netlen" => MinNetlen, :"max_netlen" => MaxNetlen, :"min_adjlen" => MinAdjlen, :"max_adjlen" => MaxAdjlen, :"tin_stats" => TinStats, :"deficit" => Deficit, :"cobalt_count" => CobaltCount, :"dropping" => Dropping, :"drop_next_us" => DropNextUs, :"p_drop" => PDrop, :"blue_timer_us" => BlueTimerUs}) #: Hash[::Symbol, Attribute]
3014
+ BY_NAME = Ractor.make_shareable({:"pad" => Pad, :"capacity_estimate64" => CapacityEstimate64, :"memory_limit" => MemoryLimit, :"memory_used" => MemoryUsed, :"avg_netoff" => AvgNetoff, :"min_netlen" => MinNetlen, :"max_netlen" => MaxNetlen, :"min_adjlen" => MinAdjlen, :"max_adjlen" => MaxAdjlen, :"tin_stats" => TinStats, :"deficit" => Deficit, :"cobalt_count" => CobaltCount, :"dropping" => Dropping, :"drop_next_us" => DropNextUs, :"p_drop" => PDrop, :"blue_timer_us" => BlueTimerUs, :"active_queues" => ActiveQueues}) #: Hash[::Symbol, Attribute]
3010
3015
  # :nodoc:
3011
- BY_TYPE = Ractor.make_shareable({1 => Pad, 2 => CapacityEstimate64, 3 => MemoryLimit, 4 => MemoryUsed, 5 => AvgNetoff, 6 => MinNetlen, 7 => MaxNetlen, 8 => MinAdjlen, 9 => MaxAdjlen, 10 => TinStats, 11 => Deficit, 12 => CobaltCount, 13 => Dropping, 14 => DropNextUs, 15 => PDrop, 16 => BlueTimerUs}) #: Hash[::Integer, Attribute]
3016
+ BY_TYPE = Ractor.make_shareable({1 => Pad, 2 => CapacityEstimate64, 3 => MemoryLimit, 4 => MemoryUsed, 5 => AvgNetoff, 6 => MinNetlen, 7 => MaxNetlen, 8 => MinAdjlen, 9 => MaxAdjlen, 10 => TinStats, 11 => Deficit, 12 => CobaltCount, 13 => Dropping, 14 => DropNextUs, 15 => PDrop, 16 => BlueTimerUs, 17 => ActiveQueues}) #: Hash[::Integer, Attribute]
3012
3017
  class << self
3013
3018
  # Looks up Attribute class by name.
3014
3019
  #--
@@ -6,6 +6,7 @@ module Nl
6
6
  autoload :DevEnergymodel, "nl/linux/dev_energymodel.rb"
7
7
  autoload :Devlink, "nl/linux/devlink.rb"
8
8
  autoload :Dpll, "nl/linux/dpll.rb"
9
+ autoload :DrmRas, "nl/linux/drm_ras.rb"
9
10
  autoload :Ethtool, "nl/linux/ethtool.rb"
10
11
  autoload :Fou, "nl/linux/fou.rb"
11
12
  autoload :Handshake, "nl/linux/handshake.rb"
@@ -20,6 +21,7 @@ module Nl
20
21
  autoload :Ovpn, "nl/linux/ovpn.rb"
21
22
  autoload :OvsDatapath, "nl/linux/ovs_datapath.rb"
22
23
  autoload :OvsFlow, "nl/linux/ovs_flow.rb"
24
+ autoload :OvsPacket, "nl/linux/ovs_packet.rb"
23
25
  autoload :OvsVport, "nl/linux/ovs_vport.rb"
24
26
  autoload :Psp, "nl/linux/psp.rb"
25
27
  autoload :RtAddr, "nl/linux/rt_addr.rb"
@@ -27,6 +29,7 @@ module Nl
27
29
  autoload :RtNeigh, "nl/linux/rt_neigh.rb"
28
30
  autoload :RtRoute, "nl/linux/rt_route.rb"
29
31
  autoload :RtRule, "nl/linux/rt_rule.rb"
32
+ autoload :Sunrpc, "nl/linux/sunrpc_cache.rb"
30
33
  autoload :Tc, "nl/linux/tc.rb"
31
34
  autoload :TcpMetrics, "nl/linux/tcp_metrics.rb"
32
35
  autoload :Team, "nl/linux/team.rb"
@@ -1,5 +1,5 @@
1
1
  module Nl
2
2
  module Linux
3
- VERSION = '0.2.3.pre9'
3
+ VERSION = '0.2.4'
4
4
  end
5
5
  end