Lines Matching +full:attribute +full:- +full:set

1 .. SPDX-License-Identifier: BSD-3-Clause
10 hand written Netlink code for each new family, command, attribute.
17 - the C uAPI header
18- documentation of the protocol as a ReST file - see :ref:`Documentation/networking/netlink_spec/i…
19 - policy tables for input attribute validation
20 - operation tables
25 See :doc:`intro-specs` for a practical starting guide.
28 ``((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)``
40 - ``genetlink`` - most streamlined, should be used by all new families
41 - ``genetlink-c`` - superset of ``genetlink`` with extra attributes allowing
45 - ``genetlink-legacy`` - Generic Netlink catch all schema supporting quirks of
46 all old genetlink families, strange attribute formats, binary structures etc.
47 - ``netlink-raw`` - catch all schema supporting pre-Generic Netlink protocols
58 - globals
59 - definitions
60 - attributes
61 - operations
62 - multicast groups
65 sub-property documenting the defined object.
68 schema. See the documentation of :doc:`genetlink-c <c-code-gen>`
71 See also :ref:`Documentation/core-api/netlink.rst <kernel_netlink>` for
79 -------
96 -----------
110 - const - a single, standalone constant
111 - enum - defines an integer enumeration, with values for each entry
113 - flags - defines an integer enumeration, with values for each entry
121 value-start
126 For ``flags`` ``value-start`` selects the starting bit, not the shifted value.
138 For C-compatible languages, header which already defines this value.
140 code generators for C-compatible languages may prefer to add an appropriate
143 attribute-sets
144 --------------
147 All families have at least one attribute set, most have multiple.
148 ``attribute-sets`` is an array, with each entry describing a single set.
151 the format of the netlink messages (unlike certain ad-hoc documentation
152 formats seen in kernel comments). In the spec subordinate attribute sets
153 are not defined inline as a nest, but defined in a separate attribute set
154 referred to with a ``nested-attributes`` property of the container.
156 Spec may also contain fractional sets - sets which contain a ``subset-of``
157 property. Such sets describe a section of a full set, allowing narrowing down
165 Uniquely identifies the attribute set, operations and nested attributes
168 subset-of
171 Re-defines a portion of another set (a fractional set).
174 are contained. The ``value`` of each attribute in the fractional
175 set is implicitly the same as in the main set.
180 List of attributes in the set.
184 Attribute properties
185 --------------------
190 Identifies the attribute, unique within the set.
195 Netlink attribute type, see :ref:`attr_types`.
202 Numerical attribute ID, used in serialized Netlink messages.
203 The ``value`` property can be skipped, in which case the attribute ID
204 will be the value of the previous attribute plus one (recursively)
205 and ``1`` for the first attribute in the attribute set.
210 set value to ``0`` if needed.
212 Note that the ``value`` of an attribute is defined only in its main set
218 For integer types specifies that values in the attribute belong
221 enum-as-flags
227 use this attribute.
229 nested-attributes
232 Identifies the attribute space for attributes nested within given attribute.
233 Only valid for complex attributes which may have sub-attributes.
235 multi-attr (arrays)
238 Boolean property signifying that the attribute may be present multiple times.
239 Allowing an attribute to repeat is the recommended way of implementing arrays
242 byte-order
245 For integer types specifies attribute byte order - ``little-endian``
246 or ``big-endian``.
256 definition (``type`` and ``nested-attributes``) and the ``checks``.
258 sub-type
261 Legacy families have special ways of expressing arrays. ``sub-type`` can be
263 fully defined as attributes (in a bona fide attribute space). For instance
265 ``sub-type: u32``. Binary types and legacy array formats are described in
266 more detail in :doc:`genetlink-legacy`.
268 display-hint
276 ----------
279 There are three types of entries in this section - operations, notifications
282 Operations describe the most common request - response communication. User
284 of the two modes familiar to netlink users - ``do`` and ``dump``.
288 of a SET operation to which the kernel responds with just the netlink error
291 The list contains only the names of attributes from a set referred
292 to by the ``attribute-set`` property.
314 --------------------
326 :ref:`attribute values<assign_val>`.
328 attribute-set subsection
331 Specifies the attribute set contained within the message.
366 Message attribute list
367 ----------------------
370 property which holds the list of attribute names.
376 mcast-groups
377 ------------
384 The only property of ``mcast-groups`` for ``genetlink``, holds the list
388 --------------------------
399 Attribute types
402 This section describes the attribute types supported by the ``genetlink``
404 attribute types.
407 --------------------
414 Common integer types should be preferred over fix-width types in majority
417 Fix-width integer types
418 -----------------------
420 Fixed-width integer types include:
427 The payload of the attribute is the integer in host order unless ``byte-order``
436 ---
438 Special attribute type used for padding attributes which require alignment
440 There can only be a single attribute of the ``pad`` type in any attribute set
444 ----
446 Attribute with no payload, its presence is the entire information.
449 ------
451 Raw binary data attribute, the contents are opaque to generic code.
454 ------
456 Character string. Unless ``checks`` has ``unterminated-ok`` set to ``true``
458 ``max-len`` in ``checks`` indicates the longest possible string,
461 Note that ``max-len`` does not count the terminating character.
464 ----
466 Attribute containing other (nested) attributes.
467 ``nested-attributes`` specifies which attribute set is used inside.