(VOL-4972)PON and ONU object get apis (the pipeline will fail until
the protos changes (https://gerrit.opencord.org/c/voltha-protos/+/34069)
get merged)

Change-Id: I38c11ae873a24c7b20594b0d484565085f4432a5
diff --git a/agent/src/core_utils.cc b/agent/src/core_utils.cc
index dafc68c..9bc7659 100644
--- a/agent/src/core_utils.cc
+++ b/agent/src/core_utils.cc
@@ -891,6 +891,51 @@
     return err;
 }
 
+bcmos_errno get_gpon_onu_info(bcmolt_interface pon_ni, int onu_id, bcmolt_onu_state *onu_state, bcmolt_status *losi, bcmolt_status *lofi, bcmolt_status *loami)
+{
+
+    bcmos_errno err;
+    bcmolt_onu_cfg onu_cfg;
+    bcmolt_itu_onu_params itu = {};
+    bcmolt_gpon_onu_alarm_state alarm_state = {};
+    bcmolt_gpon_onu_params gpon = {};
+
+    bcmolt_onu_cfg onu_cfg_itu;
+    bcmolt_onu_key onu_key;
+    onu_key.pon_ni = pon_ni;
+    onu_key.onu_id = onu_id;
+
+    BCMOLT_CFG_INIT(&onu_cfg, onu, onu_key);
+    BCMOLT_FIELD_SET_PRESENT(&onu_cfg.data, onu_cfg_data, onu_state);
+
+    BCMOLT_FIELD_SET_PRESENT(&onu_cfg.data, onu_cfg_data, itu);
+
+    BCMOLT_FIELD_SET_PRESENT(&itu, itu_onu_params, gpon);
+    BCMOLT_FIELD_SET_PRESENT(&gpon, gpon_onu_params, alarm_state);
+
+    BCMOLT_FIELD_SET_PRESENT(&alarm_state, gpon_onu_alarm_state, losi);
+    BCMOLT_FIELD_SET_PRESENT(&alarm_state, gpon_onu_alarm_state, lofi);
+    BCMOLT_FIELD_SET_PRESENT(&alarm_state, gpon_onu_alarm_state, loami);
+
+    BCMOLT_FIELD_SET(&gpon, gpon_onu_params, alarm_state, alarm_state);
+
+    BCMOLT_FIELD_SET(&itu, itu_onu_params, gpon, gpon);
+
+    BCMOLT_FIELD_SET(&onu_cfg.data, onu_cfg_data, itu, itu);
+
+    err = bcmolt_cfg_get(dev_id, &onu_cfg.hdr);
+
+    *onu_state = onu_cfg.data.onu_state;
+    // fetch onu itu
+    *losi = onu_cfg.data.itu.gpon.alarm_state.losi;
+
+    *lofi = onu_cfg.data.itu.gpon.alarm_state.lofi;
+
+    *loami = onu_cfg.data.itu.gpon.alarm_state.loami;
+
+    return err;
+}
+
 bcmos_errno get_gem_obj_state(bcmolt_interface pon_ni, bcmolt_gem_port_id id, bcmolt_activation_state *state) {
     bcmos_errno err;
     bcmolt_itupon_gem_cfg cfg;