> 
> Add a new security operation structure to the crypto operation to allow
> protocol specific parameters defined in rte_security be defined for a
> crypto operation.
> 
> Please note this is API changes only. Implementation will follow in
> next version.
> 
> Signed-off-by: David Coyle <david.co...@intel.com>
> Signed-off-by: Mairtin o Loingsigh <mairtin.oloings...@intel.com>
> ---
>  lib/librte_cryptodev/rte_crypto.h | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_cryptodev/rte_crypto.h 
> b/lib/librte_cryptodev/rte_crypto.h
> index fd5ef3a87..fbc1df791 100644
> --- a/lib/librte_cryptodev/rte_crypto.h
> +++ b/lib/librte_cryptodev/rte_crypto.h
> @@ -31,8 +31,10 @@ enum rte_crypto_op_type {
>       /**< Undefined operation type */
>       RTE_CRYPTO_OP_TYPE_SYMMETRIC,
>       /**< Symmetric operation */
> -     RTE_CRYPTO_OP_TYPE_ASYMMETRIC
> +     RTE_CRYPTO_OP_TYPE_ASYMMETRIC,
>       /**< Asymmetric operation */
> +     RTE_CRYPTO_OP_TYPE_SECURITY
> +     /**< Security operation */
>  };
> 
>  /** Status of crypto operation */
> @@ -121,6 +123,13 @@ struct rte_crypto_op {
>               struct rte_crypto_asym_op asym[0];
>               /**< Asymmetric operation parameters */
> 
> +#ifdef RTE_LIBRTE_SECURITY
> +             uint8_t security[0];
> +             /**< Security operation parameters
> +              * - Must be accessed through a rte_security_op pointer
> +              */
> +#endif
> +
>       }; /**< operation specific parameters */
>  };

Is there any point to have this extra level of indirection?
Might be simply:

enum rte_crypto_op_type {
        ....
+       RTE_CRYPTO_OP_TYPE_SEC_DOCSIS,
};
...
struct rte_crypto_op {
        ....
        __extension__
        union {
                struct rte_crypto_sym_op sym[0];
                /**< Symmetric operation parameters */

                struct rte_crypto_asym_op asym[0];
                /**< Asymmetric operation parameters */

+       struct rte_security_docsis_op docsis[0];

        }; /**< operation specific parameters */
 
?

Reply via email to