1c996aff2SKonrad Sztybersyntax = "proto3"; 2c996aff2SKonrad Sztyber 3c996aff2SKonrad Sztyberpackage sma.nvmf; 4c996aff2SKonrad Sztyber 5*2f2c95ecSAntti Kervinenoption go_package = "github.com/spdk/sma-goapi/v1alpha1/nvmf"; 6c996aff2SKonrad Sztyber 7c996aff2SKonrad Sztyber// Defines an address of an NVMeoF endpoint 8c996aff2SKonrad Sztybermessage Address { 9c996aff2SKonrad Sztyber // Transport type ("rdma" or "tcp") 10c996aff2SKonrad Sztyber string trtype = 1; 11c996aff2SKonrad Sztyber // Transport address (IP) 12c996aff2SKonrad Sztyber string traddr = 2; 13c996aff2SKonrad Sztyber // Transport service identifier (port number) 14c996aff2SKonrad Sztyber string trsvcid = 3; 15c996aff2SKonrad Sztyber} 16c996aff2SKonrad Sztyber// NVMeoF connection using discovery service 17c996aff2SKonrad Sztybermessage VolumeDiscoveryParameters { 18c996aff2SKonrad Sztyber // One or more discovery endpoints 19c996aff2SKonrad Sztyber repeated Address discovery_endpoints = 1; 20c996aff2SKonrad Sztyber} 21c996aff2SKonrad Sztyber 22c996aff2SKonrad Sztyber// Describes connection parameters for an NVMeoF volume (namespace) 23c996aff2SKonrad Sztybermessage VolumeConnectionParameters { 24c996aff2SKonrad Sztyber // Subsystem that the volume is exposed through. A volume with a given 25c996aff2SKonrad Sztyber // GUID/UUID won't be created if it's attached to a different subsystem. This 26c996aff2SKonrad Sztyber // field is optional and can be left empty. 27c996aff2SKonrad Sztyber string subnqn = 1; 28c996aff2SKonrad Sztyber // Host NQN to use when connecting to the subsystem exposing the volume (and, 29c996aff2SKonrad Sztyber // if using discovery, to the discovery subsystem too). 30c996aff2SKonrad Sztyber string hostnqn = 2; 31c996aff2SKonrad Sztyber oneof connection_params { 32c996aff2SKonrad Sztyber // Connection through discovery service 33c996aff2SKonrad Sztyber VolumeDiscoveryParameters discovery = 3; 34c996aff2SKonrad Sztyber } 35c996aff2SKonrad Sztyber} 36