Lines Matching +full:sub +full:- +full:block
1 .. SPDX-License-Identifier: BSD-3-Clause
9 the ``genetlink-legacy`` protocol level.
15 -------
29 --------------------
31 New Netlink families should use ``multi-attr`` to define arrays.
35 For reference the ``multi-attr`` array may look like this::
37 [ARRAY-ATTR]
41 [SOME-OTHER-ATTR]
42 [ARRAY-ATTR]
47 where ``ARRAY-ATTR`` is the array entry type.
49 indexed-array
52 ``indexed-array`` wraps the entire array in an extra attribute (hence
56 A ``sub-type`` is needed to describe what type in the ``ENTRY``. A ``nest``
57 ``sub-type`` means there are nest arrays in the ``ENTRY``, with the structure
60 [SOME-OTHER-ATTR]
61 [ARRAY-ATTR]
69 Other ``sub-type`` like ``u32`` means there is only one member as described
70 in ``sub-type`` in the ``ENTRY``. The structure looks like::
72 [SOME-OTHER-ATTR]
73 [ARRAY-ATTR]
77 type-value
80 ``type-value`` is a construct which uses attribute types to carry
82 entry-by-entry).
84 ``type-value`` can have multiple levels of nesting, for example
87 [POLICY-IDX]
88 [ATTR-IDX]
89 [POLICY-INFO-ATTR1]
90 [POLICY-INFO-ATTR2]
94 type. Inside the attr-index nest are the policy attributes. Modern
102 -----------------------
113 .. code-block:: yaml
115 -
119 -
122 -
126 -
131 the requests and responses of ``b`` - 2 (since there is no explicit
147 only allocates a ``reply`` (i.e. a "from-kernel" ID). Let's look
150 .. code-block:: yaml
152 -
161 -
164 -
168 -
174 a "from-kernel" ID which is 2. ``c`` allocates "from-kernel" ID of 7.
178 the previous operation in the "from-kernel" direction).
184 ----------
193 - ``name`` - The attribute name of the struct member
194 - ``type`` - One of the scalar types ``u8``, ``u16``, ``u32``, ``u64``, ``s8``,
196 - ``byte-order`` - ``big-endian`` or ``little-endian``
197 - ``doc``, ``enum``, ``enum-as-flags``, ``display-hint`` - Same as for
203 .. code-block:: c
211 Any padding must be explicitly added and C-like languages should infer the
216 .. code-block:: yaml
219 -
220 name: message-header
223 -
226 -
229 -
236 Fixed message headers can be added to operations using ``fixed-header``.
237 The default ``fixed-header`` can be set in ``operations`` and it can be set
240 .. code-block:: yaml
243 fixed-header: message-header
245 -
247 fixed-header: custom-header
248 attribute-set: message-attrs
255 ``struct`` property implies ``sub-type: struct`` so it is not necessary to
256 specify a sub-type.
258 .. code-block:: yaml
260 attribute-sets:
261 -
262 name: stats-attrs
264 -
267 struct: vport-stats
270 --------
273 ``sub-type`` is used to identify the type of scalar to extract.
275 .. code-block:: yaml
278 -
281 sub-type: u32
283 Multi-message DO
284 ----------------
290 perhaps with values of ``combine`` and ``multi-object`` depending