b935bdc3 | 19-Aug-2024 |
Luca Vizzarro <luca.vizzarro@arm.com> |
dts: use Pydantic in the configuration
This change brings in pydantic in place of warlock. Pydantic offers a built-in model validation system in the classes, which allows for a more resilient and si
dts: use Pydantic in the configuration
This change brings in pydantic in place of warlock. Pydantic offers a built-in model validation system in the classes, which allows for a more resilient and simpler code. As a consequence of this change:
- most validation is now built-in - further validation is added to verify: - cross referencing of node names and ports - test suite and test cases names - dictionaries representing the config schema are removed - the config schema is no longer used and therefore dropped - the TrafficGeneratorType enum has been changed from inheriting StrEnum to the native str and Enum. This change was necessary to enable the discriminator for object unions - the structure of the classes has been slightly changed to perfectly match the structure of the configuration files - the test suite argument catches the ValidationError that TestSuiteConfig can now raise - the DPDK location has been wrapped under another configuration mapping `dpdk_location` - the DPDK locations are now structured and enforced by classes, further simplifying the validation and handling thanks to pattern matching
Bugzilla ID: 1508
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com> Reviewed-by: Nicholas Pratte <npratte@iol.unh.edu> Reviewed-by: Patrick Robb <probb@iol.unh.edu>
show more ...
|
1a2b549b | 18-Oct-2024 |
Robin Jarry <rjarry@redhat.com> |
net: split IPv4 and IPv6 symbols in separate headers
Split IPv4 and IPv6 symbols in two separate headers. rte_ip4.h and rte_ip6.h, respectively.
Update doxygen index accordingly.
Include rte_ip4.h
net: split IPv4 and IPv6 symbols in separate headers
Split IPv4 and IPv6 symbols in two separate headers. rte_ip4.h and rte_ip6.h, respectively.
Update doxygen index accordingly.
Include rte_ip4.h and rte_ip6.h in rte_ip.h for backward compatibility in applications.
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
7f932642 | 12-Jul-2024 |
Juraj Linkeš <juraj.linkes@pantheon.tech> |
dts: add API doc generation
The tool used to generate DTS API docs is Sphinx, which is already in use in DPDK. The same configuration is used to preserve style with one DTS-specific configuration (s
dts: add API doc generation
The tool used to generate DTS API docs is Sphinx, which is already in use in DPDK. The same configuration is used to preserve style with one DTS-specific configuration (so that the DPDK docs are unchanged) that modifies how the sidebar displays the content. There's other Sphinx configuration related to Python docstrings which doesn't affect DPDK doc build. All new configuration is in a conditional block, applied only when DTS API docs are built to not interfere with DPDK doc build.
Sphinx generates the documentation from Python docstrings. The docstring format is the Google format [0] which requires the sphinx.ext.napoleon extension. The other extension, sphinx.ext.intersphinx, enables linking to objects in external documentations, such as the Python documentation.
There is one requirement for building DTS docs - the same Python version as DTS or higher, because Sphinx's autodoc extension imports the code.
The dependencies needed to import the code don't have to be satisfied, as the autodoc extension allows us to mock the imports. The missing packages are taken from the DTS pyproject.toml file.
And finally, the DTS API docs can be accessed from the DPDK API doxygen page.
[0] https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> Acked-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu> Reviewed-by: Dean Marx <dmarx@iol.unh.edu> Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>
show more ...
|