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


=========================================
Family ``rt-route`` netlink specification
=========================================


.. contents:: :depth: 3


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


Route configuration over rtnetlink.

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


.. _rt-route-operation-getroute:

getroute
========
Dump route information.

:attribute-set: :ref:`rt-route-attribute-set-route-attrs`
:fixed-header: :ref:`rt-route-definition-rtmsg`
:do:
    **request**
        :attributes: [``rtm-family``, ``rta-src``, ``rtm-src-len``, ``rta-dst``, ``rtm-dst-len``, ``rta-iif``, ``rta-oif``, ``rta-ip-proto``, ``rta-sport``, ``rta-dport``, ``rta-mark``, ``rta-uid``, ``rta-flowlabel``]

    **reply**
        :attributes: [``rtm-family``, ``rtm-dst-len``, ``rtm-src-len``, ``rtm-tos``, ``rtm-table``, ``rtm-protocol``, ``rtm-scope``, ``rtm-type``, ``rtm-flags``, ``rta-dst``, ``rta-src``, ``rta-iif``, ``rta-oif``, ``rta-gateway``, ``rta-priority``, ``rta-prefsrc``, ``rta-metrics``, ``rta-multipath``, ``rta-flow``, ``rta-cacheinfo``, ``rta-table``, ``rta-mark``, ``rta-mfc-stats``, ``rta-via``, ``rta-newdst``, ``rta-pref``, ``rta-encap-type``, ``rta-encap``, ``rta-expires``, ``rta-pad``, ``rta-uid``, ``rta-ttl-propagate``, ``rta-ip-proto``, ``rta-sport``, ``rta-dport``, ``rta-nh-id``, ``rta-flowlabel``]

:dump:
    **request**
        :attributes: [``rtm-family``]

    **reply**
        :attributes: [``rtm-family``, ``rtm-dst-len``, ``rtm-src-len``, ``rtm-tos``, ``rtm-table``, ``rtm-protocol``, ``rtm-scope``, ``rtm-type``, ``rtm-flags``, ``rta-dst``, ``rta-src``, ``rta-iif``, ``rta-oif``, ``rta-gateway``, ``rta-priority``, ``rta-prefsrc``, ``rta-metrics``, ``rta-multipath``, ``rta-flow``, ``rta-cacheinfo``, ``rta-table``, ``rta-mark``, ``rta-mfc-stats``, ``rta-via``, ``rta-newdst``, ``rta-pref``, ``rta-encap-type``, ``rta-encap``, ``rta-expires``, ``rta-pad``, ``rta-uid``, ``rta-ttl-propagate``, ``rta-ip-proto``, ``rta-sport``, ``rta-dport``, ``rta-nh-id``, ``rta-flowlabel``]



.. _rt-route-operation-newroute:

newroute
========
Create a new route

:attribute-set: :ref:`rt-route-attribute-set-route-attrs`
:fixed-header: :ref:`rt-route-definition-rtmsg`
:do:
    **request**
        :attributes: [``rtm-family``, ``rtm-dst-len``, ``rtm-src-len``, ``rtm-tos``, ``rtm-table``, ``rtm-protocol``, ``rtm-scope``, ``rtm-type``, ``rtm-flags``, ``rta-dst``, ``rta-src``, ``rta-iif``, ``rta-oif``, ``rta-gateway``, ``rta-priority``, ``rta-prefsrc``, ``rta-metrics``, ``rta-multipath``, ``rta-flow``, ``rta-cacheinfo``, ``rta-table``, ``rta-mark``, ``rta-mfc-stats``, ``rta-via``, ``rta-newdst``, ``rta-pref``, ``rta-encap-type``, ``rta-encap``, ``rta-expires``, ``rta-pad``, ``rta-uid``, ``rta-ttl-propagate``, ``rta-ip-proto``, ``rta-sport``, ``rta-dport``, ``rta-nh-id``, ``rta-flowlabel``]



.. _rt-route-operation-delroute:

delroute
========
Delete an existing route

:attribute-set: :ref:`rt-route-attribute-set-route-attrs`
:fixed-header: :ref:`rt-route-definition-rtmsg`
:do:
    **request**
        :attributes: [``rtm-family``, ``rtm-dst-len``, ``rtm-src-len``, ``rtm-tos``, ``rtm-table``, ``rtm-protocol``, ``rtm-scope``, ``rtm-type``, ``rtm-flags``, ``rta-dst``, ``rta-src``, ``rta-iif``, ``rta-oif``, ``rta-gateway``, ``rta-priority``, ``rta-prefsrc``, ``rta-metrics``, ``rta-multipath``, ``rta-flow``, ``rta-cacheinfo``, ``rta-table``, ``rta-mark``, ``rta-mfc-stats``, ``rta-via``, ``rta-newdst``, ``rta-pref``, ``rta-encap-type``, ``rta-encap``, ``rta-expires``, ``rta-pad``, ``rta-uid``, ``rta-ttl-propagate``, ``rta-ip-proto``, ``rta-sport``, ``rta-dport``, ``rta-nh-id``, ``rta-flowlabel``]




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


.. _rt-route-definition-rtm-type:

rtm-type
========
:name-prefix: rtn-
:type: enum


:entries:
    - ``unspec``
    - ``unicast``
    - ``local``
    - ``broadcast``
    - ``anycast``
    - ``multicast``
    - ``blackhole``
    - ``unreachable``
    - ``prohibit``
    - ``throw``
    - ``nat``
    - ``xresolve``


.. _rt-route-definition-rtmsg:

rtmsg
=====
:type: struct


:members:
    :rtm-family (``u8``): 
    :rtm-dst-len (``u8``): 
    :rtm-src-len (``u8``): 
    :rtm-tos (``u8``): 
    :rtm-table (``u8``): 
    :rtm-protocol (``u8``): 
    :rtm-scope (``u8``): 
    :rtm-type (``u8``): 
    :rtm-flags (``u32``): 


.. _rt-route-definition-rta-cacheinfo:

rta-cacheinfo
=============
:type: struct


:members:
    :rta-clntref (``u32``): 
    :rta-lastuse (``u32``): 
    :rta-expires (``u32``): 
    :rta-error (``u32``): 
    :rta-used (``u32``): 



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


.. _rt-route-attribute-set-route-attrs:

route-attrs
===========
rta-dst (``binary``)
~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


rta-src (``binary``)
~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


rta-iif (``u32``)
~~~~~~~~~~~~~~~~~


rta-oif (``u32``)
~~~~~~~~~~~~~~~~~


rta-gateway (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


rta-priority (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


rta-prefsrc (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~
:display-hint: ipv4


rta-metrics (``nest``)
~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: :ref:`rt-route-attribute-set-rta-metrics`


rta-multipath (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


rta-protoinfo (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


rta-flow (``u32``)
~~~~~~~~~~~~~~~~~~


rta-cacheinfo (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~
:struct: :ref:`rt-route-definition-rta-cacheinfo`


rta-session (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~


rta-mp-algo (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~


rta-table (``u32``)
~~~~~~~~~~~~~~~~~~~


rta-mark (``u32``)
~~~~~~~~~~~~~~~~~~


rta-mfc-stats (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


rta-via (``binary``)
~~~~~~~~~~~~~~~~~~~~


rta-newdst (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~


rta-pref (``u8``)
~~~~~~~~~~~~~~~~~


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


rta-encap (``binary``)
~~~~~~~~~~~~~~~~~~~~~~


rta-expires (``u32``)
~~~~~~~~~~~~~~~~~~~~~


rta-pad (``binary``)
~~~~~~~~~~~~~~~~~~~~


rta-uid (``u32``)
~~~~~~~~~~~~~~~~~


rta-ttl-propagate (``u8``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


rta-ip-proto (``u8``)
~~~~~~~~~~~~~~~~~~~~~


rta-sport (``u16``)
~~~~~~~~~~~~~~~~~~~


rta-dport (``u16``)
~~~~~~~~~~~~~~~~~~~


rta-nh-id (``u32``)
~~~~~~~~~~~~~~~~~~~


rta-flowlabel (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~
:byte-order: big-endian
:display-hint: hex


.. _rt-route-attribute-set-rta-metrics:

rta-metrics
===========
rtax-unspec (``unused``)
~~~~~~~~~~~~~~~~~~~~~~~~
:value: 0


rtax-lock (``u32``)
~~~~~~~~~~~~~~~~~~~


rtax-mtu (``u32``)
~~~~~~~~~~~~~~~~~~


rtax-window (``u32``)
~~~~~~~~~~~~~~~~~~~~~


rtax-rtt (``u32``)
~~~~~~~~~~~~~~~~~~


rtax-rttvar (``u32``)
~~~~~~~~~~~~~~~~~~~~~


rtax-ssthresh (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-cwnd (``u32``)
~~~~~~~~~~~~~~~~~~~


rtax-advmss (``u32``)
~~~~~~~~~~~~~~~~~~~~~


rtax-reordering (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~


rtax-hoplimit (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-initcwnd (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-features (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-rto-min (``u32``)
~~~~~~~~~~~~~~~~~~~~~~


rtax-initrwnd (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-quickack (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~


rtax-cc-algo (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~


rtax-fastopen-no-cookie (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~