.. 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``, ``src``, ``rtm-src-len``, ``dst``, ``rtm-dst-len``, ``iif``, ``oif``, ``ip-proto``, ``sport``, ``dport``, ``mark``, ``uid``, ``flowlabel``]

    **reply**
        :attributes: [``rtm-family``, ``rtm-dst-len``, ``rtm-src-len``, ``rtm-tos``, ``rtm-table``, ``rtm-protocol``, ``rtm-scope``, ``rtm-type``, ``rtm-flags``, ``dst``, ``src``, ``iif``, ``oif``, ``gateway``, ``priority``, ``prefsrc``, ``metrics``, ``multipath``, ``flow``, ``cacheinfo``, ``table``, ``mark``, ``mfc-stats``, ``via``, ``newdst``, ``pref``, ``encap-type``, ``encap``, ``expires``, ``pad``, ``uid``, ``ttl-propagate``, ``ip-proto``, ``sport``, ``dport``, ``nh-id``, ``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``, ``dst``, ``src``, ``iif``, ``oif``, ``gateway``, ``priority``, ``prefsrc``, ``metrics``, ``multipath``, ``flow``, ``cacheinfo``, ``table``, ``mark``, ``mfc-stats``, ``via``, ``newdst``, ``pref``, ``encap-type``, ``encap``, ``expires``, ``pad``, ``uid``, ``ttl-propagate``, ``ip-proto``, ``sport``, ``dport``, ``nh-id``, ``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``, ``dst``, ``src``, ``iif``, ``oif``, ``gateway``, ``priority``, ``prefsrc``, ``metrics``, ``multipath``, ``flow``, ``cacheinfo``, ``table``, ``mark``, ``mfc-stats``, ``via``, ``newdst``, ``pref``, ``encap-type``, ``encap``, ``expires``, ``pad``, ``uid``, ``ttl-propagate``, ``ip-proto``, ``sport``, ``dport``, ``nh-id``, ``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``, ``dst``, ``src``, ``iif``, ``oif``, ``gateway``, ``priority``, ``prefsrc``, ``metrics``, ``multipath``, ``flow``, ``cacheinfo``, ``table``, ``mark``, ``mfc-stats``, ``via``, ``newdst``, ``pref``, ``encap-type``, ``encap``, ``expires``, ``pad``, ``uid``, ``ttl-propagate``, ``ip-proto``, ``sport``, ``dport``, ``nh-id``, ``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
===========
dst (``binary``)
~~~~~~~~~~~~~~~~
:display-hint: ipv4


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


iif (``u32``)
~~~~~~~~~~~~~


oif (``u32``)
~~~~~~~~~~~~~


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


priority (``u32``)
~~~~~~~~~~~~~~~~~~


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


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


multipath (``binary``)
~~~~~~~~~~~~~~~~~~~~~~


protoinfo (``binary``)
~~~~~~~~~~~~~~~~~~~~~~


flow (``u32``)
~~~~~~~~~~~~~~


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


session (``binary``)
~~~~~~~~~~~~~~~~~~~~


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


table (``u32``)
~~~~~~~~~~~~~~~


mark (``u32``)
~~~~~~~~~~~~~~


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


via (``binary``)
~~~~~~~~~~~~~~~~


newdst (``binary``)
~~~~~~~~~~~~~~~~~~~


pref (``u8``)
~~~~~~~~~~~~~


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


encap (``binary``)
~~~~~~~~~~~~~~~~~~


expires (``u32``)
~~~~~~~~~~~~~~~~~


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


uid (``u32``)
~~~~~~~~~~~~~


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


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


sport (``u16``)
~~~~~~~~~~~~~~~


dport (``u16``)
~~~~~~~~~~~~~~~


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


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


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

metrics
=======
unspec (``unused``)
~~~~~~~~~~~~~~~~~~~
:value: 0


lock (``u32``)
~~~~~~~~~~~~~~


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


window (``u32``)
~~~~~~~~~~~~~~~~


rtt (``u32``)
~~~~~~~~~~~~~


rttvar (``u32``)
~~~~~~~~~~~~~~~~


ssthresh (``u32``)
~~~~~~~~~~~~~~~~~~


cwnd (``u32``)
~~~~~~~~~~~~~~


advmss (``u32``)
~~~~~~~~~~~~~~~~


reordering (``u32``)
~~~~~~~~~~~~~~~~~~~~


hoplimit (``u32``)
~~~~~~~~~~~~~~~~~~


initcwnd (``u32``)
~~~~~~~~~~~~~~~~~~


features (``u32``)
~~~~~~~~~~~~~~~~~~


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


initrwnd (``u32``)
~~~~~~~~~~~~~~~~~~


quickack (``u32``)
~~~~~~~~~~~~~~~~~~


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


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