History log of /dpdk/dts/framework/config/conf_yaml_schema.json (Results 1 – 21 of 21)
Revision Date Author Comments
# 125d85e7 07-Nov-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: add blocklist test suite

This test suite tests the port blocklisting functionality built in
testpmd.

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szc

dts: add blocklist test suite

This test suite tests the port blocklisting functionality built in
testpmd.

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>

show more ...


# 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 ...


# f9957667 27-Sep-2024 Tomáš Ďurovec <tomas.durovec@pantheon.tech>

dts: support externally compiled DPDK

Enable the user to use either a DPDK source tree directory or a
tarball, with and without a pre-built build directory. These can be
stored on either SUT node or

dts: support externally compiled DPDK

Enable the user to use either a DPDK source tree directory or a
tarball, with and without a pre-built build directory. These can be
stored on either SUT node or the DTS host. The DPDK build setup or the
pre-built binaries can be specified through the configuration file,
the command line arguments or environment variables.

Signed-off-by: Tomáš Ďurovec <tomas.durovec@pantheon.tech>
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# 11b2279a 27-Sep-2024 Tomáš Ďurovec <tomas.durovec@pantheon.tech>

dts: enforce one DPDK build per test run

Given a pre-built DPDK repository can be supplied to DTS, there is no
need to define multiple build targets. To simplify the process this
change makes each t

dts: enforce one DPDK build per test run

Given a pre-built DPDK repository can be supplied to DTS, there is no
need to define multiple build targets. To simplify the process this
change makes each test run use only one DPDK build whether it's
pre-built or it needs to be built by DTS.

Signed-off-by: Tomáš Ďurovec <tomas.durovec@pantheon.tech>
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# ecaff610 27-Sep-2024 Tomáš Ďurovec <tomas.durovec@pantheon.tech>

dts: rename build target to DPDK build

Since the DPDK may already be built, some more general name
is needed that includes both the DPDK location and the build
config (if we are going to build).

Si

dts: rename build target to DPDK build

Since the DPDK may already be built, some more general name
is needed that includes both the DPDK location and the build
config (if we are going to build).

Signed-off-by: Tomáš Ďurovec <tomas.durovec@pantheon.tech>
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# e41fe1f8 08-Oct-2024 Dean Marx <dmarx@iol.unh.edu>

dts: add VLAN test suite

Adds a test suite for verifying VLAN filtering, stripping, and insertion
functionality on a Poll Mode Driver.

Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Jere

dts: add VLAN test suite

Adds a test suite for verifying VLAN filtering, stripping, and insertion
functionality on a Poll Mode Driver.

Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# cfe40bac 09-Sep-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: add random generation seed setting

When introducing pseudo-random generation in the test runs we need to
ensure that these can be reproduced by setting a pre-defined seed.
This commits adds the

dts: add random generation seed setting

When introducing pseudo-random generation in the test runs we need to
ensure that these can be reproduced by setting a pre-defined seed.
This commits adds the ability to set one or allow for one to be
generated and reported back to the user.

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
Reviewed-by: Alex Chapman <alex.chapman@arm.com>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>

show more ...


# 85ceeece 07-Jun-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: rename execution to test run

The configuration containing the combination of:
1. what testbed to use,
2. which tests to run,
3. and what build targets to test

is called an execution. This is c

dts: rename execution to test run

The configuration containing the combination of:
1. what testbed to use,
2. which tests to run,
3. and what build targets to test

is called an execution. This is confusing since we're using the exact
same term to describe other things and execution does not really capture
that well the three items listed above.

A new term is thus needed to describe the configuration. Test run is
much less confusing and better captures what the configuration contains.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# c0dd39de 10-Jun-2024 Nicholas Pratte <npratte@iol.unh.edu>

dts: rename hugepage config parameter

The term 'amount' is used for uncountable nouns. Since total hugepages
is a discrete value (i.e. countable), the declaration of the 'amount'
key value pair shou

dts: rename hugepage config parameter

The term 'amount' is used for uncountable nouns. Since total hugepages
is a discrete value (i.e. countable), the declaration of the 'amount'
key value pair should be changes to a different term in both the config
and the rest of the code.

Bugzilla ID: 1370

Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# e5307b25 10-Jun-2024 Nicholas Pratte <npratte@iol.unh.edu>

dts: use exclusively 2MB hugepage in config

The previous implementation configures and allocates hugepage sizes
based on a system default. This can lead to two problems: overallocation of
hugepages

dts: use exclusively 2MB hugepage in config

The previous implementation configures and allocates hugepage sizes
based on a system default. This can lead to two problems: overallocation of
hugepages (which may crash the remote host), and configuration of hugepage
sizes that are not recommended during runtime. This new implementation
allows only 2MB hugepage allocation during runtime; any other unique
hugepage size must be configured by the end-user for initializing DTS.

If the amount of 2MB hugepages requested exceeds the amount of 2MB
hugepages already configured on the system, then the system will remount
hugepages to cover the difference. If the amount of hugepages requested is
either less than or equal to the amount already configured on the system,
then nothing is done.

Bugzilla ID: 1370

Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# 7e138863 11-Mar-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: add buffer scatter test suite

This test suite provides testing of the support of scattered packets by
Poll Mode Drivers using testpmd, verifying the ability to receive and
transmit scattered mu

dts: add buffer scatter test suite

This test suite provides testing of the support of scattered packets by
Poll Mode Drivers using testpmd, verifying the ability to receive and
transmit scattered multi-segment packets made up of multiple
non-contiguous memory buffers. This is tested through 5 different cases
in which the length of the packets sent are less than the mbuf size,
equal to the mbuf size, and 1, 4, and 5 bytes greater than the mbuf size
in order to show both the CRC and the packet data are capable of
existing in the first, second, or both buffers.

Naturally, if the PMD is capable of forwarding scattered packets which
it receives as input, this shows it is capable of both receiving and
transmitting scattered packets.

Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# 5d094f9f 01-Mar-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: filter test suites in executions

We're currently filtering which test cases to run after some setup
steps, such as DPDK build, have already been taken. This prohibits us to
mark the test suites

dts: filter test suites in executions

We're currently filtering which test cases to run after some setup
steps, such as DPDK build, have already been taken. This prohibits us to
mark the test suites and cases that were supposed to be run as blocked
when an earlier setup fails, as that information is not available at
that time.

To remedy this, move the filtering to the beginning of each execution.
This is the first action taken in each execution and if we can't filter
the test cases, such as due to invalid inputs, we abort the whole
execution. No test suites nor cases will be marked as blocked as we
don't know which were supposed to be run.

On top of that, the filtering takes place in the TestSuite class, which
should only concern itself with test suite and test case logic, not the
processing behind the scenes. The logic has been moved to DTSRunner
which should do all the processing needed to run test suites.

The filtering itself introduces a few changes/assumptions which are more
sensible than before:
1. Assumption: There is just one TestSuite child class in each test
suite module. This was an implicit assumption before as we couldn't
specify the TestSuite classes in the test run configuration, just the
modules. The name of the TestSuite child class starts with "Test" and
then corresponds to the name of the module with CamelCase naming.
2. Unknown test cases specified both in the test run configuration and
the environment variable/command line argument are no longer silently
ignored. This is a quality of life improvement for users, as they
could easily be not aware of the silent ignoration.

Also, a change in the code results in pycodestyle warning and error:
[E] E203 whitespace before ':'
[W] W503 line break before binary operator

These two are not PEP8 compliant, so they're disabled.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>

show more ...


# d99250aa 19-Jul-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add basic UDP test case

The test cases showcases the scapy traffic generator code.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Acked-by: Jeremy Spewock <jspewock@iol.unh.edu>


# 634bed13 19-Jul-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add traffic generator config

Node configuration - where to connect, what ports to use and what TG to
use.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>


# 88489c05 19-Jul-2023 Jeremy Spewock <jspewock@iol.unh.edu>

dts: add smoke tests

Adds a new test suite for running smoke tests that verify general
configuration aspects of the system under test. If any of these tests
fail, the DTS execution terminates as par

dts: add smoke tests

Adds a new test suite for running smoke tests that verify general
configuration aspects of the system under test. If any of these tests
fail, the DTS execution terminates as part of a "fail-fast" model.

Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>

show more ...


# 1512a0d1 03-Mar-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add test suite config and runner

The config allows users to specify which test suites and test cases
within test suites to run.
Also add test suite running capabilities to dts runner.

Signed-o

dts: add test suite config and runner

The config allows users to specify which test suites and test cases
within test suites to run.
Also add test suite running capabilities to dts runner.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Chenyu Huang <chenyux.huang@intel.com>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# 6fc05ca7 03-Mar-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add test suite module

The module implements the base class that all test suites inherit from.
It implements methods common to all test suites.
The derived test suites implement test cases and a

dts: add test suite module

The module implements the base class that all test suites inherit from.
It implements methods common to all test suites.
The derived test suites implement test cases and any particular setup
needed for the suite or tests.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Chenyu Huang <chenyux.huang@intel.com>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# b76d80a4 03-Mar-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add node memory setup

Setup hugepages on nodes. This is useful not only on SUT nodes, but
also on TG nodes which use TGs that utilize hugepages.

The setup is opt-in, i.e. users need to supply

dts: add node memory setup

Setup hugepages on nodes. This is useful not only on SUT nodes, but
also on TG nodes which use TGs that utilize hugepages.

The setup is opt-in, i.e. users need to supply hugepage configuration to
instruct DTS to configure them. It not configured, hugepage
configuration will be skipped. This is helpful if users don't want DTS
to tamper with hugepages on their system.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Chenyu Huang <chenyux.huang@intel.com>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# c020b7ce 03-Mar-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add DPDK execution handling

Add methods for setting up and shutting down DPDK apps and for
constructing EAL parameters.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruc

dts: add DPDK execution handling

Add methods for setting up and shutting down DPDK apps and for
constructing EAL parameters.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Chenyu Huang <chenyux.huang@intel.com>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# 78534506 03-Mar-2023 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add node and OS abstractions

The abstraction model in DTS is as follows:
Node, defining and implementing methods common to and the base of SUT
(system under test) Node and TG (traffic generator

dts: add node and OS abstractions

The abstraction model in DTS is as follows:
Node, defining and implementing methods common to and the base of SUT
(system under test) Node and TG (traffic generator) Node.
Remote Session, defining and implementing methods common to any remote
session implementation, such as SSH Session.
OSSession, defining and implementing methods common to any operating
system/distribution, such as Linux.

OSSession uses a derived Remote Session and Node in turn uses a derived
OSSession. This split delegates OS-specific and connection-specific code
to specialized classes designed to handle the differences.

The base classes implement the methods or parts of methods that are
common to all implementations and defines abstract methods that must be
implemented by derived classes.

Part of the abstractions is the DTS test execution skeleton:
execution setup, build setup and then test execution.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Chenyu Huang <chenyux.huang@intel.com>
Tested-by: Patrick Robb <probb@iol.unh.edu>

show more ...


# 995fb337 04-Nov-2022 Owen Hilyard <ohilyard@iol.unh.edu>

dts: add config parser

The configuration is split into two parts, one defining the parameters
of the test run and the other defining the topology to be used.

The format of the configuration is YAML

dts: add config parser

The configuration is split into two parts, one defining the parameters
of the test run and the other defining the topology to be used.

The format of the configuration is YAML. It is validated according to a
json schema which also server as detailed documentation of the various
configuration fields. This means that the complete set of allowed values
are tied to the schema as a source of truth. This enables making changes
to parts of DTS that interface with config files without a high risk of
breaking someone's configuration.

This configuration system uses immutable objects to represent the
configuration, making IDE/LSP autocomplete work properly.

There are two ways to specify the configuration file path, an
environment variable or a command line argument, applied in that order.

Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>

show more ...