docs: netlink: document the sub-type attribute property

Add a definition for sub-type to the protocol spec doc and a description of
its usage for C arrays in genetlink-legacy.

Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Donald Hunter 2023-03-27 09:31:38 +01:00 committed by Jakub Kicinski
parent 88e2889684
commit 04eac39361
2 changed files with 24 additions and 0 deletions

View file

@ -234,6 +234,20 @@ specify a sub-type.
type: binary type: binary
struct: vport-stats struct: vport-stats
C Arrays
--------
Legacy families also use ``binary`` attributes to encapsulate C arrays. The
``sub-type`` is used to identify the type of scalar to extract.
.. code-block:: yaml
attributes:
-
name: ports
type: binary
sub-type: u32
Multi-message DO Multi-message DO
---------------- ----------------

View file

@ -254,6 +254,16 @@ rather than depend on what is specified in the spec file.
The validation policy in the kernel is formed by combining the type The validation policy in the kernel is formed by combining the type
definition (``type`` and ``nested-attributes``) and the ``checks``. definition (``type`` and ``nested-attributes``) and the ``checks``.
sub-type
~~~~~~~~
Legacy families have special ways of expressing arrays. ``sub-type`` can be
used to define the type of array members in case array members are not
fully defined as attributes (in a bona fide attribute space). For instance
a C array of u32 values can be specified with ``type: binary`` and
``sub-type: u32``. Binary types and legacy array formats are described in
more detail in :doc:`genetlink-legacy`.
operations operations
---------- ----------