From b30edf643d7df9e329c561af580409e47ab5397c Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Mon, 1 Aug 2022 04:43:50 +0200 Subject: [PATCH] sma: volume crypto interface This interface will make it possible for users to configure data at rest encryption for volumes exposed through SMA. The crypto parameters are part of volume parameters specified when a volume is attached. Once a volume is attached it is not possible to change it. Signed-off-by: Konrad Sztyber Change-Id: I795cfab67523ace47d366d50e33b253737716668 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13868 Tested-by: SPDK CI Jenkins Reviewed-by: Paul Luse Reviewed-by: Jim Harris Reviewed-by: Dong Yi Reviewed-by: Ben Walker --- python/spdk/sma/proto/sma.proto | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/python/spdk/sma/proto/sma.proto b/python/spdk/sma/proto/sma.proto index a91d90094..6d962bd7b 100644 --- a/python/spdk/sma/proto/sma.proto +++ b/python/spdk/sma/proto/sma.proto @@ -13,6 +13,20 @@ package sma; option go_package = "spdk.io/sma"; +// Volume's crypto parameters +message VolumeCryptoParameters { + // Key to be used for encryption + bytes key = 1; + // Second key (only required by some ciphers) + bytes key2 = 2; + enum Cipher { + AES_CBC = 0; + AES_XTS = 1; + } + // Cipher to use + Cipher cipher = 3; +} + // Parameters describing a volume message VolumeParameters { // Volume GUID/UUID @@ -21,6 +35,8 @@ message VolumeParameters { // NVMeoF volume nvmf.VolumeConnectionParameters nvmf = 2; } + // Crypto parameters (optional) + VolumeCryptoParameters crypto = 3; } // Create device request