History log of /dpdk/dts/framework/remote_session/testpmd_shell.py (Results 1 – 25 of 33)
Revision Date Author Comments
# bee7cf82 15-Oct-2024 Dean Marx <dmarx@iol.unh.edu>

dts: add checksum offload to testpmd shell

Add csum_set_hw method to testpmd shell class.

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


# c986c339 05-Nov-2024 Dean Marx <dmarx@iol.unh.edu>

dts: add testpmd port queue modification

This patch adds methods for querying and modifying port queue state and
configuration. In addition to this, it also adds the ability to capture
the forwardin

dts: add testpmd port queue modification

This patch adds methods for querying and modifying port queue state and
configuration. In addition to this, it also adds the ability to capture
the forwarding statistics that get outputted when you send the "stop"
command in testpmd. Querying of port queue information is handled
through a TextParser dataclass in case there is future need for using
more of the output from the command used to query the information.

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

show more ...


# 474ce443 16-Oct-2024 Nicholas Pratte <npratte@iol.unh.edu>

dts: add capability check for multicast filtering

The multicast address filter component of the MAC filter test suite
is not supported by all device drivers. So, a simple multicast
filter capability

dts: add capability check for multicast filtering

The multicast address filter component of the MAC filter test suite
is not supported by all device drivers. So, a simple multicast
filter capability check is added for the multicast filter testcase.

Bugzilla ID: 1454

Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>

show more ...


# e3b16f45 16-Oct-2024 Nicholas Pratte <npratte@iol.unh.edu>

dts: add setting MAC and multicast addresses

New methods have been added to TestPMDShell in order to support the MAC
filter's individual test cases:
- set_mac_addr
- set_multicast_mac_addr

set_ma

dts: add setting MAC and multicast addresses

New methods have been added to TestPMDShell in order to support the MAC
filter's individual test cases:
- set_mac_addr
- set_multicast_mac_addr

set_mac_addr and set_multicast_addr were created for the MAC filter test
suite, enabling users to both add or remove MAC and multicast
addresses based on a boolean 'add or remove' parameter.

Bugzilla ID: 1454

Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>

show more ...


# 0264e408 07-Nov-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: add blocked ports to EAL parameters

Make the "ports" attribute of EalParams as it actually is to
"allowed_ports", and add "blocked_ports".

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>

dts: add blocked ports to EAL parameters

Make the "ports" attribute of EalParams as it actually is to
"allowed_ports", and add "blocked_ports".

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>

show more ...


# 949d1488 07-Nov-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: fix custom enum behaviour with doc

When building docs without any dependencies, autodoc will mock all the
packages missing from the system. Because DTS makes use of a special
enum library calle

dts: fix custom enum behaviour with doc

When building docs without any dependencies, autodoc will mock all the
packages missing from the system. Because DTS makes use of a special
enum library called aenum, autodoc fails to recognise enum inheriting
it as such and raises exceptions as a consequence.

This change extends the already in-place mechanism for type checking
that pretends that aenums are builtin enums to the API doc building
process.

Fixes: 039256daa8bf ("dts: add topology capability")
Fixes: c89d00380603 ("dts: add NIC capability support")

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

show more ...


# d7181426 10-Oct-2024 Dean Marx <dmarx@iol.unh.edu>

dts: fix verify argument in set forward mode

Condition set_forward_mode verify code on the
verify argument, which was originally omitted.

Bugzilla ID: 1410
Fixes: fc0f7dc47ee3 ("dts: add testpmd sh

dts: fix verify argument in set forward mode

Condition set_forward_mode verify code on the
verify argument, which was originally omitted.

Bugzilla ID: 1410
Fixes: fc0f7dc47ee3 ("dts: add testpmd shell params")

Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Patrick Robb <probb@iol.unh.edu>
Reviewed-by: Nicholas Pratte <npratte@iol.unh.edu>

show more ...


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

dts: add VLAN methods to testpmd shell

Added the following methods to testpmd shell class:
set vlan filter on/off, rx vlan add/rm,
set vlan strip on/off, tx vlan set/reset,
set promisc/verbose. Fixe

dts: add VLAN methods to testpmd shell

Added the following methods to testpmd shell class:
set vlan filter on/off, rx vlan add/rm,
set vlan strip on/off, tx vlan set/reset,
set promisc/verbose. Fixed a bug in the VLAN regex
used in testpmd shell flags.

Fixes: 61d5bc9bf974 ("dts: add port info command to testpmd shell")

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

show more ...


# d64f6ba5 23-Sep-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add NIC capabilities from port info

Add the capabilities advertised by the testpmd command "show port info"
so that test cases may be marked as requiring those capabilities:
RUNTIME_RX_QUEUE_SE

dts: add NIC capabilities from port info

Add the capabilities advertised by the testpmd command "show port info"
so that test cases may be marked as requiring those capabilities:
RUNTIME_RX_QUEUE_SETUP
RUNTIME_TX_QUEUE_SETUP
RXQ_SHARE
FLOW_RULE_KEEP
FLOW_SHARED_OBJECT_KEEP

These names are copy pasted from the existing DeviceCapabilitiesFlag
class. Dynamic addition of Enum members runs into problems with typing
(mypy doesn't know about the members) and documentation generation
(Sphinx doesn't know about the members).

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
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 ...


# a79884f9 23-Sep-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add Rx offload capabilities

The scatter Rx offload capability is needed for the pmd_buffer_scatter
test suite. The command that retrieves the capability is:
show port <port_id> rx_offload capab

dts: add Rx offload capabilities

The scatter Rx offload capability is needed for the pmd_buffer_scatter
test suite. The command that retrieves the capability is:
show port <port_id> rx_offload capabilities

The command also retrieves a lot of other capabilities (RX_OFFLOAD_*)
which are all added into a Flag. The Flag members correspond to NIC
capability names so a convenience function that looks for the supported
Flags in a testpmd output is also added.

The NIC capability names (mentioned above) are copy-pasted from the
Flag. Dynamic addition of Enum members runs into problems with typing
(mypy doesn't know about the members) and documentation generation
(Sphinx doesn't know about the members).

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

show more ...


# c0119400 23-Sep-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add NIC capabilities from Rx queue info

Add parsing for the show rxq info <port_id> <queue_id> tespmd command
and add support for the Scattered Rx capability.

Signed-off-by: Juraj Linkeš <jura

dts: add NIC capabilities from Rx queue info

Add parsing for the show rxq info <port_id> <queue_id> tespmd command
and add support for the Scattered Rx capability.

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

show more ...


# c89d0038 23-Sep-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add NIC capability support

Some test cases or suites may be testing a NIC feature that is not
supported on all NICs, so add support for marking test cases or suites
as requiring NIC capabilitie

dts: add NIC capability support

Some test cases or suites may be testing a NIC feature that is not
supported on all NICs, so add support for marking test cases or suites
as requiring NIC capabilities.

The marking is done with a decorator, which populates the internal
required_capabilities attribute of TestProtocol. The NIC capability
itself is a wrapper around the NicCapability defined in testpmd_shell.
The reason is Enums cannot be extended and the class implements the
methods of its abstract base superclass.

The decorator API is designed to be simple to use. The arguments passed
to it are all from the testpmd shell. Everything else (even the actual
capability object creation) is done internally.

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

show more ...


# a91d5f47 26-Sep-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: add text parser for testpmd verbose output

Multiple test suites from the old DTS framework rely on being able to
consume and interpret the verbose output of testpmd. The new framework
doesn't h

dts: add text parser for testpmd verbose output

Multiple test suites from the old DTS framework rely on being able to
consume and interpret the verbose output of testpmd. The new framework
doesn't have an elegant way for handling the verbose output, but test
suites are starting to be written that rely on it. This patch creates a
TextParser class that can be used to extract the verbose information
from any testpmd output and also adjusts the `stop` method of the shell
to return all output that it collected.

Signed-off-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 ...


# 9910db35 06-Sep-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: add MTU config methods to testpmd shell

There are methods within DTS currently that support updating the MTU of
ports on a node, but the methods for doing this in a linux session rely
on the ip

dts: add MTU config methods to testpmd shell

There are methods within DTS currently that support updating the MTU of
ports on a node, but the methods for doing this in a linux session rely
on the ip command and the port being bound to the kernel driver. Since
test suites are run while bound to the driver for DPDK, there needs to
be a way to modify the value while bound to said driver as well. This is
done by using testpmd to modify the MTU.

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

show more ...


# 85d15c7c 23-Aug-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add testpmd port information caching

When using port information multiple times in a testpmd shell instance
lifespan, it's desirable to not get the information each time, so
caching is added. I

dts: add testpmd port information caching

When using port information multiple times in a testpmd shell instance
lifespan, it's desirable to not get the information each time, so
caching is added. In case the information changes, there's a way to
force the update with either TestPmdShell.show_port_info() or
TestPmdShell.show_port_info_all().

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

show more ...


# 618d9140 23-Aug-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: fix testpmd port device error handling mode

Make device_error_handling_mode of testpmd port optional as it may not
be present, e.g. in VM ports.

Fixes: 61d5bc9bf974 ("dts: add port info comman

dts: fix testpmd port device error handling mode

Make device_error_handling_mode of testpmd port optional as it may not
be present, e.g. in VM ports.

Fixes: 61d5bc9bf974 ("dts: add port info command to testpmd shell")

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

show more ...


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

dts: add testpmd set ports queues

Add a facility to update the number of TX/RX queues during the runtime
of testpmd.

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

dts: add testpmd set ports queues

Add a facility to update the number of TX/RX queues during the runtime
of testpmd.

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

show more ...


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

dts: add ability to start/stop testpmd ports

Add testpmd commands to start and stop all the ports, so that they can
be configured. Because there is a distinction of commands that require
the ports t

dts: add ability to start/stop testpmd ports

Add testpmd commands to start and stop all the ports, so that they can
be configured. Because there is a distinction of commands that require
the ports to be stopped and started, also add decorators for commands
that require a specific state, removing this logic from the test
writer's duty.

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

show more ...


# 65a1b4e8 24-Jul-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: improve logging for interactive shells

The messages being logged by interactive shells currently are using the
same logger as the node they were created from. Because of this, when
sending inte

dts: improve logging for interactive shells

The messages being logged by interactive shells currently are using the
same logger as the node they were created from. Because of this, when
sending interactive commands, the logs make no distinction between when
you are sending a command directly to the host and when you are using an
interactive shell on the host. This change adds names to interactive
shells so that they are able to use their own loggers with distinct
names.

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

show more ...


# 92439dc9 11-Jul-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: improve starting and stopping interactive shells

The InteractiveShell class currently relies on being cleaned up and
shutdown at the time of garbage collection, but this cleanup of the class
do

dts: improve starting and stopping interactive shells

The InteractiveShell class currently relies on being cleaned up and
shutdown at the time of garbage collection, but this cleanup of the class
does no verification that the session is still running prior to cleanup.
So, if a user were to call this method themselves prior to garbage
collection, it would be called twice and throw an exception when the
desired behavior is to do nothing since the session is already cleaned
up. This is solved by using a weakref and a finalize class which
achieves the same result of calling the method at garbage collection,
but also ensures that it is called exactly once.

Additionally, this fixes issues regarding starting a primary DPDK
application while another is still cleaning up via a retry when starting
interactive shells. It also adds catch for attempting to send a command
to an interactive shell that is not running to create a more descriptive
error message.

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

show more ...


# 2b648cd4 11-Jul-2024 Jeremy Spewock <jspewock@iol.unh.edu>

dts: add context manager for interactive shells

Interactive shells are managed in a way currently where they are closed
and cleaned up at the time of garbage collection. Due to there being no
guaran

dts: add context manager for interactive shells

Interactive shells are managed in a way currently where they are closed
and cleaned up at the time of garbage collection. Due to there being no
guarantee of when this garbage collection happens in Python, there is no
way to consistently know when an application will be closed without
manually closing the application yourself when you are done with it.
This doesn't cause a problem in cases where you can start another
instance of the same application multiple times on a server, but this
isn't the case for primary applications in DPDK. The introduction of
primary applications, such as testpmd, adds a need for knowing previous
instances of the application have been stopped and cleaned up before
starting a new one, which the garbage collector does not provide.

To solve this problem, a new class is added which acts as a base class
for interactive shells that enforces that instances of the
application be managed using a context manager. Using a context manager
guarantees that once you leave the scope of the block where the
application is being used for any reason, the application will be closed
immediately. This avoids the possibility of the shell not being closed
due to an exception being raised or user error. The interactive shell
class then becomes shells that can be started/stopped manually or at the
time of garbage collection rather than through a context manager.

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

show more ...


# 87ba4cdc 19-Jun-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: use Unpack for type checking and hinting

Interactive shells that inherit DPDKShell initialise their params
classes from a kwargs dict. Therefore, static type checking is
disabled. This change u

dts: use Unpack for type checking and hinting

Interactive shells that inherit DPDKShell initialise their params
classes from a kwargs dict. Therefore, static type checking is
disabled. This change uses the functionality of Unpack added in
PEP 692 to re-enable it. The disadvantage is that this functionality has
been implemented only with TypedDict, forcing the creation of TypedDict
mirrors of the Params classes.

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

show more ...


# bfad0948 19-Jun-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: rework interactive shells

The way nodes and interactive shells interact makes it difficult to
develop for static type checking and hinting. The current system relies
on a top-down approach, att

dts: rework interactive shells

The way nodes and interactive shells interact makes it difficult to
develop for static type checking and hinting. The current system relies
on a top-down approach, attempting to give a generic interface to the
test developer, hiding the interaction of concrete shell classes as much
as possible. When working with strong typing this approach is not ideal,
as Python's implementation of generics is still rudimentary.

This rework reverses the tests interaction to a bottom-up approach,
allowing the test developer to call concrete shell classes directly,
and let them ingest nodes independently. While also re-enforcing type
checking and making the code easier to read.

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>

show more ...


# fc0f7dc4 19-Jun-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: add testpmd shell params

Implement all the testpmd shell parameters into a data structure.

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

dts: add testpmd shell params

Implement all the testpmd shell parameters into a data structure.

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

show more ...


# 967fc62b 19-Jun-2024 Luca Vizzarro <luca.vizzarro@arm.com>

dts: refactor EAL parameters class

Move EalParams to its own module to avoid circular dependencies.
Also the majority of the attributes are now optional.

Signed-off-by: Luca Vizzarro <luca.vizzarro

dts: refactor EAL parameters class

Move EalParams to its own module to avoid circular dependencies.
Also the majority of the attributes are now optional.

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

show more ...


12