New upstream version 18.08
[deb_dpdk.git] / drivers / crypto / openssl / rte_openssl_pmd_private.h
index bc8dc7c..a8f2c84 100644 (file)
@@ -8,29 +8,19 @@
 #include <openssl/evp.h>
 #include <openssl/hmac.h>
 #include <openssl/des.h>
+#include <openssl/rsa.h>
+#include <openssl/dh.h>
+#include <openssl/dsa.h>
 
 #define CRYPTODEV_NAME_OPENSSL_PMD     crypto_openssl
 /**< Open SSL Crypto PMD device name */
 
-#define OPENSSL_LOG_ERR(fmt, args...) \
-       RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n",  \
-                       RTE_STR(CRYPTODEV_NAME_OPENSSL_PMD), \
-                       __func__, __LINE__, ## args)
-
-#ifdef RTE_LIBRTE_OPENSSL_DEBUG
-#define OPENSSL_LOG_INFO(fmt, args...) \
-       RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \
-                       RTE_STR(CRYPTODEV_NAME_OPENSSL_PMD), \
-                       __func__, __LINE__, ## args)
-
-#define OPENSSL_LOG_DBG(fmt, args...) \
-       RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \
-                       RTE_STR(CRYPTODEV_NAME_OPENSSL_PMD), \
-                       __func__, __LINE__, ## args)
-#else
-#define OPENSSL_LOG_INFO(fmt, args...)
-#define OPENSSL_LOG_DBG(fmt, args...)
-#endif
+/** OPENSSL PMD LOGTYPE DRIVER */
+int openssl_logtype_driver;
+#define OPENSSL_LOG(level, fmt, ...)  \
+       rte_log(RTE_LOG_ ## level, openssl_logtype_driver,  \
+                       "%s() line %u: " fmt "\n", __func__, __LINE__,  \
+                                       ## __VA_ARGS__)
 
 /* Maximum length for digest (SHA-512 needs 64 bytes) */
 #define DIGEST_LENGTH_MAX 64
@@ -62,8 +52,6 @@ enum openssl_auth_mode {
 struct openssl_private {
        unsigned int max_nb_qpairs;
        /**< Max number of queue pairs */
-       unsigned int max_nb_sessions;
-       /**< Max number of sessions */
 };
 
 /** OPENSSL crypto queue pair */
@@ -157,6 +145,31 @@ struct openssl_session {
 
 } __rte_cache_aligned;
 
+/** OPENSSL crypto private asymmetric session structure */
+struct openssl_asym_session {
+       enum rte_crypto_asym_xform_type xfrm_type;
+       union {
+               struct rsa {
+                       RSA *rsa;
+               } r;
+               struct exp {
+                       BIGNUM *exp;
+                       BIGNUM *mod;
+                       BN_CTX *ctx;
+               } e;
+               struct mod {
+                       BIGNUM *modulus;
+                       BN_CTX *ctx;
+               } m;
+               struct dh {
+                       DH *dh_key;
+                       uint32_t key_op;
+               } dh;
+               struct {
+                       DSA *dsa;
+               } s;
+       } u;
+} __rte_cache_aligned;
 /** Set and validate OPENSSL crypto session parameters */
 extern int
 openssl_set_session_parameters(struct openssl_session *sess,