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.
Guide
A gentle walk from a thirty-line real specification to writing, extending and evolving your own family.
Reference
Complete technical definition of the language: every key, rule, limit, identifier and compatibility check.
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
| Path | Contents |
|---|---|
Documentation/ctlv/ctlv-schema.yaml | Meta-schema for a family specification |
Documentation/ctlv/specs/ | One specification per family |
Documentation/ctlv/families.yaml | Family registry |
Documentation/ctlv/generated-files.yaml | Output manifest |
Documentation/ctlv/abi/ | ABI snapshots |
tools/ctlv/ | Validator, generator and ABI checker |