.. SPDX-License-Identifier: GPL-2.0
.. NOTE: This document was auto-generated.


========================================
Family ``rt-link`` netlink specification
========================================


.. contents::


-------
Summary
-------


Link configuration over rtnetlink.

----------
Operations
----------



newlink
=======
Create a new link.

:attribute-set: link-attrs
:fixed-header: ifinfomsg
:do:
    **request**
        :attributes: [``ifi-index``, ``ifname``, ``net-ns-pid``, ``net-ns-fd``, ``target-netnsid``, ``link-netnsid``, ``linkinfo``, ``group``, ``num-tx-queues``, ``num-rx-queues``, ``address``, ``broadcast``, ``mtu``, ``txqlen``, ``operstate``, ``linkmode``, ``group``, ``gso-max-size``, ``gso-max-segs``, ``gro-max-size``, ``gso-ipv4-max-size``, ``gro-ipv4-max-size``, ``af-spec``]




dellink
=======
Delete an existing link.

:attribute-set: link-attrs
:fixed-header: ifinfomsg
:do:
    **request**
        :attributes: [``ifi-index``, ``ifname``]




getlink
=======
Get / dump information about a link.

:attribute-set: link-attrs
:fixed-header: ifinfomsg
:do:
    **request**
        :attributes: [``ifi-index``, ``ifname``, ``alt-ifname``, ``ext-mask``, ``target-netnsid``]

    **reply**
        :attributes: [``ifi-family``, ``ifi-type``, ``ifi-index``, ``ifi-flags``, ``ifi-change``, ``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``, ``if-netnsid``, ``target-netnsid``, ``carrier-up-count``, ``carrier-down-count``, ``new-ifindex``, ``min-mtu``, ``max-mtu``, ``prop-list``, ``alt-ifname``, ``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``]

:dump:
    **request**
        :attributes: [``target-netnsid``, ``ext-mask``, ``master``, ``linkinfo``]

    **reply**
        :attributes: [``ifi-family``, ``ifi-type``, ``ifi-index``, ``ifi-flags``, ``ifi-change``, ``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``, ``if-netnsid``, ``target-netnsid``, ``carrier-up-count``, ``carrier-down-count``, ``new-ifindex``, ``min-mtu``, ``max-mtu``, ``prop-list``, ``alt-ifname``, ``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``]




setlink
=======
Set information about a link.

:attribute-set: link-attrs
:fixed-header: ifinfomsg
:do:
    **request**
        :attributes: [``ifi-family``, ``ifi-type``, ``ifi-index``, ``ifi-flags``, ``ifi-change``, ``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``, ``if-netnsid``, ``target-netnsid``, ``carrier-up-count``, ``carrier-down-count``, ``new-ifindex``, ``min-mtu``, ``max-mtu``, ``prop-list``, ``alt-ifname``, ``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``]




getstats
========
Get / dump link stats.

:attribute-set: stats-attrs
:fixed-header: if_stats_msg
:do:
    **request**
        :attributes: [``ifindex``]

    **reply**
        :attributes: [``family``, ``ifindex``, ``filter-mask``, ``link-64``, ``link-xstats``, ``link-xstats-slave``, ``link-offload-xstats``, ``af-spec``]

:dump:
    **request**


    **reply**
        :attributes: [``family``, ``ifindex``, ``filter-mask``, ``link-64``, ``link-xstats``, ``link-xstats-slave``, ``link-offload-xstats``, ``af-spec``]




----------------
Multicast groups
----------------


- rtnlgrp-link
- rtnlgrp-stats

-----------
Definitions
-----------



ifinfo-flags
============
:type: flags


:entries:
    :up: 
    :broadcast: 
    :debug: 
    :loopback: 
    :point-to-point: 
    :no-trailers: 
    :running: 
    :no-arp: 
    :promisc: 
    :all-multi: 
    :master: 
    :slave: 
    :multicast: 
    :portsel: 
    :auto-media: 
    :dynamic: 
    :lower-up: 
    :dormant: 
    :echo: 



rtgenmsg
========
:type: struct


:members:
    :family (``u8``): 



ifinfomsg
=========
:type: struct


:members:
    :ifi-family (``u8``): 
    :ifi-type (``u16``): 
    :ifi-index (``s32``): 
    :ifi-flags (``u32``): 
    :ifi-change (``u32``): 



ifla-bridge-id
==============
:type: struct


:members:
    :prio (``u16``): 
    :addr (``binary``): 



ifla-cacheinfo
==============
:type: struct


:members:
    :max-reasm-len (``u32``): 
    :tstamp (``u32``): 
    :reachable-time (``s32``): 
    :retrans-time (``u32``): 



rtnl-link-stats
===============
:type: struct


:members:
    :rx-packets (``u32``): 
    :tx-packets (``u32``): 
    :rx-bytes (``u32``): 
    :tx-bytes (``u32``): 
    :rx-errors (``u32``): 
    :tx-errors (``u32``): 
    :rx-dropped (``u32``): 
    :tx-dropped (``u32``): 
    :multicast (``u32``): 
    :collisions (``u32``): 
    :rx-length-errors (``u32``): 
    :rx-over-errors (``u32``): 
    :rx-crc-errors (``u32``): 
    :rx-frame-errors (``u32``): 
    :rx-fifo-errors (``u32``): 
    :rx-missed-errors (``u32``): 
    :tx-aborted-errors (``u32``): 
    :tx-carrier-errors (``u32``): 
    :tx-fifo-errors (``u32``): 
    :tx-heartbeat-errors (``u32``): 
    :tx-window-errors (``u32``): 
    :rx-compressed (``u32``): 
    :tx-compressed (``u32``): 
    :rx-nohandler (``u32``): 



rtnl-link-stats64
=================
:type: struct


:members:
    :rx-packets (``u64``): 
    :tx-packets (``u64``): 
    :rx-bytes (``u64``): 
    :tx-bytes (``u64``): 
    :rx-errors (``u64``): 
    :tx-errors (``u64``): 
    :rx-dropped (``u64``): 
    :tx-dropped (``u64``): 
    :multicast (``u64``): 
    :collisions (``u64``): 
    :rx-length-errors (``u64``): 
    :rx-over-errors (``u64``): 
    :rx-crc-errors (``u64``): 
    :rx-frame-errors (``u64``): 
    :rx-fifo-errors (``u64``): 
    :rx-missed-errors (``u64``): 
    :tx-aborted-errors (``u64``): 
    :tx-carrier-errors (``u64``): 
    :tx-fifo-errors (``u64``): 
    :tx-heartbeat-errors (``u64``): 
    :tx-window-errors (``u64``): 
    :rx-compressed (``u64``): 
    :tx-compressed (``u64``): 
    :rx-nohandler (``u64``): 
    :rx-otherhost-dropped (``u64``): 



rtnl-link-ifmap
===============
:type: struct


:members:
    :mem-start (``u64``): 
    :mem-end (``u64``): 
    :base-addr (``u64``): 
    :irq (``u16``): 
    :dma (``u8``): 
    :port (``u8``): 



ipv4-devconf
============
:type: struct


:members:
    :forwarding (``u32``): 
    :mc-forwarding (``u32``): 
    :proxy-arp (``u32``): 
    :accept-redirects (``u32``): 
    :secure-redirects (``u32``): 
    :send-redirects (``u32``): 
    :shared-media (``u32``): 
    :rp-filter (``u32``): 
    :accept-source-route (``u32``): 
    :bootp-relay (``u32``): 
    :log-martians (``u32``): 
    :tag (``u32``): 
    :arpfilter (``u32``): 
    :medium-id (``u32``): 
    :noxfrm (``u32``): 
    :nopolicy (``u32``): 
    :force-igmp-version (``u32``): 
    :arp-announce (``u32``): 
    :arp-ignore (``u32``): 
    :promote-secondaries (``u32``): 
    :arp-accept (``u32``): 
    :arp-notify (``u32``): 
    :accept-local (``u32``): 
    :src-vmark (``u32``): 
    :proxy-arp-pvlan (``u32``): 
    :route-localnet (``u32``): 
    :igmpv2-unsolicited-report-interval (``u32``): 
    :igmpv3-unsolicited-report-interval (``u32``): 
    :ignore-routes-with-linkdown (``u32``): 
    :drop-unicast-in-l2-multicast (``u32``): 
    :drop-gratuitous-arp (``u32``): 
    :bc-forwarding (``u32``): 
    :arp-evict-nocarrier (``u32``): 



ipv6-devconf
============
:type: struct


:members:
    :forwarding (``u32``): 
    :hoplimit (``u32``): 
    :mtu6 (``u32``): 
    :accept-ra (``u32``): 
    :accept-redirects (``u32``): 
    :autoconf (``u32``): 
    :dad-transmits (``u32``): 
    :rtr-solicits (``u32``): 
    :rtr-solicit-interval (``u32``): 
    :rtr-solicit-delay (``u32``): 
    :use-tempaddr (``u32``): 
    :temp-valid-lft (``u32``): 
    :temp-prefered-lft (``u32``): 
    :regen-max-retry (``u32``): 
    :max-desync-factor (``u32``): 
    :max-addresses (``u32``): 
    :force-mld-version (``u32``): 
    :accept-ra-defrtr (``u32``): 
    :accept-ra-pinfo (``u32``): 
    :accept-ra-rtr-pref (``u32``): 
    :rtr-probe-interval (``u32``): 
    :accept-ra-rt-info-max-plen (``u32``): 
    :proxy-ndp (``u32``): 
    :optimistic-dad (``u32``): 
    :accept-source-route (``u32``): 
    :mc-forwarding (``u32``): 
    :disable-ipv6 (``u32``): 
    :accept-dad (``u32``): 
    :force-tllao (``u32``): 
    :ndisc-notify (``u32``): 
    :mldv1-unsolicited-report-interval (``u32``): 
    :mldv2-unsolicited-report-interval (``u32``): 
    :suppress-frag-ndisc (``u32``): 
    :accept-ra-from-local (``u32``): 
    :use-optimistic (``u32``): 
    :accept-ra-mtu (``u32``): 
    :stable-secret (``u32``): 
    :use-oif-addrs-only (``u32``): 
    :accept-ra-min-hop-limit (``u32``): 
    :ignore-routes-with-linkdown (``u32``): 
    :drop-unicast-in-l2-multicast (``u32``): 
    :drop-unsolicited-na (``u32``): 
    :keep-addr-on-down (``u32``): 
    :rtr-solicit-max-interval (``u32``): 
    :seg6-enabled (``u32``): 
    :seg6-require-hmac (``u32``): 
    :enhanced-dad (``u32``): 
    :addr-gen-mode (``u8``): 
    :disable-policy (``u32``): 
    :accept-ra-rt-info-min-plen (``u32``): 
    :ndisc-tclass (``u32``): 
    :rpl-seg-enabled (``u32``): 
    :ra-defrtr-metric (``u32``): 
    :ioam6-enabled (``u32``): 
    :ioam6-id (``u32``): 
    :ioam6-id-wide (``u32``): 
    :ndisc-evict-nocarrier (``u32``): 
    :accept-untracked-na (``u32``): 



ifla-icmp6-stats
================
:type: struct


:members:
    :inmsgs (``u64``): 
    :inerrors (``u64``): 
    :outmsgs (``u64``): 
    :outerrors (``u64``): 
    :csumerrors (``u64``): 
    :ratelimithost (``u64``): 



ifla-inet6-stats
================
:type: struct


:members:
    :inpkts (``u64``): 
    :inoctets (``u64``): 
    :indelivers (``u64``): 
    :outforwdatagrams (``u64``): 
    :outpkts (``u64``): 
    :outoctets (``u64``): 
    :inhdrerrors (``u64``): 
    :intoobigerrors (``u64``): 
    :innoroutes (``u64``): 
    :inaddrerrors (``u64``): 
    :inunknownprotos (``u64``): 
    :intruncatedpkts (``u64``): 
    :indiscards (``u64``): 
    :outdiscards (``u64``): 
    :outnoroutes (``u64``): 
    :reasmtimeout (``u64``): 
    :reasmreqds (``u64``): 
    :reasmoks (``u64``): 
    :reasmfails (``u64``): 
    :fragoks (``u64``): 
    :fragfails (``u64``): 
    :fragcreates (``u64``): 
    :inmcastpkts (``u64``): 
    :outmcastpkts (``u64``): 
    :inbcastpkts (``u64``): 
    :outbcastpkts (``u64``): 
    :inmcastoctets (``u64``): 
    :outmcastoctets (``u64``): 
    :inbcastoctets (``u64``): 
    :outbcastoctets (``u64``): 
    :csumerrors (``u64``): 
    :noectpkts (``u64``): 
    :ect1-pkts (``u64``): 
    :ect0-pkts (``u64``): 
    :cepkts (``u64``): 
    :reasm-overlaps (``u64``): 



br-boolopt-multi
================
:type: struct


:members:
    :optval (``u32``): 
    :optmask (``u32``): 



if_stats_msg
============
:type: struct


:members:
    :family (``u8``): 
    :ifindex (``u32``): 
    :filter-mask (``u32``): 



--------------
Attribute sets
--------------



link-attrs
==========
address (``binary``)
~~~~~~~~~~~~~~~~~~~~
:display-hint: mac


broadcast (``binary``)
~~~~~~~~~~~~~~~~~~~~~~
:display-hint: mac


ifname (``string``)
~~~~~~~~~~~~~~~~~~~


mtu (``u32``)
~~~~~~~~~~~~~


link (``u32``)
~~~~~~~~~~~~~~


qdisc (``string``)
~~~~~~~~~~~~~~~~~~


stats (``binary``)
~~~~~~~~~~~~~~~~~~
:struct: rtnl-link-stats


cost (``string``)
~~~~~~~~~~~~~~~~~


priority (``string``)
~~~~~~~~~~~~~~~~~~~~~


master (``u32``)
~~~~~~~~~~~~~~~~


wireless (``string``)
~~~~~~~~~~~~~~~~~~~~~


protinfo (``string``)
~~~~~~~~~~~~~~~~~~~~~


txqlen (``u32``)
~~~~~~~~~~~~~~~~


map (``binary``)
~~~~~~~~~~~~~~~~
:struct: rtnl-link-ifmap


weight (``u32``)
~~~~~~~~~~~~~~~~


operstate (``u8``)
~~~~~~~~~~~~~~~~~~


linkmode (``u8``)
~~~~~~~~~~~~~~~~~


linkinfo (``nest``)
~~~~~~~~~~~~~~~~~~~
:nested-attributes: linkinfo-attrs


net-ns-pid (``u32``)
~~~~~~~~~~~~~~~~~~~~


ifalias (``string``)
~~~~~~~~~~~~~~~~~~~~


num-vf (``u32``)
~~~~~~~~~~~~~~~~


vfinfo-list (``nest``)
~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: vfinfo-attrs


stats64 (``binary``)
~~~~~~~~~~~~~~~~~~~~
:struct: rtnl-link-stats64


vf-ports (``nest``)
~~~~~~~~~~~~~~~~~~~
:nested-attributes: vf-ports-attrs


port-self (``nest``)
~~~~~~~~~~~~~~~~~~~~
:nested-attributes: port-self-attrs


af-spec (``nest``)
~~~~~~~~~~~~~~~~~~
:nested-attributes: af-spec-attrs


group (``u32``)
~~~~~~~~~~~~~~~


net-ns-fd (``u32``)
~~~~~~~~~~~~~~~~~~~


ext-mask (``u32``)
~~~~~~~~~~~~~~~~~~


promiscuity (``u32``)
~~~~~~~~~~~~~~~~~~~~~


num-tx-queues (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


num-rx-queues (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


carrier (``u8``)
~~~~~~~~~~~~~~~~


phys-port-id (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~


carrier-changes (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~


phys-switch-id (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


link-netnsid (``s32``)
~~~~~~~~~~~~~~~~~~~~~~


phys-port-name (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


proto-down (``u8``)
~~~~~~~~~~~~~~~~~~~


gso-max-segs (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


gso-max-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


pad (``pad``)
~~~~~~~~~~~~~


xdp (``nest``)
~~~~~~~~~~~~~~
:nested-attributes: xdp-attrs


event (``u32``)
~~~~~~~~~~~~~~~


new-netnsid (``s32``)
~~~~~~~~~~~~~~~~~~~~~


target-netnsid (``s32``)
~~~~~~~~~~~~~~~~~~~~~~~~


carrier-up-count (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


carrier-down-count (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


new-ifindex (``s32``)
~~~~~~~~~~~~~~~~~~~~~


min-mtu (``u32``)
~~~~~~~~~~~~~~~~~


max-mtu (``u32``)
~~~~~~~~~~~~~~~~~


prop-list (``nest``)
~~~~~~~~~~~~~~~~~~~~
:nested-attributes: link-attrs


alt-ifname (``string``)
~~~~~~~~~~~~~~~~~~~~~~~
:multi-attr: True


perm-address (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: mac


proto-down-reason (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


parent-dev-name (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


parent-dev-bus-name (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


gro-max-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


tso-max-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


tso-max-segs (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


allmulti (``u32``)
~~~~~~~~~~~~~~~~~~


devlink-port (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~


gso-ipv4-max-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


gro-ipv4-max-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


dpll-pin (``nest``)
~~~~~~~~~~~~~~~~~~~
:nested-attributes: link-dpll-pin-attrs



af-spec-attrs
=============
inet (``nest``)
~~~~~~~~~~~~~~~
:value: 2
:nested-attributes: ifla-attrs


inet6 (``nest``)
~~~~~~~~~~~~~~~~
:value: 10
:nested-attributes: ifla6-attrs


mctp (``nest``)
~~~~~~~~~~~~~~~
:value: 45
:nested-attributes: mctp-attrs



vfinfo-attrs
============

vf-ports-attrs
==============

port-self-attrs
===============

linkinfo-attrs
==============
kind (``string``)
~~~~~~~~~~~~~~~~~


data (``sub-message``)
~~~~~~~~~~~~~~~~~~~~~~
:sub-message: linkinfo-data-msg
:selector: kind


xstats (``binary``)
~~~~~~~~~~~~~~~~~~~


slave-kind (``string``)
~~~~~~~~~~~~~~~~~~~~~~~


slave-data (``sub-message``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:sub-message: linkinfo-member-data-msg
:selector: slave-kind



linkinfo-bridge-attrs
=====================
forward-delay (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


hello-time (``u32``)
~~~~~~~~~~~~~~~~~~~~


max-age (``u32``)
~~~~~~~~~~~~~~~~~


ageing-time (``u32``)
~~~~~~~~~~~~~~~~~~~~~


stp-state (``u32``)
~~~~~~~~~~~~~~~~~~~


priority (``u16``)
~~~~~~~~~~~~~~~~~~


vlan-filtering (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~


vlan-protocol (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~


group-fwd-mask (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~


root-id (``binary``)
~~~~~~~~~~~~~~~~~~~~
:struct: ifla-bridge-id


bridge-id (``binary``)
~~~~~~~~~~~~~~~~~~~~~~
:struct: ifla-bridge-id


root-port (``u16``)
~~~~~~~~~~~~~~~~~~~


root-path-cost (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~


topology-change (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~


topology-change-detected (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


hello-timer (``u64``)
~~~~~~~~~~~~~~~~~~~~~


tcn-timer (``u64``)
~~~~~~~~~~~~~~~~~~~


topology-change-timer (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


gc-timer (``u64``)
~~~~~~~~~~~~~~~~~~


group-addr (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: mac


fdb-flush (``binary``)
~~~~~~~~~~~~~~~~~~~~~~


mcast-router (``u8``)
~~~~~~~~~~~~~~~~~~~~~


mcast-snooping (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~


mcast-query-use-ifaddr (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-querier (``u8``)
~~~~~~~~~~~~~~~~~~~~~~


mcast-hash-elasticity (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-hash-max (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~


mcast-last-member-cnt (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-startup-query-cnt (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-last-member-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-membership-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-querier-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-query-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-query-response-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-startup-query-intvl (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


nf-call-iptables (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~


nf-call-ip6-tables (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


nf-call-arptables (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


vlan-default-pvid (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


pad (``pad``)
~~~~~~~~~~~~~


vlan-stats-enabled (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-stats-enabled (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-igmp-version (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-mld-version (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


vlan-stats-per-port (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


multi-boolopt (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~
:struct: br-boolopt-multi


mcast-querier-state (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


fdb-n-learned (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


fdb-max-learned (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~



linkinfo-brport-attrs
=====================
state (``u8``)
~~~~~~~~~~~~~~


priority (``u16``)
~~~~~~~~~~~~~~~~~~


cost (``u32``)
~~~~~~~~~~~~~~


mode (``flag``)
~~~~~~~~~~~~~~~


guard (``flag``)
~~~~~~~~~~~~~~~~


protect (``flag``)
~~~~~~~~~~~~~~~~~~


fast-leave (``flag``)
~~~~~~~~~~~~~~~~~~~~~


learning (``flag``)
~~~~~~~~~~~~~~~~~~~


unicast-flood (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~


proxyarp (``flag``)
~~~~~~~~~~~~~~~~~~~


learning-sync (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~


proxyarp-wifi (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~


root-id (``binary``)
~~~~~~~~~~~~~~~~~~~~
:struct: ifla-bridge-id


bridge-id (``binary``)
~~~~~~~~~~~~~~~~~~~~~~
:struct: ifla-bridge-id


designated-port (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~~


designated-cost (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~~


id (``u16``)
~~~~~~~~~~~~


no (``u16``)
~~~~~~~~~~~~


topology-change-ack (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


config-pending (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~


message-age-timer (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


forward-delay-timer (``u64``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


hold-timer (``u64``)
~~~~~~~~~~~~~~~~~~~~


flush (``flag``)
~~~~~~~~~~~~~~~~


multicast-router (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~


pad (``pad``)
~~~~~~~~~~~~~


mcast-flood (``flag``)
~~~~~~~~~~~~~~~~~~~~~~


mcast-to-ucast (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~


vlan-tunnel (``flag``)
~~~~~~~~~~~~~~~~~~~~~~


bcast-flood (``flag``)
~~~~~~~~~~~~~~~~~~~~~~


group-fwd-mask (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~


neigh-suppress (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~


isolated (``flag``)
~~~~~~~~~~~~~~~~~~~


backup-port (``u32``)
~~~~~~~~~~~~~~~~~~~~~


mrp-ring-open (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~


mrp-in-open (``flag``)
~~~~~~~~~~~~~~~~~~~~~~


mcast-eht-hosts-limit (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


mcast-eht-hosts-cnt (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


locked (``flag``)
~~~~~~~~~~~~~~~~~


mab (``flag``)
~~~~~~~~~~~~~~


mcast-n-groups (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~


mcast-max-groups (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


neigh-vlan-suppress (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


backup-nhid (``u32``)
~~~~~~~~~~~~~~~~~~~~~



linkinfo-gre-attrs
==================
link (``u32``)
~~~~~~~~~~~~~~


iflags (``u16``)
~~~~~~~~~~~~~~~~


oflags (``u16``)
~~~~~~~~~~~~~~~~


ikey (``u32``)
~~~~~~~~~~~~~~


okey (``u32``)
~~~~~~~~~~~~~~


local (``binary``)
~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


remote (``binary``)
~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


ttl (``u8``)
~~~~~~~~~~~~


tos (``u8``)
~~~~~~~~~~~~


pmtudisc (``u8``)
~~~~~~~~~~~~~~~~~


encap-limit (``u32``)
~~~~~~~~~~~~~~~~~~~~~


flowinfo (``u32``)
~~~~~~~~~~~~~~~~~~


flags (``u32``)
~~~~~~~~~~~~~~~


encap-type (``u16``)
~~~~~~~~~~~~~~~~~~~~


encap-flags (``u16``)
~~~~~~~~~~~~~~~~~~~~~


encap-sport (``u16``)
~~~~~~~~~~~~~~~~~~~~~


encap-dport (``u16``)
~~~~~~~~~~~~~~~~~~~~~


collect-metadata (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


ignore-df (``u8``)
~~~~~~~~~~~~~~~~~~


fwmark (``u32``)
~~~~~~~~~~~~~~~~


erspan-index (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


erspan-ver (``u8``)
~~~~~~~~~~~~~~~~~~~


erspan-dir (``u8``)
~~~~~~~~~~~~~~~~~~~


erspan-hwid (``u16``)
~~~~~~~~~~~~~~~~~~~~~



linkinfo-geneve-attrs
=====================
id (``u32``)
~~~~~~~~~~~~


remote (``binary``)
~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


ttl (``u8``)
~~~~~~~~~~~~


tos (``u8``)
~~~~~~~~~~~~


port (``u16``)
~~~~~~~~~~~~~~


collect-metadata (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


remote6 (``binary``)
~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv6


udp-csum (``u8``)
~~~~~~~~~~~~~~~~~


udp-zero-csum6-tx (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


udp-zero-csum6-rx (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


label (``u32``)
~~~~~~~~~~~~~~~


ttl-inherit (``u8``)
~~~~~~~~~~~~~~~~~~~~


df (``u8``)
~~~~~~~~~~~


inner-proto-inherit (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



linkinfo-iptun-attrs
====================
link (``u32``)
~~~~~~~~~~~~~~


local (``binary``)
~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


remote (``binary``)
~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


ttl (``u8``)
~~~~~~~~~~~~


tos (``u8``)
~~~~~~~~~~~~


encap-limit (``u8``)
~~~~~~~~~~~~~~~~~~~~


flowinfo (``u32``)
~~~~~~~~~~~~~~~~~~


flags (``u16``)
~~~~~~~~~~~~~~~


proto (``u8``)
~~~~~~~~~~~~~~


pmtudisc (``u8``)
~~~~~~~~~~~~~~~~~


6rd-prefix (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv6


6rd-relay-prefix (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


6rd-prefixlen (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~


6rd-relay-prefixlen (``u16``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


encap-type (``u16``)
~~~~~~~~~~~~~~~~~~~~


encap-flags (``u16``)
~~~~~~~~~~~~~~~~~~~~~


encap-sport (``u16``)
~~~~~~~~~~~~~~~~~~~~~


encap-dport (``u16``)
~~~~~~~~~~~~~~~~~~~~~


collect-metadata (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~


fwmark (``u32``)
~~~~~~~~~~~~~~~~



linkinfo-tun-attrs
==================
owner (``u32``)
~~~~~~~~~~~~~~~


group (``u32``)
~~~~~~~~~~~~~~~


type (``u8``)
~~~~~~~~~~~~~


pi (``u8``)
~~~~~~~~~~~


vnet-hdr (``u8``)
~~~~~~~~~~~~~~~~~


persist (``u8``)
~~~~~~~~~~~~~~~~


multi-queue (``u8``)
~~~~~~~~~~~~~~~~~~~~


num-queues (``u32``)
~~~~~~~~~~~~~~~~~~~~


num-disabled-queues (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



linkinfo-vrf-attrs
==================
table (``u32``)
~~~~~~~~~~~~~~~



xdp-attrs
=========
fd (``s32``)
~~~~~~~~~~~~


attached (``u8``)
~~~~~~~~~~~~~~~~~


flags (``u32``)
~~~~~~~~~~~~~~~


prog-id (``u32``)
~~~~~~~~~~~~~~~~~


drv-prog-id (``u32``)
~~~~~~~~~~~~~~~~~~~~~


skb-prog-id (``u32``)
~~~~~~~~~~~~~~~~~~~~~


hw-prog-id (``u32``)
~~~~~~~~~~~~~~~~~~~~


expected-fd (``s32``)
~~~~~~~~~~~~~~~~~~~~~



ifla-attrs
==========
conf (``binary``)
~~~~~~~~~~~~~~~~~
:struct: ipv4-devconf



ifla6-attrs
===========
flags (``u32``)
~~~~~~~~~~~~~~~


conf (``binary``)
~~~~~~~~~~~~~~~~~
:struct: ipv6-devconf


stats (``binary``)
~~~~~~~~~~~~~~~~~~
:struct: ifla-inet6-stats


mcast (``binary``)
~~~~~~~~~~~~~~~~~~


cacheinfo (``binary``)
~~~~~~~~~~~~~~~~~~~~~~
:struct: ifla-cacheinfo


icmp6-stats (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~
:struct: ifla-icmp6-stats


token (``binary``)
~~~~~~~~~~~~~~~~~~


addr-gen-mode (``u8``)
~~~~~~~~~~~~~~~~~~~~~~


ra-mtu (``u32``)
~~~~~~~~~~~~~~~~



mctp-attrs
==========
mctp-net (``u32``)
~~~~~~~~~~~~~~~~~~



stats-attrs
===========
link-64 (``binary``)
~~~~~~~~~~~~~~~~~~~~
:struct: rtnl-link-stats64


link-xstats (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~


link-xstats-slave (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


link-offload-xstats (``nest``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: link-offload-xstats


af-spec (``binary``)
~~~~~~~~~~~~~~~~~~~~



link-offload-xstats
===================
cpu-hit (``binary``)
~~~~~~~~~~~~~~~~~~~~


hw-s-info (``array-nest``)
~~~~~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: hw-s-info-one


l3-stats (``binary``)
~~~~~~~~~~~~~~~~~~~~~



hw-s-info-one
=============
request (``u8``)
~~~~~~~~~~~~~~~~


used (``u8``)
~~~~~~~~~~~~~



link-dpll-pin-attrs
===================
id (``u32``)
~~~~~~~~~~~~



------------
Sub-messages
------------



linkinfo-data-msg
=================
- **bridge**
    :attribute-set: linkinfo-bridge-attrs


- **erspan**
    :attribute-set: linkinfo-gre-attrs


- **gre**
    :attribute-set: linkinfo-gre-attrs


- **gretap**
    :attribute-set: linkinfo-gre-attrs


- **geneve**
    :attribute-set: linkinfo-geneve-attrs


- **ipip**
    :attribute-set: linkinfo-iptun-attrs


- **sit**
    :attribute-set: linkinfo-iptun-attrs


- **tun**
    :attribute-set: linkinfo-tun-attrs


- **vrf**
    :attribute-set: linkinfo-vrf-attrs



linkinfo-member-data-msg
========================
- **bridge**
    :attribute-set: linkinfo-brport-attrs


- **bond**