Donald Hunter
9fcfc1e210
tools/net/ynl: add indexed-array scalar support to ynl-gen-c
...
Extend ynl-gen-c.py with support for indexed-array that has a scalar
sub-type.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-8-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:18 -08:00
Donald Hunter
16cd1a5299
tools/net/ynl: sanitise enums with leading digits in ynl-gen-c
...
Turn attribute names with leading digits into valid C names by
prepending an underscore, e.g. 5ghz -> _5ghz
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-7-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:15 -08:00
Donald Hunter
8798892b80
tools/net/ynl: add s8, s16 to valid scalars in ynl-gen-c
...
Add the missing s8 and s16 scalar types to the list of recognised
scalars in ynl-gen-c.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-6-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:13 -08:00
Donald Hunter
c578bc3a00
tools/net/ynl: accept IP string inputs
...
The ynl tool uses display-hint to know when to format IP addresses in
printed output, but not to parse IP addresses from --json input. Add
support for parsing ipv4 and ipv6 strings.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-5-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:10 -08:00
Donald Hunter
569a5d63fd
tools/net/ynl: support rendering C array members to strings
...
The nl80211 family encodes the list of supported ciphers as a C array of
u32 values. Add support for translating arrays of scalars into strings
for enum names and display hints.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-4-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:07 -08:00
Donald Hunter
678d8ddd00
tools/net/ynl: support decoding indexed arrays as enums
...
When decoding an indexed-array with a scalar subtype, it is currently
only possible to add a display-hint. Add support for decoding each value
as an enum.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-3-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:03 -08:00
Donald Hunter
2151003e77
tools/net/ynl: remove extraneous plural from variable names
...
_decode_array_attr() uses variable subattrs in every branch when only
one branch decodes more than a single attribute.
Change the variable name to subattr in the branches that only decode a
single attribute so that the intent is more obvious.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250211120127.84858-2-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-12 19:32:00 -08:00
Jakub Kicinski
fa796178e5
tools: ynl-gen: support limits using definitions
...
Support using defines / constants in integer checks.
Carolina will need this for rate API extensions.
Reported-by: Carolina Jubran <cjubran@nvidia.com >
Link: https://lore.kernel.org/1e886aaf-e1eb-4f1a-b7ef-f63b350a3320@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Link: https://patch.msgid.link/20250203215510.1288728-2-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com >
2025-02-06 11:21:15 +01:00
Jakub Kicinski
7e8b24e24a
tools: ynl-gen: don't output external constants
...
A definition with a "header" property is an "external" definition
for C code, as in it is defined already in another C header file.
Other languages will need the exact value but C codegen should
not recreate it. So don't output those definitions in the uAPI
header.
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
Link: https://patch.msgid.link/20250203215510.1288728-1-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com >
2025-02-06 11:21:14 +01:00
Jakub Kicinski
2ee738e90e
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
...
Cross-merge networking fixes after downstream PR (net-6.13-rc8).
Conflicts:
drivers/net/ethernet/realtek/r8169_main.c
1f691a1fc4 ("r8169: remove redundant hwmon support")
152d00a913 ("r8169: simplify setting hwmon attribute visibility")
https://lore.kernel.org/20250115122152.760b4e8d@canb.auug.org.au
Adjacent changes:
drivers/net/ethernet/broadcom/bnxt/bnxt.c
152f4da05a ("bnxt_en: add support for rx-copybreak ethtool command")
f0aa6a37a3 ("eth: bnxt: always recalculate features after XDP clearing, fix null-deref")
drivers/net/ethernet/intel/ice/ice_type.h
50327223a8 ("ice: add lock to protect low latency interface")
dc26548d72 ("ice: Fix quad registers read on E825")
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-16 10:34:59 -08:00
Donald Hunter
b1b62d6d33
tools/net/ynl: ethtool: support spec load from install location
...
Replace hard-coded paths for spec and schema with lookup functions so
that ethtool.py will work in-tree or when installed.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250111154803.7496-2-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-13 19:06:10 -08:00
Donald Hunter
2ff80cefb7
tools/net/ynl: add support for --family and --list-families
...
Add a --family option to ynl to specify the spec by family name instead
of file path, with support for searching in-tree and system install
location and a --list-families option to show the available families.
./tools/net/ynl/pyynl/cli.py --family rt_addr --dump getaddr
Signed-off-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/20250111154803.7496-1-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-13 19:06:08 -08:00
Jan Stancek
ab88c2b373
tools: ynl: move python code to separate sub-directory
...
Move python code to a separate directory so it can be
packaged as a python module. Updates existing references
in selftests and docs.
Also rename ynl-gen-[c|rst] to ynl_gen_[c|rst], avoid
dashes as these prevent easy imports for entrypoints.
Signed-off-by: Jan Stancek <jstancek@redhat.com >
Reviewed-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/a4151bad0e6984e7164d395125ce87fd2e048bf1.1736343575.git.jstancek@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-09 12:53:27 -08:00