BAL2.4.3.6 Proto changes

Change-Id: I06c1e4e3983d1bd719b109d2ac3f13f0f1414dbe
diff --git a/voltha/adapters/asfvolt16_olt/asfvolt16_rx_handler.py b/voltha/adapters/asfvolt16_olt/asfvolt16_rx_handler.py
index 61dfd15..81130fa 100644
--- a/voltha/adapters/asfvolt16_olt/asfvolt16_rx_handler.py
+++ b/voltha/adapters/asfvolt16_olt/asfvolt16_rx_handler.py
@@ -320,7 +320,7 @@
         ind_info['_device_id'] = device_id
         packet_data = request.balOmciResp.key.packet_send_dest
         ind_info['onu_id'] = packet_data.itu_omci_channel.sub_term_id
-        ind_info['packet'] = request.balOmciResp.data.pkt.val
+        ind_info['packet'] = request.balOmciResp.data.pkt
         self.log.info('ONU Id is',
                      onu_id=packet_data.itu_omci_channel.sub_term_id)
 
diff --git a/voltha/adapters/asfvolt16_olt/bal.py b/voltha/adapters/asfvolt16_olt/bal.py
index d8bccac..e078eb5 100644
--- a/voltha/adapters/asfvolt16_olt/bal.py
+++ b/voltha/adapters/asfvolt16_olt/bal.py
@@ -91,7 +91,7 @@
                 bal_model_types_pb2.BAL_DEST_TYPE_ITU_OMCI_CHANNEL
             obj.packet.key.packet_send_dest.itu_omci_channel.sub_term_id = \
                 proxy_address.onu_id
-            obj.packet.key.packet_send_dest.itu_omci_channel.int_id = \
+            obj.packet.key.packet_send_dest.itu_omci_channel.intf_id = \
                 proxy_address.channel_id
             obj.packet.data.pkt = msg
             yield self.stub.BalCfgSet(obj)
diff --git a/voltha/adapters/asfvolt16_olt/protos/bal_model_ids.proto b/voltha/adapters/asfvolt16_olt/protos/bal_model_ids.proto
index 2c44b3c..3dbbcbe 100644
--- a/voltha/adapters/asfvolt16_olt/protos/bal_model_ids.proto
+++ b/voltha/adapters/asfvolt16_olt/protos/bal_model_ids.proto
@@ -171,9 +171,13 @@
     BAL_INTERFACE_CFG_ID_DS_TM               = 8;            /**< Downstream scheduler and shaper. */
     BAL_INTERFACE_CFG_ID_US_TM               = 9;            /**< Upstream scheduler and shaper. */
     BAL_INTERFACE_CFG_ID_SUB_TERM_ID_LIST    = 10;           /**< Sub-term id list. */
+    BAL_INTERFACE_CFG_ID_PON_DISTANCE        = 11;           /**< pon_distance. */
+    BAL_INTERFACE_CFG_ID_BER_MONITOR         = 12;           /**< ber_monitor. */
+    BAL_INTERFACE_CFG_ID_US_BANDWIDTH_LIMIT  = 13;           /**< us_bandwidth_limit. */
+    BAL_INTERFACE_CFG_ID_DS_FEC              = 14;           /**< ds_fec. */
 }
 
-/** Identifiers for all properties contained in the interface_ind group. 
+/** Identifiers for all properties contained in the interface_ind group.
  */
 enum BalInterfaceIndId
 {
@@ -188,6 +192,10 @@
     BAL_INTERFACE_IND_ID_DS_TM               = 8;            /**< Downstream scheduler and shaper. */
     BAL_INTERFACE_IND_ID_US_TM               = 9;            /**< Upstream scheduler and shaper. */
     BAL_INTERFACE_IND_ID_SUB_TERM_ID_LIST    = 10;           /**< Sub term id list */
+    BAL_INTERFACE_IND_ID_PON_DISTANCE        = 11;           /**< pon_distance. */
+    BAL_INTERFACE_IND_ID_BER_MONITOR         = 12;           /**< ber_monitor. */
+    BAL_INTERFACE_IND_ID_US_BANDWIDTH_LIMIT  = 13;           /**< us_bandwidth_limit. */
+    BAL_INTERFACE_IND_ID_DS_FEC              = 14;           /**< ds_fec. */
 }
 
 /** Identifiers for all properties contained in the interface_key group.
@@ -302,6 +310,7 @@
     BAL_SUBSCRIBER_TERMINAL_CFG_ID_SVC_PORT_ID_LIST  = 9;    /**< svc_port_id list. */
     BAL_SUBSCRIBER_TERMINAL_CFG_ID_AGG_PORT_ID_LIST  = 10;   /**< agg_port_id list. */
     BAL_SUBSCRIBER_TERMINAL_CFG_ID_SUB_TERM_RATE     = 11;   /**< sub_term_rate. */
+    BAL_SUBSCRIBER_TERMINAL_CFG_ID_US_FEC            = 12;   /**< us_fec. */
 }
 
 /** Identifiers for all properties contained in the subscriber_terminal_dgi
@@ -312,6 +321,16 @@
     BAL_SUBSCRIBER_TERMINAL_DGI_ID_DGI_STATUS                = 0;    /**< dgi_status. */
 }
 
+/** Identifiers for all properties contained in the subscriber_terminal_dowi
+ * group.
+ */
+enum BalSubscriberTerminalDowiId
+{
+    BAL_SUBSCRIBER_TERMINAL_DOWI_ID_DOWI_STATUS              = 0;    /**< dowi_status. */
+    BAL_SUBSCRIBER_TERMINAL_DOWI_ID_DRIFT_VALUE              = 1;    /**< drift_value. */
+    BAL_SUBSCRIBER_TERMINAL_DOWI_ID_NEW_EQD                  = 2;    /**< new_eqd. */
+}
+
 /** Identifiers for all properties contained in the subscriber_terminal_ind
  * group.
  */
@@ -329,6 +348,7 @@
     BAL_SUBSCRIBER_TERMINAL_IND_ID_SVC_PORT_ID_LIST          = 9;    /**< svc_port_id list. */
     BAL_SUBSCRIBER_TERMINAL_IND_ID_AGG_PORT_ID_LIST          = 10;   /**< agg_port_id list. */
     BAL_SUBSCRIBER_TERMINAL_IND_ID_SUB_TERM_RATE             = 11;   /**< sub_term_rate. */
+    BAL_SUBSCRIBER_TERMINAL_IND_ID_US_EFC                    = 12;   /**< us_fec. */
 }
 
 /** Identifiers for all properties contained in the subscriber_terminal_key
@@ -340,6 +360,14 @@
     BAL_SUBSCRIBER_TERMINAL_KEY_ID_INTF_ID           = 1;    /**< intf_id. */
 }
 
+/** Identifiers for all properties contained in the subscriber_terminal_looci
+ * group.
+ */
+enum BalSubscriberTerminalLoociId
+{
+    BAL_SUBSCRIBER_TERMINAL_LOOCI_ID_LOOCI_STATUS    = 0;    /**< looci_status. */
+}
+
 /** Identifiers for all properties contained in the
  * subscriber_terminal_oper_status_change group.
  */
@@ -350,6 +378,24 @@
     BAL_SUBSCRIBER_TERMINAL_OPER_STATUS_CHANGE_ID_ADMIN_STATE    = 2;    /**< current admin state. */
 }
 
+/** Identifiers for all properties contained in the subscriber_terminal_sdi
+ * group.
+ */
+enum BalSubscriberTerminalSdiId
+{
+    BAL_SUBSCRIBER_TERMINAL_SDI_ID_SDI_STATUS                    = 0;    /**< sdi_status. */
+    BAL_SUBSCRIBER_TERMINAL_SDI_ID_BER                           = 1;    /**< ber. */
+}
+
+/** Identifiers for all properties contained in the subscriber_terminal_sfi
+ * group.
+ */
+enum BalSubscriberTerminalSfiId
+{
+    BAL_SUBSCRIBER_TERMINAL_SFI_ID_SFI_STATUS                    = 0;    /**< sfi_status. */
+    BAL_SUBSCRIBER_TERMINAL_SFI_ID_BER                           = 1;    /**< ber. */
+}
+
 /** Identifiers for all properties contained in the subscriber_terminal_stat
  * group.
  */
@@ -377,6 +423,23 @@
     BCMBAL_SUBSCRIBER_TERMINAL_SUB_TERM_DISC_ID_SERIAL_NUMBER       = 0;    /**< Serial number. */
 }
 
+/** Identifiers for all properties contained in the subscriber_terminal_sufi
+ * group.
+ */
+enum BalSubscriberTerminalSufiId
+{
+    BAL_SUBSCRIBER_TERMINAL_SUFI_ID_SUFI_STATUS                  = 0;    /**< sufi_status. */
+}
+
+/** Identifiers for all properties contained in the subscriber_terminal_tiwi
+ * group.
+ */
+enum BalSubscriberTerminalTiwiId
+{
+    BAL_SUBSCRIBER_TERMINAL_TIWI_ID_TIWI_STATUS                  = 0;    /**< tiwi_status. */
+    BAL_SUBSCRIBER_TERMINAL_TIWI_ID_DRIFT_VALUE                  = 1;    /**< drift_value. */
+}
+
 /** Identifiers for all properties contained in the tm_queue_cfg group.
  */
 enum BalTmQueueCfgId
@@ -507,17 +570,23 @@
     BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_CFG                     = 24;   /**< BAL Subscriber Terminal - cfg */
     BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_STAT                    = 25;   /**< BAL Subscriber Terminal - stat */
     BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_DGI                     = 26;   /**< BAL Subscriber Terminal - Receive Dying-Gasp of subscriber terminal */
-    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_IND                     = 27;   /**< BAL Subscriber Terminal - Subscriber Terminal Indication */
-    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_OPER_STATUS_CHANGE      = 28;   /**< BAL Subscriber Terminal - Change of operational status */
-    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SUB_TERM_ALARM          = 29;   /**< BAL Subscriber Terminal - Subscriber Terminal Alarm Indication */
-    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SUB_TERM_DISC           = 30;   /**< BAL Subscriber Terminal - Subscriber Terminal Discovery Indication */
-    BAL_OBJ_GROUP_ID_TM_QUEUE_KEY                                = 31;   /**< tm_queue - key */
-    BAL_OBJ_GROUP_ID_TM_QUEUE_CFG                                = 32;   /**< tm_queue - cfg */
-    BAL_OBJ_GROUP_ID_TM_QUEUE_STAT                               = 33;   /**< tm_queue - stat */
-    BAL_OBJ_GROUP_ID_TM_QUEUE_IND                                = 34;   /**< tm_queue - tm queue indication */
-    BAL_OBJ_GROUP_ID_TM_SCHED_KEY                                = 35;   /**< tm_sched - key */
-    BAL_OBJ_GROUP_ID_TM_SCHED_CFG                                = 36;   /**< tm_sched - cfg */
-    BAL_OBJ_GROUP_ID_TM_SCHED_IND                                = 37;   /**< tm_sched - Tm Sched Indication */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_DOWI                    = 27;   /**< BAL Subscriber Terminal - dowi */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_IND                     = 28;   /**< BAL Subscriber Terminal - Subscriber Terminal Indication */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_LOOCI                   = 29;   /**< BAL Subscriber Terminal - looci */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_OPER_STATUS_CHANGE      = 30;   /**< BAL Subscriber Terminal - Change of operational status */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SDI                     = 31;   /**< BAL Subscriber Terminal - sdi */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SFI                     = 32;   /**< BAL Subscriber Terminal - sfi */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SUB_TERM_ALARM          = 33;   /**< BAL Subscriber Terminal - Subscriber Terminal Alarm Indication */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SUB_TERM_DISC           = 34;   /**< BAL Subscriber Terminal - Subscriber Terminal Discovery Indication */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_SUFI                    = 35;   /**< BAL Subscriber Terminal - sufi */
+    BAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_TIWI                    = 36;   /**< BAL Subscriber Terminal - tiwi */
+    BAL_OBJ_GROUP_ID_TM_QUEUE_KEY                                = 37;   /**< tm_queue - key */
+    BAL_OBJ_GROUP_ID_TM_QUEUE_CFG                                = 38;   /**< tm_queue - cfg */
+    BAL_OBJ_GROUP_ID_TM_QUEUE_STAT                               = 39;   /**< tm_queue - stat */
+    BAL_OBJ_GROUP_ID_TM_QUEUE_IND                                = 40;   /**< tm_queue - tm queue indication */
+    BAL_OBJ_GROUP_ID_TM_SCHED_KEY                                = 41;   /**< tm_sched - key */
+    BAL_OBJ_GROUP_ID_TM_SCHED_CFG                                = 42;   /**< tm_sched - cfg */
+    BAL_OBJ_GROUP_ID_TM_SCHED_IND                                = 43;   /**< tm_sched - Tm Sched Indication */
 }
 
 /** List of all access_terminal groups of type auto.
@@ -566,10 +635,16 @@
 enum BalSubscriberTerminalAutoId
 {
     BAL_SUBSCRIBER_TERMINAL_AUTO_ID_DGI                 = 0;    /**< Receive Dying-Gasp of subscriber terminal. */
-    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_IND                 = 1;    /**< Subscriber Terminal Indication. */
-    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_OPER_STATUS_CHANGE  = 2;    /**< Change of operational status. */
-    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_ALARM      = 3;    /**< Subscriber Terminal Alarm Indication. */
-    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_DISC       = 4;    /**< Subscriber Terminal Discovery Indication. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_DOWI                = 1;    /**< dowi. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_IND                 = 2;    /**< Subscriber Terminal Indication. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_LOOCI               = 3;    /**< looci. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_OPER_STATUS_CHANGE  = 4;    /**< Change of operational status. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SDI                 = 5;    /**< sdi. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SFI                 = 6;    /**< sfi. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_ALARM      = 7;    /**< Subscriber Terminal Alarm Indication. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUB_TERM_DISC       = 8;    /**< Subscriber Terminal Discovery Indication. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_SUFI                = 9;    /**< sufi. */
+    BAL_SUBSCRIBER_TERMINAL_AUTO_ID_TIWI                = 10;   /**< tiwi. */
 }
 
 /** List of all tm_queue groups of type auto.
diff --git a/voltha/adapters/asfvolt16_olt/protos/bal_model_types.proto b/voltha/adapters/asfvolt16_olt/protos/bal_model_types.proto
index 11a97aa..792518c 100644
--- a/voltha/adapters/asfvolt16_olt/protos/bal_model_types.proto
+++ b/voltha/adapters/asfvolt16_olt/protos/bal_model_types.proto
@@ -400,6 +400,14 @@
     uint32 i_tpid = 8;                    /**< Inner tpid. */
 }
 
+/** ber monitor parameters.
+ */
+message BalBerMonitorParams
+{
+    uint32 sf_threshold = 1;   /**< Signal fail alarm is raised when BER raises to 10^-x, where x is this number. */
+    uint32 sd_threshold = 2;   /**< Signal degrade alarm is raised when BER raises to 10^-x, where x is this number. */
+}
+
 /** classifier.
  */
 message BalClassifier
@@ -425,31 +433,31 @@
 /** Packet destination.
  */
 message BalDestNni {
-    uint32 int_id = 1;      /**< Interface ID. */
+    uint32 intf_id = 1;      /**< Interface ID. */
 }
 
 message BalDestSubTerm {
     uint32 sub_term_id = 1;  /**< Subscriber terminal ID. */
     uint32 sub_term_uni = 2;      /**< Subscriber terminal UNI. */
-    uint32 int_id = 3;            /**< Interface ID. */
+    uint32 intf_id = 3;            /**< Interface ID. */
 }
 
 message BalDestSvcPort
 {
     uint32 svc_port_id   = 1; /**< GEM ID or LLID.*/
-    uint32 int_id        = 2; /**< Interface ID. */
+    uint32 intf_id       = 2; /**< Interface ID. */
 }
 
 message BalItuOmciChannel
 {
     uint32 sub_term_id   = 1; /**< Subscriber terminal*/
-    uint32 int_id        = 2; /**< Interface ID. */
+    uint32 intf_id       = 2; /**< Interface ID. */
 }
 
 message BalIeeeOamChannel
 {
     bytes mac_address    = 1; /**< MAC address for this link. */
-    uint32 int_id        = 2; /**< Interface ID. */
+    uint32 intf_id       = 2; /**< Interface ID. */
 }
 
 message BalDest
@@ -505,7 +513,7 @@
 message BalGroupMemberInfo
 {
     uint32 intf_id = 1;             /**< Access interface id for this member */
-    uint32 svc_port_id = 2;         /**< GPON/XGPON - The multicast "GEM" for this member. EPON - The multicast link identifier. */ 
+    uint32 svc_port_id = 2;         /**< GPON/XGPON - The multicast "GEM" for this member. EPON - The multicast link identifier. */
     BalAction action = 3;               /**< VLAN actions */
     BalTmQueueRef queue = 4;          /**< Egress queue */
 }
@@ -673,8 +681,8 @@
     uint32 num_of_pon_ports        = 2; /**< The number of pon ports for the access_terminal */
     uint32 num_of_mac_devs         = 3; /**< The number of mac devices associated with this access_terminal */
     uint32 num_of_pons_per_mac_dev = 4; /**< The number of pon ports per mac device in this access_terminal */
-    uint32 pon_family              = 5; /**< The PON family for the access_terminal */
-    uint32 pon_sub_family          = 6; /**< The PON sub-family for the access_terminal */
+    BalPonFamily pon_family        = 5; /**< The PON family for the access_terminal */
+    BalPonSubFamily pon_sub_family = 6; /**< The PON sub-family for the access_terminal */
 }
 
 /** Structure definition for the "key" group of the "access_terminal" object.
@@ -926,6 +934,10 @@
     uint32 ds_tm = 9;       /**< Downstream scheduler and shaper */
     uint32 us_tm = 10;       /**< Upstream scheduler and shaper */
     BalIdList sub_term_id_list = 11;    /**< A list of subscriber terminal ids configured on this interface */
+    balPonDistance pon_distance = 12;           /**< pon inetrface distance parameters */
+    BalBerMonitorParams ber_monitor = 13;      /**< BER monitor process configuration */
+    uint32 us_bandwidth_limit = 14;                /**< us_bandwidth_limit. */
+    BalControl ds_fec = 15;                      /**< enable/disable  ds fec (gpon only) */
 }
 
 /** Transport message definition for "cfg" group of "interface" object.
@@ -981,6 +993,10 @@
     uint32 ds_tm = 9;           /**< Downstream scheduler and shaper */
     uint32 us_tm = 10;           /**< Upstream scheduler and shaper */
     BalIdList sub_term_id_list = 11;    /**< A list of subscriber terminal ids configured on this interface */
+    balPonDistance pon_distance = 12;           /**< pon inetrface distance parameters */
+    BalBerMonitorParams ber_monitor = 13;      /**< BER monitor process configuration */
+    uint32 us_bandwidth_limit = 14;                /**< us_bandwidth_limit. */
+    BalControl ds_fec = 15;                      /**< enable/disable  ds fec (gpon only) */
 }
 
 /** Transport message definition for "ind" group of "interface" object.
@@ -1132,6 +1148,14 @@
     uint32 intf_id = 2;     /**< intf_id. */
 }
 
+/** pon_distance.
+ */
+message balPonDistance
+{
+    uint32 max_log_distance = 1;  /**< Max logical distance of a subscriber termainal on the interface */
+    uint32 max_diff_reach = 2;    /**< Max distance between the closest and farthest subscriber terminal */
+}
+
 /** Structure definition for the "cfg" group of the "subscriber_terminal"
  * object.
  */
@@ -1149,6 +1173,7 @@
     BalIdList svc_port_id_list = 10;        /**< A list of bearer traffic svc_port_ids associated with this subscriber terminal */
     BalIdList agg_port_id_list = 11;    /**< A list of aggrPort_ids associated with this subscriber terminal */
     BalSubTermRate sub_term_rate = 12;                     /**< sub_term_rate. */
+    BalControl ds_fec = 13;                      /**< enable/disable  ds fec (gpon only) */
 }
 
 /** Transport message definition for "cfg" group of "subscriber_terminal"
@@ -1199,6 +1224,26 @@
     BalSubscriberTerminalDgiData data = 3;   /**< All properties that must be set by the user. */
 }
 
+/** Structure definition for the "dowi" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalDowiData
+{
+    BalAlarmStatus dowi_status = 1;    /**< dowi alarm status */
+    uint32 drift_value         = 2;    /**< Calculated amount of drift (positive + negative as a signed value). */
+    uint32 new_eqd             = 3;    /**< New EQD after drift is corrected (only valid if status is 'on').  */
+}
+
+/** Transport message definition for "dowi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalDowi
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalDowiData data = 3;   /**< All properties that must be set by the user. */
+}
+
 /** Structure definition for the "ind" group of the "subscriber_terminal"
  * object.
  */
@@ -1215,6 +1260,7 @@
     uint32 us_tm = 9;               /**< Upstream scheduler and shaper */
     BalIdList agg_port_id_list = 10;    /**< A list of aggr_port_ids associated with this subscriber terminal */
     BalSubTermRate sub_term_rate = 11;                     /**< sub_term_rate. */
+    BalControl us_efc = 13;                      /**< enable/disable  ds fec (gpon only) */
 }
 
 /** Transport message definition for "ind" group of "subscriber_terminal"
@@ -1227,6 +1273,24 @@
     BalSubscriberTerminalIndData data = 3;   /**< All properties that must be set by the user. */
 }
 
+/** Structure definition for the "looci" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalLoociData
+{
+    BalAlarmStatus looci_status = 1;    /**< looci alarm status */
+}
+
+/** Transport message definition for "dowi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalLooci
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalLoociData data = 3;   /**< All properties that must be set by the user. */
+}
+
 /** Structure definition for the "oper_status_change" group of the
  * "subscriber_terminal" object.
  *
@@ -1249,6 +1313,44 @@
     BalSubscriberTerminalOperStatusChangeData data = 4;    /**< All properties that must be set by the user. */
 }
 
+/** Structure definition for the "sdi" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSdiData
+{
+    BalAlarmStatus sdi_status = 1;    /**< looci alarm status */
+    uint32 ber                = 2;    /**<  Inverse bit error rate (e.g. if this number is 1000, the BER is 1/1000). */
+}
+
+/** Transport message definition for "sdi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSdi
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalSdiData data = 3;   /**< All properties that must be set by the user. */
+}
+
+/** Structure definition for the "sfi" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSfiData
+{
+    BalAlarmStatus sfi_status = 1;    /**<  sfi alarm status */
+    uint32 ber                = 2;    /**<  Inverse bit error rate (e.g. if this number is 1000, the BER is 1/1000). */
+}
+
+/** Transport message definition for "sfi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSfi
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalSfiData data = 3;   /**< All properties that must be set by the user. */
+}
+
 /** Structure definition for the "sub_term_alarm" group of the
  * "subscriber_terminal" object.
  */
@@ -1267,6 +1369,43 @@
     BalsubscriberTerminalSubTermAlarmData data = 3;    /**< All properties that must be set by the user. */
 }
 
+/** Structure definition for the "sufi" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSufiData
+{
+    BalAlarmStatus sufi_status = 1;    /**< sufi alarm status */
+}
+
+/** Transport message definition for "sufi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalSufi
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalSufiData data = 3;   /**< All properties that must be set by the user. */
+}
+
+/** Structure definition for the "tifi" group of the "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalTifiData
+{
+    BalAlarmStatus tifi_status = 1;    /**< sufi alarm status */
+    uint32 drift_value = 2;            /**<  Calculated amount of drift (positive + negative as a signed value). */
+}
+
+/** Transport message definition for "tifi" group of "subscriber_terminal"
+ * object.
+ */
+message BalSubscriberTerminalTifi
+{
+    BalObj hdr = 1;                    /**< Transport header. */
+    BalSubscriberTerminalKey key = 2; /**< Object key. */
+    BalSubscriberTerminalTifiData data = 3;   /**< All properties that must be set by the user. */
+}
+
 /** Structure definition for the "sub_term_disc" group of the
  * "subscriber_terminal" object.
  */