On Fri, 2023-09-01 at 20:10 +0200, Davide Caratti wrote:
> this series converts most of the MPTCP netlink interface (plus uAPI bits)
> to use sources generated by a YAML spec file. Patch 2/6 and 6/6 have been
> individually verified with kselftests.
>
> POC:
>
> $ sudo ./tools/net/ynl/cli.py --spec \
> > Documentation/netlink/specs/mptcp.yaml --do add_addr \
> > --json '{"addr": {"addr4": 16909061, "family": 2, "flags": 4, "id": 10, "port": 0}}'
>
> $ ip -j mptcp endpoint show id 10
> [{"address":"1.2.3.5","id":10,"backup":true}]
>
> v2:
> - mptcp.yaml: only put values around enum "holes" (Paolo Abeni)
> - _doit and _dumpit renames are done in a dedicate patch (Paolo Abeni)
> - removed useless nla_policy passed through parse_entry() (Paolo Abeni)
> - renamed mptcp_pm_address_nl_policy in patch 2 (Paolo Abeni)
> - (hopefully) more comprehensible commit messages (Paolo Abeni)
>
> Davide Caratti (6):
> tools: ynl: add uns-admin-perm to genetlink legacy
> mptcp: convert netlink from small_ops to ops
> Documentation: netlink: add a YAML spec for mptcp
> mptcp: uapi: 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-legacy.yaml | 2 +-
> Documentation/netlink/specs/mptcp.yaml | 394 ++++++++++++++++++++
> include/uapi/linux/mptcp.h | 174 +--------
> include/uapi/linux/mptcp_pm.h | 149 ++++++++
> 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 +-
> 10 files changed, 814 insertions(+), 273 deletions(-)
> create mode 100644 Documentation/netlink/specs/mptcp.yaml
> create mode 100644 include/uapi/linux/mptcp_pm.h
> create mode 100644 net/mptcp/mptcp_pm_gen.c
> create mode 100644 net/mptcp/mptcp_pm_gen.h
Other then comments in patch 2/6 and the (IMHO quite confusing?!?)
warning reported by the CI, LGTM!
/P