[VOL-1460]

- Imported protobuf definitions from pyvoltha at
  https://gerrit.opencord.org/gitweb?p=pyvoltha.git, commit hash:
  944aee71301b8ddb211b6e51d685f56d5c4a911b

- Imported upstream Google API protos from
  https://github.com/googleapis/googleapis, commit hash:
  5a90fbea68ce4a6e87c20d2df10df5ecd88299ff

- Fixed `import` paths and directory heirarchy in protobuf definitions
  to be compatible with both python 2 and 3.

- Created Makefile scaffold to generate language-specific bindings for
  python and go

Change-Id: Idd6b6b985a5eae4c38d40dd07ae78744c09e37f5
diff --git a/protos/voltha_protos/schema.proto b/protos/voltha_protos/schema.proto
new file mode 100644
index 0000000..bb1f895
--- /dev/null
+++ b/protos/voltha_protos/schema.proto
@@ -0,0 +1,40 @@
+syntax = "proto3";
+
+option go_package = "github.com/opencord/voltha-go/protos/schema";
+
+package schema;
+
+import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
+
+// Contains the name and content of a *.proto file
+message ProtoFile {
+    string file_name = 1;  // name of proto file
+    string proto = 2;  // content of proto file
+    bytes descriptor = 3;  // compiled descriptor for proto (zlib compressed)
+}
+
+// Proto files and compiled descriptors for this interface
+message Schemas {
+
+    // Proto files
+    repeated ProtoFile protos = 1;
+
+    // Proto file name from which swagger.json shall be generated
+    string swagger_from = 2;
+
+    // Proto file name from which yang schemas shall be generated
+    string yang_from = 3;
+}
+
+// Schema services
+service SchemaService {
+
+    // Return active grpc schemas
+    rpc GetSchema(google.protobuf.Empty) returns (Schemas) {
+        option (google.api.http) = {
+            get: "/schema"
+        };
+    }
+
+}