mbox series

[net-next,v2,0/7] mptcp: convert Netlink code to use YAML spec

Message ID 20231023-send-net-next-20231023-1-v2-0-16b1f701f900@kernel.org (mailing list archive)
Headers show
Series mptcp: convert Netlink code to use YAML spec | expand

Message

Mat Martineau Oct. 23, 2023, 6:17 p.m. UTC
This series from Davide converts most of the MPTCP Netlink interface
(plus uAPI bits) to use sources generated by YNL using a YAML spec file.

This new YAML file is useful to validate the API and to generate a good
documentation page.

Patch 1 modifies YNL spec to support "uns-admin-perm" for genetlink
legacy.

Patch 2 adds support for validating exact length of netlink attrs.

Patch 3 converts Netlink structures from small_ops to ops to prepare the
switch to YAML.

Patch 4 adds the Netlink YAML spec for MPTCP.

Patch 5 adds and uses a new header file generated from the new YAML
spec.

Patch 6 renames some handlers to match the ones generated from the YAML
spec.

Patch 7 adds and uses Netlink policies automatically generated from the
YAML spec.

v2 changes:
 - de-uglify YAML spec file, replacing '_' with '-' and avoiding
   unnecessary assignments in enums (Jakub Kicinski)
 - keep validating addr6 with NLA_POLICY_EXACT_LEN() (Jakub Kicinski)
 - Don't leave MPTCP_EVENT_UNSPEC undocumented (Simon Horman)

Signed-off-by: Mat Martineau <martineau@kernel.org>
---
Davide Caratti (7):
      tools: ynl: add uns-admin-perm to genetlink legacy
      tools: ynl-gen: add support for exact-len validation
      net: mptcp: convert netlink from small_ops to ops
      Documentation: netlink: add a YAML spec for mptcp
      uapi: mptcp: use header file generated from YAML spec
      net: mptcp: rename netlink handlers to mptcp_pm_nl_<blah>_{doit,dumpit}
      net: mptcp: use policy generated by YAML spec

 Documentation/netlink/genetlink-c.yaml      |   3 +
 Documentation/netlink/genetlink-legacy.yaml |   5 +-
 Documentation/netlink/genetlink.yaml        |   3 +
 Documentation/netlink/netlink-raw.yaml      |   3 +
 Documentation/netlink/specs/mptcp.yaml      | 391 ++++++++++++++++++++++++++++
 MAINTAINERS                                 |   3 +-
 include/uapi/linux/mptcp.h                  | 174 +------------
 include/uapi/linux/mptcp_pm.h               | 150 +++++++++++
 net/mptcp/Makefile                          |   3 +-
 net/mptcp/mptcp_pm_gen.c                    | 179 +++++++++++++
 net/mptcp/mptcp_pm_gen.h                    |  58 +++++
 net/mptcp/pm_netlink.c                      | 114 ++------
 net/mptcp/pm_userspace.c                    |   8 +-
 net/mptcp/protocol.h                        |   6 +-
 tools/net/ynl/ynl-gen-c.py                  |  28 +-
 15 files changed, 843 insertions(+), 285 deletions(-)
---
base-commit: 6e7ce2d71bb99096d811918341fde61e66bfff2c
change-id: 20231023-send-net-next-20231023-1-a23b6288959c

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 24, 2023, 8:10 p.m. UTC | #1
Hello:

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

On Mon, 23 Oct 2023 11:17:04 -0700 you wrote:
> This series from Davide converts most of the MPTCP Netlink interface
> (plus uAPI bits) to use sources generated by YNL using a YAML spec file.
> 
> This new YAML file is useful to validate the API and to generate a good
> documentation page.
> 
> Patch 1 modifies YNL spec to support "uns-admin-perm" for genetlink
> legacy.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/7] tools: ynl: add uns-admin-perm to genetlink legacy
    https://git.kernel.org/netdev/net-next/c/52c121f4bf27
  - [net-next,v2,2/7] tools: ynl-gen: add support for exact-len validation
    https://git.kernel.org/netdev/net-next/c/0c63ad379526
  - [net-next,v2,3/7] net: mptcp: convert netlink from small_ops to ops
    https://git.kernel.org/netdev/net-next/c/1d0507f46843
  - [net-next,v2,4/7] Documentation: netlink: add a YAML spec for mptcp
    https://git.kernel.org/netdev/net-next/c/bc8aeb2045e2
  - [net-next,v2,5/7] uapi: mptcp: use header file generated from YAML spec
    https://git.kernel.org/netdev/net-next/c/9d1ed17f93ce
  - [net-next,v2,6/7] net: mptcp: rename netlink handlers to mptcp_pm_nl_<blah>_{doit,dumpit}
    https://git.kernel.org/netdev/net-next/c/1e07938e29c5
  - [net-next,v2,7/7] net: mptcp: use policy generated by YAML spec
    https://git.kernel.org/netdev/net-next/c/aab4d8564947

You are awesome, thank you!