On Sat 17 Apr 08:24 CDT 2021, Thara Gopinath wrote:
> rf4309 is the specification that uses aes ccm algorithms with IPsec
> security packets. Add a submode to identify rfc4309 ccm(aes) algorithm
> in the crypto driver.
>
Reviewed-by: Bjorn Andersson
> Signed-off-by: Thara Gopinath
> ---
>
> v1->v2:
> - Moved up the QCE_ENCRYPT AND QCE_DECRYPT bit positions so that
> addition of other algorithms in future will not affect these
> macros.
>
> drivers/crypto/qce/common.h | 7 +--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/crypto/qce/common.h b/drivers/crypto/qce/common.h
> index 3bc244bcca2d..b135440bf72b 100644
> --- a/drivers/crypto/qce/common.h
> +++ b/drivers/crypto/qce/common.h
> @@ -51,9 +51,11 @@
> #define QCE_MODE_CCM BIT(12)
> #define QCE_MODE_MASKGENMASK(12, 8)
>
> +#define QCE_MODE_CCM_RFC4309 BIT(13)
> +
> /* cipher encryption/decryption operations */
> -#define QCE_ENCRYPT BIT(13)
> -#define QCE_DECRYPT BIT(14)
> +#define QCE_ENCRYPT BIT(30)
> +#define QCE_DECRYPT BIT(31)
>
> #define IS_DES(flags)(flags & QCE_ALG_DES)
> #define IS_3DES(flags) (flags & QCE_ALG_3DES)
> @@ -73,6 +75,7 @@
> #define IS_CTR(mode) (mode & QCE_MODE_CTR)
> #define IS_XTS(mode) (mode & QCE_MODE_XTS)
> #define IS_CCM(mode) (mode & QCE_MODE_CCM)
> +#define IS_CCM_RFC4309(mode) ((mode) & QCE_MODE_CCM_RFC4309)
>
> #define IS_ENCRYPT(dir) (dir & QCE_ENCRYPT)
> #define IS_DECRYPT(dir) (dir & QCE_DECRYPT)
> --
> 2.25.1
>