net/txgbe: fix queue statistics mapping
[dpdk.git] / drivers / crypto / ipsec_mb / ipsec_mb_private.h
index 1b7bf45..e53101a 100644 (file)
@@ -37,6 +37,21 @@ extern RTE_DEFINE_PER_LCORE(IMB_MGR *, mb_mgr);
 #define CRYPTODEV_NAME_AESNI_MB_PMD crypto_aesni_mb
 /**< IPSEC Multi buffer aesni_mb PMD device name */
 
+#define CRYPTODEV_NAME_AESNI_GCM_PMD crypto_aesni_gcm
+/**< IPSEC Multi buffer PMD aesni_gcm device name */
+
+#define CRYPTODEV_NAME_KASUMI_PMD crypto_kasumi
+/**< IPSEC Multi buffer PMD kasumi device name */
+
+#define CRYPTODEV_NAME_SNOW3G_PMD crypto_snow3g
+/**< IPSEC Multi buffer PMD snow3g device name */
+
+#define CRYPTODEV_NAME_ZUC_PMD crypto_zuc
+/**< IPSEC Multi buffer PMD zuc device name */
+
+#define CRYPTODEV_NAME_CHACHA20_POLY1305_PMD crypto_chacha20_poly1305
+/**< IPSEC Multi buffer PMD chacha20_poly1305 device name */
+
 /** PMD LOGTYPE DRIVER, common to all PMDs */
 extern int ipsec_mb_logtype_driver;
 #define IPSEC_MB_LOG(level, fmt, ...)                                         \
@@ -46,6 +61,11 @@ extern int ipsec_mb_logtype_driver;
 /** All supported device types */
 enum ipsec_mb_pmd_types {
        IPSEC_MB_PMD_TYPE_AESNI_MB = 0,
+       IPSEC_MB_PMD_TYPE_AESNI_GCM,
+       IPSEC_MB_PMD_TYPE_KASUMI,
+       IPSEC_MB_PMD_TYPE_SNOW3G,
+       IPSEC_MB_PMD_TYPE_ZUC,
+       IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305,
        IPSEC_MB_N_PMD_TYPES
 };
 
@@ -65,6 +85,11 @@ enum ipsec_mb_operation {
 };
 
 extern uint8_t pmd_driver_id_aesni_mb;
+extern uint8_t pmd_driver_id_aesni_gcm;
+extern uint8_t pmd_driver_id_kasumi;
+extern uint8_t pmd_driver_id_snow3g;
+extern uint8_t pmd_driver_id_zuc;
+extern uint8_t pmd_driver_id_chacha20_poly1305;
 
 /** Helper function. Gets driver ID based on PMD type */
 static __rte_always_inline uint8_t
@@ -73,6 +98,16 @@ ipsec_mb_get_driver_id(enum ipsec_mb_pmd_types pmd_type)
        switch (pmd_type) {
        case IPSEC_MB_PMD_TYPE_AESNI_MB:
                return pmd_driver_id_aesni_mb;
+       case IPSEC_MB_PMD_TYPE_AESNI_GCM:
+               return pmd_driver_id_aesni_gcm;
+       case IPSEC_MB_PMD_TYPE_KASUMI:
+               return pmd_driver_id_kasumi;
+       case IPSEC_MB_PMD_TYPE_SNOW3G:
+               return pmd_driver_id_snow3g;
+       case IPSEC_MB_PMD_TYPE_ZUC:
+               return pmd_driver_id_zuc;
+       case IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305:
+               return pmd_driver_id_chacha20_poly1305;
        default:
                break;
        }
@@ -156,13 +191,13 @@ ipsec_mb_parse_xform(const struct rte_crypto_sym_xform *xform,
                        const struct rte_crypto_sym_xform **cipher_xform,
                        const struct rte_crypto_sym_xform **aead_xform)
 {
-       const struct rte_crypto_sym_xform *next = xform->next;
-
        if (xform == NULL) {
                *mode = IPSEC_MB_OP_NOT_SUPPORTED;
                return -ENOTSUP;
        }
 
+       const struct rte_crypto_sym_xform *next = xform->next;
+
        if (xform->type == RTE_CRYPTO_SYM_XFORM_CIPHER) {
                if (next == NULL) {
                        if (xform->cipher.op == RTE_CRYPTO_CIPHER_OP_ENCRYPT) {