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 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 | 15 ++ Documentation/netlink/specs/ovs_datapath.yaml | 153 ++++++++++++++++++ Documentation/netlink/specs/ovs_vport.yaml | 139 ++++++++++++++++ .../netlink/genetlink-legacy.rst | 68 +++++++- Documentation/userspace-api/netlink/specs.rst | 9 ++ tools/net/ynl/lib/nlspec.py | 64 +++++++- tools/net/ynl/lib/ynl.py | 55 ++++++- 7 files changed, 488 insertions(+), 15 deletions(-) create mode 100644 Documentation/netlink/specs/ovs_datapath.yaml create mode 100644 Documentation/netlink/specs/ovs_vport.yaml -- 2.39.0