From 8f4125c1bf476d4f44052c7f1ab5807d02287b73 Mon Sep 17 00:00:00 2001 From: Gagandeep Singh Date: Thu, 18 Nov 2021 13:00:30 +0530 Subject: [PATCH] drivers/crypto: return error for not supported SA lifetime dpaa, dpaa2 and caam_jr drivers do not support SA expiry. This result in failure of test cases in test app. This patch returns ENOTSUP to skip the SA lifetime test cases. Signed-off-by: Gagandeep Singh Acked-by: Akhil Goyal --- drivers/crypto/caam_jr/caam_jr.c | 6 ++++++ drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 6 ++++++ drivers/crypto/dpaa_sec/dpaa_sec.c | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c index 5909eca6e4..8e9cfe73d8 100644 --- a/drivers/crypto/caam_jr/caam_jr.c +++ b/drivers/crypto/caam_jr/caam_jr.c @@ -1756,6 +1756,12 @@ caam_jr_set_ipsec_session(__rte_unused struct rte_cryptodev *dev, PMD_INIT_FUNC_TRACE(); + if (ipsec_xform->life.bytes_hard_limit != 0 || + ipsec_xform->life.bytes_soft_limit != 0 || + ipsec_xform->life.packets_hard_limit != 0 || + ipsec_xform->life.packets_soft_limit != 0) + return -ENOTSUP; + if (ipsec_xform->direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) { cipher_xform = &conf->crypto_xform->cipher; auth_xform = &conf->crypto_xform->next->auth; diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index 2e8e4c6adf..a5b052375d 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -2877,6 +2877,12 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev, priv->fle_pool = dev_priv->fle_pool; flc = &priv->flc_desc[0].flc; + if (ipsec_xform->life.bytes_hard_limit != 0 || + ipsec_xform->life.bytes_soft_limit != 0 || + ipsec_xform->life.packets_hard_limit != 0 || + ipsec_xform->life.packets_soft_limit != 0) + return -ENOTSUP; + memset(session, 0, sizeof(dpaa2_sec_session)); if (conf->crypto_xform->type == RTE_CRYPTO_SYM_XFORM_CIPHER) { diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c index 9a7d5eb8b7..a552e64506 100644 --- a/drivers/crypto/dpaa_sec/dpaa_sec.c +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c @@ -2820,6 +2820,12 @@ dpaa_sec_set_ipsec_session(__rte_unused struct rte_cryptodev *dev, session->proto_alg = conf->protocol; session->ctxt = DPAA_SEC_IPSEC; + if (ipsec_xform->life.bytes_hard_limit != 0 || + ipsec_xform->life.bytes_soft_limit != 0 || + ipsec_xform->life.packets_hard_limit != 0 || + ipsec_xform->life.packets_soft_limit != 0) + return -ENOTSUP; + if (ipsec_xform->direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) session->dir = DIR_ENC; else