Currently, the intel-ipsec-mb library only supports SGL for GCM and ChaCha20-Poly1305 algorithms through the JOB API.
To add SGL support for other algorithms, a workaround approach is added in the AESNI_MB PMD. SGL feature flags can now be added to the PMD. Some additional Snow3G SGL and AES tests are also added for various SGL input/output combinations that were not previously being tested. v5: - Rebased on for-main branch after session rework merged. - Dropped bug fix patch for sessionless tests, no longer applicable after session rework. - Removed some added AES-XTS tests as they are skipped for AESNI_MB and QAT and I can't verify them locally. - Added AES-XTS tests that had been accidentally removed in previous patchset versions. v4: Added error check when appending space for digest to buffer. v3: - Modified fix to reset sessions, and ensure values are then set for sessionless testcases. V2 fix just ensured the same values in session objects were reused, as they were not being reset, which was incorrect. - Reduced code duplication by adding a reusable function. - Changed int to uint64_t for total_len. v2: - Added documentation changes. - Added fix for sessionless cleanup. - Modified blockcipher tests to support various SGL types. - Added more SGL AES tests. - Small fixes. Ciara Power (4): test/crypto: fix wireless auth digest segment crypto/ipsec_mb: add remaining SGL support test/crypto: add OOP snow3g SGL tests test/crypto: add remaining blockcipher SGL tests app/test/test_cryptodev.c | 58 +++- app/test/test_cryptodev_aes_test_vectors.h | 310 +++++++++++++++++++- app/test/test_cryptodev_blockcipher.c | 50 ++-- app/test/test_cryptodev_blockcipher.h | 2 + app/test/test_cryptodev_hash_test_vectors.h | 8 +- doc/guides/cryptodevs/aesni_mb.rst | 1 - doc/guides/cryptodevs/features/aesni_mb.ini | 4 + doc/guides/rel_notes/release_22_11.rst | 5 + drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 180 +++++++++--- 9 files changed, 543 insertions(+), 75 deletions(-) -- 2.25.1