pmd_rss Test Suite

RSS testing suite.

Tests different hashing algorithms by checking if packets are routed to correct queues. Tests updating the RETA (Redirection Table) key to verify it takes effect and follows set size constraints. Tests RETA behavior under changing number of queues.

class Config

Bases: BaseConfig

Default configuration for Per Test Suite config.

class HashAlgorithm

Bases: StrEnum

Enum of hashing algorithms.

class TestPmdRss

Bases: TestSuite

PMD RSS test suite.

key_hash_algorithm() None

Hashing algorithm test.

Steps:

Setup RSS environment using the chosen algorithm. Send test packets for each flow rule.

Verify:

Packet hash corresponds to the packet queue.

Raises:
update_key_set_hash_key_short_long() None

Set hash key short long test.

Steps:

Fetch the hash key size. Create two random hash keys one key too short and one too long.

Verify:

Verify that it is not possible to set the shorter hash key. Verify that it is not possible to set the longer hash key.

Raises:

InteractiveCommandExecutionError – If port info dose not contain hash key size.

update_key_reported_key_size() None

Verify reported hash key size is the same as the NIC capabilities.

Steps:

Fetch the hash key size and compare to the actual key size.

Verify:

Reported key size is the same as the actual key size.

reta_key_reta_queues() None

RETA rx/tx queues test.

Steps:

For each queue size setup RSS environment and send Test packets.

Verify:

Packet hash corresponds to hash queue.

Raises:

InteractiveCommandExecutionError – If size of RETA table for driver is None.

reta_key_reported_reta_size() None

Reported RETA size test.

Steps:

Fetch reported reta size.

Verify:

Reported RETA size is equal to the actual RETA size.

required_capabilities: ClassVar[set[Capability]] = {PORT_RX_OFFLOAD_RSS_HASH, LinkTopology.ONE_LINK}

The capabilities the test case or suite requires in order to be executed.

topology_type: ClassVar[TopologyCapability] = LinkTopology.ONE_LINK

The topology type of the test case or suite.