blob: 81bc44f740b83685d7f85bb5a71ff5196694ac0d [file] [log] [blame]
Zack Williams52209662019-02-07 10:15:31 -07001syntax = "proto3";
2
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +03003option go_package = "github.com/opencord/voltha-protos/v3/go/inter_container";
4option java_package = "org.opencord.voltha";
William Kurkianad745652019-03-20 08:45:51 -04005
Mahir Gunyel4b0dab22019-05-16 13:56:09 -07006import public "voltha_protos/common.proto";
7import public "voltha_protos/voltha.proto";
Zack Williams52209662019-02-07 10:15:31 -07008import "google/protobuf/any.proto";
9import "voltha_protos/openflow_13.proto";
10import public "voltha_protos/logical_device.proto";
Scott Baker06cb92d2020-04-16 10:05:23 -070011import "google/protobuf/timestamp.proto";
Zack Williams52209662019-02-07 10:15:31 -070012
Zack Williams52209662019-02-07 10:15:31 -070013package voltha;
14
15message StrType {
16 string val = 1;
17}
18
19message IntType {
20 int64 val = 1;
21}
22
23message BoolType {
24 bool val = 1;
25}
26
27message Packet {
28 bytes payload = 1;
29}
30
31message ErrorCode {
32 enum codes {
33 UNSUPPORTED_REQUEST = 0;
34 INVALID_PARAMETERS = 1;
Matteo Scandolo865803a2020-01-23 10:26:49 -080035 DEADLINE_EXCEEDED = 2;
Zack Williams52209662019-02-07 10:15:31 -070036 }
37}
38
39message Error {
Matteo Scandolodeed92f2020-01-21 15:49:55 -080040 ErrorCode.codes code = 1;
Zack Williams52209662019-02-07 10:15:31 -070041 string reason = 2;
42}
43
44enum MessageType {
45 REQUEST = 0;
46 RESPONSE = 1;
47 DEVICE_DISCOVERED=2;
48}
49
50message Header {
51 string id = 1;
52 MessageType type = 2;
53 string from_topic = 3;
54 string to_topic = 4;
William Kurkian6ea97f82019-03-13 15:51:55 -040055 string key_topic = 5;
Scott Baker06cb92d2020-04-16 10:05:23 -070056 google.protobuf.Timestamp timestamp = 6;
Zack Williams52209662019-02-07 10:15:31 -070057}
58
59message Argument {
60 string key = 1;
61 google.protobuf.Any value = 2;
62}
63
64message InterContainerMessage {
65 Header header = 1;
66 google.protobuf.Any body = 2;
67}
68
69message InterContainerRequestBody {
70 string rpc = 2;
71 repeated Argument args = 3;
72 bool response_required = 4;
73 string reply_to_topic = 5;
74}
75
76message InterContainerResponseBody {
77 bool success = 1;
78 google.protobuf.Any result = 3;
79}
80
81message SwitchCapability {
82 openflow_13.ofp_desc desc = 1;
83 openflow_13.ofp_switch_features switch_features = 2;
84}
85
86message PortCapability {
87 LogicalPort port = 1;
88}
89
90message DeviceDiscovered {
91 string id = 1;
92 string parent_id = 2;
93 string device_type = 3;
94 string publisher = 4;
95}
96
97message InterAdapterMessageType {
98 enum Types {
99 FLOW_REQUEST = 0;
100 FLOW_RESPONSE = 1;
101 OMCI_REQUEST = 2;
102 OMCI_RESPONSE = 3;
103 METRICS_REQUEST = 4;
104 METRICS_RESPONSE = 5;
Matt Jeanneret909d7dc2019-03-08 17:21:09 -0500105 ONU_IND_REQUEST = 6;
106 ONU_IND_RESPONSE = 7;
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400107 TECH_PROFILE_DOWNLOAD_REQUEST = 8;
Girish Gowdra475e63e2019-11-20 16:42:59 +0530108 DELETE_GEM_PORT_REQUEST = 9;
109 DELETE_TCONT_REQUEST = 10;
Zack Williams52209662019-02-07 10:15:31 -0700110 }
111}
112
113message InterAdapterHeader {
114 string id = 1;
115 InterAdapterMessageType.Types type = 2;
116 string from_topic = 3;
117 string to_topic = 4;
118 string to_device_id = 5;
119 string proxy_device_id = 6;
Scott Baker06cb92d2020-04-16 10:05:23 -0700120 google.protobuf.Timestamp timestamp = 7;
Zack Williams52209662019-02-07 10:15:31 -0700121}
122
123message InterAdapterOmciMessage {
124 bytes message = 1; // OMCI_REQUEST or OMCI_RESPONSE
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +0300125 common.ConnectStatus.Types connect_status = 2;
Mahir Gunyel4b0dab22019-05-16 13:56:09 -0700126 voltha.Device.ProxyAddress proxy_address = 3;
Zack Williams52209662019-02-07 10:15:31 -0700127}
128
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400129message InterAdapterTechProfileDownloadMessage {
130 uint32 uni_id = 1;
131 string path = 2;
132}
133
Girish Gowdra475e63e2019-11-20 16:42:59 +0530134message InterAdapterDeleteGemPortMessage {
135 uint32 uni_id = 1;
136 string tp_path = 2;
137 uint32 gem_port_id = 3;
138}
139
140message InterAdapterDeleteTcontMessage {
141 uint32 uni_id = 1;
142 string tp_path = 2;
143 uint32 alloc_id = 3;
144}
145
Zack Williams52209662019-02-07 10:15:31 -0700146message InterAdapterResponseBody {
147 bool status = 1;
148 oneof payload {
149 google.protobuf.Any body = 2;
150 InterAdapterOmciMessage omci = 3; // OMCI_REQUEST or OMCI_RESPONSE
151 }
152}
153
154message InterAdapterMessage {
155 InterAdapterHeader header = 1;
156 google.protobuf.Any body = 2;
157}