mbox series

[mptcp-next,0/5] convert MPTCP to use YAML spec

Message ID cover.1689932012.git.dcaratti@redhat.com (mailing list archive)
Headers show
Series convert MPTCP to use YAML spec | expand

Message

Davide Caratti July 21, 2023, 9:53 a.m. UTC
this series converts most of the MPTCP netlink interface (plus uAPI bits)
to use sources generated by a YAML spec file. Patch 2/5 and 5/5 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}]


Davide Caratti (5):
  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: use policy generated by YAML spec

 Documentation/netlink/genetlink-legacy.yaml |   2 +-
 Documentation/netlink/specs/mptcp.yaml      | 397 ++++++++++++++++++++
 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                      | 134 ++-----
 net/mptcp/pm_userspace.c                    |  13 +-
 net/mptcp/protocol.h                        |   4 +-
 10 files changed, 836 insertions(+), 277 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