net/ice: fix GTPU/PPPoE packets with no hash value
[dpdk.git] / drivers / crypto / armv8 / rte_armv8_pmd.c
index fd81408..8b21277 100644 (file)
@@ -86,12 +86,12 @@ crypto_op_ca_encrypt = {
 
 static const crypto_func_tbl_t
 crypto_op_ca_decrypt = {
-       NULL
+       { {NULL} }
 };
 
 static const crypto_func_tbl_t
 crypto_op_ac_encrypt = {
-       NULL
+       { {NULL} }
 };
 
 static const crypto_func_tbl_t
@@ -377,7 +377,16 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess,
        /* Select cipher key */
        sess->cipher.key.length = cipher_xform->cipher.key.length;
        /* Set cipher direction */
-       cop = sess->cipher.direction;
+       switch (sess->cipher.direction) {
+       case RTE_CRYPTO_CIPHER_OP_ENCRYPT:
+               cop = ARMV8_CRYPTO_CIPHER_OP_ENCRYPT;
+               break;
+       case RTE_CRYPTO_CIPHER_OP_DECRYPT:
+               cop = ARMV8_CRYPTO_CIPHER_OP_DECRYPT;
+               break;
+       default:
+               return -ENOTSUP;
+       }
        /* Set cipher algorithm */
        calg = cipher_xform->cipher.algo;
 
@@ -783,7 +792,8 @@ cryptodev_armv8_crypto_create(const char *name,
        dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
                        RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
                        RTE_CRYPTODEV_FF_CPU_NEON |
-                       RTE_CRYPTODEV_FF_CPU_ARM_CE;
+                       RTE_CRYPTODEV_FF_CPU_ARM_CE |
+                       RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
 
        internals = dev->data->dev_private;