nl-linux 0.2.3 → 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.
@@ -595,16 +595,6 @@ class RtLink < ::Nl::Family
595
595
  NAME = :"stats"
596
596
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
597
597
  end
598
- class Cost < Attribute
599
- TYPE = 8
600
- NAME = :"cost"
601
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
602
- end
603
- class Priority < Attribute
604
- TYPE = 9
605
- NAME = :"priority"
606
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
607
- end
608
598
  class Master < Attribute
609
599
  TYPE = 10
610
600
  NAME = :"master"
@@ -613,12 +603,12 @@ class RtLink < ::Nl::Family
613
603
  class Wireless < Attribute
614
604
  TYPE = 11
615
605
  NAME = :"wireless"
616
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
606
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
617
607
  end
618
608
  class Protinfo < Attribute
619
609
  TYPE = 12
620
610
  NAME = :"protinfo"
621
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
611
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
622
612
  end
623
613
  class Txqlen < Attribute
624
614
  TYPE = 13
@@ -898,9 +888,9 @@ class RtLink < ::Nl::Family
898
888
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
899
889
  end
900
890
  # :nodoc:
901
- BY_NAME = Ractor.make_shareable({:"address" => Address, :"broadcast" => Broadcast, :"ifname" => Ifname, :"mtu" => Mtu, :"link" => Link, :"qdisc" => Qdisc, :"stats" => Stats, :"cost" => Cost, :"priority" => Priority, :"master" => Master, :"wireless" => Wireless, :"protinfo" => Protinfo, :"txqlen" => Txqlen, :"map" => Map, :"weight" => Weight, :"operstate" => Operstate, :"linkmode" => Linkmode, :"linkinfo" => Linkinfo, :"net_ns_pid" => NetNsPid, :"ifalias" => Ifalias, :"num_vf" => NumVf, :"vfinfo_list" => VfinfoList, :"stats64" => Stats64, :"vf_ports" => VfPorts, :"port_self" => PortSelf, :"af_spec" => AfSpec, :"group" => Group, :"net_ns_fd" => NetNsFd, :"ext_mask" => ExtMask, :"promiscuity" => Promiscuity, :"num_tx_queues" => NumTxQueues, :"num_rx_queues" => NumRxQueues, :"carrier" => Carrier, :"phys_port_id" => PhysPortId, :"carrier_changes" => CarrierChanges, :"phys_switch_id" => PhysSwitchId, :"link_netnsid" => LinkNetnsid, :"phys_port_name" => PhysPortName, :"proto_down" => ProtoDown, :"gso_max_segs" => GsoMaxSegs, :"gso_max_size" => GsoMaxSize, :"pad" => Pad, :"xdp" => Xdp, :"event" => Event, :"new_netnsid" => NewNetnsid, :"target_netnsid" => TargetNetnsid, :"carrier_up_count" => CarrierUpCount, :"carrier_down_count" => CarrierDownCount, :"new_ifindex" => NewIfindex, :"min_mtu" => MinMtu, :"max_mtu" => MaxMtu, :"prop_list" => PropList, :"alt_ifname" => AltIfname, :"perm_address" => PermAddress, :"proto_down_reason" => ProtoDownReason, :"parent_dev_name" => ParentDevName, :"parent_dev_bus_name" => ParentDevBusName, :"gro_max_size" => GroMaxSize, :"tso_max_size" => TsoMaxSize, :"tso_max_segs" => TsoMaxSegs, :"allmulti" => Allmulti, :"devlink_port" => DevlinkPort, :"gso_ipv4_max_size" => GsoIpv4MaxSize, :"gro_ipv4_max_size" => GroIpv4MaxSize, :"dpll_pin" => DpllPin, :"max_pacing_offload_horizon" => MaxPacingOffloadHorizon, :"netns_immutable" => NetnsImmutable, :"headroom" => Headroom, :"tailroom" => Tailroom}) #: Hash[::Symbol, Attribute]
891
+ BY_NAME = Ractor.make_shareable({:"address" => Address, :"broadcast" => Broadcast, :"ifname" => Ifname, :"mtu" => Mtu, :"link" => Link, :"qdisc" => Qdisc, :"stats" => Stats, :"master" => Master, :"wireless" => Wireless, :"protinfo" => Protinfo, :"txqlen" => Txqlen, :"map" => Map, :"weight" => Weight, :"operstate" => Operstate, :"linkmode" => Linkmode, :"linkinfo" => Linkinfo, :"net_ns_pid" => NetNsPid, :"ifalias" => Ifalias, :"num_vf" => NumVf, :"vfinfo_list" => VfinfoList, :"stats64" => Stats64, :"vf_ports" => VfPorts, :"port_self" => PortSelf, :"af_spec" => AfSpec, :"group" => Group, :"net_ns_fd" => NetNsFd, :"ext_mask" => ExtMask, :"promiscuity" => Promiscuity, :"num_tx_queues" => NumTxQueues, :"num_rx_queues" => NumRxQueues, :"carrier" => Carrier, :"phys_port_id" => PhysPortId, :"carrier_changes" => CarrierChanges, :"phys_switch_id" => PhysSwitchId, :"link_netnsid" => LinkNetnsid, :"phys_port_name" => PhysPortName, :"proto_down" => ProtoDown, :"gso_max_segs" => GsoMaxSegs, :"gso_max_size" => GsoMaxSize, :"pad" => Pad, :"xdp" => Xdp, :"event" => Event, :"new_netnsid" => NewNetnsid, :"target_netnsid" => TargetNetnsid, :"carrier_up_count" => CarrierUpCount, :"carrier_down_count" => CarrierDownCount, :"new_ifindex" => NewIfindex, :"min_mtu" => MinMtu, :"max_mtu" => MaxMtu, :"prop_list" => PropList, :"alt_ifname" => AltIfname, :"perm_address" => PermAddress, :"proto_down_reason" => ProtoDownReason, :"parent_dev_name" => ParentDevName, :"parent_dev_bus_name" => ParentDevBusName, :"gro_max_size" => GroMaxSize, :"tso_max_size" => TsoMaxSize, :"tso_max_segs" => TsoMaxSegs, :"allmulti" => Allmulti, :"devlink_port" => DevlinkPort, :"gso_ipv4_max_size" => GsoIpv4MaxSize, :"gro_ipv4_max_size" => GroIpv4MaxSize, :"dpll_pin" => DpllPin, :"max_pacing_offload_horizon" => MaxPacingOffloadHorizon, :"netns_immutable" => NetnsImmutable, :"headroom" => Headroom, :"tailroom" => Tailroom}) #: Hash[::Symbol, Attribute]
902
892
  # :nodoc:
903
- BY_TYPE = Ractor.make_shareable({1 => Address, 2 => Broadcast, 3 => Ifname, 4 => Mtu, 5 => Link, 6 => Qdisc, 7 => Stats, 8 => Cost, 9 => Priority, 10 => Master, 11 => Wireless, 12 => Protinfo, 13 => Txqlen, 14 => Map, 15 => Weight, 16 => Operstate, 17 => Linkmode, 18 => Linkinfo, 19 => NetNsPid, 20 => Ifalias, 21 => NumVf, 22 => VfinfoList, 23 => Stats64, 24 => VfPorts, 25 => PortSelf, 26 => AfSpec, 27 => Group, 28 => NetNsFd, 29 => ExtMask, 30 => Promiscuity, 31 => NumTxQueues, 32 => NumRxQueues, 33 => Carrier, 34 => PhysPortId, 35 => CarrierChanges, 36 => PhysSwitchId, 37 => LinkNetnsid, 38 => PhysPortName, 39 => ProtoDown, 40 => GsoMaxSegs, 41 => GsoMaxSize, 42 => Pad, 43 => Xdp, 44 => Event, 45 => NewNetnsid, 46 => TargetNetnsid, 47 => CarrierUpCount, 48 => CarrierDownCount, 49 => NewIfindex, 50 => MinMtu, 51 => MaxMtu, 52 => PropList, 53 => AltIfname, 54 => PermAddress, 55 => ProtoDownReason, 56 => ParentDevName, 57 => ParentDevBusName, 58 => GroMaxSize, 59 => TsoMaxSize, 60 => TsoMaxSegs, 61 => Allmulti, 62 => DevlinkPort, 63 => GsoIpv4MaxSize, 64 => GroIpv4MaxSize, 65 => DpllPin, 66 => MaxPacingOffloadHorizon, 67 => NetnsImmutable, 68 => Headroom, 69 => Tailroom}) #: Hash[::Integer, Attribute]
893
+ BY_TYPE = Ractor.make_shareable({1 => Address, 2 => Broadcast, 3 => Ifname, 4 => Mtu, 5 => Link, 6 => Qdisc, 7 => Stats, 10 => Master, 11 => Wireless, 12 => Protinfo, 13 => Txqlen, 14 => Map, 15 => Weight, 16 => Operstate, 17 => Linkmode, 18 => Linkinfo, 19 => NetNsPid, 20 => Ifalias, 21 => NumVf, 22 => VfinfoList, 23 => Stats64, 24 => VfPorts, 25 => PortSelf, 26 => AfSpec, 27 => Group, 28 => NetNsFd, 29 => ExtMask, 30 => Promiscuity, 31 => NumTxQueues, 32 => NumRxQueues, 33 => Carrier, 34 => PhysPortId, 35 => CarrierChanges, 36 => PhysSwitchId, 37 => LinkNetnsid, 38 => PhysPortName, 39 => ProtoDown, 40 => GsoMaxSegs, 41 => GsoMaxSize, 42 => Pad, 43 => Xdp, 44 => Event, 45 => NewNetnsid, 46 => TargetNetnsid, 47 => CarrierUpCount, 48 => CarrierDownCount, 49 => NewIfindex, 50 => MinMtu, 51 => MaxMtu, 52 => PropList, 53 => AltIfname, 54 => PermAddress, 55 => ProtoDownReason, 56 => ParentDevName, 57 => ParentDevBusName, 58 => GroMaxSize, 59 => TsoMaxSize, 60 => TsoMaxSegs, 61 => Allmulti, 62 => DevlinkPort, 63 => GsoIpv4MaxSize, 64 => GroIpv4MaxSize, 65 => DpllPin, 66 => MaxPacingOffloadHorizon, 67 => NetnsImmutable, 68 => Headroom, 69 => Tailroom}) #: Hash[::Integer, Attribute]
904
894
  class << self
905
895
  # Looks up Attribute class by name.
906
896
  #--
@@ -1425,10 +1415,20 @@ class RtLink < ::Nl::Family
1425
1415
  NAME = :"coupled_control"
1426
1416
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1427
1417
  end
1418
+ class BroadcastNeigh < Attribute
1419
+ TYPE = 33
1420
+ NAME = :"broadcast_neigh"
1421
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1422
+ end
1423
+ class LacpStrict < Attribute
1424
+ TYPE = 34
1425
+ NAME = :"lacp_strict"
1426
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1427
+ end
1428
1428
  # :nodoc:
1429
- BY_NAME = Ractor.make_shareable({:"mode" => Mode, :"active_slave" => ActiveSlave, :"miimon" => Miimon, :"updelay" => Updelay, :"downdelay" => Downdelay, :"use_carrier" => UseCarrier, :"arp_interval" => ArpInterval, :"arp_ip_target" => ArpIpTarget, :"arp_validate" => ArpValidate, :"arp_all_targets" => ArpAllTargets, :"primary" => Primary, :"primary_reselect" => PrimaryReselect, :"fail_over_mac" => FailOverMac, :"xmit_hash_policy" => XmitHashPolicy, :"resend_igmp" => ResendIgmp, :"num_peer_notif" => NumPeerNotif, :"all_slaves_active" => AllSlavesActive, :"min_links" => MinLinks, :"lp_interval" => LpInterval, :"packets_per_slave" => PacketsPerSlave, :"ad_lacp_rate" => AdLacpRate, :"ad_select" => AdSelect, :"ad_info" => AdInfo, :"ad_actor_sys_prio" => AdActorSysPrio, :"ad_user_port_key" => AdUserPortKey, :"ad_actor_system" => AdActorSystem, :"tlb_dynamic_lb" => TlbDynamicLb, :"peer_notif_delay" => PeerNotifDelay, :"ad_lacp_active" => AdLacpActive, :"missed_max" => MissedMax, :"ns_ip6_target" => NsIp6Target, :"coupled_control" => CoupledControl}) #: Hash[::Symbol, Attribute]
1429
+ BY_NAME = Ractor.make_shareable({:"mode" => Mode, :"active_slave" => ActiveSlave, :"miimon" => Miimon, :"updelay" => Updelay, :"downdelay" => Downdelay, :"use_carrier" => UseCarrier, :"arp_interval" => ArpInterval, :"arp_ip_target" => ArpIpTarget, :"arp_validate" => ArpValidate, :"arp_all_targets" => ArpAllTargets, :"primary" => Primary, :"primary_reselect" => PrimaryReselect, :"fail_over_mac" => FailOverMac, :"xmit_hash_policy" => XmitHashPolicy, :"resend_igmp" => ResendIgmp, :"num_peer_notif" => NumPeerNotif, :"all_slaves_active" => AllSlavesActive, :"min_links" => MinLinks, :"lp_interval" => LpInterval, :"packets_per_slave" => PacketsPerSlave, :"ad_lacp_rate" => AdLacpRate, :"ad_select" => AdSelect, :"ad_info" => AdInfo, :"ad_actor_sys_prio" => AdActorSysPrio, :"ad_user_port_key" => AdUserPortKey, :"ad_actor_system" => AdActorSystem, :"tlb_dynamic_lb" => TlbDynamicLb, :"peer_notif_delay" => PeerNotifDelay, :"ad_lacp_active" => AdLacpActive, :"missed_max" => MissedMax, :"ns_ip6_target" => NsIp6Target, :"coupled_control" => CoupledControl, :"broadcast_neigh" => BroadcastNeigh, :"lacp_strict" => LacpStrict}) #: Hash[::Symbol, Attribute]
1430
1430
  # :nodoc:
1431
- BY_TYPE = Ractor.make_shareable({1 => Mode, 2 => ActiveSlave, 3 => Miimon, 4 => Updelay, 5 => Downdelay, 6 => UseCarrier, 7 => ArpInterval, 8 => ArpIpTarget, 9 => ArpValidate, 10 => ArpAllTargets, 11 => Primary, 12 => PrimaryReselect, 13 => FailOverMac, 14 => XmitHashPolicy, 15 => ResendIgmp, 16 => NumPeerNotif, 17 => AllSlavesActive, 18 => MinLinks, 19 => LpInterval, 20 => PacketsPerSlave, 21 => AdLacpRate, 22 => AdSelect, 23 => AdInfo, 24 => AdActorSysPrio, 25 => AdUserPortKey, 26 => AdActorSystem, 27 => TlbDynamicLb, 28 => PeerNotifDelay, 29 => AdLacpActive, 30 => MissedMax, 31 => NsIp6Target, 32 => CoupledControl}) #: Hash[::Integer, Attribute]
1431
+ BY_TYPE = Ractor.make_shareable({1 => Mode, 2 => ActiveSlave, 3 => Miimon, 4 => Updelay, 5 => Downdelay, 6 => UseCarrier, 7 => ArpInterval, 8 => ArpIpTarget, 9 => ArpValidate, 10 => ArpAllTargets, 11 => Primary, 12 => PrimaryReselect, 13 => FailOverMac, 14 => XmitHashPolicy, 15 => ResendIgmp, 16 => NumPeerNotif, 17 => AllSlavesActive, 18 => MinLinks, 19 => LpInterval, 20 => PacketsPerSlave, 21 => AdLacpRate, 22 => AdSelect, 23 => AdInfo, 24 => AdActorSysPrio, 25 => AdUserPortKey, 26 => AdActorSystem, 27 => TlbDynamicLb, 28 => PeerNotifDelay, 29 => AdLacpActive, 30 => MissedMax, 31 => NsIp6Target, 32 => CoupledControl, 33 => BroadcastNeigh, 34 => LacpStrict}) #: Hash[::Integer, Attribute]
1432
1432
  class << self
1433
1433
  # Looks up Attribute class by name.
1434
1434
  #--
@@ -1803,10 +1803,15 @@ class RtLink < ::Nl::Family
1803
1803
  NAME = :"fdb_max_learned"
1804
1804
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1805
1805
  end
1806
+ class StpMode < Attribute
1807
+ TYPE = 50
1808
+ NAME = :"stp_mode"
1809
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1810
+ end
1806
1811
  # :nodoc:
1807
- BY_NAME = Ractor.make_shareable({:"forward_delay" => ForwardDelay, :"hello_time" => HelloTime, :"max_age" => MaxAge, :"ageing_time" => AgeingTime, :"stp_state" => StpState, :"priority" => Priority, :"vlan_filtering" => VlanFiltering, :"vlan_protocol" => VlanProtocol, :"group_fwd_mask" => GroupFwdMask, :"root_id" => RootId, :"bridge_id" => BridgeId, :"root_port" => RootPort, :"root_path_cost" => RootPathCost, :"topology_change" => TopologyChange, :"topology_change_detected" => TopologyChangeDetected, :"hello_timer" => HelloTimer, :"tcn_timer" => TcnTimer, :"topology_change_timer" => TopologyChangeTimer, :"gc_timer" => GcTimer, :"group_addr" => GroupAddr, :"fdb_flush" => FdbFlush, :"mcast_router" => McastRouter, :"mcast_snooping" => McastSnooping, :"mcast_query_use_ifaddr" => McastQueryUseIfaddr, :"mcast_querier" => McastQuerier, :"mcast_hash_elasticity" => McastHashElasticity, :"mcast_hash_max" => McastHashMax, :"mcast_last_member_cnt" => McastLastMemberCnt, :"mcast_startup_query_cnt" => McastStartupQueryCnt, :"mcast_last_member_intvl" => McastLastMemberIntvl, :"mcast_membership_intvl" => McastMembershipIntvl, :"mcast_querier_intvl" => McastQuerierIntvl, :"mcast_query_intvl" => McastQueryIntvl, :"mcast_query_response_intvl" => McastQueryResponseIntvl, :"mcast_startup_query_intvl" => McastStartupQueryIntvl, :"nf_call_iptables" => NfCallIptables, :"nf_call_ip6tables" => NfCallIp6tables, :"nf_call_arptables" => NfCallArptables, :"vlan_default_pvid" => VlanDefaultPvid, :"pad" => Pad, :"vlan_stats_enabled" => VlanStatsEnabled, :"mcast_stats_enabled" => McastStatsEnabled, :"mcast_igmp_version" => McastIgmpVersion, :"mcast_mld_version" => McastMldVersion, :"vlan_stats_per_port" => VlanStatsPerPort, :"multi_boolopt" => MultiBoolopt, :"mcast_querier_state" => McastQuerierState, :"fdb_n_learned" => FdbNLearned, :"fdb_max_learned" => FdbMaxLearned}) #: Hash[::Symbol, Attribute]
1812
+ BY_NAME = Ractor.make_shareable({:"forward_delay" => ForwardDelay, :"hello_time" => HelloTime, :"max_age" => MaxAge, :"ageing_time" => AgeingTime, :"stp_state" => StpState, :"priority" => Priority, :"vlan_filtering" => VlanFiltering, :"vlan_protocol" => VlanProtocol, :"group_fwd_mask" => GroupFwdMask, :"root_id" => RootId, :"bridge_id" => BridgeId, :"root_port" => RootPort, :"root_path_cost" => RootPathCost, :"topology_change" => TopologyChange, :"topology_change_detected" => TopologyChangeDetected, :"hello_timer" => HelloTimer, :"tcn_timer" => TcnTimer, :"topology_change_timer" => TopologyChangeTimer, :"gc_timer" => GcTimer, :"group_addr" => GroupAddr, :"fdb_flush" => FdbFlush, :"mcast_router" => McastRouter, :"mcast_snooping" => McastSnooping, :"mcast_query_use_ifaddr" => McastQueryUseIfaddr, :"mcast_querier" => McastQuerier, :"mcast_hash_elasticity" => McastHashElasticity, :"mcast_hash_max" => McastHashMax, :"mcast_last_member_cnt" => McastLastMemberCnt, :"mcast_startup_query_cnt" => McastStartupQueryCnt, :"mcast_last_member_intvl" => McastLastMemberIntvl, :"mcast_membership_intvl" => McastMembershipIntvl, :"mcast_querier_intvl" => McastQuerierIntvl, :"mcast_query_intvl" => McastQueryIntvl, :"mcast_query_response_intvl" => McastQueryResponseIntvl, :"mcast_startup_query_intvl" => McastStartupQueryIntvl, :"nf_call_iptables" => NfCallIptables, :"nf_call_ip6tables" => NfCallIp6tables, :"nf_call_arptables" => NfCallArptables, :"vlan_default_pvid" => VlanDefaultPvid, :"pad" => Pad, :"vlan_stats_enabled" => VlanStatsEnabled, :"mcast_stats_enabled" => McastStatsEnabled, :"mcast_igmp_version" => McastIgmpVersion, :"mcast_mld_version" => McastMldVersion, :"vlan_stats_per_port" => VlanStatsPerPort, :"multi_boolopt" => MultiBoolopt, :"mcast_querier_state" => McastQuerierState, :"fdb_n_learned" => FdbNLearned, :"fdb_max_learned" => FdbMaxLearned, :"stp_mode" => StpMode}) #: Hash[::Symbol, Attribute]
1808
1813
  # :nodoc:
1809
- BY_TYPE = Ractor.make_shareable({1 => ForwardDelay, 2 => HelloTime, 3 => MaxAge, 4 => AgeingTime, 5 => StpState, 6 => Priority, 7 => VlanFiltering, 8 => VlanProtocol, 9 => GroupFwdMask, 10 => RootId, 11 => BridgeId, 12 => RootPort, 13 => RootPathCost, 14 => TopologyChange, 15 => TopologyChangeDetected, 16 => HelloTimer, 17 => TcnTimer, 18 => TopologyChangeTimer, 19 => GcTimer, 20 => GroupAddr, 21 => FdbFlush, 22 => McastRouter, 23 => McastSnooping, 24 => McastQueryUseIfaddr, 25 => McastQuerier, 26 => McastHashElasticity, 27 => McastHashMax, 28 => McastLastMemberCnt, 29 => McastStartupQueryCnt, 30 => McastLastMemberIntvl, 31 => McastMembershipIntvl, 32 => McastQuerierIntvl, 33 => McastQueryIntvl, 34 => McastQueryResponseIntvl, 35 => McastStartupQueryIntvl, 36 => NfCallIptables, 37 => NfCallIp6tables, 38 => NfCallArptables, 39 => VlanDefaultPvid, 40 => Pad, 41 => VlanStatsEnabled, 42 => McastStatsEnabled, 43 => McastIgmpVersion, 44 => McastMldVersion, 45 => VlanStatsPerPort, 46 => MultiBoolopt, 47 => McastQuerierState, 48 => FdbNLearned, 49 => FdbMaxLearned}) #: Hash[::Integer, Attribute]
1814
+ BY_TYPE = Ractor.make_shareable({1 => ForwardDelay, 2 => HelloTime, 3 => MaxAge, 4 => AgeingTime, 5 => StpState, 6 => Priority, 7 => VlanFiltering, 8 => VlanProtocol, 9 => GroupFwdMask, 10 => RootId, 11 => BridgeId, 12 => RootPort, 13 => RootPathCost, 14 => TopologyChange, 15 => TopologyChangeDetected, 16 => HelloTimer, 17 => TcnTimer, 18 => TopologyChangeTimer, 19 => GcTimer, 20 => GroupAddr, 21 => FdbFlush, 22 => McastRouter, 23 => McastSnooping, 24 => McastQueryUseIfaddr, 25 => McastQuerier, 26 => McastHashElasticity, 27 => McastHashMax, 28 => McastLastMemberCnt, 29 => McastStartupQueryCnt, 30 => McastLastMemberIntvl, 31 => McastMembershipIntvl, 32 => McastQuerierIntvl, 33 => McastQueryIntvl, 34 => McastQueryResponseIntvl, 35 => McastStartupQueryIntvl, 36 => NfCallIptables, 37 => NfCallIp6tables, 38 => NfCallArptables, 39 => VlanDefaultPvid, 40 => Pad, 41 => VlanStatsEnabled, 42 => McastStatsEnabled, 43 => McastIgmpVersion, 44 => McastMldVersion, 45 => VlanStatsPerPort, 46 => MultiBoolopt, 47 => McastQuerierState, 48 => FdbNLearned, 49 => FdbMaxLearned, 50 => StpMode}) #: Hash[::Integer, Attribute]
1810
1815
  class << self
1811
1816
  # Looks up Attribute class by name.
1812
1817
  #--
@@ -1842,47 +1847,47 @@ class RtLink < ::Nl::Family
1842
1847
  class Mode < Attribute
1843
1848
  TYPE = 4
1844
1849
  NAME = :"mode"
1845
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1850
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1846
1851
  end
1847
1852
  class Guard < Attribute
1848
1853
  TYPE = 5
1849
1854
  NAME = :"guard"
1850
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1855
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1851
1856
  end
1852
1857
  class Protect < Attribute
1853
1858
  TYPE = 6
1854
1859
  NAME = :"protect"
1855
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1860
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1856
1861
  end
1857
1862
  class FastLeave < Attribute
1858
1863
  TYPE = 7
1859
1864
  NAME = :"fast_leave"
1860
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1865
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1861
1866
  end
1862
1867
  class Learning < Attribute
1863
1868
  TYPE = 8
1864
1869
  NAME = :"learning"
1865
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1870
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1866
1871
  end
1867
1872
  class UnicastFlood < Attribute
1868
1873
  TYPE = 9
1869
1874
  NAME = :"unicast_flood"
1870
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1875
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1871
1876
  end
1872
1877
  class Proxyarp < Attribute
1873
1878
  TYPE = 10
1874
1879
  NAME = :"proxyarp"
1875
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1880
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1876
1881
  end
1877
1882
  class LearningSync < Attribute
1878
1883
  TYPE = 11
1879
1884
  NAME = :"learning_sync"
1880
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1885
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1881
1886
  end
1882
1887
  class ProxyarpWifi < Attribute
1883
1888
  TYPE = 12
1884
1889
  NAME = :"proxyarp_wifi"
1885
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1890
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1886
1891
  end
1887
1892
  class RootId < Attribute
1888
1893
  TYPE = 13
@@ -1957,22 +1962,22 @@ class RtLink < ::Nl::Family
1957
1962
  class McastFlood < Attribute
1958
1963
  TYPE = 27
1959
1964
  NAME = :"mcast_flood"
1960
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1965
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1961
1966
  end
1962
1967
  class McastToUcast < Attribute
1963
1968
  TYPE = 28
1964
1969
  NAME = :"mcast_to_ucast"
1965
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1970
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1966
1971
  end
1967
1972
  class VlanTunnel < Attribute
1968
1973
  TYPE = 29
1969
1974
  NAME = :"vlan_tunnel"
1970
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1975
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1971
1976
  end
1972
1977
  class BcastFlood < Attribute
1973
1978
  TYPE = 30
1974
1979
  NAME = :"bcast_flood"
1975
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1980
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1976
1981
  end
1977
1982
  class GroupFwdMask < Attribute
1978
1983
  TYPE = 31
@@ -1982,12 +1987,12 @@ class RtLink < ::Nl::Family
1982
1987
  class NeighSuppress < Attribute
1983
1988
  TYPE = 32
1984
1989
  NAME = :"neigh_suppress"
1985
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1990
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1986
1991
  end
1987
1992
  class Isolated < Attribute
1988
1993
  TYPE = 33
1989
1994
  NAME = :"isolated"
1990
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
1995
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
1991
1996
  end
1992
1997
  class BackupPort < Attribute
1993
1998
  TYPE = 34
@@ -1997,12 +2002,12 @@ class RtLink < ::Nl::Family
1997
2002
  class MrpRingOpen < Attribute
1998
2003
  TYPE = 35
1999
2004
  NAME = :"mrp_ring_open"
2000
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2005
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2001
2006
  end
2002
2007
  class MrpInOpen < Attribute
2003
2008
  TYPE = 36
2004
2009
  NAME = :"mrp_in_open"
2005
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2010
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2006
2011
  end
2007
2012
  class McastEhtHostsLimit < Attribute
2008
2013
  TYPE = 37
@@ -2017,12 +2022,12 @@ class RtLink < ::Nl::Family
2017
2022
  class Locked < Attribute
2018
2023
  TYPE = 39
2019
2024
  NAME = :"locked"
2020
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2025
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2021
2026
  end
2022
2027
  class Mab < Attribute
2023
2028
  TYPE = 40
2024
2029
  NAME = :"mab"
2025
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2030
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2026
2031
  end
2027
2032
  class McastNGroups < Attribute
2028
2033
  TYPE = 41
@@ -2037,17 +2042,22 @@ class RtLink < ::Nl::Family
2037
2042
  class NeighVlanSuppress < Attribute
2038
2043
  TYPE = 43
2039
2044
  NAME = :"neigh_vlan_suppress"
2040
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2045
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2041
2046
  end
2042
2047
  class BackupNhid < Attribute
2043
2048
  TYPE = 44
2044
2049
  NAME = :"backup_nhid"
2045
2050
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
2046
2051
  end
2052
+ class NeighForwardGrat < Attribute
2053
+ TYPE = 45
2054
+ NAME = :"neigh_forward_grat"
2055
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
2056
+ end
2047
2057
  # :nodoc:
2048
- BY_NAME = Ractor.make_shareable({:"state" => State, :"priority" => Priority, :"cost" => Cost, :"mode" => Mode, :"guard" => Guard, :"protect" => Protect, :"fast_leave" => FastLeave, :"learning" => Learning, :"unicast_flood" => UnicastFlood, :"proxyarp" => Proxyarp, :"learning_sync" => LearningSync, :"proxyarp_wifi" => ProxyarpWifi, :"root_id" => RootId, :"bridge_id" => BridgeId, :"designated_port" => DesignatedPort, :"designated_cost" => DesignatedCost, :"id" => Id, :"no" => No, :"topology_change_ack" => TopologyChangeAck, :"config_pending" => ConfigPending, :"message_age_timer" => MessageAgeTimer, :"forward_delay_timer" => ForwardDelayTimer, :"hold_timer" => HoldTimer, :"flush" => Flush, :"multicast_router" => MulticastRouter, :"pad" => Pad, :"mcast_flood" => McastFlood, :"mcast_to_ucast" => McastToUcast, :"vlan_tunnel" => VlanTunnel, :"bcast_flood" => BcastFlood, :"group_fwd_mask" => GroupFwdMask, :"neigh_suppress" => NeighSuppress, :"isolated" => Isolated, :"backup_port" => BackupPort, :"mrp_ring_open" => MrpRingOpen, :"mrp_in_open" => MrpInOpen, :"mcast_eht_hosts_limit" => McastEhtHostsLimit, :"mcast_eht_hosts_cnt" => McastEhtHostsCnt, :"locked" => Locked, :"mab" => Mab, :"mcast_n_groups" => McastNGroups, :"mcast_max_groups" => McastMaxGroups, :"neigh_vlan_suppress" => NeighVlanSuppress, :"backup_nhid" => BackupNhid}) #: Hash[::Symbol, Attribute]
2058
+ BY_NAME = Ractor.make_shareable({:"state" => State, :"priority" => Priority, :"cost" => Cost, :"mode" => Mode, :"guard" => Guard, :"protect" => Protect, :"fast_leave" => FastLeave, :"learning" => Learning, :"unicast_flood" => UnicastFlood, :"proxyarp" => Proxyarp, :"learning_sync" => LearningSync, :"proxyarp_wifi" => ProxyarpWifi, :"root_id" => RootId, :"bridge_id" => BridgeId, :"designated_port" => DesignatedPort, :"designated_cost" => DesignatedCost, :"id" => Id, :"no" => No, :"topology_change_ack" => TopologyChangeAck, :"config_pending" => ConfigPending, :"message_age_timer" => MessageAgeTimer, :"forward_delay_timer" => ForwardDelayTimer, :"hold_timer" => HoldTimer, :"flush" => Flush, :"multicast_router" => MulticastRouter, :"pad" => Pad, :"mcast_flood" => McastFlood, :"mcast_to_ucast" => McastToUcast, :"vlan_tunnel" => VlanTunnel, :"bcast_flood" => BcastFlood, :"group_fwd_mask" => GroupFwdMask, :"neigh_suppress" => NeighSuppress, :"isolated" => Isolated, :"backup_port" => BackupPort, :"mrp_ring_open" => MrpRingOpen, :"mrp_in_open" => MrpInOpen, :"mcast_eht_hosts_limit" => McastEhtHostsLimit, :"mcast_eht_hosts_cnt" => McastEhtHostsCnt, :"locked" => Locked, :"mab" => Mab, :"mcast_n_groups" => McastNGroups, :"mcast_max_groups" => McastMaxGroups, :"neigh_vlan_suppress" => NeighVlanSuppress, :"backup_nhid" => BackupNhid, :"neigh_forward_grat" => NeighForwardGrat}) #: Hash[::Symbol, Attribute]
2049
2059
  # :nodoc:
2050
- BY_TYPE = Ractor.make_shareable({1 => State, 2 => Priority, 3 => Cost, 4 => Mode, 5 => Guard, 6 => Protect, 7 => FastLeave, 8 => Learning, 9 => UnicastFlood, 10 => Proxyarp, 11 => LearningSync, 12 => ProxyarpWifi, 13 => RootId, 14 => BridgeId, 15 => DesignatedPort, 16 => DesignatedCost, 17 => Id, 18 => No, 19 => TopologyChangeAck, 20 => ConfigPending, 21 => MessageAgeTimer, 22 => ForwardDelayTimer, 23 => HoldTimer, 24 => Flush, 25 => MulticastRouter, 26 => Pad, 27 => McastFlood, 28 => McastToUcast, 29 => VlanTunnel, 30 => BcastFlood, 31 => GroupFwdMask, 32 => NeighSuppress, 33 => Isolated, 34 => BackupPort, 35 => MrpRingOpen, 36 => MrpInOpen, 37 => McastEhtHostsLimit, 38 => McastEhtHostsCnt, 39 => Locked, 40 => Mab, 41 => McastNGroups, 42 => McastMaxGroups, 43 => NeighVlanSuppress, 44 => BackupNhid}) #: Hash[::Integer, Attribute]
2060
+ BY_TYPE = Ractor.make_shareable({1 => State, 2 => Priority, 3 => Cost, 4 => Mode, 5 => Guard, 6 => Protect, 7 => FastLeave, 8 => Learning, 9 => UnicastFlood, 10 => Proxyarp, 11 => LearningSync, 12 => ProxyarpWifi, 13 => RootId, 14 => BridgeId, 15 => DesignatedPort, 16 => DesignatedCost, 17 => Id, 18 => No, 19 => TopologyChangeAck, 20 => ConfigPending, 21 => MessageAgeTimer, 22 => ForwardDelayTimer, 23 => HoldTimer, 24 => Flush, 25 => MulticastRouter, 26 => Pad, 27 => McastFlood, 28 => McastToUcast, 29 => VlanTunnel, 30 => BcastFlood, 31 => GroupFwdMask, 32 => NeighSuppress, 33 => Isolated, 34 => BackupPort, 35 => MrpRingOpen, 36 => MrpInOpen, 37 => McastEhtHostsLimit, 38 => McastEhtHostsCnt, 39 => Locked, 40 => Mab, 41 => McastNGroups, 42 => McastMaxGroups, 43 => NeighVlanSuppress, 44 => BackupNhid, 45 => NeighForwardGrat}) #: Hash[::Integer, Attribute]
2051
2061
  class << self
2052
2062
  # Looks up Attribute class by name.
2053
2063
  #--
@@ -2509,10 +2519,25 @@ class RtLink < ::Nl::Family
2509
2519
  NAME = :"port_range"
2510
2520
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2511
2521
  end
2522
+ class GroHint < Attribute
2523
+ TYPE = 16
2524
+ NAME = :"gro_hint"
2525
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Flag.new
2526
+ end
2527
+ class Local < Attribute
2528
+ TYPE = 17
2529
+ NAME = :"local"
2530
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
2531
+ end
2532
+ class Local6 < Attribute
2533
+ TYPE = 18
2534
+ NAME = :"local6"
2535
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
2536
+ end
2512
2537
  # :nodoc:
2513
- BY_NAME = Ractor.make_shareable({:"id" => Id, :"remote" => Remote, :"ttl" => Ttl, :"tos" => Tos, :"port" => Port, :"collect_metadata" => CollectMetadata, :"remote6" => Remote6, :"udp_csum" => UdpCsum, :"udp_zero_csum6_tx" => UdpZeroCsum6Tx, :"udp_zero_csum6_rx" => UdpZeroCsum6Rx, :"label" => Label, :"ttl_inherit" => TtlInherit, :"df" => Df, :"inner_proto_inherit" => InnerProtoInherit, :"port_range" => PortRange}) #: Hash[::Symbol, Attribute]
2538
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"remote" => Remote, :"ttl" => Ttl, :"tos" => Tos, :"port" => Port, :"collect_metadata" => CollectMetadata, :"remote6" => Remote6, :"udp_csum" => UdpCsum, :"udp_zero_csum6_tx" => UdpZeroCsum6Tx, :"udp_zero_csum6_rx" => UdpZeroCsum6Rx, :"label" => Label, :"ttl_inherit" => TtlInherit, :"df" => Df, :"inner_proto_inherit" => InnerProtoInherit, :"port_range" => PortRange, :"gro_hint" => GroHint, :"local" => Local, :"local6" => Local6}) #: Hash[::Symbol, Attribute]
2514
2539
  # :nodoc:
2515
- BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Remote, 3 => Ttl, 4 => Tos, 5 => Port, 6 => CollectMetadata, 7 => Remote6, 8 => UdpCsum, 9 => UdpZeroCsum6Tx, 10 => UdpZeroCsum6Rx, 11 => Label, 12 => TtlInherit, 13 => Df, 14 => InnerProtoInherit, 15 => PortRange}) #: Hash[::Integer, Attribute]
2540
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Remote, 3 => Ttl, 4 => Tos, 5 => Port, 6 => CollectMetadata, 7 => Remote6, 8 => UdpCsum, 9 => UdpZeroCsum6Tx, 10 => UdpZeroCsum6Rx, 11 => Label, 12 => TtlInherit, 13 => Df, 14 => InnerProtoInherit, 15 => PortRange, 16 => GroHint, 17 => Local, 18 => Local6}) #: Hash[::Integer, Attribute]
2516
2541
  class << self
2517
2542
  # Looks up Attribute class by name.
2518
2543
  #--
@@ -3331,10 +3356,15 @@ class RtLink < ::Nl::Family
3331
3356
  NAME = :"tailroom"
3332
3357
  DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
3333
3358
  end
3359
+ class Pairing < Attribute
3360
+ TYPE = 10
3361
+ NAME = :"pairing"
3362
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
3363
+ end
3334
3364
  # :nodoc:
3335
- BY_NAME = Ractor.make_shareable({:"peer_info" => PeerInfo, :"primary" => Primary, :"policy" => Policy, :"peer_policy" => PeerPolicy, :"mode" => Mode, :"scrub" => Scrub, :"peer_scrub" => PeerScrub, :"headroom" => Headroom, :"tailroom" => Tailroom}) #: Hash[::Symbol, Attribute]
3365
+ BY_NAME = Ractor.make_shareable({:"peer_info" => PeerInfo, :"primary" => Primary, :"policy" => Policy, :"peer_policy" => PeerPolicy, :"mode" => Mode, :"scrub" => Scrub, :"peer_scrub" => PeerScrub, :"headroom" => Headroom, :"tailroom" => Tailroom, :"pairing" => Pairing}) #: Hash[::Symbol, Attribute]
3336
3366
  # :nodoc:
3337
- BY_TYPE = Ractor.make_shareable({1 => PeerInfo, 2 => Primary, 3 => Policy, 4 => PeerPolicy, 5 => Mode, 6 => Scrub, 7 => PeerScrub, 8 => Headroom, 9 => Tailroom}) #: Hash[::Integer, Attribute]
3367
+ BY_TYPE = Ractor.make_shareable({1 => PeerInfo, 2 => Primary, 3 => Policy, 4 => PeerPolicy, 5 => Mode, 6 => Scrub, 7 => PeerScrub, 8 => Headroom, 9 => Tailroom, 10 => Pairing}) #: Hash[::Integer, Attribute]
3338
3368
  class << self
3339
3369
  # Looks up Attribute class by name.
3340
3370
  #--
@@ -3585,7 +3615,7 @@ class RtLink < ::Nl::Family
3585
3615
  TYPE = 16
3586
3616
  FIXED_HEADER = Structs::Ifinfomsg
3587
3617
  ATTRIBUTE_SET = AttributeSets::LinkAttrs
3588
- ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority 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])
3618
+ 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])
3589
3619
  # Gets the value of `ifi-family` field in the message's fixed header.
3590
3620
  #--
3591
3621
  # @rbs return: ::Integer
@@ -3634,25 +3664,17 @@ class RtLink < ::Nl::Family
3634
3664
  #--
3635
3665
  # @rbs return: untyped
3636
3666
  def stats; attributes[:"stats"]&.value; end
3637
- # Gets the value of `cost` attribute in the message.
3638
- #--
3639
- # @rbs return: ::String
3640
- def cost; attributes[:"cost"]&.value; end
3641
- # Gets the value of `priority` attribute in the message.
3642
- #--
3643
- # @rbs return: ::String
3644
- def priority; attributes[:"priority"]&.value; end
3645
3667
  # Gets the value of `master` attribute in the message.
3646
3668
  #--
3647
3669
  # @rbs return: ::Integer
3648
3670
  def master; attributes[:"master"]&.value; end
3649
3671
  # Gets the value of `wireless` attribute in the message.
3650
3672
  #--
3651
- # @rbs return: ::String
3673
+ # @rbs return: untyped
3652
3674
  def wireless; attributes[:"wireless"]&.value; end
3653
3675
  # Gets the value of `protinfo` attribute in the message.
3654
3676
  #--
3655
- # @rbs return: ::String
3677
+ # @rbs return: untyped
3656
3678
  def protinfo; attributes[:"protinfo"]&.value; end
3657
3679
  # Gets the value of `txqlen` attribute in the message.
3658
3680
  #--
@@ -3903,7 +3925,7 @@ class RtLink < ::Nl::Family
3903
3925
  TYPE = 16
3904
3926
  FIXED_HEADER = Structs::Ifinfomsg
3905
3927
  ATTRIBUTE_SET = AttributeSets::LinkAttrs
3906
- ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority 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])
3928
+ 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])
3907
3929
  # Gets the value of `ifi-family` field in the message's fixed header.
3908
3930
  #--
3909
3931
  # @rbs return: ::Integer
@@ -3952,25 +3974,17 @@ class RtLink < ::Nl::Family
3952
3974
  #--
3953
3975
  # @rbs return: untyped
3954
3976
  def stats; attributes[:"stats"]&.value; end
3955
- # Gets the value of `cost` attribute in the message.
3956
- #--
3957
- # @rbs return: ::String
3958
- def cost; attributes[:"cost"]&.value; end
3959
- # Gets the value of `priority` attribute in the message.
3960
- #--
3961
- # @rbs return: ::String
3962
- def priority; attributes[:"priority"]&.value; end
3963
3977
  # Gets the value of `master` attribute in the message.
3964
3978
  #--
3965
3979
  # @rbs return: ::Integer
3966
3980
  def master; attributes[:"master"]&.value; end
3967
3981
  # Gets the value of `wireless` attribute in the message.
3968
3982
  #--
3969
- # @rbs return: ::String
3983
+ # @rbs return: untyped
3970
3984
  def wireless; attributes[:"wireless"]&.value; end
3971
3985
  # Gets the value of `protinfo` attribute in the message.
3972
3986
  #--
3973
- # @rbs return: ::String
3987
+ # @rbs return: untyped
3974
3988
  def protinfo; attributes[:"protinfo"]&.value; end
3975
3989
  # Gets the value of `txqlen` attribute in the message.
3976
3990
  #--
@@ -4178,7 +4192,7 @@ class RtLink < ::Nl::Family
4178
4192
  TYPE = 19
4179
4193
  FIXED_HEADER = Structs::Ifinfomsg
4180
4194
  ATTRIBUTE_SET = AttributeSets::LinkAttrs
4181
- ATTRIBUTES = Ractor.make_shareable(%i[address broadcast ifname mtu link qdisc stats cost priority 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])
4195
+ 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])
4182
4196
  # Gets the value of `ifi-family` field in the message's fixed header.
4183
4197
  #--
4184
4198
  # @rbs return: ::Integer
@@ -4227,25 +4241,17 @@ class RtLink < ::Nl::Family
4227
4241
  #--
4228
4242
  # @rbs return: untyped
4229
4243
  def stats; attributes[:"stats"]&.value; end
4230
- # Gets the value of `cost` attribute in the message.
4231
- #--
4232
- # @rbs return: ::String
4233
- def cost; attributes[:"cost"]&.value; end
4234
- # Gets the value of `priority` attribute in the message.
4235
- #--
4236
- # @rbs return: ::String
4237
- def priority; attributes[:"priority"]&.value; end
4238
4244
  # Gets the value of `master` attribute in the message.
4239
4245
  #--
4240
4246
  # @rbs return: ::Integer
4241
4247
  def master; attributes[:"master"]&.value; end
4242
4248
  # Gets the value of `wireless` attribute in the message.
4243
4249
  #--
4244
- # @rbs return: ::String
4250
+ # @rbs return: untyped
4245
4251
  def wireless; attributes[:"wireless"]&.value; end
4246
4252
  # Gets the value of `protinfo` attribute in the message.
4247
4253
  #--
4248
- # @rbs return: ::String
4254
+ # @rbs return: untyped
4249
4255
  def protinfo; attributes[:"protinfo"]&.value; end
4250
4256
  # Gets the value of `txqlen` attribute in the message.
4251
4257
  #--
@@ -4592,7 +4598,7 @@ class RtLink < ::Nl::Family
4592
4598
  end
4593
4599
  # Set information about a link.
4594
4600
  #--
4595
- # @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, ?cost: ::String, ?priority: ::String, ?master: ::Integer, ?wireless: ::String, ?protinfo: ::String, ?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
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
4596
4602
  def do_setlink(**args)
4597
4603
  exchange_message(:"do", Messages::DoSetlinkRequest, nil, args)
4598
4604
  end