From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 56B70A0503; Wed, 18 May 2022 17:45:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 49F844021F; Wed, 18 May 2022 17:45:45 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 33B47400D6 for ; Wed, 18 May 2022 17:45:44 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24I9ErQP008070; Wed, 18 May 2022 08:45:43 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3g4m6f3msx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 18 May 2022 08:45:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HLIvuvHgp1RTZMQ/KHGPyjYZsmOdFfeiD5IHNSv5bUDFF5pYSMoyS81iOHPSevepngByEyi9wPJGqW1ojNovxT/9MnVSZ1hmNnryDFsMhpYz/e3SIrZlbcQHa9H0B2PmhA1T2an4fbp3DdYRJvhFsP/UdYLPjvUl1UY2rTAlRGORISh/OO5psfFqDMMLvOMitfu8aaAJSw68qjf1YlaBeT/4L0j4t3fxjJAAhlA8PgkCODfPOoSs8Tl+AKHP5N5pjApUWMtQ2h9LHgiF8BohkedwmnE6Xvq3ZjA7IufTiQTOAsO3UN1lT27h24X37ELc+aFfTRZmKt/RauVaZ3fqkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/x6I/IX3aNWtBWmYI5CVjNkoY7FB1Cx47ymDbGE3nmQ=; b=KenKInEZltc7cmy3fsRCtG/SwVXBpWrjeSmEDjAzSa8UsOtLOlgY+GVkSasOWaiweWXVqOUcYyIjB3ulsak/eXfFWP9Sz5ewyZ6xAUxBLndYfP4xgp5EGkqEtUxDk6HR84wVLBXRJRPZb/vJwxbMvzLDlZf/SLqQbihaskEQ6s2P26/aEFF9Pee36QedDXNVF9QJOI0xT45VEF9BKGVgbe6PdRTzUnDqP+93qD0oLAAZcHvtozXBNkWikpaxwovrxC6Iz/4MgghsbI4FL3VzFUEo5EhJ37m/UNt8wdXYlXbrMjxHt2kkMpqJbItYmYgCDt+XrSUQ0Q7RA54st2O9DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/x6I/IX3aNWtBWmYI5CVjNkoY7FB1Cx47ymDbGE3nmQ=; b=mB3+vRo9KWxxGxY57EbEg1TblZTm3csRBUMSmhUx0YRqQQU1ydfGJ4WFzc17YEPSrZiMv5HhqALOK9p1E8LYA2jumwXIALp49ydhiTAjRFDTEa3EJYJ+XrxZDKKjfz2vN1DJ1hQzyvzpFLN8kQXfBgOIk3vhwUtlllwW+gVtXww= Received: from CO1PR18MB4714.namprd18.prod.outlook.com (2603:10b6:303:e9::18) by SN6PR18MB3744.namprd18.prod.outlook.com (2603:10b6:805:55::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.18; Wed, 18 May 2022 15:45:40 +0000 Received: from CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::f83c:2654:ed5:fd1f]) by CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::f83c:2654:ed5:fd1f%6]) with mapi id 15.20.5273.014; Wed, 18 May 2022 15:45:40 +0000 From: Gowrishankar Muthukrishnan To: Brandon Lo , "roy.fan.zhang@intel.com" , "ciara.power@intel.com" CC: "dev@dpdk.org" , Akhil Goyal Subject: RE: [EXT] [PATCH v4 5/8] examples/fips_validation: add json to gcm test Thread-Topic: [EXT] [PATCH v4 5/8] examples/fips_validation: add json to gcm test Thread-Index: AQHYW+SF5tNXHwfeLkq2Ktf5r7hvZa0k5NFw Date: Wed, 18 May 2022 15:45:40 +0000 Message-ID: References: <20220129175514.746925-1-blo@iol.unh.edu> <20220429161559.415645-1-blo@iol.unh.edu> <20220429161559.415645-6-blo@iol.unh.edu> In-Reply-To: <20220429161559.415645-6-blo@iol.unh.edu> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 60c6b8ee-c962-4a79-6753-08da38e575d2 x-ms-traffictypediagnostic: SN6PR18MB3744:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9000sLwFLEA4yTH0dO7ZFO1Zi5AXqo6mogtnoB8mlGGM3NKHfOhf0+rDt0O7fsEkK1aXBVjwxibs0mKGp5PHLcquklfVJDryh2XYVA0joli1fzPRKA6mkFxMprauSErQdSH6e5m5giwKoVK6rarzCkrJJRJTuIDONu8xUnmWVfcluV6LT48qtaluN9DEM33K2IQJyPtoJnq9WG0r/od8D94eQmWl3v/E6azsq/hMrLWPknKEba6rEp+lhIduWJSR4eoJ3XQlePhgdwM4D7kW6XKI9ojkHEuX35Y3SHmwa4g4nKyeZKd/v4g2DIT0w1IYx3rsQGvFneJq5wwFFu6Y64yA4IE9zEXCVaIvep9BmPb8ZdYcf2C/sH/vFEntpGdE7Snmg9F67qipFUks4jmkSY4SJkwAu2pBzLJreOmQ9E5ceBJczdKDo+4cjnM9XStPQdQ+PTYDvpRpusUU4PhN3YRGhjRh4zKjY2sY+9OyYwaCE+4wy8ZGz6Sb3pxfP6Teeac7+fbZTo9R69ka4KwZRQ+pNtAcZRVZkALEyoUQilqrBh37ZNw66YfphToDvk040oX1gcm8Yh4oefYbn1bIUvLtqrRhFG10iKC9z4ShYYx1ciGma6M72M8wurWZe0o3QifWozVRQw7o8k4NrkAHshBOhmfXp5qa4UI1C3ex9Zg28Z9RReGc3GoJv+zyPUb72aTdivBItbMPld2R9me7Zw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR18MB4714.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(54906003)(66946007)(76116006)(86362001)(4326008)(66556008)(55016003)(110136005)(66446008)(2906002)(5660300002)(38100700002)(6506007)(53546011)(316002)(8936002)(9686003)(26005)(33656002)(186003)(7696005)(38070700005)(508600001)(52536014)(107886003)(8676002)(66476007)(64756008)(83380400001)(71200400001)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Kj5jX9G//37hcx4CMUadScEf8Xmw9tsVxsbfv2LfSHvR8CXumPcUzL6oFqyR?= =?us-ascii?Q?FZIUl+ySRhx2pklScy7wnMugtvVcMVUgnMYR0mOM8NRWfyzErLCPRYTLjubu?= =?us-ascii?Q?oOOygWhO9IRxqho5By3Vrr6tEQGknzei2/1L7BDBSyNA7rHKwJnvF3S48Usi?= =?us-ascii?Q?XIw0i1f4GiO28prheXOdhQU7oWRnaehHt1Y64coQCrf7OHdQNzreB0cjv/sw?= =?us-ascii?Q?83k3vy/2fmmZPxAZTlfRxlCJKp0J5TMjsuSzMNaw/ElN5IRKvrAqPeQDiyb1?= =?us-ascii?Q?Xqa8Oo/Dt7/Vg4K0z9M9mAGGtl4H/HlskUhiqalXkOZLsfwaMkJ97qNYT5o6?= =?us-ascii?Q?dlp0SfbgCCyZj+R7g3bTf/qV/PSefD4G3JywYsZPVRPmIw7IPDNxCigCOVf5?= =?us-ascii?Q?5aA9HALyIwQVXFu9n4ncWbXPRtrlT2vbEghVizy53mXFN83dVwizETTLYRC/?= =?us-ascii?Q?m+c1gml+rdhkRo1qDA4/eFNUHsInpSIqVlTiLHNwijh4E60juWvr/qVjXfst?= =?us-ascii?Q?VPzrYTNmlyJ8j+4R3YrOr1bcHqF8pJNzjin2gKDBX3/xsBDsgZgVjuVXM+LF?= =?us-ascii?Q?yVaWSRsT4yaDgeNZSg5yYdgkg7La7KSb3opiWfAXvyoEgrsJsgwEzLwhScOc?= =?us-ascii?Q?8JRVoMYN+3tJpToU+bqavGq8BhEm9Ct/i1jJxx+TaZF/J/HVavi1GlvimjBE?= =?us-ascii?Q?cMuVjm5oBjlBwLitKplWRWk2fjJtJbrkeTUjZ5njA0ky1SMLujO7sU2X7WfJ?= =?us-ascii?Q?CzyiGlLuxJkGNDjE5UmeBxbbgagip5UBQNrSr8WPADHWiM0NNap6RaejoEw5?= =?us-ascii?Q?vjYch9QhsElho/jr1si0h3/7FH+WJzOvZlOuh0OgT6jJUklcf7Di9vWB/1fK?= =?us-ascii?Q?Y9nZGS4SC5b+HhHUe5KcTDdQ8W1cj4x0WvXWDnCbdDKdL4+ujz6VrC5txUOG?= =?us-ascii?Q?aOwmcjA2ZTTKYIkqG3FVRjMPmCkUL92n4OjkxKIeT4Ot59X1q0myrdH4zYcr?= =?us-ascii?Q?b8HMo7K+sjXgAavebNrGDuYxTvKupcqsjeMp3GhT0g3sJvgQV+cD5pnK19Ef?= =?us-ascii?Q?dTC6Xqfcfuh3MngcAVGW1LLysy1v03mrHaPpjKhXvtMTaVQIsaU2TCOjlpL7?= =?us-ascii?Q?FjuMsYZ3PgIuPPrqVgwgvZWUFmhw3/4buAD4Fh+9/auewvPnK75rE0MEafPW?= =?us-ascii?Q?sA97nKuLoNd21DOMKS2viPkViJ/LZyREs1erX9otVSqwH3tUn9WQ2dA0Hl5v?= =?us-ascii?Q?lTd1/LvinCfGfv+pJrqEyHU1Ba4lHpsDyaULDQD/jrlt+BaqBSrhAxwDa2jx?= =?us-ascii?Q?llZNvMBPQI//pao6UR9/PdzumJWc1CxiimzoANP23tTdSmcfXU6rqowEdl4E?= =?us-ascii?Q?jWPT+MZxa63NZGtHpa2ivgItXULvHQpt/kA7QGC8QfXC4KSQ4stkw1JmPIZq?= =?us-ascii?Q?nkhA205U9rv96xFcaIMaIHCugfNMJX1G3zRF4Gn7uT8lQabeAHnc1iojsAjX?= =?us-ascii?Q?u3Xw/l5V+/x/CL8GfP/Vs5emB7y+myy2wQPlfaVNZbT1Rr67qoCGtMn3SKJN?= =?us-ascii?Q?bujg+ZEqEwHFVf9znCYcZ9IOAjMGw5+OGEckqsld2lYIBQKd6QTdkvpiCqui?= =?us-ascii?Q?MAYDqnxh2F61kpPTlXi5qZZe1OVz2k0H+ELhswMRo9XBa0CIT6SL0qLrSOG2?= =?us-ascii?Q?G7QN0MdQ1niwzw5Y0Kom0S9ghzWasDBRFNLukDXEzjOCJlof3phdUS2TJ5sf?= =?us-ascii?Q?/g3hON6JcQ=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR18MB4714.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60c6b8ee-c962-4a79-6753-08da38e575d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2022 15:45:40.1579 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: huGnu3GawD2TNG+QqPsyfGDqhXqu+R31VALa/tbJgF7UfHMFiIGSfYNSGteGj1lEWPiItVL5+LSV1fcYgSZxPscSi5hPKgAhvS+R1C6Rxbg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR18MB3744 X-Proofpoint-GUID: UCXyoBpgTCbFln4WQlw-Btq2cKYfpiaT X-Proofpoint-ORIG-GUID: UCXyoBpgTCbFln4WQlw-Btq2cKYfpiaT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.874,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-18_06,2022-05-17_02,2022-02-23_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Verified the functionality changes and looks good to me. Acked-by: Gowrishankar Muthukrishnan Thanks. > -----Original Message----- > From: Brandon Lo > Sent: Friday, April 29, 2022 9:46 PM > To: roy.fan.zhang@intel.com; ciara.power@intel.com > Cc: dev@dpdk.org; Brandon Lo > Subject: [EXT] [PATCH v4 5/8] examples/fips_validation: add json to gcm t= est >=20 > External Email >=20 > ---------------------------------------------------------------------- > Adds json-specific testing and writeback function. Allows the user to tes= t > AES-GCM vector sets. >=20 > Signed-off-by: Brandon Lo > --- > v3: > * fix checkpatch warnings >=20 > examples/fips_validation/fips_validation.h | 3 + > .../fips_validation/fips_validation_gcm.c | 151 +++++++++++++++++- > examples/fips_validation/main.c | 3 +- > 3 files changed, 155 insertions(+), 2 deletions(-) >=20 > diff --git a/examples/fips_validation/fips_validation.h > b/examples/fips_validation/fips_validation.h > index e2789df93a..8d7af99e04 100644 > --- a/examples/fips_validation/fips_validation.h > +++ b/examples/fips_validation/fips_validation.h > @@ -250,6 +250,9 @@ fips_test_parse_one_json_group(void); >=20 > int > fips_test_parse_one_json_case(void); > + > +int > +parse_test_gcm_json_init(void); > #endif /* RTE_HAS_JANSSON */ >=20 > int > diff --git a/examples/fips_validation/fips_validation_gcm.c > b/examples/fips_validation/fips_validation_gcm.c > index 250d09bf90..3604b21f13 100644 > --- a/examples/fips_validation/fips_validation_gcm.c > +++ b/examples/fips_validation/fips_validation_gcm.c > @@ -6,6 +6,10 @@ > #include > #include >=20 > +#ifdef RTE_HAS_JANSSON > +#include > +#endif /* RTE_HAS_JANSSON */ > + > #include > #include >=20 > @@ -37,6 +41,27 @@ > #define OP_ENC_EXT_STR "ExtIV" > #define OP_ENC_INT_STR "IntIV" >=20 > +#define KEYLEN_JSON_STR "keyLen" > +#define IVLEN_JSON_STR "ivLen" > +#define PAYLOADLEN_JSON_STR "payloadLen" > +#define AADLEN_JSON_STR "aadLen" > +#define TAGLEN_JSON_STR "tagLen" > + > +#define KEY_JSON_STR "key" > +#define IV_JSON_STR "iv" > +#define PT_JSON_STR "pt" > +#define CT_JSON_STR "ct" > +#define AAD_JSON_STR "aad" > +#define TAG_JSON_STR "tag" > +#define DIR_JSON_STR "direction" > + > +#define OP_ENC_JSON_STR "encrypt" > +#define OP_DEC_JSON_STR "decrypt" > + > +#define IVGEN_JSON_STR "ivGen" > +#define OP_ENC_EXT_JSON_STR "external" > +#define OP_ENC_INT_JSON_STR "internal" > + > #define NEG_TEST_STR "FAIL" >=20 > /** > @@ -136,6 +161,40 @@ struct fips_test_callback gcm_enc_vectors[] =3D { > {NULL, NULL, NULL} /**< end pointer */ }; >=20 > +#ifdef RTE_HAS_JANSSON > +struct fips_test_callback gcm_dec_json_vectors[] =3D { > + {KEY_JSON_STR, parse_uint8_known_len_hex_str, > &vec.aead.key}, > + {IV_JSON_STR, parse_uint8_known_len_hex_str, &vec.iv}, > + {CT_JSON_STR, parse_gcm_pt_ct_str, &vec.ct}, > + {AAD_JSON_STR, parse_gcm_aad_str, &vec.aead.aad}, > + {TAG_JSON_STR, parse_uint8_known_len_hex_str, > + &vec.aead.digest}, > + {NULL, NULL, NULL} /**< end pointer */ }; > + > +struct fips_test_callback gcm_interim_json_vectors[] =3D { > + {KEYLEN_JSON_STR, parser_read_uint32_bit_val, > &vec.aead.key}, > + {IVLEN_JSON_STR, parser_read_uint32_bit_val, &vec.iv}, > + {PAYLOADLEN_JSON_STR, parser_read_gcm_pt_len, > &vec.pt}, > + {PAYLOADLEN_JSON_STR, parser_read_uint32_bit_val, > &vec.ct}, > + /**< The NIST json test vectors use 'payloadLen' to denote > input text > + * length in case of decrypt & encrypt operations. > + */ > + {AADLEN_JSON_STR, parser_read_uint32_bit_val, > &vec.aead.aad}, > + {TAGLEN_JSON_STR, parser_read_uint32_bit_val, > + &vec.aead.digest}, > + {NULL, NULL, NULL} /**< end pointer */ }; > + > +struct fips_test_callback gcm_enc_json_vectors[] =3D { > + {KEY_JSON_STR, parse_uint8_known_len_hex_str, > &vec.aead.key}, > + {IV_JSON_STR, parse_uint8_known_len_hex_str, &vec.iv}, > + {PT_JSON_STR, parse_gcm_pt_ct_str, &vec.pt}, > + {AAD_JSON_STR, parse_gcm_aad_str, &vec.aead.aad}, > + {NULL, NULL, NULL} /**< end pointer */ }; #endif /* > RTE_HAS_JANSSON > +*/ > + > static int > parse_test_gcm_writeback(struct fips_val *val) { @@ -194,7 +253,6 @@ > parse_test_gcm_init(void) > char *tmp; > uint32_t i; >=20 > - > for (i =3D 0; i < info.nb_vec_lines; i++) { > char *line =3D info.vec[i]; >=20 > @@ -218,3 +276,94 @@ parse_test_gcm_init(void) >=20 > return 0; > } > + > +#ifdef RTE_HAS_JANSSON > +static int > +parse_test_gcm_json_writeback(struct fips_val *val) { > + struct fips_val tmp_val; > + json_t *tcId, *tag; > + > + tcId =3D json_object_get(json_info.json_test_case, "tcId"); > + > + json_info.json_write_case =3D json_object(); > + json_object_set(json_info.json_write_case, "tcId", tcId); > + > + if (info.op =3D=3D FIPS_TEST_ENC_AUTH_GEN) { > + json_t *ct; > + > + tmp_val.val =3D val->val; > + tmp_val.len =3D vec.pt.len; > + > + writeback_hex_str("", info.one_line_text, &tmp_val); > + ct =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, > CT_JSON_STR, ct); > + > + if (info.interim_info.gcm_data.gen_iv) { > + json_t *iv; > + tmp_val.val =3D vec.iv.val; > + tmp_val.len =3D vec.iv.len; > + > + writeback_hex_str("", info.one_line_text, > &tmp_val); > + iv =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, > IV_JSON_STR, iv); > + > + rte_free(vec.iv.val); > + vec.iv.val =3D NULL; > + } > + > + tmp_val.val =3D val->val + vec.pt.len; > + tmp_val.len =3D val->len - vec.pt.len; > + > + writeback_hex_str("", info.one_line_text, &tmp_val); > + tag =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, > TAG_JSON_STR, tag); > + } else { > + if (vec.status =3D=3D RTE_CRYPTO_OP_STATUS_SUCCESS) { > + if (!info.interim_info.gcm_data.is_gmac) { > + tmp_val.val =3D val->val; > + tmp_val.len =3D vec.pt.len; > + > + writeback_hex_str("", info.one_line_text, > &tmp_val); > + > json_object_set_new(json_info.json_write_case, PT_JSON_STR, > + json_string(info.one_line_text)); > + } > + } else { > + json_object_set_new(json_info.json_write_case, > "testPassed", json_false()); > + } > + } > + > + return 0; > +} > + > +int > +parse_test_gcm_json_init(void) > +{ > + json_t *direction_obj; > + const char *direction_str; > + > + direction_obj =3D json_object_get(json_info.json_test_group, > DIR_JSON_STR); > + direction_str =3D json_string_value(direction_obj); > + > + if (strcmp(direction_str, OP_ENC_JSON_STR) =3D=3D 0) { > + json_t *ivGen_obj =3D > json_object_get(json_info.json_test_group, IVGEN_JSON_STR); > + const char *ivGen_str =3D json_string_value(ivGen_obj); > + > + info.op =3D FIPS_TEST_ENC_AUTH_GEN; > + info.callbacks =3D gcm_enc_json_vectors; > + > + if (strcmp(ivGen_str, OP_ENC_INT_JSON_STR) =3D=3D 0) > + info.interim_info.gcm_data.gen_iv =3D 1; > + } else if (strcmp(direction_str, OP_DEC_JSON_STR) =3D=3D 0) { > + info.op =3D FIPS_TEST_DEC_AUTH_VERIF; > + info.callbacks =3D gcm_dec_json_vectors; > + } else { > + return -EINVAL; > + } > + info.interim_callbacks =3D gcm_interim_json_vectors; > + info.parse_writeback =3D parse_test_gcm_json_writeback; > + > + return 0; > +} > +#endif /* RTE_HAS_JANSSON */ > + > diff --git a/examples/fips_validation/main.c > b/examples/fips_validation/main.c index 65f736f3cb..a1d8a1d758 100644 > --- a/examples/fips_validation/main.c > +++ b/examples/fips_validation/main.c > @@ -1941,11 +1941,12 @@ fips_test_one_test_group(void) >=20 > switch (info.algo) { > case FIPS_TEST_ALGO_AES_GCM: > - ret =3D parse_test_gcm_init(); > + ret =3D parse_test_gcm_json_init(); > break; > default: > return -EINVAL; > } > + > if (ret < 0) > return ret; >=20 > -- > 2.25.1