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


=====================================
Family ``nfsd`` netlink specification
=====================================


.. contents::


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


NFSD configuration over generic netlink.

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



rpc-status-get
==============
dump pending nfsd rpc

:attribute-set: rpc-status
:dump:
    **reply**
        :attributes: [``xid``, ``flags``, ``prog``, ``version``, ``proc``, ``service_time``, ``saddr4``, ``daddr4``, ``saddr6``, ``daddr6``, ``sport``, ``dport``, ``compound-ops``]




threads-set
===========
set the number of running threads

:attribute-set: server
:flags: ['admin-perm']
:do:
    **request**
        :attributes: [``threads``, ``gracetime``, ``leasetime``, ``scope``]




threads-get
===========
get the number of running threads

:attribute-set: server
:do:
    **reply**
        :attributes: [``threads``, ``gracetime``, ``leasetime``, ``scope``]




version-set
===========
set nfs enabled versions

:attribute-set: server-proto
:flags: ['admin-perm']
:do:
    **request**
        :attributes: [``version``]




version-get
===========
get nfs enabled versions

:attribute-set: server-proto
:do:
    **reply**
        :attributes: [``version``]




listener-set
============
set nfs running sockets

:attribute-set: server-sock
:flags: ['admin-perm']
:do:
    **request**
        :attributes: [``addr``]




listener-get
============
get nfs running listeners

:attribute-set: server-sock
:do:
    **reply**
        :attributes: [``addr``]




pool-mode-set
=============
set the current server pool-mode

:attribute-set: pool-mode
:flags: ['admin-perm']
:do:
    **request**
        :attributes: [``mode``]




pool-mode-get
=============
get info about server pool-mode

:attribute-set: pool-mode
:do:
    **reply**
        :attributes: [``mode``, ``npools``]




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



rpc-status
==========
xid (``u32``)
~~~~~~~~~~~~~
:byte-order: big-endian


flags (``u32``)
~~~~~~~~~~~~~~~


prog (``u32``)
~~~~~~~~~~~~~~


version (``u8``)
~~~~~~~~~~~~~~~~


proc (``u32``)
~~~~~~~~~~~~~~


service_time (``s64``)
~~~~~~~~~~~~~~~~~~~~~~


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


saddr4 (``u32``)
~~~~~~~~~~~~~~~~
:byte-order: big-endian
:display-hint: ipv4


daddr4 (``u32``)
~~~~~~~~~~~~~~~~
:byte-order: big-endian
:display-hint: ipv4


saddr6 (``binary``)
~~~~~~~~~~~~~~~~~~~
:display-hint: ipv6


daddr6 (``binary``)
~~~~~~~~~~~~~~~~~~~
:display-hint: ipv6


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


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


compound-ops (``u32``)
~~~~~~~~~~~~~~~~~~~~~~
:multi-attr: True



server
======
threads (``u32``)
~~~~~~~~~~~~~~~~~
:multi-attr: True


gracetime (``u32``)
~~~~~~~~~~~~~~~~~~~


leasetime (``u32``)
~~~~~~~~~~~~~~~~~~~


scope (``string``)
~~~~~~~~~~~~~~~~~~



version
=======
major (``u32``)
~~~~~~~~~~~~~~~


minor (``u32``)
~~~~~~~~~~~~~~~


enabled (``flag``)
~~~~~~~~~~~~~~~~~~



server-proto
============
version (``nest``)
~~~~~~~~~~~~~~~~~~
:nested-attributes: version
:multi-attr: True



sock
====
addr (``binary``)
~~~~~~~~~~~~~~~~~


transport-name (``string``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~



server-sock
===========
addr (``nest``)
~~~~~~~~~~~~~~~
:nested-attributes: sock
:multi-attr: True



pool-mode
=========
mode (``string``)
~~~~~~~~~~~~~~~~~


npools (``u32``)
~~~~~~~~~~~~~~~~

