blob: f69be881daf6449e8ed4f7f36dd6f6cf210ae0a1 [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";
11
Zack Williams52209662019-02-07 10:15:31 -070012package voltha;
13
14message StrType {
15 string val = 1;
16}
17
18message IntType {
19 int64 val = 1;
20}
21
22message BoolType {
23 bool val = 1;
24}
25
26message Packet {
27 bytes payload = 1;
28}
29
30message ErrorCode {
31 enum codes {
32 UNSUPPORTED_REQUEST = 0;
33 INVALID_PARAMETERS = 1;
34 }
35}
36
37message Error {
38 ErrorCode code = 1;
39 string reason = 2;
40}
41
42enum MessageType {
43 REQUEST = 0;
44 RESPONSE = 1;
45 DEVICE_DISCOVERED=2;
46}
47
48message Header {
49 string id = 1;
50 MessageType type = 2;
51 string from_topic = 3;
52 string to_topic = 4;
William Kurkian6ea97f82019-03-13 15:51:55 -040053 string key_topic = 5;
54 int64 timestamp = 6;
Zack Williams52209662019-02-07 10:15:31 -070055}
56
57message Argument {
58 string key = 1;
59 google.protobuf.Any value = 2;
60}
61
62message InterContainerMessage {
63 Header header = 1;
64 google.protobuf.Any body = 2;
65}
66
67message InterContainerRequestBody {
68 string rpc = 2;
69 repeated Argument args = 3;
70 bool response_required = 4;
71 string reply_to_topic = 5;
72}
73
74message InterContainerResponseBody {
75 bool success = 1;
76 google.protobuf.Any result = 3;
77}
78
79message SwitchCapability {
80 openflow_13.ofp_desc desc = 1;
81 openflow_13.ofp_switch_features switch_features = 2;
82}
83
84message PortCapability {
85 LogicalPort port = 1;
86}
87
88message DeviceDiscovered {
89 string id = 1;
90 string parent_id = 2;
91 string device_type = 3;
92 string publisher = 4;
93}
94
95message InterAdapterMessageType {
96 enum Types {
97 FLOW_REQUEST = 0;
98 FLOW_RESPONSE = 1;
99 OMCI_REQUEST = 2;
100 OMCI_RESPONSE = 3;
101 METRICS_REQUEST = 4;
102 METRICS_RESPONSE = 5;
Matt Jeanneret909d7dc2019-03-08 17:21:09 -0500103 ONU_IND_REQUEST = 6;
104 ONU_IND_RESPONSE = 7;
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400105 TECH_PROFILE_DOWNLOAD_REQUEST = 8;
Girish Gowdra475e63e2019-11-20 16:42:59 +0530106 DELETE_GEM_PORT_REQUEST = 9;
107 DELETE_TCONT_REQUEST = 10;
Zack Williams52209662019-02-07 10:15:31 -0700108 }
109}
110
111message InterAdapterHeader {
112 string id = 1;
113 InterAdapterMessageType.Types type = 2;
114 string from_topic = 3;
115 string to_topic = 4;
116 string to_device_id = 5;
117 string proxy_device_id = 6;
118 int64 timestamp = 7;
119}
120
121message InterAdapterOmciMessage {
122 bytes message = 1; // OMCI_REQUEST or OMCI_RESPONSE
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +0300123 common.ConnectStatus.Types connect_status = 2;
Mahir Gunyel4b0dab22019-05-16 13:56:09 -0700124 voltha.Device.ProxyAddress proxy_address = 3;
Zack Williams52209662019-02-07 10:15:31 -0700125}
126
Matt Jeanneret15249fa2019-04-12 20:25:31 -0400127message InterAdapterTechProfileDownloadMessage {
128 uint32 uni_id = 1;
129 string path = 2;
130}
131
Girish Gowdra475e63e2019-11-20 16:42:59 +0530132message InterAdapterDeleteGemPortMessage {
133 uint32 uni_id = 1;
134 string tp_path = 2;
135 uint32 gem_port_id = 3;
136}
137
138message InterAdapterDeleteTcontMessage {
139 uint32 uni_id = 1;
140 string tp_path = 2;
141 uint32 alloc_id = 3;
142}
143
Zack Williams52209662019-02-07 10:15:31 -0700144message InterAdapterResponseBody {
145 bool status = 1;
146 oneof payload {
147 google.protobuf.Any body = 2;
148 InterAdapterOmciMessage omci = 3; // OMCI_REQUEST or OMCI_RESPONSE
149 }
150}
151
152message InterAdapterMessage {
153 InterAdapterHeader header = 1;
154 google.protobuf.Any body = 2;
155}