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:
BaseConfigDefault configuration for Per Test Suite config.
- class HashAlgorithm
Bases:
StrEnumEnum of hashing algorithms.
- class TestPmdRss
Bases:
TestSuitePMD 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:
InteractiveCommandExecutionError – If size of RETA table for driver is None.
InteractiveCommandExecutionError – If there are no valid flow rules that can be created.
- 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.