blob: 24390f509fd58dc4b3b5293038e8064233a5730b [file] [log] [blame]
syntax = "proto3";
import "google/protobuf/any.proto";
import "openflow_13.proto";
import public "logical_device.proto";
option go_package = "github.com/opencord/voltha-go/protos/core_adapter";
package voltha;
message StrType {
string val = 1;
}
message IntType {
int64 val = 1;
}
message BoolType {
bool val = 1;
}
message Packet {
bytes payload = 1;
}
message ErrorCode {
enum codes {
UNSUPPORTED_REQUEST = 0;
INVALID_PARAMETERS = 1;
}
}
message Error {
ErrorCode code = 1;
string reason = 2;
}
enum MessageType {
REQUEST = 0;
RESPONSE = 1;
}
message Header {
string id = 1;
MessageType type = 2;
string from_topic = 3;
string to_topic = 4;
int64 timestamp = 5;
}
message Argument {
string key = 1;
google.protobuf.Any value = 2;
}
message InterContainerMessage {
Header header = 1;
google.protobuf.Any body = 2;
}
message InterContainerRequestBody {
string rpc = 2;
repeated Argument args = 3;
bool response_required = 4;
string reply_to_topic = 5;
}
message InterContainerResponseBody {
bool success = 1;
google.protobuf.Any result = 3;
}
message SwitchCapability {
openflow_13.ofp_desc desc = 1;
openflow_13.ofp_switch_features switch_features = 2;
}
message PortCapability {
LogicalPort port = 1;
}
message InterAdapterMessageType {
enum Types {
FLOW_REQUEST = 0;
FLOW_RESPONSE = 1;
OMCI_REQUEST = 2;
OMCI_RESPONSE = 3;
METRICS_REQUEST = 4;
METRICS_RESPONSE = 5;
}
}
message InterAdapterHeader {
string id = 1;
InterAdapterMessageType.Types type = 2;
string from_topic = 3;
string to_topic = 4;
string to_device_id = 5;
string proxy_device_id = 6;
int64 timestamp = 7;
}
message InterAdapterResponseBody {
bool status = 1;
google.protobuf.Any body = 2;
}
message InterAdapterMessage {
InterAdapterHeader header = 1;
google.protobuf.Any body = 2;
}