|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7 |
|
| #
1b038af9 |
| 08-Jan-2025 |
Jan Stancek <[email protected]> |
tools: ynl: add install target for generated content
Generate docs using ynl_gen_rst and add install target for headers, specs and generates rst files.
Factor out SPECS_DIR since it's repeated many
tools: ynl: add install target for generated content
Generate docs using ynl_gen_rst and add install target for headers, specs and generates rst files.
Factor out SPECS_DIR since it's repeated many times.
Signed-off-by: Jan Stancek <[email protected]> Reviewed-by: Donald Hunter <[email protected]> Link: https://patch.msgid.link/645c68e3d201f1ef4276e3daddfe06262a0c2804.1736343575.git.jstancek@redhat.com Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
ab88c2b3 |
| 08-Jan-2025 |
Jan Stancek <[email protected]> |
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 ren
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 <[email protected]> Reviewed-by: Donald Hunter <[email protected]> Link: https://patch.msgid.link/a4151bad0e6984e7164d395125ce87fd2e048bf1.1736343575.git.jstancek@redhat.com Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12 |
|
| #
05a318b4 |
| 12-Nov-2024 |
Jan Stancek <[email protected]> |
tools: ynl: extend CFLAGS to keep options from environment
Package build environments like Fedora rpmbuild introduced hardening options (e.g. -pie -Wl,-z,now) by passing a -spec option to CFLAGS and
tools: ynl: extend CFLAGS to keep options from environment
Package build environments like Fedora rpmbuild introduced hardening options (e.g. -pie -Wl,-z,now) by passing a -spec option to CFLAGS and LDFLAGS.
ynl Makefiles currently override CFLAGS but not LDFLAGS, which leads to a mismatch and build failure: CC sample devlink /usr/bin/ld: devlink.o: relocation R_X86_64_32 against symbol `ynl_devlink_family' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status
Extend CFLAGS to support hardening options set by build environment.
Signed-off-by: Jan Stancek <[email protected]> Acked-by: Jakub Kicinski <[email protected]> Reviewed-by: Donald Hunter <[email protected]> Link: https://patch.msgid.link/265b2d5d3a6d4721a161219f081058ed47dc846a.1731399562.git.jstancek@redhat.com Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8 |
|
| #
4e887471 |
| 05-Mar-2024 |
Jakub Kicinski <[email protected]> |
tools: ynl: rename make hardclean -> distclean
The make target to remove all generated files used to be called "hardclean" because it deleted files which were tracked by git. We no longer track gene
tools: ynl: rename make hardclean -> distclean
The make target to remove all generated files used to be called "hardclean" because it deleted files which were tracked by git. We no longer track generated user space files, so use the more common "distclean" name.
Signed-off-by: Jakub Kicinski <[email protected]> Reviewed-by: Donald Hunter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3 |
|
| #
d2866539 |
| 02-Feb-2024 |
Jakub Kicinski <[email protected]> |
tools: ynl: auto-gen for all genetlink families
Instead of listing the genetlink families that we want to codegen for, always codegen for everyone. We can add an opt-out later but it seems like most
tools: ynl: auto-gen for all genetlink families
Instead of listing the genetlink families that we want to codegen for, always codegen for everyone. We can add an opt-out later but it seems like most families are not causing any issues, and yet folks forget to add them to the Makefile.
Reviewed-by: Jiri Pirko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
7c59c9c8 |
| 02-Feb-2024 |
Jakub Kicinski <[email protected]> |
tools: ynl: generate code for ovs families
Add ovs_flow, ovs_vport and ovs_datapath to the families supported in C. ovs-flow has some circular nesting which is fun to deal with, but the necessary su
tools: ynl: generate code for ovs families
Add ovs_flow, ovs_vport and ovs_datapath to the families supported in C. ovs-flow has some circular nesting which is fun to deal with, but the necessary support has been added already in the previous release cycle.
Add a sample that proves that dealing with fixed headers does actually work correctly.
Reviewed-by: Jiri Pirko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
8f109e91 |
| 02-Feb-2024 |
Jakub Kicinski <[email protected]> |
tools: ynl: include dpll and mptcp_pm in C codegen
The DPLL and mptcp_pm families are pretty clean, and YNL C codegen supports them fully with no changes. Add them to user space codegen so that C sa
tools: ynl: include dpll and mptcp_pm in C codegen
The DPLL and mptcp_pm families are pretty clean, and YNL C codegen supports them fully with no changes. Add them to user space codegen so that C samples can be written, and we know immediately if changes to these families require YNL codegen work.
Reviewed-by: Jiri Pirko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5 |
|
| #
f14122b2 |
| 05-Oct-2023 |
Chuck Lever <[email protected]> |
tools: ynl: Add source files for nfsd netlink protocol
Signed-off-by: Chuck Lever <[email protected]>
|
| #
cb7fb0aa |
| 10-Oct-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: use ynl-gen -o instead of stdout in Makefile
Jiri added more careful handling of output of the code generator to avoid wiping out existing files in commit f65f305ae008 ("tools: ynl-gen:
tools: ynl: use ynl-gen -o instead of stdout in Makefile
Jiri added more careful handling of output of the code generator to avoid wiping out existing files in commit f65f305ae008 ("tools: ynl-gen: use temporary file for rendering") Make use of the -o option in the Makefiles, it is already used by ynl-regen.sh.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
a5066017 |
| 03-Oct-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: don't regen on every make
As far as I can tell the normal Makefile dependency tracking works, generated files get re-generated if the YAML was updated. Let make do its job, don't force t
tools: ynl: don't regen on every make
As far as I can tell the normal Makefile dependency tracking works, generated files get re-generated if the YAML was updated. Let make do its job, don't force the re-generation. make hardclean can be used to force regeneration.
Acked-by: Stanislav Fomichev <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7 |
|
| #
f0ec58d5 |
| 14-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: work around stale system headers
The inability to include the uAPI headers directly in tools/ is one of the bigger annoyances of compiling user space code. Most projects trade the pain f
tools: ynl: work around stale system headers
The inability to include the uAPI headers directly in tools/ is one of the bigger annoyances of compiling user space code. Most projects trade the pain for smaller inconvenience of having to copy the headers under tools/include.
In case of netlink headers I think that we can avoid both. Netlink family headers are simple and should be self-contained. We can try to twiddle the Makefile a little to force-include just the family header, and use system headers for the rest.
This works fairly well. There are two warts - for some reason if we specify -include $path/family.h as a compilation flag, the #ifdef header guard does not seem to work. So we need to throw the guard in on the command line as well. Seems like GCC detects that the header is different and tries to include both. Second problem is that make wants hash sign to be escaped or not depending on the version. Sigh.
Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
show more ...
|
|
Revision tags: v6.4-rc6 |
|
| #
2d7be507 |
| 09-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: generate code for the ethtool family
Generate the protocol code for ethtool. Skip the stats for now, they are the only outlier in terms of complexity. Stats are a sort-of semi-polymorphi
tools: ynl: generate code for the ethtool family
Generate the protocol code for ethtool. Skip the stats for now, they are the only outlier in terms of complexity. Stats are a sort-of semi-polymorphic (attr space of a nest depends on value of another attr) or a type-value-scalar, depending on how one wants to look at it... A challenge for another time.
Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
show more ...
|
| #
5d1a30eb |
| 07-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: generate code for the devlink family
Admittedly the devlink.yaml spec is fairly limitted, it only covers basic device get and info-get ops. That's sufficient to be useful (monitoring FW
tools: ynl: generate code for the devlink family
Admittedly the devlink.yaml spec is fairly limitted, it only covers basic device get and info-get ops. That's sufficient to be useful (monitoring FW versions in the fleet). Plus it gives us a chance to exercise deep nesting and directional messaging in YNL.
Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
7a11f70c |
| 06-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: generate code for the handshake family
Generate support for the handshake family.
Signed-off-by: Jakub Kicinski <[email protected]>
|
| #
d75fdfbc |
| 05-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: support fou and netdev in C
Generate the code for netdev and fou families. They are simple and already supported by the code gen.
Reviewed-by: Willem de Bruijn <[email protected]> Sign
tools: ynl: support fou and netdev in C
Generate the code for netdev and fou families. They are simple and already supported by the code gen.
Reviewed-by: Willem de Bruijn <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
86878f14 |
| 05-Jun-2023 |
Jakub Kicinski <[email protected]> |
tools: ynl: user space helpers
Add "fixed" part of the user space Netlink Spec-based library. This will get linked with the protocol implementations to form a full API.
Acked-by: Willem de Bruijn <
tools: ynl: user space helpers
Add "fixed" part of the user space Netlink Spec-based library. This will get linked with the protocol implementations to form a full API.
Acked-by: Willem de Bruijn <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|