cryptodev_throughput Test Suite

DPDK cryptodev performance test suite.

The main goal of this test suite is to utilize the dpdk-test-cryptodev application to gather performance metrics for various cryptographic operations supported by DPDK cryptodev-pmd. It will then compare the results against predefined baseline given in the test_config file to ensure performance standards are met.

class Config

Bases: BaseConfig

Performance test metrics.

delta_tolerance

The allowed tolerance below a given baseline.

Type:

float

throughput_test_parameters

The test parameters to use in the test suite.

Type:

dict[str, list[dict[str, int | float | str]]]

class TestCryptodevThroughput

Bases: TestSuite

DPDK Crypto Device Testing Suite.

set_up_suite() None

Set up the test suite.

aes_cbc() None

aes_cbc test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aes_cbc_sha1() None

aes_cbc_sha1 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aes_cbc_sha2() None

aes_cbc_sha2 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aes_cbc_sha2_digest_16() None

aes_cbc_sha2_digest_16 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aead_aes_gcm() None

aead_aes_gcm test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aes_docsisbpi() None

aes_docsisbpi test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

sha1_hmac() None

sha1_hmac test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

snow3g_uea2_snow3g_uia2() None

snow3g_uea2_snow3g_uia2 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

zuc_eea3_zuc_eia3() None

zuc_eea3_zuc_eia3 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

kasumi_f8_kasumi_f9() None

kasumi_f8 kasumi_f9 test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aesni_mb_vdev() None

aesni_mb virtual device test.

Steps:
  • Create a cryptodev instance with crypto_aesni_mb and supplied buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

aesni_gcm_vdev()

aesni_gcm virtual device test.

Steps:
  • Create a cryptodev instance with crypto_aesni_gcm and supplied buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

kasumi_vdev() None

Kasmumi virtual device test.

Steps:
  • Create a cryptodev instance with crypto_kasumi and supplied buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

snow3g_vdev() None

snow3g virtual device test.

Steps:
  • Create a cryptodev instance with crypto_snow3g and supplied buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

zuc_vdev() None

Zuc virtual device test.

Steps:
  • Create a cryptodev instance with crypto_zuc and supplied buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

open_ssl_vdev() None

open_ssl virtual device test.

Steps:
  • Create a cryptodev instance with provided device type and buffer sizes.

Verify:
  • The resulting Gbps is greater than expected_gbps*(1-delta_tolerance).

Raises:

SkippedTestException – When configuration is not provided.

required_capabilities: ClassVar[set[Capability]] = {LinkTopology.NO_LINK}

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

topology_type: ClassVar[TopologyCapability] = LinkTopology.NO_LINK

The topology type of the test case or suite.