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