VOL-4153: Improve storage usage on etcd
- Create protobuf message definitions for techprofile template,
  techprofile instance and resource instance
- Introduce new InterAdapterTechProfileInstanceRequestMessage message
  in the inter_container.proto interface to allow for openonu adapter
  to request TP instance for a subscriber when openonu adapter needs
  it (esp. after adapter restarts and it needs to reconcile subscriber
  data).
- Enhance InterAdapterTechProfileDownloadMessage message so that
  now onu adapter receives the TP instance message directly on from the
  olt adapter and need not download from KV store (given that TP instance
  will no longer be stored on etcd).

Change-Id: Ieff5afc70fac4cee32cdb114e4992456e6c11177
diff --git a/protos/voltha_protos/inter_container.proto b/protos/voltha_protos/inter_container.proto
index ee67caa..755b92a 100644
--- a/protos/voltha_protos/inter_container.proto
+++ b/protos/voltha_protos/inter_container.proto
@@ -9,6 +9,8 @@
 import "voltha_protos/openflow_13.proto";
 import public "voltha_protos/logical_device.proto";
 import "google/protobuf/timestamp.proto";
+import "voltha_protos/tech_profile.proto";
+
 
 package voltha;
 
@@ -122,20 +124,32 @@
     voltha.Device.ProxyAddress proxy_address = 3;
 }
 
+message InterAdapterTechProfileInstanceRequestMessage {
+    string tp_instance_path = 1; // technology profile instance path
+    string parent_device_id = 2;
+    uint32 parent_pon_port = 3;
+    uint32 onu_id = 4;
+    uint32 uni_id = 5;
+}
+
 message InterAdapterTechProfileDownloadMessage {
     uint32 uni_id = 1;
-    string path = 2;
+    string tp_instance_path = 2;
+    oneof tech_tp_instance {
+        tech_profile.TechProfileInstance tp_instance = 3; // relevant for GPON, XGPON and XGS-PON technologies
+        tech_profile.EponTechProfileInstance epon_tp_instance = 4; // relevant for EPON technology
+    }
 }
 
 message InterAdapterDeleteGemPortMessage {
     uint32 uni_id = 1;
-    string tp_path = 2;
+    string tp_instance_path = 2;
     uint32 gem_port_id = 3;
 }
 
 message InterAdapterDeleteTcontMessage {
     uint32 uni_id = 1;
-    string tp_path = 2;
+    string tp_instance_path = 2;
     uint32 alloc_id = 3;
 }