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 3D60A43217; Fri, 27 Oct 2023 17:55:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B52D340263; Fri, 27 Oct 2023 17:55:20 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 73A284025F; Fri, 27 Oct 2023 17:55:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698422119; x=1729958119; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=web+kbOch6VwDA9Ucy87ZzrE9eqGbfhNpoGDlRzxGqM=; b=MNYfcu5h2JEpJPXGqvJXC1lzqy5XyjHJr4UZaIPqU5nAS69EzJ5kKUCU Bae+EAaOzLLPX391WJmWLXCKSreMAurc/sp5SPlCBNcjyUA6qZfqg40S0 FG9uZAbhBlX6PIafED6Wjlak65RsQSWhXoeUotPADD7OSgVAPkhRyUQuT 8cUFwkBy+UhAZH3+GwCCl6MOOH1mfBBSw1Z40+7108m2ICIDY1V7J47PJ v+tCJZYJRx/NPs9Rucsl3ZmJZkvAoJ1Jg78sCEWOCR3ec2nTI8sohkpLC Q+j1+/18gjXMfXhSJx/ePBgSiaODKAKiJCtpTdeqIxAIRse9wWxGnInde A==; X-IronPort-AV: E=McAfee;i="6600,9927,10876"; a="386685978" X-IronPort-AV: E=Sophos;i="6.03,256,1694761200"; d="scan'208,217";a="386685978" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2023 08:55:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10876"; a="933113795" X-IronPort-AV: E=Sophos;i="6.03,256,1694761200"; d="scan'208,217";a="933113795" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 27 Oct 2023 08:55:07 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 27 Oct 2023 08:55:06 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 27 Oct 2023 08:55:06 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Fri, 27 Oct 2023 08:55:06 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.169) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 27 Oct 2023 08:55:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l2f2xfECuNVThGf2Z3zQTa+W3Dpce1x7TWkcG/2laJQ5iSZjELyXqQeF0cDkOd5ZfAbNKXxeQXaHaWpeOcGmIpiEvlCLDwGwKYM9sQJjFFhsecKXp8wvuGgaUGrVw9wMBjDfOumBUlMqojZLcMaH/9kKpIgu3QVxtnriZ2qkQ68tS0Sy8xX5Nq/KplKPFqzNV0jLi5J+nCLLIZZAj/hl8ePww/syUvIAZrFI4Km5iloGH2V0Uv07jag8thT0ifqSvaAkOo56SHsdij26a8SrMgkg7yRJFWNoOgeQqZ21jO9qqkA5pAcExGBLihIahcYYOa8zGIGFg/xebB/Lu1okoA== 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=956ftaUh0sD4iwV2YxUAHEH8HEPzO+sTxOMLCdAwNqs=; b=Fzyj5sqnXcjfePh2FNzgcs3r18/p6w/jPOcxru1dxG2PVjWCDPvqL7JXCU6xuM7+c80RR576LRDR1bKE9wqOhG2JODcaIS+BheVFvP0xfGTXPZtXz71KsbNIYSMs0TtjxpZ+0ClRueJ19hvBDiZy7SUX3Ydre9iHBJCXGd7z6vAn5LIKMSCzcQoLtVDQWLi2ruL5hiRKaj1CFK3l6DCI2qYTE1Vjz3v9x2oAWjvomeqL7Phtd+JPjA+GJW/PneKybc9c2qEd1iZM4JuZ+XvrSMGL3u36CimSUyowD+hSlRzvN/GKeebkuvl01iCjAkeqeBOVxCSh3uMYDtzfYx7EXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB3408.namprd11.prod.outlook.com (2603:10b6:805:bc::22) by SJ1PR11MB6107.namprd11.prod.outlook.com (2603:10b6:a03:48a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.19; Fri, 27 Oct 2023 15:55:04 +0000 Received: from SN6PR11MB3408.namprd11.prod.outlook.com ([fe80::cd1e:c4bf:b7a3:1257]) by SN6PR11MB3408.namprd11.prod.outlook.com ([fe80::cd1e:c4bf:b7a3:1257%6]) with mapi id 15.20.6907.032; Fri, 27 Oct 2023 15:55:04 +0000 From: "Ji, Kai" To: "Power, Ciara" , "dev@dpdk.org" CC: "Dooley, Brian" , "stable@dpdk.org" Subject: Re: [PATCH] crypto/qat: fix build when no openssl exists Thread-Topic: [PATCH] crypto/qat: fix build when no openssl exists Thread-Index: AQHaCOEkjBzdJba0pUWoTYONV1vfELBdygq8 Date: Fri, 27 Oct 2023 15:55:04 +0000 Message-ID: References: <20231027142305.2328017-1-ciara.power@intel.com> In-Reply-To: <20231027142305.2328017-1-ciara.power@intel.com> Accept-Language: en-GB, en-US, en-IE Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3408:EE_|SJ1PR11MB6107:EE_ x-ms-office365-filtering-correlation-id: 6e809f63-dd0d-4466-7356-08dbd70515c9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fJ7b2LdVZI2hl/LH88NrNXRBN66PVGIhiKQPpRSizyoy6Sn2oA42nj3LPH7NfYXkoKZGDv+rUXcjW9hUQmjB4VC3Lgmr9+uMTt+YQkJ5nSCzc6PrvMU7Q5bvuMPYBjXVzXH22E8K33kL76TbNJMvHzt4UuUNF3tFYCmdruYTToRGnjSBAqZ41dNmoHbkWnIkqHLMWj1IKOeXpERXVZXwvpwx40ylmPgJJAARZVhqX38sOL6w5jYvSn3PnpofxNu9IPy+K8pmtfNaPAwl/14yUUlcDgB+y+vyCTbTTOmZquLK0e/BIAHl1dNMwZjfxzD2WNU7hsEhkzXbZiwnXR1KKjeUKDy2ciczuQu9UutTsXd2DzruQfOjstUlDobS2iD1ObAK+Ft6qeA86RvV5eX4eYRLnl2VTrtM1o9sVPSauzXGujDC1AXTXUNz0C2M+19WkN2xVrfzPm8JePjgUA1QtDNhrivj7JAte7bWWyoGKXGNkq2rLJNHkkfyx/q6u1ykKnQCGhy2riIXG5ZGP6G8hQgSZ0HyBKn1jwAQBB8uaUG8+J7KkBz2gfhRmc5lt6U3yJmkxbusLn/dMCDhCUH0yigH50jaQj+nvHdTbM9tcGSKTXZPaUUMo0ZfNHbeGEsx x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3408.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(376002)(396003)(366004)(39860400002)(136003)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(66476007)(2906002)(19627405001)(5660300002)(41300700001)(450100002)(52536014)(55016003)(4326008)(8676002)(8936002)(83380400001)(122000001)(76116006)(7696005)(38070700009)(38100700002)(66946007)(91956017)(54906003)(66446008)(316002)(66556008)(64756008)(9686003)(53546011)(26005)(33656002)(71200400001)(6506007)(86362001)(110136005)(82960400001)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Mw2E/LZ2eik7d3gLNXBNl4Zcr3yuJZinD7ODOaq+c1DkLmm+w9jnk49a/Fpi?= =?us-ascii?Q?YVqx7/QBVJXGUp416BxtvoYcEw3UZb/KXryrGOWkSzDtsm5vfnh9POAOJEHX?= =?us-ascii?Q?d/6MdzW96aOhijB5HGIqU8QasV3jpS5M2qoNL4Ai+wVy/rANPebPoGl4TDlx?= =?us-ascii?Q?fSIcsKkex5P6+40jS9ejp7DVmef1TUYb055JZo7k+PtUOLJrqNTFPZGI5o9L?= =?us-ascii?Q?bY1tbAlY8m7Jc8Hf6D9XSKKQC9KYOt+azjJkXB4WbZVVddP3usqxyWBpNkoH?= =?us-ascii?Q?cYh9Tfw/i4DMHYUAZtN8XP9Ic/eIOlohrtzLAV8/M4E0oNp3xw8AV2J4ToG4?= =?us-ascii?Q?XImOtJW8pGk3n8ryNepNVx2hZU0RK7zHzXDm1+aQj4mvO9lo6xdV5+w458yr?= =?us-ascii?Q?Imo6e9DGVCG+UZ02hTxPCiCdeEQ0IgL/v7LkfMtuRsQXI75VDfYcbESt/j5f?= =?us-ascii?Q?u0sZNZs3LZpiMJlpg44s8kaDaKlPr9XCEX/tJ6sVoHI6RiM/bbELX7f0zTrn?= =?us-ascii?Q?JQjIDsyLNrnVKxDQLkocB47PflaSQ80nGYioH8FRBDpXlCRFVPuMENwttFvB?= =?us-ascii?Q?Gy9uh3RXqUX9xBFFWssRTFEgt77qF3Yo0Zyxr0dCeiNXM+QEHUwYik+7E+em?= =?us-ascii?Q?FidtFQgLO4JP07OKl2vgsD7mJEVxs28PuNbM0h0Q2+RklfTPTF6LG9J1QnzQ?= =?us-ascii?Q?iucXe2iey59SsixPRqg7wY02zwK4TD1u8YhBO3A5MPEOIgwb7otX1AjUT4pC?= =?us-ascii?Q?GfYMEDTGTKVG1VpcaEpL21HM9O4xky0QkheyudLla0V5Q6Au/aI7LLNViAKP?= =?us-ascii?Q?Hh45Abb02pbVE+ouid1S8ZUEDJeDTReUU07XsVelHEg2ZOcrXHH0W6ZsnqUb?= =?us-ascii?Q?T60a5bchPHKFaQCHDgxmGrkTR/aILw+w8ajXUcDlikaZPx1449DSZ/H/epwx?= =?us-ascii?Q?lpuLFZSSQuMSYQznE61LuGDDq4yB1UKiq30CmNPVDAxiS72oPx5/0k/CbZqw?= =?us-ascii?Q?rPACwm7nMMteu6wW5xYmlTQ0uCmdLpZ3nDSFniG/FBekDbVbleYvBieBxntF?= =?us-ascii?Q?mrio+9o72o7d8B5snC+lIOsM30FaDOrW5IwTaXZelETtY+1nLPMHT+J6qLep?= =?us-ascii?Q?l9rX33uKHf1Mqi8NwgmFnOzJY9EJr9gQjOCXONfWG5Qh3whkIwXO8f4tsj1a?= =?us-ascii?Q?gDu/CzM4v2piET5A2BCbgWBtVddjCmO4DCJw3mRzl6e/sun3XUD9fzV8uo2t?= =?us-ascii?Q?GVTelJgrqaR19FRqZSi8vwTA2OVHpQECRJvDAVYN67J6W/d6RB+skp+FPvm1?= =?us-ascii?Q?4ivdeiafrMLUb63LsNdSd3hGCQLlszvP4Oztxs5bq3d11sh1fm6fh2Ela0+Y?= =?us-ascii?Q?ZcYY6Tul8TweWAz8nq0rhVtRchWKTfNZ/uRbsFQ0WRqrAQB+Cg8I8TaoyWAv?= =?us-ascii?Q?V9lyM+gUg4OYbE3e4Ye/T0sPoNB66t+geAOoGLZLIfsnF3xXWHgUTrOi8BSp?= =?us-ascii?Q?fTbICmCOpHfNrYCZQ9AP4QOmiNVIFhKf7iD+buldKNSSMmPLJvbJQIWOFbWU?= =?us-ascii?Q?JGK6zWWgIvQ+CQQK+Ok=3D?= Content-Type: multipart/alternative; boundary="_000_SN6PR11MB340832D485B0859291E3D6F781DCASN6PR11MB3408namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3408.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e809f63-dd0d-4466-7356-08dbd70515c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2023 15:55:04.3263 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6U4303VhJhVk6ORymL2K9CisF4ExkPwFwjFIyN5LUGnpPQr9bdHuZNdGZ1qqJoojRMC6WY2VBbrt3qV0id5O2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR11MB6107 X-OriginatorOrg: intel.com 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 --_000_SN6PR11MB340832D485B0859291E3D6F781DCASN6PR11MB3408namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Kai Ji > ________________________________ From: Power, Ciara Sent: 27 October 2023 15:23 To: dev@dpdk.org Cc: Power, Ciara ; Dooley, Brian ; stable@dpdk.org ; Ji, Kai Subject: [PATCH] crypto/qat: fix build when no openssl exists Previously some compilation errors existed when no openssl was installed on the system, and intel-ipsec-mb was installed, due to missing headers and macros. This patch fixes the issue by adding in extra ifdefs around openssl specific code paths, and by adding the relevant macros explicitly in QAT code so it does not depend on openssl at all. Fixes: ca0ba0e48129 ("crypto/qat: default to IPsec MB for computations") Cc: brian.dooley@intel.com Cc: stable@dpdk.org Signed-off-by: Ciara Power --- drivers/crypto/qat/dev/qat_crypto_pmd_gens.h | 2 ++ drivers/crypto/qat/qat_sym.c | 2 ++ drivers/crypto/qat/qat_sym.h | 6 ++++-- drivers/crypto/qat/qat_sym_session.c | 13 ++++++------- drivers/crypto/qat/qat_sym_session.h | 3 +++ 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h b/drivers/crypto/= qat/dev/qat_crypto_pmd_gens.h index 37647374d5..eebf2e6eb8 100644 --- a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h +++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h @@ -24,6 +24,7 @@ (ICP_QAT_FW_COMN_STATUS_FLAG_OK =3D=3D \ ICP_QAT_FW_COMN_RESP_CRYPTO_STAT_GET(resp->comn_hdr.comn_status)) +#ifdef RTE_QAT_OPENSSL static __rte_always_inline int op_bpi_cipher_decrypt(uint8_t *src, uint8_t *dst, uint8_t *iv, int ivlen, int srclen, @@ -48,6 +49,7 @@ op_bpi_cipher_decrypt(uint8_t *src, uint8_t *dst, QAT_DP_LOG(ERR, "libcrypto ECB cipher decrypt for BPI IV failed"); return -EINVAL; } +#endif static __rte_always_inline uint32_t qat_bpicipher_preprocess(struct qat_sym_session *ctx, diff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c index 936c2615e4..6e03bde841 100644 --- a/drivers/crypto/qat/qat_sym.c +++ b/drivers/crypto/qat/qat_sym.c @@ -2,7 +2,9 @@ * Copyright(c) 2015-2023 Intel Corporation */ +#ifdef RTE_QAT_OPENSSL #include +#endif #include #include diff --git a/drivers/crypto/qat/qat_sym.h b/drivers/crypto/qat/qat_sym.h index d19cadde86..b4e19e3015 100644 --- a/drivers/crypto/qat/qat_sym.h +++ b/drivers/crypto/qat/qat_sym.h @@ -9,7 +9,9 @@ #include #ifdef BUILD_QAT_SYM +#ifdef RTE_QAT_OPENSSL #include +#endif #include #include "qat_common.h" @@ -133,6 +135,7 @@ uint16_t qat_sym_dequeue_burst(void *qp, struct rte_crypto_op **ops, uint16_t nb_ops); +#ifdef RTE_QAT_OPENSSL /** Encrypt a single partial block * Depends on openssl libcrypto * Uses ECB+XOR to do CFB encryption, same result, more performant @@ -161,8 +164,7 @@ bpi_cipher_encrypt(uint8_t *src, uint8_t *dst, QAT_DP_LOG(ERR, "libcrypto ECB cipher encrypt failed"); return -EINVAL; } - -#ifndef RTE_QAT_OPENSSL +#else static __rte_always_inline void bpi_cipher_ipsec(uint8_t *src, uint8_t *dst, uint8_t *iv, int srclen, uint64_t *expkey, IMB_MGR *m, uint8_t docsis_key_len) diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_= sym_session.c index 7831a677d0..9f4f6c3d93 100644 --- a/drivers/crypto/qat/qat_sym_session.c +++ b/drivers/crypto/qat/qat_sym_session.c @@ -4,10 +4,12 @@ #define OPENSSL_API_COMPAT 0x10100000L +#ifdef RTE_QAT_OPENSSL #include /* Needed to calculate pre-compute values = */ #include /* Needed to calculate pre-compute values = */ #include /* Needed to calculate pre-compute values = */ #include /* Needed for bpi runt block processing */ +#endif #ifndef RTE_QAT_OPENSSL #ifndef RTE_ARCH_ARM @@ -1272,24 +1274,21 @@ static int qat_hash_get_block_size(enum icp_qat_hw_= auth_algo qat_hash_alg) { switch (qat_hash_alg) { case ICP_QAT_HW_AUTH_ALGO_SHA1: - return SHA_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_SHA224: - return SHA256_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_SHA256: - return SHA256_CBLOCK; + return QAT_SHA_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_SHA384: - return SHA512_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_SHA512: - return SHA512_CBLOCK; + return QAT_SHA512_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_GALOIS_128: return 16; case ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC: return ICP_QAT_HW_AES_BLK_SZ; case ICP_QAT_HW_AUTH_ALGO_MD5: - return MD5_CBLOCK; + return QAT_MD5_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_DELIMITER: /* return maximum block size in this case */ - return SHA512_CBLOCK; + return QAT_SHA512_CBLOCK; case ICP_QAT_HW_AUTH_ALGO_SM3: return QAT_SM3_BLOCK_SIZE; default: diff --git a/drivers/crypto/qat/qat_sym_session.h b/drivers/crypto/qat/qat_= sym_session.h index 674a62ee12..9209e2e8df 100644 --- a/drivers/crypto/qat/qat_sym_session.h +++ b/drivers/crypto/qat/qat_sym_session.h @@ -69,6 +69,9 @@ (!!((flags) & (flag))) #define QAT_SM3_BLOCK_SIZE 64 +#define QAT_SHA_CBLOCK 64 +#define QAT_SHA512_CBLOCK 128 +#define QAT_MD5_CBLOCK 64 enum qat_sym_proto_flag { QAT_CRYPTO_PROTO_FLAG_NONE =3D 0, -- 2.25.1 --_000_SN6PR11MB340832D485B0859291E3D6F781DCASN6PR11MB3408namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Acked-by: Kai Ji <kai.ji@intel.com&g= t;

From: Power, Ciara <ciar= a.power@intel.com>
Sent: 27 October 2023 15:23
To: dev@dpdk.org <dev@dpdk.org>
Cc: Power, Ciara <ciara.power@intel.com>; Dooley, Brian <br= ian.dooley@intel.com>; stable@dpdk.org <stable@dpdk.org>; Ji, Kai = <kai.ji@intel.com>
Subject: [PATCH] crypto/qat: fix build when no openssl exists
 
Previously some compilation errors existed when no= openssl
was installed on the system, and intel-ipsec-mb was installed,
due to missing headers and macros.

This patch fixes the issue by adding in extra ifdefs around openssl
specific code paths, and by adding the relevant macros explicitly
in QAT code so it does not depend on openssl at all.

Fixes: ca0ba0e48129 ("crypto/qat: default to IPsec MB for computations= ")
Cc: brian.dooley@intel.com
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 drivers/crypto/qat/dev/qat_crypto_pmd_gens.h |  2 ++
 drivers/crypto/qat/qat_sym.c       = ;          |  2 ++
 drivers/crypto/qat/qat_sym.h       = ;          |  6 ++++--  drivers/crypto/qat/qat_sym_session.c     &nb= sp;   | 13 ++++++-------
 drivers/crypto/qat/qat_sym_session.h     &nb= sp;   |  3 +++
 5 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h b/drivers/crypto/= qat/dev/qat_crypto_pmd_gens.h
index 37647374d5..eebf2e6eb8 100644
--- a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h
+++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h
@@ -24,6 +24,7 @@
         (ICP_QAT_FW_COMN_STATUS_FL= AG_OK =3D=3D \
         ICP_QAT_FW_COMN_RESP_CRYPT= O_STAT_GET(resp->comn_hdr.comn_status))
 
+#ifdef RTE_QAT_OPENSSL
 static __rte_always_inline int
 op_bpi_cipher_decrypt(uint8_t *src, uint8_t *dst,
            &nb= sp;    uint8_t *iv, int ivlen, int srclen,
@@ -48,6 +49,7 @@ op_bpi_cipher_decrypt(uint8_t *src, uint8_t *dst,
         QAT_DP_LOG(ERR, "libc= rypto ECB cipher decrypt for BPI IV failed");
         return -EINVAL;
 }
+#endif
 
 static __rte_always_inline uint32_t
 qat_bpicipher_preprocess(struct qat_sym_session *ctx,
diff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c index 936c2615e4..6e03bde841 100644
--- a/drivers/crypto/qat/qat_sym.c
+++ b/drivers/crypto/qat/qat_sym.c
@@ -2,7 +2,9 @@
  * Copyright(c) 2015-2023 Intel Corporation
  */
 
+#ifdef RTE_QAT_OPENSSL
 #include <openssl/evp.h>
+#endif
 
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
diff --git a/drivers/crypto/qat/qat_sym.h b/drivers/crypto/qat/qat_sym.h index d19cadde86..b4e19e3015 100644
--- a/drivers/crypto/qat/qat_sym.h
+++ b/drivers/crypto/qat/qat_sym.h
@@ -9,7 +9,9 @@
 #include <rte_net_crc.h>
 
 #ifdef BUILD_QAT_SYM
+#ifdef RTE_QAT_OPENSSL
 #include <openssl/evp.h>
+#endif
 #include <rte_security_driver.h>
 
 #include "qat_common.h"
@@ -133,6 +135,7 @@ uint16_t
 qat_sym_dequeue_burst(void *qp, struct rte_crypto_op **ops,
            &nb= sp;    uint16_t nb_ops);
 
+#ifdef RTE_QAT_OPENSSL
 /** Encrypt a single partial block
  *  Depends on openssl libcrypto
  *  Uses ECB+XOR to do CFB encryption, same result, more perform= ant
@@ -161,8 +164,7 @@ bpi_cipher_encrypt(uint8_t *src, uint8_t *dst,
         QAT_DP_LOG(ERR, "libc= rypto ECB cipher encrypt failed");
         return -EINVAL;
 }
-
-#ifndef RTE_QAT_OPENSSL
+#else
 static __rte_always_inline void
 bpi_cipher_ipsec(uint8_t *src, uint8_t *dst, uint8_t *iv, int srclen,=
            &nb= sp;    uint64_t *expkey, IMB_MGR *m, uint8_t docsis_key_len)=
diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_= sym_session.c
index 7831a677d0..9f4f6c3d93 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -4,10 +4,12 @@
 
 #define OPENSSL_API_COMPAT 0x10100000L
 
+#ifdef RTE_QAT_OPENSSL
 #include <openssl/sha.h>      &nb= sp; /* Needed to calculate pre-compute values */
 #include <openssl/aes.h>      &nb= sp; /* Needed to calculate pre-compute values */
 #include <openssl/md5.h>      &nb= sp; /* Needed to calculate pre-compute values */
 #include <openssl/evp.h>      &nb= sp; /* Needed for bpi runt block processing */
+#endif
 
 #ifndef RTE_QAT_OPENSSL
 #ifndef RTE_ARCH_ARM
@@ -1272,24 +1274,21 @@ static int qat_hash_get_block_size(enum icp_qat_hw_= auth_algo qat_hash_alg)
 {
         switch (qat_hash_alg) {          case ICP_QAT_HW_AUTH_ALGO_= SHA1:
-            &n= bsp;  return SHA_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= SHA224:
-            &n= bsp;  return SHA256_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= SHA256:
-            &n= bsp;  return SHA256_CBLOCK;
+            &n= bsp;  return QAT_SHA_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= SHA384:
-            &n= bsp;  return SHA512_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= SHA512:
-            &n= bsp;  return SHA512_CBLOCK;
+            &n= bsp;  return QAT_SHA512_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= GALOIS_128:
            &nb= sp;    return 16;
         case ICP_QAT_HW_AUTH_ALGO_= AES_XCBC_MAC:
            &nb= sp;    return ICP_QAT_HW_AES_BLK_SZ;
         case ICP_QAT_HW_AUTH_ALGO_= MD5:
-            &n= bsp;  return MD5_CBLOCK;
+            &n= bsp;  return QAT_MD5_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= DELIMITER:
            &nb= sp;    /* return maximum block size in this case */
-            &n= bsp;  return SHA512_CBLOCK;
+            &n= bsp;  return QAT_SHA512_CBLOCK;
         case ICP_QAT_HW_AUTH_ALGO_= SM3:
            &nb= sp;    return QAT_SM3_BLOCK_SIZE;
         default:
diff --git a/drivers/crypto/qat/qat_sym_session.h b/drivers/crypto/qat/qat_= sym_session.h
index 674a62ee12..9209e2e8df 100644
--- a/drivers/crypto/qat/qat_sym_session.h
+++ b/drivers/crypto/qat/qat_sym_session.h
@@ -69,6 +69,9 @@
         (!!((flags) & (flag)))=
 
 #define QAT_SM3_BLOCK_SIZE      64
+#define QAT_SHA_CBLOCK 64
+#define QAT_SHA512_CBLOCK 128
+#define QAT_MD5_CBLOCK 64
 
 enum qat_sym_proto_flag {
         QAT_CRYPTO_PROTO_FLAG_NONE= =3D 0,
--
2.25.1

--_000_SN6PR11MB340832D485B0859291E3D6F781DCASN6PR11MB3408namp_--