Add support for user headers and struct attrs to YNL. This patchset adds features to ynl and add a partial spec for openvswitch that demonstrates use of the features. Patch 1-4 add features to ynl Patch 5 adds partial openvswitch specs that demonstrate the new features Patch 6-7 add documentation for legacy structs and for sub-type v4 - v5: all requested by Jakub Kicinski - Describe C struct packing sematics in docs - Rework struct example - Change sub-type doc to use text from Jakub - Add struct_name and sub_type as fields of class SpecAttr - Fix typos and wrap at 80 chars - Clean up signature formatting in python code v3 - v4: - Rebase to net-next after net-6.3-rc4 merge v2 - v3: all requested by Jakub Kicinski - Drop genlmsg fix that was applied separately - Don't mention 'kernel' types, leave it to schema - Avoid passing fixed header around in python code - Use 'binary' with 'sub-type' for C arrays - Use 'binary' with 'struct' for C structs - Add docs for structs and sub-type v1 - v2: all requested by Jakub Kicinski - Split ynl changes into separate patches - Rename user-header to fixed-header and improve description - Move fixed-header to operations section of spec - Introduce objects to represent struct config in nlspec - Use kebab-case throughout openvswitch specs Donald Hunter (7): tools: ynl: Add struct parsing to nlspec tools: ynl: Add C array attribute decoding to ynl tools: ynl: Add struct attr decoding to ynl tools: ynl: Add fixed-header support to ynl netlink: specs: add partial specification for openvswitch docs: netlink: document struct support for genetlink-legacy docs: netlink: document the sub-type attribute property Documentation/netlink/genetlink-legacy.yaml | 16 ++ Documentation/netlink/specs/ovs_datapath.yaml | 153 ++++++++++++++++++ Documentation/netlink/specs/ovs_vport.yaml | 139 ++++++++++++++++ .../netlink/genetlink-legacy.rst | 88 +++++++++- Documentation/userspace-api/netlink/specs.rst | 10 ++ tools/net/ynl/lib/nlspec.py | 73 +++++++-- tools/net/ynl/lib/ynl.py | 55 ++++++- 7 files changed, 516 insertions(+), 18 deletions(-) create mode 100644 Documentation/netlink/specs/ovs_datapath.yaml create mode 100644 Documentation/netlink/specs/ovs_vport.yaml -- 2.39.0