From patchwork Wed Sep 20 13:33:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 131735 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1CB60425EA; Wed, 20 Sep 2023 15:35:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1C0A542DDB; Wed, 20 Sep 2023 15:34:37 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2089.outbound.protection.outlook.com [40.107.104.89]) by mails.dpdk.org (Postfix) with ESMTP id 2830E42DBD for ; Wed, 20 Sep 2023 15:34:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fKz7+qNonkR+KBpL8sMO7jqTToT1iVIBS8GzGhcMc+u4/CkITqyUz0mkTOCl5wXj2QgJpCYyAxUuer5ynoL6MC9O5xzz7O9VPR+girwwOz5bf5GrF1DEJaAmNmUnkZulxFT5kK/bjtuLPd3Hlni6zChBd0PwPbSllEkN02cZMd7jt7gqtnFyKEby3vEWuqAobIqpV5o6+8+gT+G1AL/E2WwA5IR1dGJWBWnRyGoParY0XVF3big2gZ2XtqCZerBtRGzK7pA6L07QwN9xWTAUkPTxsx+kRs5kxDtuAlsNfiQcwc2C/ah9Advsm89AJLyUC4t7KYB6eQS5VFBbTiW8hA== 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=oLSSTqRFQkWT2jDKBRUnyEQNakGiTdYG9Ko7kekYeNQ=; b=f1Asns1WVlSFDsBIOK2SW2nrjuuaVlnHpYj5Fi+1aJvYoGNtRUFc/JVNUkEss+LfbV9JBMxi5d6oKeUxrpmhkw2QhwvPKlaRUaRh2yiVNJ0MTrl2q58ARPUdPKANU9JdEHs2bLlTMVORffAm4hKmhoabXDJ+9Yb4tmYuZ+GNrisFnVt177lD5hef7H+QfjGjGQAPtvzDvJO+4GmuU0Kqu35HzviPe7K9ssNTrjKDzEqk2EJIMUTePcPdahg6IwR4NXE2smDMeeI/KoSRRIRe8dpXLXsNmVQk+DNN/yHPiXd0JnP4HyGnnDVcoKVhcuhbg2ABhI62IF2/56hiqUwykQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oLSSTqRFQkWT2jDKBRUnyEQNakGiTdYG9Ko7kekYeNQ=; b=XoOh+Nv9sqmDGX2JhUhkqF+vQtPCIJEJh6nvaoi1Bk+N1esU5cyEd8MxsqQEFpbVMkthDmpq5GSo7umrJpTxRiJB0BBM0VKUCFWbis5LDnGGP+XZS5qL4VucSsBi6R3LPkKDxpbf/p/xcuz2MZ8L3UHWgcnvrJnmxgTQC2clXu8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) by AS8PR04MB7606.eurprd04.prod.outlook.com (2603:10a6:20b:23e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Wed, 20 Sep 2023 13:34:32 +0000 Received: from PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::450d:89ac:4f6a:6ae2]) by PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::450d:89ac:4f6a:6ae2%4]) with mapi id 15.20.6792.021; Wed, 20 Sep 2023 13:34:31 +0000 From: Hemant Agrawal To: gakhil@marvell.com Cc: dev@dpdk.org Subject: [PATCH v2 08/13] crypto/dpaa2_sec: support copy df and dscp in proto offload Date: Wed, 20 Sep 2023 19:03:58 +0530 Message-Id: <20230920133403.6420-9-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230920133403.6420-1-hemant.agrawal@nxp.com> References: <20230823070855.27532-1-hemant.agrawal@nxp.com> <20230920133403.6420-1-hemant.agrawal@nxp.com> X-ClientProxiedBy: SI2PR01CA0015.apcprd01.prod.exchangelabs.com (2603:1096:4:191::15) To PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9328:EE_|AS8PR04MB7606:EE_ X-MS-Office365-Filtering-Correlation-Id: bdb82320-a29f-42fb-aee0-08dbb9de5255 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pmbkyU9EAPKZMMshfeKTkvoEum/MQOfGQsTqK0g75haX2jgLoOPbTZI5SKKUVkDJ4Ku5cvJr+yesfjBATrGqeBJOrPAHDr0ozUIGQ6NVV3hZ4ESorxH7mKyWPeFJPFxwYmV3QxNQ66Bt0Pfs5kdZCA23yFBNFoo4MvF1fQ7gP+tolbftVNeG0pbmPN08CBepcXmQteTf6+6RPOOkjOFYsnNUknrzDJtMUSVa5e5DH3Cvxnz3iGmh5bW9baN84tIgbHEVpKjH87UynDEe7JlWTgskCqTDtMbUvR0DGH+odtEGP2uHQSXfsEooIXnAirxKpab0y+HTqpaOGLggIEZ44ofOeK1G6L+u2vl536akLE9ZFB5bGA10C2hKhJTR1qT5N6C235i5XzkQyD7eTyaAJiQijNc9c/8wQRHxn6Y9MDORQzKbEa2e0fvogT0c0Xn3k/b+9Znx+FbkayGoZ9mw09Io0GDktwKbLUpyeOkT3/mEc8tttDJLLXetZaWSIv/8czeIRhvM+9aP8sTapasuZ5/RbIXJ2wzf1AJ1hn3A9268pNXiFXF4ZVijLjpb/UREwxG6nTjDnRg1Zsf7qHgLUxjlQS1HaVgYVbJDauNV5nGyMuvNUPWwSTY2SOB60BE5 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB9328.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199024)(186009)(1800799009)(6506007)(52116002)(6666004)(6512007)(478600001)(26005)(6486002)(4326008)(2616005)(41300700001)(5660300002)(2906002)(66946007)(66476007)(66556008)(8676002)(83380400001)(8936002)(6916009)(44832011)(316002)(1076003)(86362001)(36756003)(38100700002)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cT5BO+EG4Pcc9rBcwUbTWT8qRc8ayddVofj/MVG41zqFS4FQX/atGq6EksqrulcsIlyLwHBfibVjUA8L99EImKKpMM14sV+A9GBnNUW9kvdeQk587LMaGyEH+at/F9AFacTWpVtT9LA3qfkUNUwkC3qKMYH/sht4IEfFYWsmSyuxXyjAyVqmCjGS78R1PfWL4nMeI9gS2aVI4Cprk3k5k213czP15O9WeOizdNjru7s07EmQ0VbWv1YZX9TNvPUZz3FDrWayGP1yxJKIElKosOc49VJTUsH/G6qR1jTuqJHTBsTcej0vpgiMOtClWDKOU9ULc6loqnLT3q4Rc0m1ap2sDuXOcuCEKhi9C0Lp1wZqRowkF6mrkQoL1wAcM6kk5qZuSDx7ojJJ/siuJev5krGnQ8znnzGOabo5e5XTVxcecOQDH84yj9hCZR714R1wh7CVswKHhA9Ivzb/141zODQW7MnfDonnVsR9GtapeF4QVhgG9Z5LMLPNctCP1ggrtd2BodL9gK4qrrnIwOmD/WJ2Gaj1Fq95IdQIfRFJEcEDhTXDl+81kFiq/J+pmJBoPwYJqarMUDN4Ja24w8MM090ABhvE4iWoBH85w28EWxUNLdQ6hT8iEQi6wY93YTl8lwWLqTQl3OawKbDgtr/JCBHs7eXN5XtxbIqm7fLzm4NEZROhuxYcK55wSXyPDSazUswvh2/jXug6OJKgRMVNXNqsusw1xeO0clulKHoNXCGCOLdbQFByBMiXEDLiElxH8HbWDXksFr6vbDRBc8S5m7sJ3EjodV/ZDtCG4wGauAh6M1WsfJuuw8IQe0P/Q79+4sweK/+QXsoxUsxJoY1Gd2TkLEtJcY/u3JGE02XqnzGxi4jw3JOv/+ddf2EIWUnaau7/T8RNlEXna84+NsbZAREpAAAgv8dcsWO3qh1jqoadFwu3sSAR/fGQQC9X8TBu1g4EgHF0lA1IF0iEfwZgS52FjRWRG4kcnAkdDHFkQZsx/gPdkvYbcwYnu49mked1BszMDMrnchSooO+CRA5ehvi8YCp2rIlTSFLNw5R1+x0ZExJnQXISVAGoWA3/42BZq6/Vxa5RFUWjTCIg3h/6n1yf56RfsflAI3PLLAyNVxgXRh3nGARRD5qR2c7k/ikRBAXRWEMUowLGwBzeH9PBybYKVMoTMQ9w/irG98UssZcGRVgnc4li4lcrEa3VbUf+RzHUtdPhrXWMfKDS06xIO2UHJDkAGf9NjZr0y+KhNMB3gk335Hxu8AeTGAvwjJNpbJzLYyMqwULCCSLg7gbMmh8x5onbBEdYQDMpKtovbIAf6o5a46BddYLcNecNjTKiS5DlAxOjbav661HraBSAi7zh7Vs7EkRuGiqBj03nPkfk2efRQ5hFkMEsuQpuyKlCA54OjS6oxU44PosWMqEdDikk5ek6ZLWuUO6D14elPcwU3EACvRzeDQJ8p0PeQAlotUWUiq9SsumEO4DDQIfPYwHXPubtFtvlwsyNVpluj+60dGoTFezot0zaN1P4cGIphDap+Lb/R3msMsgicR6PIDgO5+/2LWzyMZVPlWKuuW71AX11YCe6ht/j3WDZeo1URWiEnObmbzu/jJQqFRQIAg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdb82320-a29f-42fb-aee0-08dbb9de5255 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9328.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2023 13:34:31.9497 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +fIEjdt4GYFKi/eyTGOz5MX76/vT/6AtGtfyTvId4DBshvyk13ox11+RGm7oJ6DIZXVakHf5zHM98wWEJTKNmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7606 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 This patch adds support for enabling capability to copy dscp and df bits from inner to outer header and vice-versa. Signed-off-by: Hemant Agrawal --- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 18 ++++++++++++++---- drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 10 ++++++++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index daa6a71360..3b96798242 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -3193,10 +3193,14 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev, encap_pdb.options |= PDBHMO_ESP_ENCAP_DTTL; if (ipsec_xform->options.esn) encap_pdb.options |= PDBOPTS_ESP_ESN; + if (ipsec_xform->options.copy_dscp) + encap_pdb.options |= PDBOPTS_ESP_DIFFSERV; encap_pdb.spi = ipsec_xform->spi; session->dir = DIR_ENC; if (ipsec_xform->tunnel.type == RTE_SECURITY_IPSEC_TUNNEL_IPV4) { + if (ipsec_xform->options.copy_df) + encap_pdb.options |= PDBHMO_ESP_DFBIT; encap_pdb.ip_hdr_len = sizeof(struct ip); ip4_hdr.ip_v = IPVERSION; ip4_hdr.ip_hl = 5; @@ -3261,12 +3265,18 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev, break; } - decap_pdb.options = (ipsec_xform->tunnel.type == - RTE_SECURITY_IPSEC_TUNNEL_IPV4) ? - sizeof(struct ip) << 16 : - sizeof(struct rte_ipv6_hdr) << 16; + if (ipsec_xform->tunnel.type == + RTE_SECURITY_IPSEC_TUNNEL_IPV4) { + decap_pdb.options = sizeof(struct ip) << 16; + if (ipsec_xform->options.copy_df) + decap_pdb.options |= PDBHMO_ESP_DFV; + } else { + decap_pdb.options = sizeof(struct rte_ipv6_hdr) << 16; + } if (ipsec_xform->options.esn) decap_pdb.options |= PDBOPTS_ESP_ESN; + if (ipsec_xform->options.copy_dscp) + decap_pdb.options |= PDBOPTS_ESP_DIFFSERV; if (ipsec_xform->replay_win_sz) { uint32_t win_sz; diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h index 5a4eb8e2ed..0f29e6299f 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h @@ -929,7 +929,10 @@ static const struct rte_security_capability dpaa2_sec_security_cap[] = { .proto = RTE_SECURITY_IPSEC_SA_PROTO_ESP, .mode = RTE_SECURITY_IPSEC_SA_MODE_TUNNEL, .direction = RTE_SECURITY_IPSEC_SA_DIR_EGRESS, - .options = { 0 }, + .options = { + .copy_df = 1, + .copy_dscp = 1, + }, .replay_win_sz_max = 128 }, .crypto_capabilities = dpaa2_sec_capabilities @@ -941,7 +944,10 @@ static const struct rte_security_capability dpaa2_sec_security_cap[] = { .proto = RTE_SECURITY_IPSEC_SA_PROTO_ESP, .mode = RTE_SECURITY_IPSEC_SA_MODE_TUNNEL, .direction = RTE_SECURITY_IPSEC_SA_DIR_INGRESS, - .options = { 0 }, + .options = { + .copy_df = 1, + .copy_dscp = 1, + }, .replay_win_sz_max = 128 }, .crypto_capabilities = dpaa2_sec_capabilities