This series of patches add asymmetric crypto support in vhost library and virtio PMD. Only RSA algorithm is enabled as a first step.
To verify functionality in QEMU, you would need: https://github.com/qemu/qemu/commit/5c33f9783ace0b5e077060b220978d94fecb3e81 There is VirtIO specification change proposed for RSA support, and this series apply it at required places. https://lists.oasis-open.org/archives/virtio-comment/202305/msg00341.html In case, qemu crashes, check disabling VHOST_USER_PROTOCOL_F_CONFIG in virtio pmd, when the device starts. This issue was seen with older qemu but I'll check a bit closer. Gowrishankar Muthukrishnan (6): cryptodev: move RSA padding information into xform cryptodev: fix RSA xform for ASN.1 syntax vhost: add asymmetric RSA support crypto/virtio: add asymmetric RSA support examples/vhost_crypto: add asymmetric support app/test: add asymmetric tests for virtio pmd app/test/test_cryptodev_asym.c | 40 +- app/test/test_cryptodev_rsa_test_vectors.h | 28 + drivers/common/cpt/cpt_ucode_asym.h | 4 +- drivers/crypto/cnxk/cnxk_ae.h | 13 +- drivers/crypto/octeontx/otx_cryptodev_ops.c | 4 +- drivers/crypto/openssl/openssl_pmd_private.h | 1 + drivers/crypto/openssl/rte_openssl_pmd.c | 4 +- drivers/crypto/openssl/rte_openssl_pmd_ops.c | 1 + drivers/crypto/qat/qat_asym.c | 17 +- .../virtio/virtio_crypto_capabilities.h | 19 + drivers/crypto/virtio/virtio_cryptodev.c | 388 ++++++++++-- drivers/crypto/virtio/virtio_rxtx.c | 233 +++++++- examples/fips_validation/main.c | 52 +- examples/vhost_crypto/main.c | 50 +- lib/cryptodev/cryptodev_pmd.h | 6 + lib/cryptodev/rte_crypto_asym.h | 8 +- lib/vhost/rte_vhost_crypto.h | 14 +- lib/vhost/vhost.c | 11 +- lib/vhost/vhost.h | 1 + lib/vhost/vhost_crypto.c | 551 ++++++++++++++++-- lib/vhost/vhost_user.c | 4 + lib/vhost/vhost_user.h | 34 +- lib/vhost/virtio_crypto.h | 87 ++- 23 files changed, 1375 insertions(+), 195 deletions(-) -- 2.25.1