crypto/aesni_mb: support IPsec Multi-buffer lib v0.50
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 3 Jul 2018 08:22:34 +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_mb.rst
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h

index 236828c..df3ed67 100644 (file)
@@ -57,8 +57,8 @@ Installation
 To build DPDK with the AESNI_MB_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 from `<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 from `<https://github.com/01org/intel-ipsec-mb/archive/v0.50.zip>`_.
 
 .. code-block:: console
 
@@ -80,7 +80,7 @@ and the Multi-Buffer library version supported by them:
    17.05 - 17.08   0.45 - 0.48
    17.11           0.47 - 0.48
    18.02           0.48
-   18.05           0.49
+   18.05+          0.49+
    ==============  ============================
 
 
index 8dd849f..b1b6bb0 100644 (file)
@@ -886,6 +886,13 @@ cryptodev_aesni_mb_create(const char *name,
        internals->vector_mode = vector_mode;
        internals->max_nb_queue_pairs = init_params->max_nb_queue_pairs;
 
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+       AESNI_MB_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
+                       imb_get_version_str());
+#else
+       AESNI_MB_LOG(INFO, "IPSec Multi-buffer library version used: 0.49.0\n");
+#endif
+
        return 0;
 }
 
index 30922da..d355315 100644 (file)
@@ -7,6 +7,15 @@
 
 #include "aesni_mb_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_MB_PMD    crypto_aesni_mb
 /**< AES-NI Multi buffer PMD device name */