On Tue, Aug 15, 2023 at 08:42:45PM +0100, Donald Hunter wrote: > This schema is largely a copy of the genetlink-legacy schema with the > following additions: > > - a top-level protonum property, e.g. 0 (for NETLINK_ROUTE) > - add netlink-raw to the list of protocols supported by the schema > - add a value property to mcast-group definitions > > This schema is very similar to genetlink-legacy and I considered > making the changes there and symlinking to it. On balance I felt that > might be problematic for accurate schema validation. > > Signed-off-by: Donald Hunter <donald.hunter@xxxxxxxxx> > --- > Documentation/netlink/netlink-raw.yaml | 414 +++++++++++++++++++++++++ > 1 file changed, 414 insertions(+) > create mode 100644 Documentation/netlink/netlink-raw.yaml > > diff --git a/Documentation/netlink/netlink-raw.yaml b/Documentation/netlink/netlink-raw.yaml > new file mode 100644 > index 000000000000..a5ec6f3e41cc > --- /dev/null > +++ b/Documentation/netlink/netlink-raw.yaml > @@ -0,0 +1,414 @@ > +# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) > +%YAML 1.2 > +--- > +$id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml# > +$schema: https://json-schema.org/draft-07/schema > + > +# Common defines > +$defs: > + uint: > + type: integer > + minimum: 0 > + len-or-define: > + type: [ string, integer ] > + pattern: ^[0-9A-Za-z_]+( - 1)?$ > + minimum: 0 > + > +# Schema for specs > +title: Protocol > +description: Specification of a genetlink protocol > +type: object > +required: [ name, doc, attribute-sets, operations ] > +additionalProperties: False > +properties: > + name: > + description: Name of the genetlink family. > + type: string > + doc: > + type: string > + version: > + description: Generic Netlink family version. Default is 1. > + type: integer > + minimum: 1 > + protocol: > + description: Schema compatibility level. Default is "genetlink". > + enum: [ genetlink, genetlink-c, genetlink-legacy, netlink-raw ] # Trim > + # Start netlink-raw > + protonum: > + description: Protocol number to use for netlink-raw > + type: integer > + # End netlink-raw > + uapi-header: > + description: Path to the uAPI header, default is linux/${family-name}.h > + type: string > + # Start genetlink-c > + c-family-name: > + description: Name of the define for the family name. > + type: string > + c-version-name: > + description: Name of the define for the verion of the family. Hi Donald, a minor nit from my side: verion -> version > + type: string ...