Proto files modified for handling indications and omci messages

Change-Id: I480ee4b1b909a07bbeca3b2648ca3b061e9e93cc
diff --git a/voltha/adapters/asfvolt16_olt/protos/bal.proto b/voltha/adapters/asfvolt16_olt/protos/bal.proto
index bcc92cb..4c4601b 100644
--- a/voltha/adapters/asfvolt16_olt/protos/bal.proto
+++ b/voltha/adapters/asfvolt16_olt/protos/bal.proto
@@ -60,6 +60,12 @@
     }
 }
 
+message BalOmciReq {
+        uint32 olt_no = 1;/*OLT number*/
+        uint32 onu_id = 2;/*ONU number*/
+        bytes  omciMsg = 3;/*OMCI msg*/
+}
+
 service Bal {
     /**
      * Initialize the BAL Public API internal data structures
@@ -78,4 +84,6 @@
     rpc BalCfgSet(BalCfg) returns(BalErr) {}
     rpc BalCfgClear(BalKey) returns(BalErr) {}
     rpc BalCfgGet(BalKey) returns(BalCfg) {}
+
+    rpc BalOmciMsg(BalOmciReq) returns(BalErr){}
 }
diff --git a/voltha/adapters/asfvolt16_olt/protos/bal_indications.proto b/voltha/adapters/asfvolt16_olt/protos/bal_indications.proto
index dd132e3..d752926 100644
--- a/voltha/adapters/asfvolt16_olt/protos/bal_indications.proto
+++ b/voltha/adapters/asfvolt16_olt/protos/bal_indications.proto
@@ -19,6 +19,7 @@
 import "bal_model_ids.proto";
 import "bal_errno.proto";
 import "bal_model_types.proto";
+import "bal.proto";
 
 enum BalAlarmIndStatus{
     BAL_ALARM_IND_CLEARED = 0; //Alarm cleared
@@ -149,33 +150,43 @@
 }
 
 message BalIndStatsInfo{
-    uint32                device_id = 1; //pon interface number of the corresponding OLT
-    BalIndStatsType       stats_type = 2; //type of statistics
-    BalNniStatsInfo       nni_stats = 3; //nni statistics info
-    BalPonNiStatsInfo     pon_ni_stats = 4; //pon based statistics
-    BalPonGemStatsInfo    pon_gem_stats = 5; //gem port based statistics
-    BalOnuStatsInfo       onu_stats = 6; //onu statistics
+    uint32                device_id = 1; //OLT number
+    uint32                pon_ni = 2; //pon interface number of the corresponding OLT
+    BalIndStatsType       stats_type = 3; //type of statistics
+    BalNniStatsInfo       nni_stats = 4; //nni statistics info
+    BalPonNiStatsInfo     pon_ni_stats = 5; //pon based statistics
+    BalPonGemStatsInfo    pon_gem_stats = 6; //gem port based statistics
+    BalOnuStatsInfo       onu_stats = 7; //onu statistics
 }
 
-message BalIndications{
+message BalOmciRespInfo{
+    bytes  balOmciResp = 1; //response msg
+    uint32 pon_ni = 2; //pon interface number
+    uint32 onu_id = 3; //onu id
+    uint32 port_id = 4; //port id
+    uint32 crc_ok = 5; //crc status
+}
+
+message BalObjInd{
     BalObjId     objType = 1; //type of object for which the indications have been received
     BalErrno     status  = 2; //status of the indication received from BAL utilities
     string       keyStr  = 3; //key string containing additional data
     oneof u {
-          bytes        pktData = 4; //raw packet in case of object type is PACKET
-          BalAlarmInfo balAlarmInfo = 5; //alarm info from BAL
-          BalIndStatsInfo balStatsInfo = 6; //statistics info from BAL
-    }
+        bytes        pktData = 4; //raw packet in case of object type is PACKET
+	}
 }
 
-message BalErr {
-    BalErrno err = 1;
+message BalIndications{
+    oneof u {
+          BalObjInd balObjInfo = 1; //raw packet in case of object type is PACKET
+          BalAlarmInfo balAlarmInfo = 2; //alarm info from BAL
+          BalIndStatsInfo balStatsInfo = 3; //statistics info from BAL
+          BalOmciRespInfo balOmciRespInfo = 4; // OMCI response
+    }
 }
 
 service BalInd {
 
     //Handling of bal indications from the device
     rpc BalIndInfo(BalIndications) returns(BalErr) {}
-
 }
-