cryptodev: add digest encrypted feature flag
authorDamian Nowak <damianx.nowak@intel.com>
Wed, 3 Jul 2019 11:15:52 +0000 (13:15 +0200)
committerAkhil Goyal <akhil.goyal@nxp.com>
Fri, 5 Jul 2019 13:28:14 +0000 (15:28 +0200)
Some PMDs can only support digest being
encrypted separately in auth-cipher operations.
Thus it is required to add feature flag in PMD
to reflect if it does support digest-appended
both: digest generation with encryption and
decryption with digest verification.
This patch also adds information about new
feature flag to the release notes.

Signed-off-by: Damian Nowak <damianx.nowak@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
doc/guides/cryptodevs/features/default.ini
doc/guides/cryptodevs/overview.rst
lib/librte_cryptodev/rte_cryptodev.c
lib/librte_cryptodev/rte_cryptodev.h

index 0e06261..d3ee1af 100644 (file)
@@ -25,6 +25,7 @@ OOP LB  In SGL Out     =
 OOP LB  In LB  Out     =
 RSA PRIV OP KEY EXP    =
 RSA PRIV OP KEY QT     =
+Digest encrypted       =
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
index a972c79..e2a1e08 100644 (file)
@@ -43,6 +43,9 @@ Supported Feature Flags
    - "RSA PRIV OP KEY QT" feature flag means PMD support RSA private key
      operation (Sign and Decrypt) using quintuple (crt) type key only.
 
+   - "Digest encrypted" feature flag means PMD support hash-cipher cases,
+     where generated digest is appended to and encrypted with the data.
+
 
 Supported Cipher Algorithms
 ---------------------------
index 240b849..43bc335 100644 (file)
@@ -490,6 +490,8 @@ rte_cryptodev_get_feature_name(uint64_t flag)
                return "RSA_PRIV_OP_KEY_EXP";
        case RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT:
                return "RSA_PRIV_OP_KEY_QT";
+       case RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED:
+               return "DIGEST_ENCRYPTED";
        default:
                return NULL;
        }
index d701eea..e175b83 100644 (file)
@@ -446,6 +446,8 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
 /**< Support RSA Private Key OP with exponent */
 #define RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT            (1ULL << 18)
 /**< Support RSA Private Key OP with CRT (quintuple) Keys */
+#define RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED              (1ULL << 19)
+/**< Support encrypted-digest operations where digest is appended to data */
 
 
 /**