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


==========================================
Family ``ovs_vport`` netlink specification
==========================================


.. contents:: :depth: 3


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


OVS vport configuration over generic netlink.

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


.. _ovs_vport-operation-new:

new
===
Create a new OVS vport

:attribute-set: :ref:`ovs_vport-attribute-set-vport`
:fixed-header: :ref:`ovs_vport-definition-ovs-header`
:do:
    **request**
        :attributes: [``name``, ``type``, ``upcall-pid``, ``ifindex``, ``options``]



.. _ovs_vport-operation-del:

del
===
Delete existing OVS vport from a data path

:attribute-set: :ref:`ovs_vport-attribute-set-vport`
:fixed-header: :ref:`ovs_vport-definition-ovs-header`
:do:
    **request**
        :attributes: [``port-no``, ``type``, ``name``]



.. _ovs_vport-operation-get:

get
===
Get / dump OVS vport configuration and state

:attribute-set: :ref:`ovs_vport-attribute-set-vport`
:fixed-header: :ref:`ovs_vport-definition-ovs-header`
:do:
    **request**
        :attributes: [``name``]

    **reply**
        :attributes: [``port-no``, ``type``, ``name``, ``upcall-pid``, ``stats``, ``ifindex``, ``netnsid``, ``upcall-stats``]

:dump:
    **request**
        :attributes: [``name``]

    **reply**
        :attributes: [``port-no``, ``type``, ``name``, ``upcall-pid``, ``stats``, ``ifindex``, ``netnsid``, ``upcall-stats``]




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


- ovs_vport

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


.. _ovs_vport-definition-ovs-header:

ovs-header
==========
:type: struct


:members:
    :dp-ifindex (``u32``): 


.. _ovs_vport-definition-vport-type:

vport-type
==========
:type: enum
:enum-name: ovs-vport-type
:name-prefix: ovs-vport-type-


:entries:
    - ``unspec``
    - ``netdev``
    - ``internal``
    - ``gre``
    - ``vxlan``
    - ``geneve``


.. _ovs_vport-definition-vport-stats:

vport-stats
===========
:type: struct
:enum-name: ovs-vport-stats


: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``): 



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


.. _ovs_vport-attribute-set-vport-options:

vport-options
=============
dst-port (``u32``)
~~~~~~~~~~~~~~~~~~


extension (``u32``)
~~~~~~~~~~~~~~~~~~~


.. _ovs_vport-attribute-set-upcall-stats:

upcall-stats
============
success (``u64``)
~~~~~~~~~~~~~~~~~
:value: 0


fail (``u64``)
~~~~~~~~~~~~~~


.. _ovs_vport-attribute-set-vport:

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


port-no (``u32``)
~~~~~~~~~~~~~~~~~


type (``u32``)
~~~~~~~~~~~~~~
:enum: :ref:`ovs_vport-definition-vport-type`


name (``string``)
~~~~~~~~~~~~~~~~~


options (``nest``)
~~~~~~~~~~~~~~~~~~
:nested-attributes: :ref:`ovs_vport-attribute-set-vport-options`


upcall-pid (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~
:sub-type: u32


stats (``binary``)
~~~~~~~~~~~~~~~~~~
:struct: :ref:`ovs_vport-definition-vport-stats`


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


ifindex (``u32``)
~~~~~~~~~~~~~~~~~


netnsid (``u32``)
~~~~~~~~~~~~~~~~~


upcall-stats (``nest``)
~~~~~~~~~~~~~~~~~~~~~~~
:nested-attributes: :ref:`ovs_vport-attribute-set-upcall-stats`

