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 EFAF945509; Thu, 27 Jun 2024 08:20:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA7CA40697; Thu, 27 Jun 2024 08:20:12 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 9C5374028A for ; Thu, 27 Jun 2024 08:20:11 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45R2wAGE002342; Wed, 26 Jun 2024 23:20:09 -0700 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 400yrt0h2t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Jun 2024 23:20:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h3YMGh6tkUjcgX22eSHXHsyxm3NwCotN7uwGf5Tate8zRYZZP66qzVgbqeaAKyvXn/JpVbtZeK9/f6egX1OkthuqemkzX6M7xo6YNsNCj7cko2ti5i6I9Imb2aopgmHzybgxnu+zT5aPxpwrtPVDMsvcfKzLiRU9lqsFZ0Q8/ZAJ1t6AR9EhSSfjDWNlT/ONb9UpvC2bMo4fO7UeM6OsoWZKAZnT3OW9I6ghYc0jClu1BZz6AtqRk/uTC3OtjBOMG8iGqsJfrjjmyCiN8aHxvTAuk7VubZ4cSUn0jDS258kMd8NK8bG51NFYm4FMloDFyePELOoa1+8SCjuQqvGt8g== 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=Z1aGtwyypdkQgYStN0GqInKabqn79J4YWd7+0lr5bEA=; b=iiG25vK1BO/2G9qR2FkIL+XlYojWzFGPZejsxHd3lfIG4uKcd4X2l9OzcnKAbAUNVwnZYXZmQnztcZoeBCnZzu6ZobiwuZydaxskKAL1plTQ9NcGVU4MlRJAbbSOtRCChgELyw3Zs+Z8usJvlABmMtwlAqVH5s8rZ2F3qhSoiLisa/7gKvjGE9NDLHda+gcx4MQ+v9Z/2SilWlj7sdLSGydFHFi5UUVe8FdjYmSAtX5Ek6nqEnoGEkYXK7ItIc9gSZfPT/juNQdkm4OVpJdb0OHK2X6nLTuNNjly8BDFwamWnt2bJSUwXIRMH+p3xZMHkRuBoUsXFmPVK4w6wQPXMQ== 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.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z1aGtwyypdkQgYStN0GqInKabqn79J4YWd7+0lr5bEA=; b=o46+2l8Zdm6HZrPVuwjkkvDHtiIofusTFjhxe41TTxktz9hcUCHvtiDBl4+hO11vE0duk8KyzlbXWtXuhf+/uh3cUs3rJ4g3ZAOmX61huSPRlKf/eJSMK4O7cqo202+iBRGUpoklkxn7AqV1Pftvjq90QgAxMA+SOepC2iy2e3Y= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BY1PR18MB5874.namprd18.prod.outlook.com (2603:10b6:a03:4b1::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.29; Thu, 27 Jun 2024 06:20:06 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d%6]) with mapi id 15.20.7698.033; Thu, 27 Jun 2024 06:20:06 +0000 From: Akhil Goyal To: Ganapati Kundapura , "ferruh.yigit@amd.com" , "bruce.richardson@intel.com" , "mb@smartsharesystems.com" , "thomas@monjalon.net" CC: "fanzhang.oss@gmail.com" , "bala.senthil@intel.com" , "abhinandan.gujjar@intel.com" , "john.mcnamara@intel.com" , "dev@dpdk.org" Subject: RE: [EXTERNAL] [PATCH v3 1/2] cryptodev: fix crypto callbacks on unsetting callbacks macro Thread-Topic: [EXTERNAL] [PATCH v3 1/2] cryptodev: fix crypto callbacks on unsetting callbacks macro Thread-Index: AQHayBRLODuzeUzQSEaelNiCLTET8LHbHqJQ Date: Thu, 27 Jun 2024 06:20:06 +0000 Message-ID: References: <20240529144025.4089318-1-ganapati.kundapura@intel.com> <20240626220028.2260003-1-ganapati.kundapura@intel.com> In-Reply-To: <20240626220028.2260003-1-ganapati.kundapura@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|BY1PR18MB5874:EE_ x-ms-office365-filtering-correlation-id: 8d84573b-9545-4eb7-f2fa-08dc96713002 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|7416014|1800799024|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?jRFzMuVg4MVKP/4cceHi5VzAy+r5Ni68XqcoQvAMCA2gN3GWLoIcdPFbIiQg?= =?us-ascii?Q?738n3OQR7rYwq5ZDo7cYzfKlOEsd3ugC2lcYBbTPFZqQ54HDHjSCEuj9gbB+?= =?us-ascii?Q?NPYyx/GvojkZFSFIYvs9M2n8Q5RNPf5qhI4bQogc/K1d+VnDYkoUuACLauBl?= =?us-ascii?Q?mWvWKgDYLwYLLKkP/rTHWhFCfn3wskKMdSxsaCz4zR55+jArHeucrPTpqepA?= =?us-ascii?Q?MWiALHrq9gynf2VDHkHjbWKM8q1j3xN6u2oBnouFGMd7/2wtfztgR51GQmzh?= =?us-ascii?Q?e5LI3znnuXEU/sP+tp2Rl3ewHFcmKmrw6RozjDjqW/AItpkm+E9QfRVZ/ZOL?= =?us-ascii?Q?hlqsDVu7HtFagmaRh4o+o+3gmgvzid3A+Zs5/BtJzlkFaZfjgWHVyHYD+yvx?= =?us-ascii?Q?rxeM6Ei+DC7zIsF5HnTTNZlmOc/+5+6PNqzkXbPtjXwvHiKjq+803D7eWEGP?= =?us-ascii?Q?3vW7pef0daqdiSSjSOuo9lwfrks8btiptWwRxhEiwX7SLpL5PxWCe3NR8srL?= =?us-ascii?Q?N4+UHdeYSjsGZwU7SJI54R1NaI/dLvhLNPhjBjF1qpPII8tWcM/sdkl5Lwc7?= =?us-ascii?Q?m+5kklSdD+pw4Ml4g3H7AucDy6h9wUN2+YDUYixYl0BLMtQBwc3S5a5/Gg1q?= =?us-ascii?Q?BxiyCOxuf2fjgtf3PCgCqRxa2+L2bvZjMSKosGnK8Sx8LTIPOkXsTgE6V6AI?= =?us-ascii?Q?Z/ky0XZHovzBxvmRt/2UqPk6or9ypiZ9hsJ6F31hdgxDTRh4AKN4RLFbpaQN?= =?us-ascii?Q?o6/mH4FiWk/sjJownDd1R6WBw4UZbQolK6MoVpnUHqKo0jKtTG2GoclgGh1t?= =?us-ascii?Q?zRyMuuxqEOw+tKvLFRLxRX5sr+gJmwNzRcVTTDhSWT1ovLDj8WwQ92ZMufo7?= =?us-ascii?Q?RfluXhZ0Xbv903c6ypFHZHHMgwbfLikX8xSaMW2EkmxpPI7MDHpUOltzwWd8?= =?us-ascii?Q?BalhLSRMFOabhJH70ORA4HS1zhg7wfGXpzUVtJdQZSBJ+Ht5oVUFR5cSatFE?= =?us-ascii?Q?vyCzDcCqw+9Zno3TBy3ErBRheJYV3b/iNLqk5GLw6ItE8Bw9RMj/3YbdcLNF?= =?us-ascii?Q?L0+xw1BtJdElGJ3Qi0BlQpsjMNn8uZ7BeX7cpYh/yWA7otL02X9qs0vpiZ+J?= =?us-ascii?Q?iFSM9XcKeXm7HfSn3dJXQaHF5fixSqRi53oOOSKR+9/neF4mVEdC8Q4V7yTF?= =?us-ascii?Q?xYHHiqdiVpUNVNXZ6AGitLnipAbqFJ4ePk+139OtjoVsrIXYWgszgTWjvCDf?= =?us-ascii?Q?Ne3Je2igKeXtgUhaANW+ZSCn3qlPAflkS2ebpEYk+daGq2Kkkg05lePFaxwR?= =?us-ascii?Q?e51NxCbccwm3qILzTf0oMhXljbGNsd7f6vO9K2P9TUrMcTdDH+y22K4OhYyy?= =?us-ascii?Q?ifdA+CFjfAIXSFaus/SW+x5XzNDTrH3s3ynQs+eRq61wl58PWA=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?f8VzRgvi8yd1EIS+yJqjfjtxATMQs/Sn39PlGHBnjiOBXLqfrYFRaFhbaNb7?= =?us-ascii?Q?O56wjzkUw18yJpESTpLiP6QNn5Bpgfw0KlB/woaNk4AHP1gukaSWwLNVMTh0?= =?us-ascii?Q?y5tr8lrBBltmUW8MSG6kEp6vkpD7P8xxLgmpyA+gW3KgsXq5HxZQXRaVbr7B?= =?us-ascii?Q?Batu/fDKsMR3+o8OUw2RCfrex/PGc5HxLvJxNgBAStE/v+BzTJSNDlSVcD5C?= =?us-ascii?Q?MfSYnYTlEyIobDIBm1hAh3he2HPztGGPF1O3W8GKzbnEPQ54PHUfiKIc2a3K?= =?us-ascii?Q?WEEmyP0ON8mmoUUo5NRpFTcRjfCNZdQFkUQ4Y6+fx9w3qDa3lDotPoyiAH2d?= =?us-ascii?Q?RW5uNSFuuLmlFBDxFCYdVLhRetXkqlPiZ5GbyxO1sgxwpO8bVnx0TuDAC4u4?= =?us-ascii?Q?JL5H9eLIjJOflUKrRN4Uf2bN70RViD0fXuC1Nw3l/E2W0NpKuqVutn03+nnf?= =?us-ascii?Q?FICdo8f48tehJD/Oqp3i7+kmDNzX0sGy+y3YtV5jpGKl0n3zQYqKYVwh3uYt?= =?us-ascii?Q?MVG2Xz0GcR531Wn/eFkbAW4CT9wiOx9PaU3xKt+zsALMaiNdcIF7amMPCbqT?= =?us-ascii?Q?DgmI5pKaV3ZpykJHJnjJzi12YJoz2QIse7OGq+JMbwa8T33mF46rxas6nHTh?= =?us-ascii?Q?6O6L5EUe+aOKRG1lQb3V22fok1Q3Xlhhkbr9Wi0NdWR+WkE7s1H74cgJn9z5?= =?us-ascii?Q?+FHqof0eOsQaouUEVyHO8jMHDL3p1THxAITrQ0eAzgvwG0ToBiq1XWE0ZtAP?= =?us-ascii?Q?BKN+ScvC4BmvOha7N5Mea9NSu8g/bsJB5XIGp8vMQkY81XoGWEZnNx4NKh0l?= =?us-ascii?Q?+TKD+vU5Hsh6dO6Sf/j1FU2QMAgLvp+F81Trt0B0Dc3TbbTWDZEybSOkPSDI?= =?us-ascii?Q?mHvAHn3LBUJDQpZ5DfDOHaYmbCAoiOf10CQDIu8Be9IjAB8C4z4AV4QuRUMo?= =?us-ascii?Q?f6GfkAzYf7t1OPsp+iFyRg++k6mdy52+mI5QD46uWhOB5F0w49C+OuybDJ5s?= =?us-ascii?Q?FmeX+HRPk7G93dWcIKkPOfShZEOjRwtqQ6AFKcsdLY6wEibl35Y/+2sCXX8O?= =?us-ascii?Q?AiBavzWc0ZYkmP3E8V41hStK//KXALukmbzTj9Ri5xAFuz/lvIr3gJO12mii?= =?us-ascii?Q?mtHMPbWdoFAeWm17mNjypSR7GFW+zA333CtfCA4j1qv8kj5dAHmXxKtZVOQ9?= =?us-ascii?Q?WNofV7hAKy/8K/VsrV3U2sT0IbEfJuHGHlbIHo9HUbp06lYFD9U2A8rNXpYw?= =?us-ascii?Q?x7GVtIs3+G/E3SnFxQnAzTFiy0dD6Ptq86XbDfFLr621Z02SnlD9WpBHIHHO?= =?us-ascii?Q?BY8KK1jOzqVXGM7KsH18r3Qx4oMKixUemeSD3lWm73uXRRfFTA5emYz0IRO9?= =?us-ascii?Q?q1hDaYDbUmhxE4YsHfC+sjPpqRudD2LE/I+TP50cH2aqVLfbz2lzlyUkd2bs?= =?us-ascii?Q?Ory9DPw2Z1S33r/i5eBfY4e2BVQixvwm/pHufBD7yV3eWS+daaIwRA9hj4fv?= =?us-ascii?Q?9Q1OUwgvEJQ0BnUlg4Wb/FY0FXaGuWHvQUrXesK+XK+N99hpeoMIFi/mmTaj?= =?us-ascii?Q?UjjCdCRVXIDS6G7JzWM=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: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d84573b-9545-4eb7-f2fa-08dc96713002 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2024 06:20:06.0714 (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: USgFZXiNjP1II/6FNgXZEuMkbW3kW2ASNjIupYkNG1rlqaeBcEu+fdsRRKjCKDj/WU2lmWTiKJ0oBwE2eT4JEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB5874 X-Proofpoint-GUID: OKqeHZhjTsuCRmvkNBTvgMaCS4xnDC3T X-Proofpoint-ORIG-GUID: OKqeHZhjTsuCRmvkNBTvgMaCS4xnDC3T X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-27_02,2024-06-25_01,2024-05-17_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 > Crypto callbacks APIs are available in header files but when > the macro RTE_CRYPTO_CALLBACKS unset, test application need to > put #ifdef in its code. >=20 > The test application should be able to build and run, regardless > DPDK library is built with RTE_CRYPTO_CALLBACKS defined or not. >=20 > Added ENOTSUP from the beginning of the APIs implementation > if RTE_CRYPTO_CALLBACKS macro is unset/undefined. >=20 > Fixes: 1c3ffb95595e ("cryptodev: add enqueue and dequeue callbacks") > Fixes: 5523a75af539 ("test/crypto: add case for enqueue/dequeue callbacks= ") >=20 > Signed-off-by: Ganapati Kundapura >=20 > --- > v3: > * Added NOTSUP from the beginning of the APIs >=20 > diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c > index 94438c5..7dca2c9 100644 > --- a/app/test/test_cryptodev.c > +++ b/app/test/test_cryptodev.c > @@ -118,6 +118,18 @@ struct crypto_unittest_params { > for (j =3D index; j < index + num_blk_types; j++) > \ > free_blockcipher_test_suite(parent_ts.unit_test_suites[j]) >=20 > +#define TEST_SKIP_LOG(cond, msg, ...) do { \ > + if ((cond)) { \ > + RTE_LOG(ERR, CRYPTODEV, "%s line %d: " > \ > + msg "\n", __func__, __LINE__, ##__VA_ARGS__); > \ > + RTE_TEST_TRACE_FAILURE(__FILE__, __LINE__, __func__); > \ > + return TEST_SKIPPED; \ > + } \ > +} while (0) > + > +#define TEST_SKIP(a, b, msg, ...) \ > + TEST_SKIP_LOG(a =3D=3D b, msg, ##__VA_ARGS__) > + This can be moved to app/test/test.h Also can we rename it to TEST_ASSERT_SKIP? > /* > * Forward declarations. > */ > @@ -14754,7 +14766,7 @@ test_enq_callback_setup(void) >=20 > struct rte_cryptodev_cb *cb; > uint16_t qp_id =3D 0; > - int j =3D 0; > + int j =3D 0, ret; >=20 > /* Verify the crypto capabilities for which enqueue/dequeue is done. > */ > cap_idx.type =3D RTE_CRYPTO_SYM_XFORM_AUTH; > @@ -14794,6 +14806,7 @@ test_enq_callback_setup(void) > /* Test with invalid crypto device */ > cb =3D rte_cryptodev_add_enq_callback(RTE_CRYPTO_MAX_DEVS, > qp_id, test_enq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > qp_id, RTE_CRYPTO_MAX_DEVS); > @@ -14802,6 +14815,7 @@ test_enq_callback_setup(void) > cb =3D rte_cryptodev_add_enq_callback(ts_params->valid_devs[0], > dev_info.max_nb_queue_pairs + 1, > test_enq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); Why do we need to check for ENOTSUP at multiple places in the same function= ? This can be checked at the first usage only. > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > dev_info.max_nb_queue_pairs + 1, > @@ -14810,6 +14824,7 @@ test_enq_callback_setup(void) > /* Test with NULL callback */ > cb =3D rte_cryptodev_add_enq_callback(ts_params->valid_devs[0], > qp_id, NULL, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > qp_id, ts_params->valid_devs[0]); > @@ -14817,6 +14832,7 @@ test_enq_callback_setup(void) > /* Test with valid configuration */ > cb =3D rte_cryptodev_add_enq_callback(ts_params->valid_devs[0], > qp_id, test_enq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NOT_NULL(cb, "Failed test to add callback on " > "qp %u on cryptodev %u", > qp_id, ts_params->valid_devs[0]); > @@ -14830,24 +14846,35 @@ test_enq_callback_setup(void) > rte_delay_ms(10); >=20 > /* Test with invalid crypto device */ > - TEST_ASSERT_FAIL(rte_cryptodev_remove_enq_callback( > - RTE_CRYPTO_MAX_DEVS, qp_id, cb), > + ret =3D rte_cryptodev_remove_enq_callback(RTE_CRYPTO_MAX_DEVS, > + qp_id, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_FAIL(ret, > "Expected call to fail as crypto device is invalid"); >=20 > /* Test with invalid queue pair */ > - TEST_ASSERT_FAIL(rte_cryptodev_remove_enq_callback( > - ts_params->valid_devs[0], > - dev_info.max_nb_queue_pairs + 1, cb), > + ret =3D rte_cryptodev_remove_enq_callback(ts_params->valid_devs[0], > + dev_info.max_nb_queue_pairs + 1, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_FAIL(ret, > "Expected call to fail as queue pair is invalid"); >=20 > /* Test with NULL callback */ > - TEST_ASSERT_FAIL(rte_cryptodev_remove_enq_callback( > - ts_params->valid_devs[0], qp_id, NULL), > + ret =3D rte_cryptodev_remove_enq_callback(ts_params->valid_devs[0], > + qp_id, > + NULL); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_FAIL(ret, > "Expected call to fail as callback is NULL"); >=20 > /* Test with valid configuration */ > - TEST_ASSERT_SUCCESS(rte_cryptodev_remove_enq_callback( > - ts_params->valid_devs[0], qp_id, cb), > + ret =3D rte_cryptodev_remove_enq_callback(ts_params->valid_devs[0], > + qp_id, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_SUCCESS(ret, > "Failed test to remove callback on " > "qp %u on cryptodev %u", > qp_id, ts_params->valid_devs[0]); > @@ -14869,7 +14896,7 @@ test_deq_callback_setup(void) >=20 > struct rte_cryptodev_cb *cb; > uint16_t qp_id =3D 0; > - int j =3D 0; > + int j =3D 0, ret; >=20 > /* Verify the crypto capabilities for which enqueue/dequeue is done. > */ > cap_idx.type =3D RTE_CRYPTO_SYM_XFORM_AUTH; > @@ -14909,6 +14936,7 @@ test_deq_callback_setup(void) > /* Test with invalid crypto device */ > cb =3D rte_cryptodev_add_deq_callback(RTE_CRYPTO_MAX_DEVS, > qp_id, test_deq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > qp_id, RTE_CRYPTO_MAX_DEVS); > @@ -14917,6 +14945,7 @@ test_deq_callback_setup(void) > cb =3D rte_cryptodev_add_deq_callback(ts_params->valid_devs[0], > dev_info.max_nb_queue_pairs + 1, > test_deq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > dev_info.max_nb_queue_pairs + 1, > @@ -14925,6 +14954,7 @@ test_deq_callback_setup(void) > /* Test with NULL callback */ > cb =3D rte_cryptodev_add_deq_callback(ts_params->valid_devs[0], > qp_id, NULL, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NULL(cb, "Add callback on qp %u on " > "cryptodev %u did not fail", > qp_id, ts_params->valid_devs[0]); > @@ -14932,6 +14962,7 @@ test_deq_callback_setup(void) > /* Test with valid configuration */ > cb =3D rte_cryptodev_add_deq_callback(ts_params->valid_devs[0], > qp_id, test_deq_callback, NULL); > + TEST_SKIP(rte_errno, ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_NOT_NULL(cb, "Failed test to add callback on " > "qp %u on cryptodev %u", > qp_id, ts_params->valid_devs[0]); > @@ -14945,24 +14976,36 @@ test_deq_callback_setup(void) > rte_delay_ms(10); >=20 > /* Test with invalid crypto device */ > + ret =3D rte_cryptodev_remove_deq_callback(RTE_CRYPTO_MAX_DEVS, > + qp_id, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > TEST_ASSERT_FAIL(rte_cryptodev_remove_deq_callback( > RTE_CRYPTO_MAX_DEVS, qp_id, cb), > "Expected call to fail as crypto device is invalid"); >=20 > /* Test with invalid queue pair */ > - TEST_ASSERT_FAIL(rte_cryptodev_remove_deq_callback( > - ts_params->valid_devs[0], > - dev_info.max_nb_queue_pairs + 1, cb), > + ret =3D rte_cryptodev_remove_deq_callback(ts_params->valid_devs[0], > + dev_info.max_nb_queue_pairs + 1, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_FAIL(ret, > "Expected call to fail as queue pair is invalid"); >=20 > /* Test with NULL callback */ > - TEST_ASSERT_FAIL(rte_cryptodev_remove_deq_callback( > - ts_params->valid_devs[0], qp_id, NULL), > + ret =3D rte_cryptodev_remove_deq_callback(ts_params->valid_devs[0], > + qp_id, > + NULL); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_FAIL(ret, > "Expected call to fail as callback is NULL"); >=20 > /* Test with valid configuration */ > - TEST_ASSERT_SUCCESS(rte_cryptodev_remove_deq_callback( > - ts_params->valid_devs[0], qp_id, cb), > + ret =3D rte_cryptodev_remove_deq_callback(ts_params->valid_devs[0], > + qp_id, > + cb); > + TEST_SKIP(ret, -ENOTSUP, "Not supported, skipped"); > + TEST_ASSERT_SUCCESS(ret, > "Failed test to remove callback on " > "qp %u on cryptodev %u", > qp_id, ts_params->valid_devs[0]); > diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.= c > index 886eb7a..8a45ad7 100644 > --- a/lib/cryptodev/rte_cryptodev.c > +++ b/lib/cryptodev/rte_cryptodev.c > @@ -1491,6 +1491,10 @@ rte_cryptodev_add_enq_callback(uint8_t dev_id, > rte_cryptodev_callback_fn cb_fn, > void *cb_arg) > { > +#ifdef RTE_CRYPTO_CALLBACKS > + rte_errno =3D ENOTSUP; > + return NULL; > +#endif This should be ifndef at all places. Did you test this? > struct rte_cryptodev *dev; > struct rte_cryptodev_cb_rcu *list; > struct rte_cryptodev_cb *cb, *tail; > @@ -1556,6 +1560,9 @@ rte_cryptodev_remove_enq_callback(uint8_t > dev_id, > uint16_t qp_id, > struct rte_cryptodev_cb *cb) > { > +#ifdef RTE_CRYPTO_CALLBACKS > + return -ENOTSUP; > +#endif > struct rte_cryptodev *dev; > RTE_ATOMIC(struct rte_cryptodev_cb *) *prev_cb; > struct rte_cryptodev_cb *curr_cb; > @@ -1630,6 +1637,10 @@ rte_cryptodev_add_deq_callback(uint8_t dev_id, > rte_cryptodev_callback_fn cb_fn, > void *cb_arg) > { > +#ifdef RTE_CRYPTO_CALLBACKS > + rte_errno =3D ENOTSUP; > + return NULL; > +#endif > struct rte_cryptodev *dev; > struct rte_cryptodev_cb_rcu *list; > struct rte_cryptodev_cb *cb, *tail; > @@ -1696,6 +1707,9 @@ rte_cryptodev_remove_deq_callback(uint8_t > dev_id, > uint16_t qp_id, > struct rte_cryptodev_cb *cb) > { > +#ifdef RTE_CRYPTO_CALLBACKS > + return -ENOTSUP; > +#endif > struct rte_cryptodev *dev; > RTE_ATOMIC(struct rte_cryptodev_cb *) *prev_cb; > struct rte_cryptodev_cb *curr_cb; > -- > 2.6.4