blob: ee67caa3228e7340323749f4c706648f3b7d4e52 [file] [log] [blame]
Zack Williams52209662019-02-07 10:15:31 -07001syntax = "proto3";
2
Matteo Scandolob3c08ae2020-10-14 13:15:43 -07003option go_package = "github.com/opencord/voltha-protos/v4/go/inter_container";
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +03004option 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
Zack Williams52209662019-02-07 10:15:31 -070086message DeviceDiscovered {
87 string id = 1;
88 string parent_id = 2;
89 string device_type = 3;
90 string publisher = 4;
91}
92
93message InterAdapterMessageType {
94 enum Types {
95 FLOW_REQUEST = 0;
96 FLOW_RESPONSE = 1;
97 OMCI_REQUEST = 2;
98 OMCI_RESPONSE = 3;
99 METRICS_REQUEST = 4;
100 METRICS_RESPONSE = 5;
Matt Jeanneret909d7dc2019-03-08 17:21:09 -0500101 ONU_IND_REQUEST = 6;
102 ONU_IND_RESPONSE = 7;
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400103 TECH_PROFILE_DOWNLOAD_REQUEST = 8;
Girish Gowdra475e63e2019-11-20 16:42:59 +0530104 DELETE_GEM_PORT_REQUEST = 9;
105 DELETE_TCONT_REQUEST = 10;
Zack Williams52209662019-02-07 10:15:31 -0700106 }
107}
108
109message InterAdapterHeader {
110 string id = 1;
111 InterAdapterMessageType.Types type = 2;
112 string from_topic = 3;
113 string to_topic = 4;
114 string to_device_id = 5;
115 string proxy_device_id = 6;
Scott Baker06cb92d2020-04-16 10:05:23 -0700116 google.protobuf.Timestamp timestamp = 7;
Zack Williams52209662019-02-07 10:15:31 -0700117}
118
119message InterAdapterOmciMessage {
120 bytes message = 1; // OMCI_REQUEST or OMCI_RESPONSE
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +0300121 common.ConnectStatus.Types connect_status = 2;
Mahir Gunyel4b0dab22019-05-16 13:56:09 -0700122 voltha.Device.ProxyAddress proxy_address = 3;
Zack Williams52209662019-02-07 10:15:31 -0700123}
124
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400125message InterAdapterTechProfileDownloadMessage {
126 uint32 uni_id = 1;
127 string path = 2;
128}
129
Girish Gowdra475e63e2019-11-20 16:42:59 +0530130message InterAdapterDeleteGemPortMessage {
131 uint32 uni_id = 1;
132 string tp_path = 2;
133 uint32 gem_port_id = 3;
134}
135
136message InterAdapterDeleteTcontMessage {
137 uint32 uni_id = 1;
138 string tp_path = 2;
139 uint32 alloc_id = 3;
140}
141
Zack Williams52209662019-02-07 10:15:31 -0700142message InterAdapterResponseBody {
143 bool status = 1;
144 oneof payload {
145 google.protobuf.Any body = 2;
146 InterAdapterOmciMessage omci = 3; // OMCI_REQUEST or OMCI_RESPONSE
147 }
148}
149
150message InterAdapterMessage {
151 InterAdapterHeader header = 1;
152 google.protobuf.Any body = 2;
153}