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
--
2.40.1