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


=============================================
Family ``ovs_datapath`` netlink specification
=============================================


.. contents:: :depth: 3


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


OVS datapath configuration over generic netlink.

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


.. _ovs_datapath-operation-get:

get
===
Get / dump OVS data path configuration and state

:value: 3
:attribute-set: :ref:`ovs_datapath-attribute-set-datapath`
:do:
    **request**
        :attributes: [``name``]

    **reply**
        :attributes: [``name``, ``upcall-pid``, ``stats``, ``megaflow-stats``, ``user-features``, ``masks-cache-size``, ``per-cpu-pids``]

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

    **reply**
        :attributes: [``name``, ``upcall-pid``, ``stats``, ``megaflow-stats``, ``user-features``, ``masks-cache-size``, ``per-cpu-pids``]



.. _ovs_datapath-operation-new:

new
===
Create new OVS data path

:value: 1
:attribute-set: :ref:`ovs_datapath-attribute-set-datapath`
:do:
    **request**
        :attributes: [``name``, ``upcall-pid``, ``user-features``]



.. _ovs_datapath-operation-del:

del
===
Delete existing OVS data path

:value: 2
:attribute-set: :ref:`ovs_datapath-attribute-set-datapath`
:do:
    **request**
        :attributes: [``name``]




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


- ovs_datapath

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


.. _ovs_datapath-definition-ovs-header:

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


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


.. _ovs_datapath-definition-user-features:

user-features
=============
:type: flags
:name-prefix: ovs-dp-f-
:enum-name: None


:entries:
    :unaligned: Allow last Netlink attribute to be unaligned
    :vport-pids: Allow datapath to associate multiple Netlink PIDs to each vport
    :tc-recirc-sharing: Allow tc offload recirc sharing
    :dispatch-upcall-per-cpu: Allow per-cpu dispatch of upcalls


.. _ovs_datapath-definition-datapath-stats:

datapath-stats
==============
:enum-name: ovs-dp-stats
:type: struct


:members:
    :n-hit (``u64``): 
    :n-missed (``u64``): 
    :n-lost (``u64``): 
    :n-flows (``u64``): 


.. _ovs_datapath-definition-megaflow-stats:

megaflow-stats
==============
:enum-name: ovs-dp-megaflow-stats
:type: struct


:members:
    :n-mask-hit (``u64``): 
    :n-masks (``u32``): 
    :padding (``u32``): 
    :n-cache-hit (``u64``): 
    :pad1 (``u64``): 



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


.. _ovs_datapath-attribute-set-datapath:

datapath
========
name (``string``)
~~~~~~~~~~~~~~~~~


upcall-pid (``u32``)
~~~~~~~~~~~~~~~~~~~~
:doc: upcall pid


stats (``binary``)
~~~~~~~~~~~~~~~~~~
:struct: :ref:`ovs_datapath-definition-datapath-stats`


megaflow-stats (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
:struct: :ref:`ovs_datapath-definition-megaflow-stats`


user-features (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~
:enum: :ref:`ovs_datapath-definition-user-features`
:enum-as-flags: True


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


masks-cache-size (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~


per-cpu-pids (``binary``)
~~~~~~~~~~~~~~~~~~~~~~~~~
:sub-type: u32


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