crypto/aesni_gcm: support IPsec Multi-buffer lib v0.50
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 3 Jul 2018 08:22:22 +0000 (09:22 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 23 Jul 2018 23:48:10 +0000 (01:48 +0200)
Adds support for the v0.50 of the IPsec Multi-buffer lib.
The library now exposes its version, with the idea
of maintaining backwards compatibility in the future,
avoiding breaking the compilation of the PMD every time
there is a new version available.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
doc/guides/cryptodevs/aesni_gcm.rst
drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h

index 01590e8..e034608 100644 (file)
@@ -36,8 +36,8 @@ Installation
 To build DPDK with the AESNI_GCM_PMD the user is required to download the multi-buffer
 library from `here <https://github.com/01org/intel-ipsec-mb>`_
 and compile it on their user system before building DPDK.
-The latest version of the library supported by this PMD is v0.49, which
-can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_.
+The latest version of the library supported by this PMD is v0.50, which
+can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.50.zip>`_.
 
 .. code-block:: console
 
@@ -57,7 +57,7 @@ and the external crypto libraries supported by them:
    16.04 - 16.11  Multi-buffer library 0.43 - 0.44
    17.02 - 17.05  ISA-L Crypto v2.18
    17.08 - 18.02  Multi-buffer library 0.46 - 0.48
-   18.05          Multi-buffer library 0.49
+   18.05+         Multi-buffer library 0.49+
    =============  ================================
 
 
index 7651a8a..752e0cd 100644 (file)
@@ -515,6 +515,13 @@ aesni_gcm_create(const char *name,
 
        internals->max_nb_queue_pairs = init_params->max_nb_queue_pairs;
 
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+       AESNI_GCM_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
+                       imb_get_version_str());
+#else
+       AESNI_GCM_LOG(INFO, "IPSec Multi-buffer library version used: 0.49.0\n");
+#endif
+
        return 0;
 }
 
index 0bcd4fa..c13a12a 100644 (file)
@@ -7,6 +7,15 @@
 
 #include "aesni_gcm_ops.h"
 
+/*
+ * IMB_VERSION_NUM macro was introduced in version Multi-buffer 0.50,
+ * so if macro is not defined, it means that the version is 0.49.
+ */
+#if !defined(IMB_VERSION_NUM)
+#define IMB_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c))
+#define IMB_VERSION_NUM IMB_VERSION(0, 49, 0)
+#endif
+
 #define CRYPTODEV_NAME_AESNI_GCM_PMD   crypto_aesni_gcm
 /**< AES-NI GCM PMD device name */