lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250515231650.1325372-1-kuba@kernel.org>
Date: Thu, 15 May 2025 16:16:41 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org,
	edumazet@...gle.com,
	pabeni@...hat.com,
	andrew+netdev@...n.ch,
	horms@...nel.org,
	donald.hunter@...il.com,
	daniel@...earbox.net,
	nicolas.dichtel@...nd.com,
	jacob.e.keller@...el.com,
	Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next 0/9] tools: ynl-gen: support sub-messages and rt-link

Sub-messages are how we express "polymorphism" in YNL. Donald added
the support to specs and Python a while back, support them in C, too.
Sub-message is a nest, but the interpretation of the attribute types
within that nest depends on a value of another attribute. For example
in rt-link the "kind" attribute contains the link type (veth, bonding,
etc.) and based on that the right enum has to be applied to interpret
link-specific attributes.

The last message is probably the most interesting to look at, as it
adds a fairly advanced sample.

This patch only contains enough support for rtnetlink, we will need
a little more complexity to support TC, where sub-messages may contain
fixed headers, and where the selector may be in a different nest than
the submessage.

Jakub Kicinski (9):
  netlink: specs: rt-link: add C naming info for ovpn
  tools: ynl-gen: factor out the annotation of pure nested struct
  tools: ynl-gen: prepare for submsg structs
  tools: ynl-gen: submsg: plumb thru an empty type
  tools: ynl-gen: submsg: render the structs
  tools: ynl-gen: submsg: support parsing and rendering sub-messages
  tools: ynl: submsg: reverse parse / error reporting
  tools: ynl: enable codegen for all rt- families
  tools: ynl: add a sample for rt-link

 Documentation/netlink/specs/rt-link.yaml |   4 +
 tools/net/ynl/Makefile.deps              |   4 +
 tools/net/ynl/generated/Makefile         |   7 +-
 tools/net/ynl/lib/ynl-priv.h             |   8 +-
 tools/net/ynl/lib/ynl.h                  |   1 +
 tools/net/ynl/lib/ynl.c                  |  93 +++++++-
 tools/net/ynl/samples/rt-link.c          | 184 +++++++++++++++
 tools/net/ynl/pyynl/lib/__init__.py      |   5 +-
 tools/net/ynl/pyynl/ynl_gen_c.py         | 272 +++++++++++++++++++----
 tools/net/ynl/samples/.gitignore         |   1 +
 10 files changed, 517 insertions(+), 62 deletions(-)
 create mode 100644 tools/net/ynl/samples/rt-link.c

-- 
2.49.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ