security: add CPU crypto action type
authorMarcin Smoczynski <marcinx.smoczynski@intel.com>
Tue, 4 Feb 2020 13:12:53 +0000 (14:12 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 5 Feb 2020 14:29:49 +0000 (15:29 +0100)
Introduce CPU crypto action type allowing to differentiate between
regular async 'none security' and synchronous, CPU crypto accelerated
sessions.

This mode is similar to ACTION_TYPE_NONE but crypto processing is
performed synchronously on a CPU.

Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
doc/guides/prog_guide/rte_security.rst
lib/librte_security/rte_security.h

index f77fb89..9b5d249 100644 (file)
@@ -511,13 +511,20 @@ Offload.
         /**< No security actions */
         RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO,
         /**< Crypto processing for security protocol is processed inline
-         * during transmission */
+         * during transmission
+         */
         RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL,
         /**< All security protocol processing is performed inline during
-         * transmission */
-        RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
+         * transmission
+         */
+        RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
         /**< All security protocol processing including crypto is performed
-         * on a lookaside accelerator */
+         * on a lookaside accelerator
+         */
+        RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO
+        /**< Similar to ACTION_TYPE_NONE but crypto processing for security
+         * protocol is processed synchronously by a CPU.
+         */
     };
 
 The ``rte_security_session_protocol`` is defined as
index 546779d..ef47118 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: BSD-3-Clause
  * Copyright 2017,2019 NXP
- * Copyright(c) 2017 Intel Corporation.
+ * Copyright(c) 2017-2020 Intel Corporation.
  */
 
 #ifndef _RTE_SECURITY_H_
@@ -307,10 +307,14 @@ enum rte_security_session_action_type {
        /**< All security protocol processing is performed inline during
         * transmission
         */
-       RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
+       RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
        /**< All security protocol processing including crypto is performed
         * on a lookaside accelerator
         */
+       RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO
+       /**< Similar to ACTION_TYPE_NONE but crypto processing for security
+        * protocol is processed synchronously by a CPU.
+        */
 };
 
 /** Security session protocol definition */