Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp6136717rwb; Wed, 18 Jan 2023 01:24:26 -0800 (PST) X-Google-Smtp-Source: AMrXdXssHHDlWGziiiVN9IWPqNUxydGYjbI1Qhyjy2wasz4pfqA/SbsGmYujOyHFMLb+Z/klnXLK X-Received: by 2002:a17:902:bd95:b0:192:5282:6833 with SMTP id q21-20020a170902bd9500b0019252826833mr5394865pls.29.1674033865844; Wed, 18 Jan 2023 01:24:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674033865; cv=none; d=google.com; s=arc-20160816; b=eNNiKp7VcUKqbzg4t3XoxPHpysjIjLz8jki+9zg+6qFK/75IIafMQbpSLwH0solKZg LkEyctZlu4e47btwCbDuDLV3B0p4Zwd0JMNInjsSUNOvx+Zj4wz5bjxU8/FavrkyM6uA rG0NW71WheiV6gXWnBQAMJJnTR+2HsYYqcOi9vGmNyR7goG6kWdqVyO2RuZFdtLu47ez gwvmp6E/LEDP6ctI5+vXYIMynRCud95BshmNkoBk6CxG5DxMks/8fx0UgHsTnXJmibLd 5x5LZulBXlMM8qntq+lglifmyAm12KI89xWzTK2DNfEiiTZI9eP+kPjDEWQnLXtbHk21 l4Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=zRwqDvtswpcNxL27g78WUlL6FGqpbvPDdxVCL1gDPRg=; b=Wdag8uJHB4Q9hau7KG+UKTDOAtO5o2wHN2Kd8mgo82OPdPnMAwg0O4FzBf6E39Wr01 RhxZO3o9iXzM+11D2ndVJbeIlXkOMUTCc7XQnXMgdfDQ+dpasdLZnMy+BOtMiu2DLktW tVudH56NfiDcpA+ocO282jKgFUx9opHujSkaB7GFffn/J3AyoELe1pEsFEgqTdv7Nvyd e9I2Lwl5gZOro+Z6Yv1wRg3fT6kcysjE3YoI5Yyk+0o4l42uWgnR/3Bs/X4+OnKWcqWY qAf7bnIb9wKfBPIeqLM+sHTeCz8mu7eXWkS6M53L0hczwWDr56/1yLK4WzjUORIUvf2j rhuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RrmsUcrd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k15-20020a170902d58f00b001946fd7e948si3791289plh.83.2023.01.18.01.24.20; Wed, 18 Jan 2023 01:24:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RrmsUcrd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229728AbjARJF3 (ORCPT + 46 others); Wed, 18 Jan 2023 04:05:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33776 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230051AbjARJES (ORCPT ); Wed, 18 Jan 2023 04:04:18 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6569C303F8; Wed, 18 Jan 2023 00:22:38 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 26EC4B81BA2; Wed, 18 Jan 2023 08:22:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C176C433EF; Wed, 18 Jan 2023 08:22:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674030155; bh=J3P2jLNBlTxVtW6CzAaV5JkcOWy8oIduGW1AIFf0FvM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RrmsUcrdRqqVIlnk7HhrT7HkNkthDZLdAmJAbvi5YDXIY/MF7FZv7NLBXeF4D5emv 5L2jF3QW8mYDpL17de3mblOvmVPuLZWT1KBQnnv6nLLYB7DdBp4hkmmA3n7yCBr8Et 2abB0rQoHKGYzfmSFbLBBVVVZ4W68YsQ5XUcPY1n9Zv26lgCb7KN3n3SsJB6cI9q8v TXOSpovnW+MSNrF/HvLcd7jYv4u/vgbv9yuRPaOm7JQ8kQt5JVGfg464elsybVphlM GJILETQ0yFevJ5Bb7NB0QBJ5g6k0Qy0BpmbwvOwlvxvlybJIQdIILu94VA0iNGYJLN zZfXJgAM2Cg6Q== Date: Wed, 18 Jan 2023 10:22:31 +0200 From: Leon Romanovsky To: Eric Biggers Cc: Jason Gunthorpe , Bryan Tan , Christoph Hellwig , Eric Dumazet , Israel Rukshin , Jakub Kicinski , Jens Axboe , Keith Busch , linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-rdma@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Masami Hiramatsu , Max Gurtovoy , netdev@vger.kernel.org, Paolo Abeni , Saeed Mahameed , Sagi Grimberg , Selvin Xavier , Steven Rostedt , Vishnu Dasa , Yishai Hadas Subject: Re: [PATCH rdma-next 00/13] Add RDMA inline crypto support Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 17, 2023 at 10:47:44PM -0800, Eric Biggers wrote: > Hi Leon, > > On Mon, Jan 16, 2023 at 03:05:47PM +0200, Leon Romanovsky wrote: > > >From Israel, > > > > The purpose of this patchset is to add support for inline > > encryption/decryption of the data at storage protocols like nvmf over > > RDMA (at a similar way like integrity is used via unique mkey). > > > > This patchset adds support for plaintext keys. The patches were tested > > on BF-3 HW with fscrypt tool to test this feature, which showed reduce > > in CPU utilization when comparing at 64k or more IO size. The CPU utilization > > was improved by more than 50% comparing to the SW only solution at this case. > > > > How to configure fscrypt to enable plaintext keys: > > # mkfs.ext4 -O encrypt /dev/nvme0n1 > > # mount /dev/nvme0n1 /mnt/crypto -o inlinecrypt > > # head -c 64 /dev/urandom > /tmp/master_key > > # fscryptctl add_key /mnt/crypto/ < /tmp/master_key > > # mkdir /mnt/crypto/test1 > > # fscryptctl set_policy 152c41b2ea39fa3d90ea06448456e7fb /mnt/crypto/test1 > > ** “152c41b2ea39fa3d90ea06448456e7fb” is the output of the > > “fscryptctl add_key” command. > > # echo foo > /mnt/crypto/test1/foo > > > > Notes: > > - At plaintext mode only, the user set a master key and the fscrypt > > driver derived from it the DEK and the key identifier. > > - 152c41b2ea39fa3d90ea06448456e7fb is the derived key identifier > > - Only on the first IO, nvme-rdma gets a callback to load the derived DEK. > > > > There is no special configuration to support crypto at nvme modules. > > > > Thanks > > Very interesting work! Can you Cc me on future versions? Sure > > I'm glad to see that this hardware allows all 16 IV bytes to be specified. > > Does it also handle programming and evicting keys efficiently? "efficiently" is a very subjective term. We are using FW command interface to program keys and this interface can do hundreds/thousands commands per-second. Thanks