VOL-253: grpc-c was crashed if we configured wrong VOLTHA IP address
Fix for grpc-c crash, dying gas alarm, kpis and packet data
Change-Id: I172e64afa0f9e9c1492f4871b6fa7ae3152065cd
diff --git a/src/asfvolt16_driver.c b/src/asfvolt16_driver.c
index 24bca9d..662c94c 100755
--- a/src/asfvolt16_driver.c
+++ b/src/asfvolt16_driver.c
@@ -47,6 +47,13 @@
cb_cfg.module = BCMOS_MODULE_ID_NONE;
+ /* Access Terminal Operational State Change */
+ cb_cfg.obj_type = BCMBAL_OBJ_ID_ACCESS_TERMINAL;
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_acc_term_osc_indication_cb;
+ ind_subgroup = bcmbal_access_terminal_auto_id_oper_status_change;
+ cb_cfg.p_subgroup = &ind_subgroup;
+ err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+
/* Register to get indications for interface objects
*/
cb_cfg.obj_type = BCMBAL_OBJ_ID_INTERFACE;
@@ -63,6 +70,12 @@
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+ /* Interface Operational State Change */
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_interface_osc_indication_cb;
+ ind_subgroup = bcmbal_interface_auto_id_oper_status_change;
+ cb_cfg.p_subgroup = &ind_subgroup;
+ err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+
/* Register to get indications for subscriber terminal objects
*/
cb_cfg.obj_type = BCMBAL_OBJ_ID_SUBSCRIBER_TERMINAL;
@@ -73,6 +86,12 @@
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+ /* Subscriber Terminal dgi */
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_sub_term_dgi_indication_cb;
+ ind_subgroup = bcmbal_subscriber_terminal_auto_id_dgi;
+ cb_cfg.p_subgroup = &ind_subgroup;
+ err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+
/* Subscriber Terminal Discovery */
cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_sub_term_disc_indication_cb;
ind_subgroup = bcmbal_subscriber_terminal_auto_id_sub_term_disc;
@@ -85,6 +104,12 @@
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+ /* Subscriber Terminal Operational State Change */
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_sub_term_osc_indication_cb;
+ ind_subgroup = bcmbal_subscriber_terminal_auto_id_oper_status_change;
+ cb_cfg.p_subgroup = &ind_subgroup;
+ err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
+
/* Register to get indication callbacks for OMCI objects
*/
cb_cfg.obj_type = BCMBAL_OBJ_ID_PACKET;
@@ -100,14 +125,13 @@
ind_subgroup = bcmbal_packet_auto_id_bearer_channel_rx;
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
#if 0
- /* Access Terminal Operational State Change */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_acc_term_osc_indication_cb;
- ind_subgroup = bcmbal_access_terminal_auto_id_oper_status_change;
+ /* OAM Channel Data - oam response indication */
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_oam_data_indication_cb;
+ ind_subgroup = bcmbal_packet_auto_id_ieee_oam_channel_rx;
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
+#endif
/* Register to get indication callbacks for flow objects
*/
cb_cfg.obj_type = BCMBAL_OBJ_ID_FLOW;
@@ -124,38 +148,6 @@
cb_cfg.p_subgroup = &ind_subgroup;
err = bcmbal_subscribe_ind(access_term_id, &cb_cfg);
- /* Register to get indication callbacks for group objects
- */
- cb_cfg.obj_type = BCMBAL_OBJ_ID_GROUP;
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_group_indication_cb;
- ind_subgroup = bcmbal_group_auto_id_ind;
- cb_cfg.p_subgroup = &ind_subgroup;
- err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
- /* Interface Operational State Change */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_interface_osc_indication_cb;
- ind_subgroup = bcmbal_interface_auto_id_oper_status_change;
- cb_cfg.p_subgroup = &ind_subgroup;
- err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
- /* Interface los */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_interface_los_indication_cb;
- ind_subgroup = bcmbal_interface_auto_id_los;
- cb_cfg.p_subgroup = &ind_subgroup;
- err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
- /* Subscriber Terminal Operational State Change */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_sub_term_osc_indication_cb;
- ind_subgroup = bcmbal_subscriber_terminal_auto_id_oper_status_change;
- cb_cfg.p_subgroup = &ind_subgroup;
- err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
- /* Subscriber Terminal dgi */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_sub_term_dgi_indication_cb;
- ind_subgroup = bcmbal_subscriber_terminal_auto_id_dgi;
- cb_cfg.p_subgroup = &ind_subgroup;
- err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
/* Register to get indication callbacks for tm queue objects
*/
cb_cfg.obj_type = BCMBAL_OBJ_ID_TM_QUEUE;
@@ -171,15 +163,14 @@
ind_subgroup = bcmbal_tm_sched_auto_id_ind;
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
-
- /* OAM Channel Data - oam response indication */
- cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_oam_data_indication_cb;
- ind_subgroup = bcmbal_packet_auto_id_ieee_oam_channel_rx;
+
+ /* Register to get indication callbacks for group objects
+ */
+ cb_cfg.obj_type = BCMBAL_OBJ_ID_GROUP;
+ cb_cfg.ind_cb_hdlr = (f_bcmbal_ind_handler)bal_group_indication_cb;
+ ind_subgroup = bcmbal_group_auto_id_ind;
cb_cfg.p_subgroup = &ind_subgroup;
err = err ? err : bcmbal_subscribe_ind(access_term_id, &cb_cfg);
-
-#endif
return err;
}