parameters. These parameters are checked using device capabilities
structure.
+Limitations
+-----------
+On hardware devices the cycle-count doesn't always represent the actual offload
+cost. The cycle-count only represents the offload cost when the hardware
+accelerator is not fully loaded, when loaded the cpu cycles freed up by the
+offload are still consumed by the test tool and included in the cycle-count.
+These cycles are consumed by retries and inefficient API calls enqueuing and
+dequeuing smaller bursts than specified by the cmdline parameter. This results
+in a larger cycle-count measurement and should not be interpreted as an offload
+cost measurement.
+
+On hardware devices the throughput measurement is not necessarily the maximum
+possible for the device, e.g. it may be necessary to use multiple cores to keep
+the hardware accelerator fully loaded and so measure maximum throughput.
+
Compiling the Application
-------------------------
with the ``dpdk-test-crypto-perf`` applcation.
See the DPDK Getting Started Guides for more information on these options.
-* ``-c <COREMASK>``
+* ``-c <COREMASK>`` or ``-l <CORELIST>``
- Set the hexadecimal bitmask of the cores to run on.
+ Set the hexadecimal bitmask of the cores to run on. The corelist is a
+ list cores to use.
* ``-w <PCI>``
throughput
latency
+ verify
* ``--silent``
auth-then-cipher
aead
+ For GCM/CCM algorithms you should use aead flag.
+
* ``--sessionless``
Enable session-less crypto operations mode.
Enable out-of-place crypto operations mode.
-* ``--verify``
-
- Enable verify that all crypto operations were successful.
- The verification is done after the performance test.
-
* ``--test-file <name>``
Set test vector file path. See the Test Vector File chapter.
for cipher encryption aes-cbc and auth generation sha1-hmac,
one milion operations, burst size 32, packet size 64::
- dpdk-test-crypto-perf -c 0xc0 --vdev crypto_aesni_mb_pmd -w 0000:00:00.0 --
+ dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb_pmd -w 0000:00:00.0 --
--ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
--cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
sha1-hmac --auth-op generate --auth-key-sz 64 --auth-digest-sz 12
Call application for performance latency test of two Aesni MB PMD executed
on two cores for cipher encryption aes-cbc, ten operations in silent mode::
- dpdk-test-crypto-perf -c 0xf0 --vdev crypto_aesni_mb_pmd1
+ dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb_pmd1
--vdev crypto_aesni_mb_pmd2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
--cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
--cipher-op encrypt --optype cipher-only --silent
--ptest latency --total-ops 10
-Call application for performance latency test of single open ssl PMD
+Call application for verification test of single open ssl PMD
for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
in silent mode, test vector provide in file "test_aes_gcm.data"
with packet verification::
- dpdk-test-crypto-perf -c 0xf0 --vdev crypto_openssl -w 0000:00:00.0 --
+ dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
--devtype crypto_openssl --cipher-algo aes-gcm --cipher-key-sz 16
--cipher-iv-sz 16 --cipher-op encrypt --auth-algo aes-gcm --auth-key-sz 16
--auth-digest-sz 16 --auth-aad-sz 16 --auth-op generate --optype aead
- --silent --ptest latency --total-ops 10
- --test-file test_aes_gcm.data --verify
+ --silent --ptest verify --total-ops 10
+ --test-file test_aes_gcm.data
Test vector file for cipher algorithm aes cbc 256 with authorization sha::