nl-linux 0.2.4 → 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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/CHANGELOG.md +2 -0
  4. data/Rakefile +13 -3
  5. data/generated/nl/linux/binder.rb +80 -0
  6. data/generated/nl/linux/conntrack.rb +39 -2
  7. data/generated/nl/linux/dev_energymodel.rb +106 -0
  8. data/generated/nl/linux/devlink.rb +751 -0
  9. data/generated/nl/linux/dpll.rb +712 -55
  10. data/generated/nl/linux/drm_ras.rb +87 -0
  11. data/generated/nl/linux/ethtool.rb +1569 -259
  12. data/generated/nl/linux/fou.rb +82 -13
  13. data/generated/nl/linux/handshake.rb +92 -0
  14. data/generated/nl/linux/lockd.rb +50 -0
  15. data/generated/nl/linux/mptcp_pm.rb +159 -0
  16. data/generated/nl/linux/net_shaper.rb +123 -0
  17. data/generated/nl/linux/netdev.rb +374 -0
  18. data/generated/nl/linux/nfsd.rb +316 -6
  19. data/generated/nl/linux/nftables.rb +414 -25
  20. data/generated/nl/linux/nl80211.rb +81 -22
  21. data/generated/nl/linux/nlctrl.rb +59 -8
  22. data/generated/nl/linux/ovpn.rb +180 -0
  23. data/generated/nl/linux/ovs_datapath.rb +55 -6
  24. data/generated/nl/linux/ovs_flow.rb +63 -20
  25. data/generated/nl/linux/ovs_packet.rb +115 -4
  26. data/generated/nl/linux/ovs_vport.rb +55 -6
  27. data/generated/nl/linux/psp.rb +257 -0
  28. data/generated/nl/linux/rt_addr.rb +69 -14
  29. data/generated/nl/linux/rt_link.rb +381 -47
  30. data/generated/nl/linux/rt_neigh.rb +227 -16
  31. data/generated/nl/linux/rt_route.rb +92 -49
  32. data/generated/nl/linux/rt_rule.rb +300 -11
  33. data/generated/nl/linux/sunrpc_cache.rb +130 -0
  34. data/generated/nl/linux/tc.rb +161 -52
  35. data/generated/nl/linux/tcp_metrics.rb +69 -12
  36. data/generated/nl/linux/team.rb +80 -0
  37. data/generated/nl/linux/wireguard.rb +99 -7
  38. data/lib/nl/linux/version.rb +1 -1
  39. metadata +11 -9
@@ -1,4 +1,6 @@
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-link.yaml from Linux v7.2.
2
4
  #--
3
5
  # frozen_string_literal: true
4
6
  # rbs_inline: enabled
@@ -9,6 +11,7 @@ module Nl; module Linux
9
11
  class RtLink < ::Nl::Family
10
12
  NAME = "rt-link"
11
13
  PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-link", 0))
14
+ MCAST_GROUPS = Ractor.make_shareable({:"rtnlgrp_link" => ::Nl::McastGroup.new("rtnlgrp-link", 1), :"rtnlgrp_stats" => ::Nl::McastGroup.new("rtnlgrp-stats", 36)}) #: Hash[::Symbol, ::Nl::McastGroup]
12
15
  module Structs
13
16
  Rtgenmsg = Struct.new(
14
17
  :"family", #: ::Integer
@@ -59,7 +62,7 @@ class RtLink < ::Nl::Family
59
62
  end
60
63
  IflaBridgeId = Struct.new(
61
64
  :"prio", #: ::Integer
62
- :"addr", #: untyped
65
+ :"addr", #: ::String
63
66
  )
64
67
  class IflaBridgeId
65
68
  # :nodoc:
@@ -332,7 +335,7 @@ class RtLink < ::Nl::Family
332
335
  end
333
336
  IflaVfMac = Struct.new(
334
337
  :"vf", #: ::Integer
335
- :"mac", #: untyped
338
+ :"mac", #: ::String
336
339
  )
337
340
  class IflaVfMac
338
341
  # :nodoc:
@@ -3453,11 +3456,11 @@ class RtLink < ::Nl::Family
3453
3456
  def ifi_change; fixed_header.ifi_change; end
3454
3457
  # Gets the value of `address` attribute in the message.
3455
3458
  #--
3456
- # @rbs return: untyped
3459
+ # @rbs return: ::String
3457
3460
  def address; attributes[:"address"]&.value; end
3458
3461
  # Gets the value of `broadcast` attribute in the message.
3459
3462
  #--
3460
- # @rbs return: untyped
3463
+ # @rbs return: ::String
3461
3464
  def broadcast; attributes[:"broadcast"]&.value; end
3462
3465
  # Gets the value of `ifname` attribute in the message.
3463
3466
  #--
@@ -3638,11 +3641,11 @@ class RtLink < ::Nl::Family
3638
3641
  def ifi_change; fixed_header.ifi_change; end
3639
3642
  # Gets the value of `address` attribute in the message.
3640
3643
  #--
3641
- # @rbs return: untyped
3644
+ # @rbs return: ::String
3642
3645
  def address; attributes[:"address"]&.value; end
3643
3646
  # Gets the value of `broadcast` attribute in the message.
3644
3647
  #--
3645
- # @rbs return: untyped
3648
+ # @rbs return: ::String
3646
3649
  def broadcast; attributes[:"broadcast"]&.value; end
3647
3650
  # Gets the value of `ifname` attribute in the message.
3648
3651
  #--
@@ -3662,7 +3665,7 @@ class RtLink < ::Nl::Family
3662
3665
  def qdisc; attributes[:"qdisc"]&.value; end
3663
3666
  # Gets the value of `stats` attribute in the message.
3664
3667
  #--
3665
- # @rbs return: untyped
3668
+ # @rbs return: ::String
3666
3669
  def stats; attributes[:"stats"]&.value; end
3667
3670
  # Gets the value of `master` attribute in the message.
3668
3671
  #--
@@ -3670,11 +3673,11 @@ class RtLink < ::Nl::Family
3670
3673
  def master; attributes[:"master"]&.value; end
3671
3674
  # Gets the value of `wireless` attribute in the message.
3672
3675
  #--
3673
- # @rbs return: untyped
3676
+ # @rbs return: ::String
3674
3677
  def wireless; attributes[:"wireless"]&.value; end
3675
3678
  # Gets the value of `protinfo` attribute in the message.
3676
3679
  #--
3677
- # @rbs return: untyped
3680
+ # @rbs return: ::String
3678
3681
  def protinfo; attributes[:"protinfo"]&.value; end
3679
3682
  # Gets the value of `txqlen` attribute in the message.
3680
3683
  #--
@@ -3682,7 +3685,7 @@ class RtLink < ::Nl::Family
3682
3685
  def txqlen; attributes[:"txqlen"]&.value; end
3683
3686
  # Gets the value of `map` attribute in the message.
3684
3687
  #--
3685
- # @rbs return: untyped
3688
+ # @rbs return: ::String
3686
3689
  def map; attributes[:"map"]&.value; end
3687
3690
  # Gets the value of `weight` attribute in the message.
3688
3691
  #--
@@ -3718,7 +3721,7 @@ class RtLink < ::Nl::Family
3718
3721
  def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
3719
3722
  # Gets the value of `stats64` attribute in the message.
3720
3723
  #--
3721
- # @rbs return: untyped
3724
+ # @rbs return: ::String
3722
3725
  def stats64; attributes[:"stats64"]&.value; end
3723
3726
  # Gets the value of `vf-ports` attribute in the message.
3724
3727
  #--
@@ -3762,7 +3765,7 @@ class RtLink < ::Nl::Family
3762
3765
  def carrier; attributes[:"carrier"]&.value; end
3763
3766
  # Gets the value of `phys-port-id` attribute in the message.
3764
3767
  #--
3765
- # @rbs return: untyped
3768
+ # @rbs return: ::String
3766
3769
  def phys_port_id; attributes[:"phys_port_id"]&.value; end
3767
3770
  # Gets the value of `carrier-changes` attribute in the message.
3768
3771
  #--
@@ -3770,7 +3773,7 @@ class RtLink < ::Nl::Family
3770
3773
  def carrier_changes; attributes[:"carrier_changes"]&.value; end
3771
3774
  # Gets the value of `phys-switch-id` attribute in the message.
3772
3775
  #--
3773
- # @rbs return: untyped
3776
+ # @rbs return: ::String
3774
3777
  def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
3775
3778
  # Gets the value of `link-netnsid` attribute in the message.
3776
3779
  #--
@@ -3834,7 +3837,7 @@ class RtLink < ::Nl::Family
3834
3837
  def prop_list; attributes[:"prop_list"]&.value; end
3835
3838
  # Gets the value of `perm-address` attribute in the message.
3836
3839
  #--
3837
- # @rbs return: untyped
3840
+ # @rbs return: ::String
3838
3841
  def perm_address; attributes[:"perm_address"]&.value; end
3839
3842
  # Gets the value of `proto-down-reason` attribute in the message.
3840
3843
  #--
@@ -3866,7 +3869,7 @@ class RtLink < ::Nl::Family
3866
3869
  def allmulti; attributes[:"allmulti"]&.value; end
3867
3870
  # Gets the value of `devlink-port` attribute in the message.
3868
3871
  #--
3869
- # @rbs return: untyped
3872
+ # @rbs return: ::String
3870
3873
  def devlink_port; attributes[:"devlink_port"]&.value; end
3871
3874
  # Gets the value of `gso-ipv4-max-size` attribute in the message.
3872
3875
  #--
@@ -3948,11 +3951,11 @@ class RtLink < ::Nl::Family
3948
3951
  def ifi_change; fixed_header.ifi_change; end
3949
3952
  # Gets the value of `address` attribute in the message.
3950
3953
  #--
3951
- # @rbs return: untyped
3954
+ # @rbs return: ::String
3952
3955
  def address; attributes[:"address"]&.value; end
3953
3956
  # Gets the value of `broadcast` attribute in the message.
3954
3957
  #--
3955
- # @rbs return: untyped
3958
+ # @rbs return: ::String
3956
3959
  def broadcast; attributes[:"broadcast"]&.value; end
3957
3960
  # Gets the value of `ifname` attribute in the message.
3958
3961
  #--
@@ -3972,7 +3975,7 @@ class RtLink < ::Nl::Family
3972
3975
  def qdisc; attributes[:"qdisc"]&.value; end
3973
3976
  # Gets the value of `stats` attribute in the message.
3974
3977
  #--
3975
- # @rbs return: untyped
3978
+ # @rbs return: ::String
3976
3979
  def stats; attributes[:"stats"]&.value; end
3977
3980
  # Gets the value of `master` attribute in the message.
3978
3981
  #--
@@ -3980,11 +3983,11 @@ class RtLink < ::Nl::Family
3980
3983
  def master; attributes[:"master"]&.value; end
3981
3984
  # Gets the value of `wireless` attribute in the message.
3982
3985
  #--
3983
- # @rbs return: untyped
3986
+ # @rbs return: ::String
3984
3987
  def wireless; attributes[:"wireless"]&.value; end
3985
3988
  # Gets the value of `protinfo` attribute in the message.
3986
3989
  #--
3987
- # @rbs return: untyped
3990
+ # @rbs return: ::String
3988
3991
  def protinfo; attributes[:"protinfo"]&.value; end
3989
3992
  # Gets the value of `txqlen` attribute in the message.
3990
3993
  #--
@@ -3992,7 +3995,7 @@ class RtLink < ::Nl::Family
3992
3995
  def txqlen; attributes[:"txqlen"]&.value; end
3993
3996
  # Gets the value of `map` attribute in the message.
3994
3997
  #--
3995
- # @rbs return: untyped
3998
+ # @rbs return: ::String
3996
3999
  def map; attributes[:"map"]&.value; end
3997
4000
  # Gets the value of `weight` attribute in the message.
3998
4001
  #--
@@ -4028,7 +4031,7 @@ class RtLink < ::Nl::Family
4028
4031
  def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
4029
4032
  # Gets the value of `stats64` attribute in the message.
4030
4033
  #--
4031
- # @rbs return: untyped
4034
+ # @rbs return: ::String
4032
4035
  def stats64; attributes[:"stats64"]&.value; end
4033
4036
  # Gets the value of `vf-ports` attribute in the message.
4034
4037
  #--
@@ -4072,7 +4075,7 @@ class RtLink < ::Nl::Family
4072
4075
  def carrier; attributes[:"carrier"]&.value; end
4073
4076
  # Gets the value of `phys-port-id` attribute in the message.
4074
4077
  #--
4075
- # @rbs return: untyped
4078
+ # @rbs return: ::String
4076
4079
  def phys_port_id; attributes[:"phys_port_id"]&.value; end
4077
4080
  # Gets the value of `carrier-changes` attribute in the message.
4078
4081
  #--
@@ -4080,7 +4083,7 @@ class RtLink < ::Nl::Family
4080
4083
  def carrier_changes; attributes[:"carrier_changes"]&.value; end
4081
4084
  # Gets the value of `phys-switch-id` attribute in the message.
4082
4085
  #--
4083
- # @rbs return: untyped
4086
+ # @rbs return: ::String
4084
4087
  def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
4085
4088
  # Gets the value of `link-netnsid` attribute in the message.
4086
4089
  #--
@@ -4144,7 +4147,7 @@ class RtLink < ::Nl::Family
4144
4147
  def prop_list; attributes[:"prop_list"]&.value; end
4145
4148
  # Gets the value of `perm-address` attribute in the message.
4146
4149
  #--
4147
- # @rbs return: untyped
4150
+ # @rbs return: ::String
4148
4151
  def perm_address; attributes[:"perm_address"]&.value; end
4149
4152
  # Gets the value of `proto-down-reason` attribute in the message.
4150
4153
  #--
@@ -4176,7 +4179,7 @@ class RtLink < ::Nl::Family
4176
4179
  def allmulti; attributes[:"allmulti"]&.value; end
4177
4180
  # Gets the value of `devlink-port` attribute in the message.
4178
4181
  #--
4179
- # @rbs return: untyped
4182
+ # @rbs return: ::String
4180
4183
  def devlink_port; attributes[:"devlink_port"]&.value; end
4181
4184
  # Gets the value of `gso-ipv4-max-size` attribute in the message.
4182
4185
  #--
@@ -4215,11 +4218,11 @@ class RtLink < ::Nl::Family
4215
4218
  def ifi_change; fixed_header.ifi_change; end
4216
4219
  # Gets the value of `address` attribute in the message.
4217
4220
  #--
4218
- # @rbs return: untyped
4221
+ # @rbs return: ::String
4219
4222
  def address; attributes[:"address"]&.value; end
4220
4223
  # Gets the value of `broadcast` attribute in the message.
4221
4224
  #--
4222
- # @rbs return: untyped
4225
+ # @rbs return: ::String
4223
4226
  def broadcast; attributes[:"broadcast"]&.value; end
4224
4227
  # Gets the value of `ifname` attribute in the message.
4225
4228
  #--
@@ -4239,7 +4242,7 @@ class RtLink < ::Nl::Family
4239
4242
  def qdisc; attributes[:"qdisc"]&.value; end
4240
4243
  # Gets the value of `stats` attribute in the message.
4241
4244
  #--
4242
- # @rbs return: untyped
4245
+ # @rbs return: ::String
4243
4246
  def stats; attributes[:"stats"]&.value; end
4244
4247
  # Gets the value of `master` attribute in the message.
4245
4248
  #--
@@ -4247,11 +4250,11 @@ class RtLink < ::Nl::Family
4247
4250
  def master; attributes[:"master"]&.value; end
4248
4251
  # Gets the value of `wireless` attribute in the message.
4249
4252
  #--
4250
- # @rbs return: untyped
4253
+ # @rbs return: ::String
4251
4254
  def wireless; attributes[:"wireless"]&.value; end
4252
4255
  # Gets the value of `protinfo` attribute in the message.
4253
4256
  #--
4254
- # @rbs return: untyped
4257
+ # @rbs return: ::String
4255
4258
  def protinfo; attributes[:"protinfo"]&.value; end
4256
4259
  # Gets the value of `txqlen` attribute in the message.
4257
4260
  #--
@@ -4259,7 +4262,7 @@ class RtLink < ::Nl::Family
4259
4262
  def txqlen; attributes[:"txqlen"]&.value; end
4260
4263
  # Gets the value of `map` attribute in the message.
4261
4264
  #--
4262
- # @rbs return: untyped
4265
+ # @rbs return: ::String
4263
4266
  def map; attributes[:"map"]&.value; end
4264
4267
  # Gets the value of `weight` attribute in the message.
4265
4268
  #--
@@ -4295,7 +4298,7 @@ class RtLink < ::Nl::Family
4295
4298
  def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
4296
4299
  # Gets the value of `stats64` attribute in the message.
4297
4300
  #--
4298
- # @rbs return: untyped
4301
+ # @rbs return: ::String
4299
4302
  def stats64; attributes[:"stats64"]&.value; end
4300
4303
  # Gets the value of `vf-ports` attribute in the message.
4301
4304
  #--
@@ -4339,7 +4342,7 @@ class RtLink < ::Nl::Family
4339
4342
  def carrier; attributes[:"carrier"]&.value; end
4340
4343
  # Gets the value of `phys-port-id` attribute in the message.
4341
4344
  #--
4342
- # @rbs return: untyped
4345
+ # @rbs return: ::String
4343
4346
  def phys_port_id; attributes[:"phys_port_id"]&.value; end
4344
4347
  # Gets the value of `carrier-changes` attribute in the message.
4345
4348
  #--
@@ -4347,7 +4350,7 @@ class RtLink < ::Nl::Family
4347
4350
  def carrier_changes; attributes[:"carrier_changes"]&.value; end
4348
4351
  # Gets the value of `phys-switch-id` attribute in the message.
4349
4352
  #--
4350
- # @rbs return: untyped
4353
+ # @rbs return: ::String
4351
4354
  def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
4352
4355
  # Gets the value of `link-netnsid` attribute in the message.
4353
4356
  #--
@@ -4411,7 +4414,7 @@ class RtLink < ::Nl::Family
4411
4414
  def prop_list; attributes[:"prop_list"]&.value; end
4412
4415
  # Gets the value of `perm-address` attribute in the message.
4413
4416
  #--
4414
- # @rbs return: untyped
4417
+ # @rbs return: ::String
4415
4418
  def perm_address; attributes[:"perm_address"]&.value; end
4416
4419
  # Gets the value of `proto-down-reason` attribute in the message.
4417
4420
  #--
@@ -4443,7 +4446,7 @@ class RtLink < ::Nl::Family
4443
4446
  def allmulti; attributes[:"allmulti"]&.value; end
4444
4447
  # Gets the value of `devlink-port` attribute in the message.
4445
4448
  #--
4446
- # @rbs return: untyped
4449
+ # @rbs return: ::String
4447
4450
  def devlink_port; attributes[:"devlink_port"]&.value; end
4448
4451
  # Gets the value of `gso-ipv4-max-size` attribute in the message.
4449
4452
  #--
@@ -4493,15 +4496,15 @@ class RtLink < ::Nl::Family
4493
4496
  def filter_mask; fixed_header.filter_mask; end
4494
4497
  # Gets the value of `link-64` attribute in the message.
4495
4498
  #--
4496
- # @rbs return: untyped
4499
+ # @rbs return: ::String
4497
4500
  def link_64; attributes[:"link_64"]&.value; end
4498
4501
  # Gets the value of `link-xstats` attribute in the message.
4499
4502
  #--
4500
- # @rbs return: untyped
4503
+ # @rbs return: ::String
4501
4504
  def link_xstats; attributes[:"link_xstats"]&.value; end
4502
4505
  # Gets the value of `link-xstats-slave` attribute in the message.
4503
4506
  #--
4504
- # @rbs return: untyped
4507
+ # @rbs return: ::String
4505
4508
  def link_xstats_slave; attributes[:"link_xstats_slave"]&.value; end
4506
4509
  # Gets the value of `link-offload-xstats` attribute in the message.
4507
4510
  #--
@@ -4509,7 +4512,7 @@ class RtLink < ::Nl::Family
4509
4512
  def link_offload_xstats; attributes[:"link_offload_xstats"]&.value; end
4510
4513
  # Gets the value of `af-spec` attribute in the message.
4511
4514
  #--
4512
- # @rbs return: untyped
4515
+ # @rbs return: ::String
4513
4516
  def af_spec; attributes[:"af_spec"]&.value; end
4514
4517
  end
4515
4518
  # Get / dump link stats.
@@ -4551,15 +4554,15 @@ class RtLink < ::Nl::Family
4551
4554
  def filter_mask; fixed_header.filter_mask; end
4552
4555
  # Gets the value of `link-64` attribute in the message.
4553
4556
  #--
4554
- # @rbs return: untyped
4557
+ # @rbs return: ::String
4555
4558
  def link_64; attributes[:"link_64"]&.value; end
4556
4559
  # Gets the value of `link-xstats` attribute in the message.
4557
4560
  #--
4558
- # @rbs return: untyped
4561
+ # @rbs return: ::String
4559
4562
  def link_xstats; attributes[:"link_xstats"]&.value; end
4560
4563
  # Gets the value of `link-xstats-slave` attribute in the message.
4561
4564
  #--
4562
- # @rbs return: untyped
4565
+ # @rbs return: ::String
4563
4566
  def link_xstats_slave; attributes[:"link_xstats_slave"]&.value; end
4564
4567
  # Gets the value of `link-offload-xstats` attribute in the message.
4565
4568
  #--
@@ -4567,13 +4570,283 @@ class RtLink < ::Nl::Family
4567
4570
  def link_offload_xstats; attributes[:"link_offload_xstats"]&.value; end
4568
4571
  # Gets the value of `af-spec` attribute in the message.
4569
4572
  #--
4570
- # @rbs return: untyped
4573
+ # @rbs return: ::String
4571
4574
  def af_spec; attributes[:"af_spec"]&.value; end
4572
4575
  end
4573
4576
  end
4577
+ module Notifications
4578
+ # Notify that a link has been created
4579
+ class NewlinkNtf < ::Nl::Protocols::Raw::Message
4580
+ TYPE = 16
4581
+ FIXED_HEADER = Structs::Ifinfomsg
4582
+ ATTRIBUTE_SET = AttributeSets::LinkAttrs
4583
+ ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats master wireless protinfo txqlen map weight operstate linkmode linkinfo net_ns_pid ifalias num_vf vfinfo_list stats64 vf_ports port_self af_spec group net_ns_fd ext_mask promiscuity num_tx_queues num_rx_queues carrier phys_port_id carrier_changes phys_switch_id link_netnsid phys_port_name proto_down gso_max_segs gso_max_size pad xdp event new_netnsid target_netnsid carrier_up_count carrier_down_count new_ifindex min_mtu max_mtu prop_list perm_address proto_down_reason parent_dev_name parent_dev_bus_name gro_max_size tso_max_size tso_max_segs allmulti devlink_port gso_ipv4_max_size gro_ipv4_max_size])
4584
+ # Gets the value of `ifi-family` field in the message's fixed header.
4585
+ #--
4586
+ # @rbs return: ::Integer
4587
+ def ifi_family; fixed_header.ifi_family; end
4588
+ # Gets the value of `ifi-type` field in the message's fixed header.
4589
+ #--
4590
+ # @rbs return: ::Integer
4591
+ def ifi_type; fixed_header.ifi_type; end
4592
+ # Gets the value of `ifi-index` field in the message's fixed header.
4593
+ #--
4594
+ # @rbs return: ::Integer
4595
+ def ifi_index; fixed_header.ifi_index; end
4596
+ # Gets the value of `ifi-flags` field in the message's fixed header.
4597
+ #--
4598
+ # @rbs return: ::Integer
4599
+ def ifi_flags; fixed_header.ifi_flags; end
4600
+ # Gets the value of `ifi-change` field in the message's fixed header.
4601
+ #--
4602
+ # @rbs return: ::Integer
4603
+ def ifi_change; fixed_header.ifi_change; end
4604
+ # Gets the value of `address` attribute in the message.
4605
+ #--
4606
+ # @rbs return: ::String
4607
+ def address; attributes[:"address"]&.value; end
4608
+ # Gets the value of `broadcast` attribute in the message.
4609
+ #--
4610
+ # @rbs return: ::String
4611
+ def broadcast; attributes[:"broadcast"]&.value; end
4612
+ # Gets the value of `ifname` attribute in the message.
4613
+ #--
4614
+ # @rbs return: ::String
4615
+ def ifname; attributes[:"ifname"]&.value; end
4616
+ # Gets the value of `mtu` attribute in the message.
4617
+ #--
4618
+ # @rbs return: ::Integer
4619
+ def mtu; attributes[:"mtu"]&.value; end
4620
+ # Gets the value of `link` attribute in the message.
4621
+ #--
4622
+ # @rbs return: ::Integer
4623
+ def link; attributes[:"link"]&.value; end
4624
+ # Gets the value of `qdisc` attribute in the message.
4625
+ #--
4626
+ # @rbs return: ::String
4627
+ def qdisc; attributes[:"qdisc"]&.value; end
4628
+ # Gets the value of `stats` attribute in the message.
4629
+ #--
4630
+ # @rbs return: ::String
4631
+ def stats; attributes[:"stats"]&.value; end
4632
+ # Gets the value of `master` attribute in the message.
4633
+ #--
4634
+ # @rbs return: ::Integer
4635
+ def master; attributes[:"master"]&.value; end
4636
+ # Gets the value of `wireless` attribute in the message.
4637
+ #--
4638
+ # @rbs return: ::String
4639
+ def wireless; attributes[:"wireless"]&.value; end
4640
+ # Gets the value of `protinfo` attribute in the message.
4641
+ #--
4642
+ # @rbs return: ::String
4643
+ def protinfo; attributes[:"protinfo"]&.value; end
4644
+ # Gets the value of `txqlen` attribute in the message.
4645
+ #--
4646
+ # @rbs return: ::Integer
4647
+ def txqlen; attributes[:"txqlen"]&.value; end
4648
+ # Gets the value of `map` attribute in the message.
4649
+ #--
4650
+ # @rbs return: ::String
4651
+ def map; attributes[:"map"]&.value; end
4652
+ # Gets the value of `weight` attribute in the message.
4653
+ #--
4654
+ # @rbs return: ::Integer
4655
+ def weight; attributes[:"weight"]&.value; end
4656
+ # Gets the value of `operstate` attribute in the message.
4657
+ #--
4658
+ # @rbs return: ::Integer
4659
+ def operstate; attributes[:"operstate"]&.value; end
4660
+ # Gets the value of `linkmode` attribute in the message.
4661
+ #--
4662
+ # @rbs return: ::Integer
4663
+ def linkmode; attributes[:"linkmode"]&.value; end
4664
+ # Gets the value of `linkinfo` attribute in the message.
4665
+ #--
4666
+ # @rbs return: AttributeSets::LinkinfoAttrs
4667
+ def linkinfo; attributes[:"linkinfo"]&.value; end
4668
+ # Gets the value of `net-ns-pid` attribute in the message.
4669
+ #--
4670
+ # @rbs return: ::Integer
4671
+ def net_ns_pid; attributes[:"net_ns_pid"]&.value; end
4672
+ # Gets the value of `ifalias` attribute in the message.
4673
+ #--
4674
+ # @rbs return: ::String
4675
+ def ifalias; attributes[:"ifalias"]&.value; end
4676
+ # Gets the value of `num-vf` attribute in the message.
4677
+ #--
4678
+ # @rbs return: ::Integer
4679
+ def num_vf; attributes[:"num_vf"]&.value; end
4680
+ # Gets the value of `vfinfo-list` attribute in the message.
4681
+ #--
4682
+ # @rbs return: AttributeSets::VfinfoListAttrs
4683
+ def vfinfo_list; attributes[:"vfinfo_list"]&.value; end
4684
+ # Gets the value of `stats64` attribute in the message.
4685
+ #--
4686
+ # @rbs return: ::String
4687
+ def stats64; attributes[:"stats64"]&.value; end
4688
+ # Gets the value of `vf-ports` attribute in the message.
4689
+ #--
4690
+ # @rbs return: AttributeSets::VfPortsAttrs
4691
+ def vf_ports; attributes[:"vf_ports"]&.value; end
4692
+ # Gets the value of `port-self` attribute in the message.
4693
+ #--
4694
+ # @rbs return: AttributeSets::PortSelfAttrs
4695
+ def port_self; attributes[:"port_self"]&.value; end
4696
+ # Gets the value of `af-spec` attribute in the message.
4697
+ #--
4698
+ # @rbs return: AttributeSets::AfSpecAttrs
4699
+ def af_spec; attributes[:"af_spec"]&.value; end
4700
+ # Gets the value of `group` attribute in the message.
4701
+ #--
4702
+ # @rbs return: ::Integer
4703
+ def group; attributes[:"group"]&.value; end
4704
+ # Gets the value of `net-ns-fd` attribute in the message.
4705
+ #--
4706
+ # @rbs return: ::Integer
4707
+ def net_ns_fd; attributes[:"net_ns_fd"]&.value; end
4708
+ # Gets the value of `ext-mask` attribute in the message.
4709
+ #--
4710
+ # @rbs return: ::Integer
4711
+ def ext_mask; attributes[:"ext_mask"]&.value; end
4712
+ # Gets the value of `promiscuity` attribute in the message.
4713
+ #--
4714
+ # @rbs return: ::Integer
4715
+ def promiscuity; attributes[:"promiscuity"]&.value; end
4716
+ # Gets the value of `num-tx-queues` attribute in the message.
4717
+ #--
4718
+ # @rbs return: ::Integer
4719
+ def num_tx_queues; attributes[:"num_tx_queues"]&.value; end
4720
+ # Gets the value of `num-rx-queues` attribute in the message.
4721
+ #--
4722
+ # @rbs return: ::Integer
4723
+ def num_rx_queues; attributes[:"num_rx_queues"]&.value; end
4724
+ # Gets the value of `carrier` attribute in the message.
4725
+ #--
4726
+ # @rbs return: ::Integer
4727
+ def carrier; attributes[:"carrier"]&.value; end
4728
+ # Gets the value of `phys-port-id` attribute in the message.
4729
+ #--
4730
+ # @rbs return: ::String
4731
+ def phys_port_id; attributes[:"phys_port_id"]&.value; end
4732
+ # Gets the value of `carrier-changes` attribute in the message.
4733
+ #--
4734
+ # @rbs return: ::Integer
4735
+ def carrier_changes; attributes[:"carrier_changes"]&.value; end
4736
+ # Gets the value of `phys-switch-id` attribute in the message.
4737
+ #--
4738
+ # @rbs return: ::String
4739
+ def phys_switch_id; attributes[:"phys_switch_id"]&.value; end
4740
+ # Gets the value of `link-netnsid` attribute in the message.
4741
+ #--
4742
+ # @rbs return: ::Integer
4743
+ def link_netnsid; attributes[:"link_netnsid"]&.value; end
4744
+ # Gets the value of `phys-port-name` attribute in the message.
4745
+ #--
4746
+ # @rbs return: ::String
4747
+ def phys_port_name; attributes[:"phys_port_name"]&.value; end
4748
+ # Gets the value of `proto-down` attribute in the message.
4749
+ #--
4750
+ # @rbs return: ::Integer
4751
+ def proto_down; attributes[:"proto_down"]&.value; end
4752
+ # Gets the value of `gso-max-segs` attribute in the message.
4753
+ #--
4754
+ # @rbs return: ::Integer
4755
+ def gso_max_segs; attributes[:"gso_max_segs"]&.value; end
4756
+ # Gets the value of `gso-max-size` attribute in the message.
4757
+ #--
4758
+ # @rbs return: ::Integer
4759
+ def gso_max_size; attributes[:"gso_max_size"]&.value; end
4760
+ # Gets the value of `xdp` attribute in the message.
4761
+ #--
4762
+ # @rbs return: AttributeSets::XdpAttrs
4763
+ def xdp; attributes[:"xdp"]&.value; end
4764
+ # Gets the value of `event` attribute in the message.
4765
+ #--
4766
+ # @rbs return: ::Integer
4767
+ def event; attributes[:"event"]&.value; end
4768
+ # Gets the value of `new-netnsid` attribute in the message.
4769
+ #--
4770
+ # @rbs return: ::Integer
4771
+ def new_netnsid; attributes[:"new_netnsid"]&.value; end
4772
+ # Gets the value of `target-netnsid` attribute in the message.
4773
+ #--
4774
+ # @rbs return: ::Integer
4775
+ def target_netnsid; attributes[:"target_netnsid"]&.value; end
4776
+ # Gets the value of `carrier-up-count` attribute in the message.
4777
+ #--
4778
+ # @rbs return: ::Integer
4779
+ def carrier_up_count; attributes[:"carrier_up_count"]&.value; end
4780
+ # Gets the value of `carrier-down-count` attribute in the message.
4781
+ #--
4782
+ # @rbs return: ::Integer
4783
+ def carrier_down_count; attributes[:"carrier_down_count"]&.value; end
4784
+ # Gets the value of `new-ifindex` attribute in the message.
4785
+ #--
4786
+ # @rbs return: ::Integer
4787
+ def new_ifindex; attributes[:"new_ifindex"]&.value; end
4788
+ # Gets the value of `min-mtu` attribute in the message.
4789
+ #--
4790
+ # @rbs return: ::Integer
4791
+ def min_mtu; attributes[:"min_mtu"]&.value; end
4792
+ # Gets the value of `max-mtu` attribute in the message.
4793
+ #--
4794
+ # @rbs return: ::Integer
4795
+ def max_mtu; attributes[:"max_mtu"]&.value; end
4796
+ # Gets the value of `prop-list` attribute in the message.
4797
+ #--
4798
+ # @rbs return: AttributeSets::PropListLinkAttrs
4799
+ def prop_list; attributes[:"prop_list"]&.value; end
4800
+ # Gets the value of `perm-address` attribute in the message.
4801
+ #--
4802
+ # @rbs return: ::String
4803
+ def perm_address; attributes[:"perm_address"]&.value; end
4804
+ # Gets the value of `proto-down-reason` attribute in the message.
4805
+ #--
4806
+ # @rbs return: ::String
4807
+ def proto_down_reason; attributes[:"proto_down_reason"]&.value; end
4808
+ # Gets the value of `parent-dev-name` attribute in the message.
4809
+ #--
4810
+ # @rbs return: ::String
4811
+ def parent_dev_name; attributes[:"parent_dev_name"]&.value; end
4812
+ # Gets the value of `parent-dev-bus-name` attribute in the message.
4813
+ #--
4814
+ # @rbs return: ::String
4815
+ def parent_dev_bus_name; attributes[:"parent_dev_bus_name"]&.value; end
4816
+ # Gets the value of `gro-max-size` attribute in the message.
4817
+ #--
4818
+ # @rbs return: ::Integer
4819
+ def gro_max_size; attributes[:"gro_max_size"]&.value; end
4820
+ # Gets the value of `tso-max-size` attribute in the message.
4821
+ #--
4822
+ # @rbs return: ::Integer
4823
+ def tso_max_size; attributes[:"tso_max_size"]&.value; end
4824
+ # Gets the value of `tso-max-segs` attribute in the message.
4825
+ #--
4826
+ # @rbs return: ::Integer
4827
+ def tso_max_segs; attributes[:"tso_max_segs"]&.value; end
4828
+ # Gets the value of `allmulti` attribute in the message.
4829
+ #--
4830
+ # @rbs return: ::Integer
4831
+ def allmulti; attributes[:"allmulti"]&.value; end
4832
+ # Gets the value of `devlink-port` attribute in the message.
4833
+ #--
4834
+ # @rbs return: ::String
4835
+ def devlink_port; attributes[:"devlink_port"]&.value; end
4836
+ # Gets the value of `gso-ipv4-max-size` attribute in the message.
4837
+ #--
4838
+ # @rbs return: ::Integer
4839
+ def gso_ipv4_max_size; attributes[:"gso_ipv4_max_size"]&.value; end
4840
+ # Gets the value of `gro-ipv4-max-size` attribute in the message.
4841
+ #--
4842
+ # @rbs return: ::Integer
4843
+ def gro_ipv4_max_size; attributes[:"gro_ipv4_max_size"]&.value; end
4844
+ end
4845
+ end
4846
+ NOTIFICATIONS = Ractor.make_shareable({16 => Notifications::NewlinkNtf}) #: Hash[::Integer, ::Class]
4574
4847
  # Create a new link.
4575
4848
  #--
4576
- # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: untyped, ?broadcast: untyped, ?ifname: ::String, ?mtu: ::Integer, ?txqlen: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?link_netnsid: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?target_netnsid: ::Integer, ?gro_max_size: ::Integer, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4849
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: ::String, ?broadcast: ::String, ?ifname: ::String, ?mtu: ::Integer, ?txqlen: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?link_netnsid: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?target_netnsid: ::Integer, ?gro_max_size: ::Integer, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4577
4850
  def do_newlink(**args)
4578
4851
  exchange_message(:"do", Messages::DoNewlinkRequest, nil, args)
4579
4852
  end
@@ -4598,7 +4871,7 @@ class RtLink < ::Nl::Family
4598
4871
  end
4599
4872
  # Set information about a link.
4600
4873
  #--
4601
- # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: untyped, ?broadcast: untyped, ?ifname: ::String, ?mtu: ::Integer, ?link: ::Integer, ?qdisc: ::String, ?stats: untyped, ?master: ::Integer, ?wireless: untyped, ?protinfo: untyped, ?txqlen: ::Integer, ?map: untyped, ?weight: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?ifalias: ::String, ?num_vf: ::Integer, ?vfinfo_list: AttributeSets::VfinfoListAttrs, ?stats64: untyped, ?vf_ports: AttributeSets::VfPortsAttrs, ?port_self: AttributeSets::PortSelfAttrs, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?ext_mask: ::Integer, ?promiscuity: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?carrier: ::Integer, ?phys_port_id: untyped, ?carrier_changes: ::Integer, ?phys_switch_id: untyped, ?link_netnsid: ::Integer, ?phys_port_name: ::String, ?proto_down: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?xdp: AttributeSets::XdpAttrs, ?event: ::Integer, ?new_netnsid: ::Integer, ?target_netnsid: ::Integer, ?carrier_up_count: ::Integer, ?carrier_down_count: ::Integer, ?new_ifindex: ::Integer, ?min_mtu: ::Integer, ?max_mtu: ::Integer, ?prop_list: AttributeSets::PropListLinkAttrs, ?perm_address: untyped, ?proto_down_reason: ::String, ?parent_dev_name: ::String, ?parent_dev_bus_name: ::String, ?gro_max_size: ::Integer, ?tso_max_size: ::Integer, ?tso_max_segs: ::Integer, ?allmulti: ::Integer, ?devlink_port: untyped, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4874
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: ::String, ?broadcast: ::String, ?ifname: ::String, ?mtu: ::Integer, ?link: ::Integer, ?qdisc: ::String, ?stats: ::String, ?master: ::Integer, ?wireless: ::String, ?protinfo: ::String, ?txqlen: ::Integer, ?map: ::String, ?weight: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?ifalias: ::String, ?num_vf: ::Integer, ?vfinfo_list: AttributeSets::VfinfoListAttrs, ?stats64: ::String, ?vf_ports: AttributeSets::VfPortsAttrs, ?port_self: AttributeSets::PortSelfAttrs, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?ext_mask: ::Integer, ?promiscuity: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?carrier: ::Integer, ?phys_port_id: ::String, ?carrier_changes: ::Integer, ?phys_switch_id: ::String, ?link_netnsid: ::Integer, ?phys_port_name: ::String, ?proto_down: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?xdp: AttributeSets::XdpAttrs, ?event: ::Integer, ?new_netnsid: ::Integer, ?target_netnsid: ::Integer, ?carrier_up_count: ::Integer, ?carrier_down_count: ::Integer, ?new_ifindex: ::Integer, ?min_mtu: ::Integer, ?max_mtu: ::Integer, ?prop_list: AttributeSets::PropListLinkAttrs, ?perm_address: ::String, ?proto_down_reason: ::String, ?parent_dev_name: ::String, ?parent_dev_bus_name: ::String, ?gro_max_size: ::Integer, ?tso_max_size: ::Integer, ?tso_max_segs: ::Integer, ?allmulti: ::Integer, ?devlink_port: ::String, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> void
4602
4875
  def do_setlink(**args)
4603
4876
  exchange_message(:"do", Messages::DoSetlinkRequest, nil, args)
4604
4877
  end
@@ -4615,5 +4888,66 @@ class RtLink < ::Nl::Family
4615
4888
  def dump_getstats(**args, &block)
4616
4889
  exchange_message(:"dump", Messages::DumpGetstatsRequest, Messages::DumpGetstatsReply, args, &block)
4617
4890
  end
4891
+ class AsyncOperations
4892
+ # :nodoc:
4893
+ def initialize(&exchange)
4894
+ @exchange = exchange
4895
+ end
4896
+ # Create a new link.
4897
+ #--
4898
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: ::String, ?broadcast: ::String, ?ifname: ::String, ?mtu: ::Integer, ?txqlen: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?link_netnsid: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?target_netnsid: ::Integer, ?gro_max_size: ::Integer, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> ::Nl::Async::Future[void]
4899
+ def do_newlink(**args)
4900
+ @exchange.call(:"do", Messages::DoNewlinkRequest, nil, args)
4901
+ end
4902
+ # Delete an existing link.
4903
+ #--
4904
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?ifname: ::String) -> ::Nl::Async::Future[void]
4905
+ def do_dellink(**args)
4906
+ @exchange.call(:"do", Messages::DoDellinkRequest, nil, args)
4907
+ end
4908
+ # Get / dump information about a link.
4909
+ #--
4910
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?ifname: ::String, ?ext_mask: ::Integer, ?target_netnsid: ::Integer, ?alt_ifname: ::String) -> ::Nl::Async::Future[Messages::DoGetlinkReply]
4911
+ def do_getlink(**args)
4912
+ @exchange.call(:"do", Messages::DoGetlinkRequest, Messages::DoGetlinkReply, args)
4913
+ end
4914
+ # Get / dump information about a link.
4915
+ #--
4916
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?master: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?ext_mask: ::Integer, ?target_netnsid: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetlinkReply]
4917
+ def dump_getlink(**args)
4918
+ @exchange.call(:"dump", Messages::DumpGetlinkRequest, Messages::DumpGetlinkReply, args)
4919
+ end
4920
+ # Set information about a link.
4921
+ #--
4922
+ # @rbs (?ifi_family: ::Integer, ?ifi_type: ::Integer, ?ifi_index: ::Integer, ?ifi_flags: ::Integer, ?ifi_change: ::Integer, ?address: ::String, ?broadcast: ::String, ?ifname: ::String, ?mtu: ::Integer, ?link: ::Integer, ?qdisc: ::String, ?stats: ::String, ?master: ::Integer, ?wireless: ::String, ?protinfo: ::String, ?txqlen: ::Integer, ?map: ::String, ?weight: ::Integer, ?operstate: ::Integer, ?linkmode: ::Integer, ?linkinfo: AttributeSets::LinkinfoAttrs, ?net_ns_pid: ::Integer, ?ifalias: ::String, ?num_vf: ::Integer, ?vfinfo_list: AttributeSets::VfinfoListAttrs, ?stats64: ::String, ?vf_ports: AttributeSets::VfPortsAttrs, ?port_self: AttributeSets::PortSelfAttrs, ?af_spec: AttributeSets::AfSpecAttrs, ?group: ::Integer, ?net_ns_fd: ::Integer, ?ext_mask: ::Integer, ?promiscuity: ::Integer, ?num_tx_queues: ::Integer, ?num_rx_queues: ::Integer, ?carrier: ::Integer, ?phys_port_id: ::String, ?carrier_changes: ::Integer, ?phys_switch_id: ::String, ?link_netnsid: ::Integer, ?phys_port_name: ::String, ?proto_down: ::Integer, ?gso_max_segs: ::Integer, ?gso_max_size: ::Integer, ?xdp: AttributeSets::XdpAttrs, ?event: ::Integer, ?new_netnsid: ::Integer, ?target_netnsid: ::Integer, ?carrier_up_count: ::Integer, ?carrier_down_count: ::Integer, ?new_ifindex: ::Integer, ?min_mtu: ::Integer, ?max_mtu: ::Integer, ?prop_list: AttributeSets::PropListLinkAttrs, ?perm_address: ::String, ?proto_down_reason: ::String, ?parent_dev_name: ::String, ?parent_dev_bus_name: ::String, ?gro_max_size: ::Integer, ?tso_max_size: ::Integer, ?tso_max_segs: ::Integer, ?allmulti: ::Integer, ?devlink_port: ::String, ?gso_ipv4_max_size: ::Integer, ?gro_ipv4_max_size: ::Integer) -> ::Nl::Async::Future[void]
4923
+ def do_setlink(**args)
4924
+ @exchange.call(:"do", Messages::DoSetlinkRequest, nil, args)
4925
+ end
4926
+ # Get / dump link stats.
4927
+ #--
4928
+ # @rbs (?family: ::Integer, ?ifindex: ::Integer, ?filter_mask: ::Integer) -> ::Nl::Async::Future[Messages::DoGetstatsReply]
4929
+ def do_getstats(**args)
4930
+ @exchange.call(:"do", Messages::DoGetstatsRequest, Messages::DoGetstatsReply, args)
4931
+ end
4932
+ # Get / dump link stats.
4933
+ #--
4934
+ # @rbs (?family: ::Integer, ?ifindex: ::Integer, ?filter_mask: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetstatsReply]
4935
+ def dump_getstats(**args)
4936
+ @exchange.call(:"dump", Messages::DumpGetstatsRequest, Messages::DumpGetstatsReply, args)
4937
+ end
4938
+ end
4939
+ # Returns the asynchronous operation facade for this family.
4940
+ #--
4941
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
4942
+ def async(stream_capacity: nil)
4943
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
4944
+ build_async_facade(AsyncOperations, stream_capacity:)
4945
+ end
4946
+ #--
4947
+ # @rbs (*(:rtnlgrp_link | :rtnlgrp_stats) groups) -> self
4948
+ def subscribe(*groups) = super
4949
+ #--
4950
+ # @rbs (*(:rtnlgrp_link | :rtnlgrp_stats) groups) -> self
4951
+ def unsubscribe(*groups) = super
4618
4952
  end
4619
4953
  end; end