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


====================================
Family ``fou`` netlink specification
====================================


.. contents:: :depth: 3


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


Foo-over-UDP.


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


.. _fou-operation-unspec:

unspec
======
unused

:value: 0


.. _fou-operation-add:

add
===
Add port.

:attribute-set: :ref:`fou-attribute-set-fou`
:dont-validate: ['strict', 'dump']
:flags: [``admin-perm``]
:do:
    **request**
        :attributes: [``port``, ``ipproto``, ``type``, ``remcsum_nopartial``, ``local_v4``, ``peer_v4``, ``local_v6``, ``peer_v6``, ``peer_port``, ``ifindex``]



.. _fou-operation-del:

del
===
Delete port.

:attribute-set: :ref:`fou-attribute-set-fou`
:dont-validate: ['strict', 'dump']
:flags: [``admin-perm``]
:do:
    **request**
        :attributes: [``af``, ``ifindex``, ``port``, ``peer_port``, ``local_v4``, ``peer_v4``, ``local_v6``, ``peer_v6``]



.. _fou-operation-get:

get
===
Get tunnel info.

:attribute-set: :ref:`fou-attribute-set-fou`
:dont-validate: ['strict', 'dump']
:do:
    **request**
        :attributes: [``af``, ``ifindex``, ``port``, ``peer_port``, ``local_v4``, ``peer_v4``, ``local_v6``, ``peer_v6``]

    **reply**
        :attributes: [``port``, ``ipproto``, ``type``, ``remcsum_nopartial``, ``local_v4``, ``peer_v4``, ``local_v6``, ``peer_v6``, ``peer_port``, ``ifindex``]

:dump:
    **reply**
        :attributes: [``port``, ``ipproto``, ``type``, ``remcsum_nopartial``, ``local_v4``, ``peer_v4``, ``local_v6``, ``peer_v6``, ``peer_port``, ``ifindex``]




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


.. _fou-definition-encap_type:

encap_type
==========
:type: enum
:name-prefix: fou-encap-
:enum-name: None


:entries:
    - ``unspec``
    - ``direct``
    - ``gue``



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


.. _fou-attribute-set-fou:

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


port (``u16``)
~~~~~~~~~~~~~~
:byte-order: big-endian


af (``u8``)
~~~~~~~~~~~


ipproto (``u8``)
~~~~~~~~~~~~~~~~


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


remcsum_nopartial (``flag``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


local_v4 (``u32``)
~~~~~~~~~~~~~~~~~~


local_v6 (``binary``)
~~~~~~~~~~~~~~~~~~~~~


peer_v4 (``u32``)
~~~~~~~~~~~~~~~~~


peer_v6 (``binary``)
~~~~~~~~~~~~~~~~~~~~


peer_port (``u16``)
~~~~~~~~~~~~~~~~~~~
:byte-order: big-endian


ifindex (``s32``)
~~~~~~~~~~~~~~~~~

