diff options
Diffstat (limited to 'platform/linux-dpdk/odp_crypto.c')
-rw-r--r-- | platform/linux-dpdk/odp_crypto.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/platform/linux-dpdk/odp_crypto.c b/platform/linux-dpdk/odp_crypto.c index 3c9d8cc3e..a5846ef42 100644 --- a/platform/linux-dpdk/odp_crypto.c +++ b/platform/linux-dpdk/odp_crypto.c @@ -575,7 +575,14 @@ static void capability_process(struct rte_cryptodev_info *dev_info, auths->bit.sha512_hmac = 1; if (cap_auth_algo == RTE_CRYPTO_AUTH_AES_GMAC) auths->bit.aes_gmac = 1; - if (cap_auth_algo == RTE_CRYPTO_AUTH_AES_CMAC) + + /* Using AES-CMAC with the aesni_mb driver for IPsec + * causes a crash inside the intel-mb library. + * As a workaround, we do not use AES-CMAC with + * the aesni_mb driver. + */ + if (cap_auth_algo == RTE_CRYPTO_AUTH_AES_CMAC && + !is_dev_aesni_mb(dev_info)) auths->bit.aes_cmac = 1; /* Combination of (3)DES-CBC and AES-XCBC-MAC does not |