mbox series

[net-next,v5,0/7] ynl: add support for user headers and struct attrs

Message ID 20230327083138.96044-1-donald.hunter@gmail.com (mailing list archive)
Headers show
Series ynl: add support for user headers and struct attrs | expand

Message

Donald Hunter March 27, 2023, 8:31 a.m. UTC
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

Comments

patchwork-bot+netdevbpf@kernel.org March 29, 2023, 7 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 27 Mar 2023 09:31:31 +0100 you wrote:
> 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
> 
> [...]

Here is the summary with links:
  - [net-next,v5,1/7] tools: ynl: Add struct parsing to nlspec
    https://git.kernel.org/netdev/net-next/c/bec0b7a2db35
  - [net-next,v5,2/7] tools: ynl: Add C array attribute decoding to ynl
    https://git.kernel.org/netdev/net-next/c/b423c3c86325
  - [net-next,v5,3/7] tools: ynl: Add struct attr decoding to ynl
    https://git.kernel.org/netdev/net-next/c/2607191395bd
  - [net-next,v5,4/7] tools: ynl: Add fixed-header support to ynl
    https://git.kernel.org/netdev/net-next/c/f036d936ca57
  - [net-next,v5,5/7] netlink: specs: add partial specification for openvswitch
    https://git.kernel.org/netdev/net-next/c/643ef4a676e3
  - [net-next,v5,6/7] docs: netlink: document struct support for genetlink-legacy
    https://git.kernel.org/netdev/net-next/c/88e288968412
  - [net-next,v5,7/7] docs: netlink: document the sub-type attribute property
    https://git.kernel.org/netdev/net-next/c/04eac39361d3

You are awesome, thank you!