[VOL-4069] Measure and read Rx optical power for an ONU

The Rx optical power is read on the interface where the ONU is attached to, and returned in dBm.

Change-Id: I82856c265543e8043aef913790334a6c9ac795b2
diff --git a/protos/voltha_protos/openolt.proto b/protos/voltha_protos/openolt.proto
index 6b525ce..d40a73f 100644
--- a/protos/voltha_protos/openolt.proto
+++ b/protos/voltha_protos/openolt.proto
@@ -223,6 +223,13 @@
             body: "*"
         };
     }
+
+    rpc GetPonRxPower(Onu) returns (PonRxPowerData) {
+        option (google.api.http) = {
+          post: "/v1/GetPonRxPower"
+          body: "*"
+        };
+    }
 }
 
 message Indication {
@@ -744,5 +751,18 @@
 	common.ValueType.Type value = 2;
 }
 
-message Empty {}
+message PonRxPowerData {
+    enum RssiMeasurementFailReason {
+        FAIL_REASON_NONE = 0;
+        FAIL_REASON_NO_DELIMITER = 1;
+        FAIL_REASON_NO_ACCESS = 2;
+    }
 
+    fixed32 intf_id = 1;
+    fixed32 onu_id = 2;
+    string status = 3;
+    RssiMeasurementFailReason fail_reason = 4;
+    double rx_power_mean_dbm = 5;
+}
+
+message Empty {}