[VOL-1346]  This commit addresses device discovery notifications
which will be principally used by the affinity router.  In doing so
this commit also rename the core_adapter.proto to inter_container.proto.

Change-Id: Ib2a7b84efa50367d0ffbc482fba6096a225f3150
diff --git a/protos/inter_container.proto b/protos/inter_container.proto
new file mode 100644
index 0000000..931ddb9
--- /dev/null
+++ b/protos/inter_container.proto
@@ -0,0 +1,120 @@
+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/inter_container";
+
+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;
+    DEVICE_DISCOVERED=2;
+}
+
+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 DeviceDiscovered {
+    string id = 1;
+    string parent_id = 2;
+    string device_type = 3;
+}
+
+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;
+}
\ No newline at end of file