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


====================================
Family ``psp`` netlink specification
====================================


.. contents:: :depth: 3


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


PSP Security Protocol Generic Netlink family.

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


.. _psp-operation-dev-get:

dev-get
=======
Get / dump information about PSP capable devices on the system.

:attribute-set: :ref:`psp-attribute-set-dev`
:do:
    **request**
        :attributes: [``id``]

    **reply**
        :attributes: [``id``, ``ifindex``, ``psp-versions-cap``, ``psp-versions-ena``]

    **pre**
        psp-device-get-locked

    **post**
        psp-device-unlock

:dump:
    **reply**
        :attributes: [``id``, ``ifindex``, ``psp-versions-cap``, ``psp-versions-ena``]



.. _psp-operation-dev-add-ntf:

dev-add-ntf
===========
Notification about device appearing.

:notify: dev-get
:mcgrp: mgmt


.. _psp-operation-dev-del-ntf:

dev-del-ntf
===========
Notification about device disappearing.

:notify: dev-get
:mcgrp: mgmt


.. _psp-operation-dev-set:

dev-set
=======
Set the configuration of a PSP device.

:attribute-set: :ref:`psp-attribute-set-dev`
:do:
    **request**
        :attributes: [``id``, ``psp-versions-ena``]

    **reply**
        :attributes: []

    **pre**
        psp-device-get-locked

    **post**
        psp-device-unlock



.. _psp-operation-dev-change-ntf:

dev-change-ntf
==============
Notification about device configuration being changed.

:notify: dev-get
:mcgrp: mgmt


.. _psp-operation-key-rotate:

key-rotate
==========
Rotate the device key.

:attribute-set: :ref:`psp-attribute-set-dev`
:do:
    **request**
        :attributes: [``id``]

    **reply**
        :attributes: [``id``]

    **pre**
        psp-device-get-locked

    **post**
        psp-device-unlock



.. _psp-operation-key-rotate-ntf:

key-rotate-ntf
==============
Notification about device key getting rotated.

:notify: key-rotate
:mcgrp: use



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


- mgmt
- use

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


.. _psp-definition-version:

version
=======
:type: enum


:entries:
    - ``hdr0-aes-gcm-128``
    - ``hdr0-aes-gcm-256``
    - ``hdr0-aes-gmac-128``
    - ``hdr0-aes-gmac-256``



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


.. _psp-attribute-set-dev:

dev
===
id (``u32``)
~~~~~~~~~~~~
:doc: PSP device ID.


ifindex (``u32``)
~~~~~~~~~~~~~~~~~
:doc: ifindex of the main netdevice linked to the PSP device.


psp-versions-cap (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~
:doc: Bitmask of PSP versions supported by the device.
:enum: :ref:`psp-definition-version`
:enum-as-flags: True


psp-versions-ena (``u32``)
~~~~~~~~~~~~~~~~~~~~~~~~~~
:doc: Bitmask of currently enabled (accepted on Rx) PSP versions.
:enum: :ref:`psp-definition-version`
:enum-as-flags: True

