CTLV family specifications

CTLV is a transport for device control interfaces. A family describes what its devices accept and return in a YAML file; a generator turns that file into kernel metadata and UAPI headers, and the kernel validates every message against it before driver code runs. Derived from patch series attestation: Add a common subsystem and TDX support.

Already know the Netlink YAML specs? See how CTLV compares and contrasts, with the same interface written both ways.

Scope

These pages cover the YAML specification language and the tooling around it: the family specification, the family registry, the output manifest, ABI snapshots, and the tools/ctlv generator. They do not cover the wire format or the character-device interface (see Documentation/userspace-api/ctlv.rst), nor the kernel callbacks a family implements (see Documentation/driver-api/ctlv.rst).

Source files

PathContents
Documentation/ctlv/ctlv-schema.yamlMeta-schema for a family specification
Documentation/ctlv/specs/One specification per family
Documentation/ctlv/families.yamlFamily registry
Documentation/ctlv/generated-files.yamlOutput manifest
Documentation/ctlv/abi/ABI snapshots
tools/ctlv/Validator, generator and ABI checker