-
Notifications
You must be signed in to change notification settings - Fork 40
/
opicommon.proto
executable file
·84 lines (73 loc) · 3.85 KB
/
opicommon.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2022 Dell Inc, or its subsidiaries.
// {C} Copyright 2022 Pensando Systems Inc. All rights reserved
// Copyright (C) 2023 Intel Corporation
syntax = "proto3";
package opi_api.storage.v1;
option java_package = "opi_api.storage.v1";
option java_multiple_files = true;
option java_outer_classname = "OpiCommonProto";
option go_package = "github.com/opiproject/opi-api/storage/v1alpha1/gen/go";
import "google/api/field_behavior.proto";
import "google/protobuf/wrappers.proto";
// Many front-ends expose PCI devices to the host. This represents that endpoint.
// This device will ultimately be surfaced by the operating system at some
// Bus:Device:Function, but note that the values set here are not necessarily
// the same values that the operating system will choose. Instead, these are
// xPU-internal values.
// While the term "device" is often used for the entity attached to a PCI slot,
// we'll use the term "port" which also commonly used with PCI switches and avoids
// confusion with storage "devices".
message PciEndpoint {
// The "port" or "device". In other words, the connector/cable that's
// plugged into a particular host. This number may end up matching
// the host-assigned "device" value in the bus:device:function identifier,
// but it does not strictly have to and that should not be relied upon.
google.protobuf.Int32Value port_id = 1 [(google.api.field_behavior) = REQUIRED];
// Physical function index. This may end up matching the host-assigned
// "function" value in the bus:device:function identifier, but it does not
// strictly have to and that should not be relied upon.
google.protobuf.Int32Value physical_function = 2 [(google.api.field_behavior) = REQUIRED];
// Virtual function index. 1-based index.
// The value 0 is reserved to represent the PCI physical "device".
// This may end up matching the host-assigned "function" value in the
// bus:device:function identifier, but it does not strictly have to and
// that should not be relied upon.
google.protobuf.Int32Value virtual_function = 3 [(google.api.field_behavior) = REQUIRED];
}
message VolumeStats {
int32 read_bytes_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 read_ops_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 write_bytes_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 write_ops_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 unmap_bytes_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 unmap_ops_count = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 read_latency_ticks = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 write_latency_ticks = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
int32 unmap_latency_ticks = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// QoS limits applied to volumes/devices
message QosLimit {
// Read kIOPS
int64 rd_iops_kiops = 1 [(google.api.field_behavior) = OPTIONAL];
// Write kIOPS
int64 wr_iops_kiops = 2 [(google.api.field_behavior) = OPTIONAL];
// Read/write kIOPS
int64 rw_iops_kiops = 3 [(google.api.field_behavior) = OPTIONAL];
// Read bandwidth (MB/s)
int64 rd_bandwidth_mbs = 4 [(google.api.field_behavior) = OPTIONAL];
// Write bandwidth (MB/s)
int64 wr_bandwidth_mbs = 5 [(google.api.field_behavior) = OPTIONAL];
// Read/write bandwidth (MB/s)
int64 rw_bandwidth_mbs = 6 [(google.api.field_behavior) = OPTIONAL];
}
// AES encryption types
enum EncryptionType {
ENCRYPTION_TYPE_UNSPECIFIED = 0;
ENCRYPTION_TYPE_AES_CBC_128 = 1;
ENCRYPTION_TYPE_AES_CBC_192 = 2;
ENCRYPTION_TYPE_AES_CBC_256 = 3;
ENCRYPTION_TYPE_AES_XTS_128 = 4;
ENCRYPTION_TYPE_AES_XTS_192 = 5;
ENCRYPTION_TYPE_AES_XTS_256 = 6;
}