On Tue, Jun 28, 2022 at 9:59 AM Gowrishankar Muthukrishnan
<gmuthukri...@marvell.com> wrote:
>
> Added function to parse algorithm for AES XTS test.
>
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukri...@marvell.com>
> ---
>  examples/fips_validation/fips_validation.c    |   4 +-
>  examples/fips_validation/fips_validation.h    |  17 ++-
>  .../fips_validation/fips_validation_xts.c     | 126 ++++++++++++++++++
>  examples/fips_validation/main.c               |   5 +
>  4 files changed, 150 insertions(+), 2 deletions(-)
>
> diff --git a/examples/fips_validation/fips_validation.c 
> b/examples/fips_validation/fips_validation.c
> index 324abccb14..f181363ef7 100644
> --- a/examples/fips_validation/fips_validation.c
> +++ b/examples/fips_validation/fips_validation.c
> @@ -463,7 +463,9 @@ fips_test_parse_one_json_vector_set(void)
>         else if (strstr(algo_str, "CMAC"))
>                 info.algo = FIPS_TEST_ALGO_AES_CMAC;
>         else if (strstr(algo_str, "AES-CBC"))
> -               info.algo = FIPS_TEST_ALGO_AES;
> +               info.algo = FIPS_TEST_ALGO_AES_CBC;

Is this part related to adding xts support?
It looks more like a fix.


> +       else if (strstr(algo_str, "AES-XTS"))
> +               info.algo = FIPS_TEST_ALGO_AES_XTS;
>         else
>                 return -EINVAL;
>
> diff --git a/examples/fips_validation/fips_validation.h 
> b/examples/fips_validation/fips_validation.h
> index 69d738b718..8ae849c46f 100644
> --- a/examples/fips_validation/fips_validation.h
> +++ b/examples/fips_validation/fips_validation.h
> @@ -34,13 +34,14 @@
>
>  enum fips_test_algorithms {
>                 FIPS_TEST_ALGO_AES = 0,
> +               FIPS_TEST_ALGO_AES_CBC,
>                 FIPS_TEST_ALGO_AES_GCM,
>                 FIPS_TEST_ALGO_AES_CMAC,
>                 FIPS_TEST_ALGO_AES_CCM,
> +               FIPS_TEST_ALGO_AES_XTS,
>                 FIPS_TEST_ALGO_HMAC,
>                 FIPS_TEST_ALGO_TDES,
>                 FIPS_TEST_ALGO_SHA,
> -               FIPS_TEST_ALGO_AES_XTS,
>                 FIPS_TEST_ALGO_MAX
>  };
>
> @@ -170,7 +171,17 @@ struct gcm_interim_data {
>         uint8_t gen_iv;
>  };
>
> +

No need for another blank line.

>  #ifdef USE_JANSSON
> +enum xts_tweak_modes {
> +  XTS_TWEAK_MODE_HEX = 0,
> +  XTS_TWEAK_MODE_NUMBER
> +};
> +
> +struct xts_interim_data {
> +       enum xts_tweak_modes tweak_mode;
> +};
> +
>  struct fips_test_json_info {
>         /* Information used for reading from json */
>         json_t *json_root;
> @@ -207,6 +218,7 @@ struct fips_test_interim_info {
>                 struct ccm_interim_data ccm_data;
>                 struct sha_interim_data sha_data;
>                 struct gcm_interim_data gcm_data;
> +               struct xts_interim_data xts_data;
>         } interim_info;
>
>         enum fips_test_op op;
> @@ -266,6 +278,9 @@ parse_test_cmac_json_init(void);
>
>  int
>  parse_test_aes_json_init(void);
> +
> +int
> +parse_test_xts_json_init(void);
>  #endif /* USE_JANSSON */
>
>  int
> diff --git a/examples/fips_validation/fips_validation_xts.c 
> b/examples/fips_validation/fips_validation_xts.c
> index 5bb1966f6c..2de852c1fc 100644
> --- a/examples/fips_validation/fips_validation_xts.c
> +++ b/examples/fips_validation/fips_validation_xts.c
> @@ -24,6 +24,22 @@
>  #define OP_ENC_STR     "ENCRYPT"
>  #define OP_DEC_STR     "DECRYPT"
>
> +#define ALGO_JSON_STR          "algorithm"
> +#define TESTTYPE_JSON_STR      "testType"
> +#define DIR_JSON_STR           "direction"
> +#define KEYLEN_JSON_STR                "keyLen"
> +#define TWEAKMODE_JSON_STR     "tweakMode"
> +
> +#define KEY_JSON_STR           "key"
> +#define DATAUNITLEN_JSON_STR   "dataUnitLen"
> +#define PAYLOADLEN_JSON_STR    "payloadLen"
> +#define TWEAKVALUE_JSON_STR    "tweakValue"
> +#define PT_JSON_STR    "pt"
> +#define CT_JSON_STR    "ct"
> +
> +#define OP_ENC_JSON_STR        "encrypt"
> +#define OP_DEC_JSON_STR        "decrypt"
> +
>  static int
>  parse_interim_xts_enc_dec(const char *key,
>                 __rte_unused char *text,
> @@ -62,6 +78,116 @@ struct fips_test_callback xts_writeback_callbacks[] = {
>                 {NULL, NULL, NULL} /**< end pointer */
>  };
>
> +#ifdef RTE_HAS_JANSSON

Code in examples can't rely on internal RTE_HAS_JANSSON.


-- 
David Marchand

Reply via email to