Commit b30edf64 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Ben Walker
Browse files

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: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I795cfab67523ace47d366d50e33b253737716668
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13868


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDong Yi <dongx.yi@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 11d13b85
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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