BAL and Maple Release 2.2

Signed-off-by: Shad Ansari <developer@Carbon.local>
diff --git a/bal_release/src/common/include/bal_model_ids.h b/bal_release/src/common/include/bal_model_ids.h
new file mode 100644
index 0000000..218b74e
--- /dev/null
+++ b/bal_release/src/common/include/bal_model_ids.h
@@ -0,0 +1,714 @@
+#ifndef BAL_MODEL_IDS_H_
+#define BAL_MODEL_IDS_H_
+
+/** \ingroup object_model_data_types
+ * \defgroup object_model_enums BAL Object Model Enumerations
+ */
+
+/** \addtogroup object_model_enums
+ * @{
+ */
+#include <bcmos_system.h>
+
+/** Identifiers for all properties contained in the access_terminal_cfg group. 
+ */
+typedef enum bcmbal_access_terminal_cfg_id
+{
+    BCMBAL_ACCESS_TERMINAL_CFG_ID_ADMIN_STATE   = 0,    /**< Administrative state. */
+    BCMBAL_ACCESS_TERMINAL_CFG_ID_OPER_STATUS   = 1,    /**< Operational status. */
+    BCMBAL_ACCESS_TERMINAL_CFG_ID_IWF_MODE      = 2,    /**< Interworking function mode. */
+    BCMBAL_ACCESS_TERMINAL_CFG_ID__NUM_OF               /**< Number of enum entries, not an entry itself. */
+} bcmbal_access_terminal_cfg_id;
+
+/** Identifiers for all properties contained in the access_terminal_ind group. 
+ */
+typedef enum bcmbal_access_terminal_ind_id
+{
+    BCMBAL_ACCESS_TERMINAL_IND_ID_ADMIN_STATE   = 0,    /**< Administrative state. */
+    BCMBAL_ACCESS_TERMINAL_IND_ID_OPER_STATUS   = 1,    /**< Operational status. */
+    BCMBAL_ACCESS_TERMINAL_IND_ID_IWF_MODE      = 2,    /**< Interworking function mode. */
+    BCMBAL_ACCESS_TERMINAL_IND_ID__NUM_OF               /**< Number of enum entries, not an entry itself. */
+} bcmbal_access_terminal_ind_id;
+
+/** Identifiers for all properties contained in the access_terminal_key group. 
+ */
+typedef enum bcmbal_access_terminal_key_id
+{
+    BCMBAL_ACCESS_TERMINAL_KEY_ID_ACCESS_TERM_ID= 0,    /**< access_term_id. */
+    BCMBAL_ACCESS_TERMINAL_KEY_ID__NUM_OF               /**< Number of enum entries, not an entry itself. */
+} bcmbal_access_terminal_key_id;
+
+/** Identifiers for all properties contained in the flow_cfg group. 
+ */
+typedef enum bcmbal_flow_cfg_id
+{
+    BCMBAL_FLOW_CFG_ID_ADMIN_STATE              = 0,    /**< Administrative state. */
+    BCMBAL_FLOW_CFG_ID_OPER_STATUS              = 1,    /**< Operational status. */
+    BCMBAL_FLOW_CFG_ID_ACCESS_INT_ID            = 2,    /**< Access Interface ID. */
+    BCMBAL_FLOW_CFG_ID_NETWORK_INT_ID           = 3,    /**< Network Interface ID. */
+    BCMBAL_FLOW_CFG_ID_SUB_TERM_ID              = 4,    /**< Subscriber Terminal ID. */
+    BCMBAL_FLOW_CFG_ID_SUB_TERM_UNI_IDX         = 5,    /**< Subscriber Terminal uni port index. */
+    BCMBAL_FLOW_CFG_ID_SVC_PORT_ID              = 6,    /**< Service Port ID. */
+    BCMBAL_FLOW_CFG_ID_AGG_PORT_ID              = 7,    /**< Aggregate port ID. */
+    BCMBAL_FLOW_CFG_ID_RESOLVE_MAC              = 8,    /**< Resolve mac. */
+    BCMBAL_FLOW_CFG_ID_CLASSIFIER               = 9,    /**< Classifier. */
+    BCMBAL_FLOW_CFG_ID_ACTION                   = 10,   /**< Action. */
+    BCMBAL_FLOW_CFG_ID_SLA                      = 11,   /**< SLA. */
+    BCMBAL_FLOW_CFG_ID_COOKIE                   = 12,   /**< Cookie. */
+    BCMBAL_FLOW_CFG_ID_PRIORITY                 = 13,   /**< Priority. */
+    BCMBAL_FLOW_CFG_ID_GROUP_ID                 = 14,   /**< Group ID. */
+    BCMBAL_FLOW_CFG_ID_QUEUE                    = 15,   /**< Egress queue. */
+    BCMBAL_FLOW_CFG_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_flow_cfg_id;
+
+/** Identifiers for all properties contained in the flow_ind group. 
+ */
+typedef enum bcmbal_flow_ind_id
+{
+    BCMBAL_FLOW_IND_ID_ADMIN_STATE              = 0,    /**< Administrative state. */
+    BCMBAL_FLOW_IND_ID_OPER_STATUS              = 1,    /**< Operational status. */
+    BCMBAL_FLOW_IND_ID_ACCESS_INT_ID            = 2,    /**< Access interface ID. */
+    BCMBAL_FLOW_IND_ID_NETWORK_INT_ID           = 3,    /**< Network Interface ID. */
+    BCMBAL_FLOW_IND_ID_SUB_TERM_ID              = 4,    /**< Subscriber terminal ID. */
+    BCMBAL_FLOW_IND_ID_SVC_PORT_ID              = 5,    /**< Service port ID. */
+    BCMBAL_FLOW_IND_ID_AGG_PORT_ID              = 6,    /**< Aggregate port ID. */
+    BCMBAL_FLOW_IND_ID_RESOLVE_MAC              = 7,    /**< Resolve mac. */
+    BCMBAL_FLOW_IND_ID_BASE_TC_ID               = 8,    /**< Base TCONT ID. */
+    BCMBAL_FLOW_IND_ID_CLASSIFIER               = 9,    /**< Classifier. */
+    BCMBAL_FLOW_IND_ID_ACTION                   = 10,   /**< Action. */
+    BCMBAL_FLOW_IND_ID_SLA                      = 11,   /**< SLA. */
+    BCMBAL_FLOW_IND_ID_COOKIE                   = 12,   /**< Cookie. */
+    BCMBAL_FLOW_IND_ID_PRIORITY                 = 13,   /**< Priority. */
+    BCMBAL_FLOW_IND_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_flow_ind_id;
+
+/** Identifiers for all properties contained in the flow_key group. 
+ */
+typedef enum bcmbal_flow_key_id
+{
+    BCMBAL_FLOW_KEY_ID_FLOW_ID                  = 0,    /**< Flow ID. */
+    BCMBAL_FLOW_KEY_ID_FLOW_TYPE                = 1,    /**< Flow type. */
+    BCMBAL_FLOW_KEY_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_flow_key_id;
+
+/** Identifiers for all properties contained in the flow_stat group. 
+ */
+typedef enum bcmbal_flow_stat_id
+{
+    BCMBAL_FLOW_STAT_ID_RX_PACKETS              = 0,    /**< Received packets. */
+    BCMBAL_FLOW_STAT_ID_RX_BYTES                = 1,    /**< Received bytes. */
+    BCMBAL_FLOW_STAT_ID_TX_PACKETS              = 2,    /**< Transmitted packets. */
+    BCMBAL_FLOW_STAT_ID_TX_BYTES                = 3,    /**< Transmitted bytes. */
+    BCMBAL_FLOW_STAT_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_flow_stat_id;
+
+/** Identifiers for all properties contained in the group_cfg group. 
+ */
+typedef enum bcmbal_group_cfg_id
+{
+    BCMBAL_GROUP_CFG_ID_MEMBERS_CMD             = 0,    /**< Membership operation commands. */
+    BCMBAL_GROUP_CFG_ID_MEMBERS                 = 1,    /**< Member. */
+    BCMBAL_GROUP_CFG_ID_COOKIE                  = 2,    /**< Application cookie. */
+    BCMBAL_GROUP_CFG_ID_FLOWS                   = 3,    /**< List of flows associated with the group . */
+    BCMBAL_GROUP_CFG_ID_OWNER                   = 4,    /**< Owner of the group. */
+    BCMBAL_GROUP_CFG_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_group_cfg_id;
+
+/** Identifiers for all properties contained in the group_key group. 
+ */
+typedef enum bcmbal_group_key_id
+{
+    BCMBAL_GROUP_KEY_ID_GROUP_ID                = 0,    /**< Group ID. */
+    BCMBAL_GROUP_KEY_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_group_key_id;
+
+/** Identifiers for all properties contained in the interface_cfg group. 
+ */
+typedef enum bcmbal_interface_cfg_id
+{
+    BCMBAL_INTERFACE_CFG_ID_ADMIN_STATE         = 0,            /**< Administrative state. */
+    BCMBAL_INTERFACE_CFG_ID_OPER_STATUS         = 1,            /**< Operational status. */
+    BCMBAL_INTERFACE_CFG_ID_MIN_DATA_AGG_PORT_ID= 2,            /**< Minimum aggregate port ID. */
+    BCMBAL_INTERFACE_CFG_ID_MIN_DATA_SVC_PORT_ID= 3,            /**< Minimum service port ID. */
+    BCMBAL_INTERFACE_CFG_ID_TRANSCEIVER_TYPE    = 4,            /**< Transceiver type. */
+    BCMBAL_INTERFACE_CFG_ID_DS_MISS_MODE        = 5,            /**< Downstream unknown packet action. */
+    BCMBAL_INTERFACE_CFG_ID_MTU                 = 6,            /**< MTU. */
+    BCMBAL_INTERFACE_CFG_ID_FLOW_CONTROL        = 7,            /**< Flow control. */
+    BCMBAL_INTERFACE_CFG_ID_DS_TM               = 8,            /**< Downstream scheduler and shaper. */
+    BCMBAL_INTERFACE_CFG_ID_US_TM               = 9,            /**< Upstream scheduler and shaper. */
+    BCMBAL_INTERFACE_CFG_ID_SUB_TERM_ID_LIST    = 10,           /**< Sub-term id list. */
+    BCMBAL_INTERFACE_CFG_ID__NUM_OF                             /**< Number of enum entries, not an entry itself. */
+} bcmbal_interface_cfg_id;
+
+/** Identifiers for all properties contained in the interface_ind group. 
+ */
+typedef enum bcmbal_interface_ind_id
+{
+    BCMBAL_INTERFACE_IND_ID_ADMIN_STATE         = 0,            /**< Administrative state. */
+    BCMBAL_INTERFACE_IND_ID_OPER_STATUS         = 1,            /**< Operational status. */
+    BCMBAL_INTERFACE_IND_ID_MIN_DATA_AGG_PORT_ID= 2,            /**< Minimum aggregate port ID. */
+    BCMBAL_INTERFACE_IND_ID_MIN_DATA_SVC_PORT_ID= 3,            /**< Minimum service port ID. */
+    BCMBAL_INTERFACE_IND_ID_TRANSCEIVER_TYPE    = 4,            /**< Transceiver type. */
+    BCMBAL_INTERFACE_IND_ID_DS_MISS_MODE        = 5,            /**< Downstream unknown packet action. */
+    BCMBAL_INTERFACE_IND_ID_MTU                 = 6,            /**< MTU. */
+    BCMBAL_INTERFACE_IND_ID_FLOW_CONTROL        = 7,            /**< Flow control. */
+    BCMBAL_INTERFACE_IND_ID_DS_TM               = 8,            /**< Downstream scheduler and shaper. */
+    BCMBAL_INTERFACE_IND_ID_US_TM               = 9,            /**< Upstream scheduler and shaper. */
+    BCMBAL_INTERFACE_IND_ID__NUM_OF                             /**< Number of enum entries, not an entry itself. */
+} bcmbal_interface_ind_id;
+
+/** Identifiers for all properties contained in the interface_key group. 
+ */
+typedef enum bcmbal_interface_key_id
+{
+    BCMBAL_INTERFACE_KEY_ID_INTF_ID             = 0,            /**< intf_id. */
+    BCMBAL_INTERFACE_KEY_ID_INTF_TYPE           = 1,            /**< intf_type. */
+    BCMBAL_INTERFACE_KEY_ID__NUM_OF                             /**< Number of enum entries, not an entry itself. */
+} bcmbal_interface_key_id;
+
+/** Identifiers for all properties contained in the interface_stat group. 
+ */
+typedef enum bcmbal_interface_stat_id
+{
+    BCMBAL_INTERFACE_STAT_ID_RX_PACKETS         = 0,            /**< Recieved packets. */
+    BCMBAL_INTERFACE_STAT_ID_RX_BYTES           = 1,            /**< Received bytes. */
+    BCMBAL_INTERFACE_STAT_ID_TX_PACKETS         = 2,            /**< Transmitted packets. */
+    BCMBAL_INTERFACE_STAT_ID_TX_BYTES           = 3,            /**< Transmitted bytes. */
+    BCMBAL_INTERFACE_STAT_ID__NUM_OF                            /**< Number of enum entries, not an entry itself. */
+} bcmbal_interface_stat_id;
+
+/** Identifiers for all properties contained in the packet_cfg group. 
+ */
+typedef enum bcmbal_packet_cfg_id
+{
+    BCMBAL_PACKET_CFG_ID_FLOW_ID                = 0,            /**< Flow Id. */
+    BCMBAL_PACKET_CFG_ID_FLOW_TYPE              = 1,            /**< Flow Type. */
+    BCMBAL_PACKET_CFG_ID_INTF_ID                = 2,            /**< Interface ID. */
+    BCMBAL_PACKET_CFG_ID_INTF_TYPE              = 3,            /**< Interface Type. */
+    BCMBAL_PACKET_CFG_ID_SVC_PORT               = 4,            /**< Service Port. */
+    BCMBAL_PACKET_CFG_ID_FLOW_COOKIE            = 5,            /**< Flow Cookie. */
+    BCMBAL_PACKET_CFG_ID_PKT                    = 6,            /**< Packet Data. */
+    BCMBAL_PACKET_CFG_ID__NUM_OF                                /**< Number of enum entries, not an entry itself. */
+} bcmbal_packet_cfg_id;
+
+/** Identifiers for all properties contained in the packet_ind group. 
+ */
+typedef enum bcmbal_packet_ind_id
+{
+    BCMBAL_PACKET_IND_ID_FLOW_ID                = 0,            /**< Flow Id. */
+    BCMBAL_PACKET_IND_ID_FLOW_TYPE              = 1,            /**< Flow Type. */
+    BCMBAL_PACKET_IND_ID_INTF_ID                = 2,            /**< Interface ID. */
+    BCMBAL_PACKET_IND_ID_INTF_TYPE              = 3,            /**< Interface Type. */
+    BCMBAL_PACKET_IND_ID_SVC_PORT               = 4,            /**< Service Port. */
+    BCMBAL_PACKET_IND_ID_FLOW_COOKIE            = 5,            /**< Flow Cookie. */
+    BCMBAL_PACKET_IND_ID_PKT                    = 6,            /**< Packet Data. */
+    BCMBAL_PACKET_IND_ID__NUM_OF                                /**< Number of enum entries, not an entry itself. */
+} bcmbal_packet_ind_id;
+
+/** Identifiers for all properties contained in the packet_key group. 
+ */
+typedef enum bcmbal_packet_key_id
+{
+    BCMBAL_PACKET_KEY_ID_RESERVED               = 0,            /**< Reserved key field. */
+    BCMBAL_PACKET_KEY_ID_PACKET_SEND_DEST       = 1,            /**< Packet destination. */
+    BCMBAL_PACKET_KEY_ID__NUM_OF                                /**< Number of enum entries, not an entry itself. */
+} bcmbal_packet_key_id;
+
+/** Identifiers for all properties contained in the subscriber_terminal_cfg 
+ * group. 
+ */
+typedef enum bcmbal_subscriber_terminal_cfg_id
+{
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_ADMIN_STATE       = 0,    /**< Administrative state. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_OPER_STATUS       = 1,    /**< Operational status. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SERIAL_NUMBER     = 2,    /**< Serial number. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_PASSWORD          = 3,    /**< Password. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_REGISTRATION_ID   = 4,    /**< Registration id. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SVC_PORT_ID       = 5,    /**< Service port ID. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_MAC_ADDRESS       = 6,    /**< MAC address. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_DS_TM             = 7,    /**< Downstream scheduler and shaper. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_US_TM             = 8,    /**< Upstream scheduler and shaper. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SVC_PORT_ID_LIST  = 9,    /**< svc_port_id list. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_AGG_PORT_ID_LIST  = 10,   /**< agg_port_id list. */
+    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID__NUM_OF                   /**< Number of enum entries, not an entry itself. */
+} bcmbal_subscriber_terminal_cfg_id;
+
+/** Identifiers for all properties contained in the subscriber_terminal_ind 
+ * group. 
+ */
+typedef enum bcmbal_subscriber_terminal_ind_id
+{
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_ADMIN_STATE       = 0,    /**< Administrative state. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_OPER_STATUS       = 1,    /**< Operational status. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_SERIAL_NUMBER     = 2,    /**< Serial number. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_PASSWORD          = 3,    /**< Password. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_REGISTRATION_ID   = 4,    /**< Registration id. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_SVC_PORT_ID       = 5,    /**< Service port ID. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_MAC_ADDRESS       = 6,    /**< MAC address. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_DS_TM             = 7,    /**< Downstream scheduler and shaper. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_US_TM             = 8,    /**< Upstream scheduler and shaper. */
+    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID__NUM_OF                   /**< Number of enum entries, not an entry itself. */
+} bcmbal_subscriber_terminal_ind_id;
+
+/** Identifiers for all properties contained in the subscriber_terminal_key 
+ * group. 
+ */
+typedef enum bcmbal_subscriber_terminal_key_id
+{
+    BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID_SUB_TERM_ID       = 0,    /**< sub_term_id. */
+    BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID_INTF_ID           = 1,    /**< intf_id. */
+    BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID__NUM_OF                   /**< Number of enum entries, not an entry itself. */
+} bcmbal_subscriber_terminal_key_id;
+
+/** Identifiers for all properties contained in the subscriber_terminal_stat 
+ * group. 
+ */
+typedef enum bcmbal_subscriber_terminal_stat_id
+{
+    BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_RX_PACKETS       = 0,    /**< Received  packets. */
+    BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_RX_BYTES         = 1,    /**< Received bytes. */
+    BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_TX_PACKETS       = 2,    /**< Transmitted packets. */
+    BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_TX_BYTES         = 3,    /**< Transmitted bytes. */
+    BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID__NUM_OF                  /**< Number of enum entries, not an entry itself. */
+} bcmbal_subscriber_terminal_stat_id;
+
+/** Identifiers for all properties contained in the tm_queue_cfg group. 
+ */
+typedef enum bcmbal_tm_queue_cfg_id
+{
+    BCMBAL_TM_QUEUE_CFG_ID_PRIORITY                     = 0,    /**< priority. */
+    BCMBAL_TM_QUEUE_CFG_ID_WEIGHT                       = 1,    /**< weight. */
+    BCMBAL_TM_QUEUE_CFG_ID_RATE                         = 2,    /**< rate. */
+    BCMBAL_TM_QUEUE_CFG_ID_BAC                          = 3,    /**< bac. */
+    BCMBAL_TM_QUEUE_CFG_ID_CREATION_MODE                = 4,    /**< creation_mode. */
+    BCMBAL_TM_QUEUE_CFG_ID_REF_COUNT                    = 5,    /**< ref_count. */
+    BCMBAL_TM_QUEUE_CFG_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_queue_cfg_id;
+
+/** Identifiers for all properties contained in the tm_queue_ind group. 
+ */
+typedef enum bcmbal_tm_queue_ind_id
+{
+    BCMBAL_TM_QUEUE_IND_ID_RET                          = 0,    /**< ret. */
+    BCMBAL_TM_QUEUE_IND_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_queue_ind_id;
+
+/** Identifiers for all properties contained in the tm_queue_key group. 
+ */
+typedef enum bcmbal_tm_queue_key_id
+{
+    BCMBAL_TM_QUEUE_KEY_ID_SCHED_ID                     = 0,    /**< sched_id. */
+    BCMBAL_TM_QUEUE_KEY_ID_SCHED_DIR                    = 1,    /**< sched dir. */
+    BCMBAL_TM_QUEUE_KEY_ID_ID                           = 2,    /**< id. */
+    BCMBAL_TM_QUEUE_KEY_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_queue_key_id;
+
+/** Identifiers for all properties contained in the tm_queue_stat group. 
+ */
+typedef enum bcmbal_tm_queue_stat_id
+{
+    BCMBAL_TM_QUEUE_STAT_ID_PACKETS_OK                  = 0,    /**< packets_ok. */
+    BCMBAL_TM_QUEUE_STAT_ID_BYTES_OK                    = 1,    /**< bytes_ok. */
+    BCMBAL_TM_QUEUE_STAT_ID_PACKETS_DISCARDED           = 2,    /**< packets_discarded. */
+    BCMBAL_TM_QUEUE_STAT_ID_BYTES_DISCARDED             = 3,    /**< bytes_discarded. */
+    BCMBAL_TM_QUEUE_STAT_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_queue_stat_id;
+
+/** Identifiers for all properties contained in the tm_sched_cfg group. 
+ */
+typedef enum bcmbal_tm_sched_cfg_id
+{
+    BCMBAL_TM_SCHED_CFG_ID_OWNER                        = 0,    /**< owner. */
+    BCMBAL_TM_SCHED_CFG_ID_SCHED_TYPE                   = 1,    /**< type. */
+    BCMBAL_TM_SCHED_CFG_ID_SCHED_PARENT                 = 2,    /**< parent. */
+    BCMBAL_TM_SCHED_CFG_ID_SCHED_CHILD_TYPE             = 3,    /**< child_type. */
+    BCMBAL_TM_SCHED_CFG_ID_RATE                         = 4,    /**< rate. */
+    BCMBAL_TM_SCHED_CFG_ID_TCONT_SLA                    = 5,    /**< tcont_sla. */
+    BCMBAL_TM_SCHED_CFG_ID_CREATION_MODE                = 6,    /**< creation_mode. */
+    BCMBAL_TM_SCHED_CFG_ID_QUEUES                       = 7,    /**< queues. */
+    BCMBAL_TM_SCHED_CFG_ID_SUB_SCHEDS                   = 8,    /**< sub_scheds. */
+    BCMBAL_TM_SCHED_CFG_ID_NUM_PRIORITIES               = 9,    /**< num_priorities. */
+    BCMBAL_TM_SCHED_CFG_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_sched_cfg_id;
+
+/** Identifiers for all properties contained in the tm_sched_ind group. 
+ */
+typedef enum bcmbal_tm_sched_ind_id
+{
+    BCMBAL_TM_SCHED_IND_ID_RET                          = 0,    /**< ret. */
+    BCMBAL_TM_SCHED_IND_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_sched_ind_id;
+
+/** Identifiers for all properties contained in the tm_sched_key group. 
+ */
+typedef enum bcmbal_tm_sched_key_id
+{
+    BCMBAL_TM_SCHED_KEY_ID_DIR                          = 0,    /**< dir. */
+    BCMBAL_TM_SCHED_KEY_ID_ID                           = 1,    /**< id. */
+    BCMBAL_TM_SCHED_KEY_ID__NUM_OF  /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_sched_key_id;
+
+/** All object tags for all objects in the system. 
+ */
+typedef enum bcmbal_obj_tag
+{
+    BCMBAL_OBJ_TAG__NUM_OF          /**< Number of enum entries, not an entry itself. */
+} bcmbal_obj_tag;
+
+/** Identifiers for all objects in the system. 
+ */
+typedef enum bcmbal_obj_id
+{
+    BCMBAL_OBJ_ID__BEGIN,
+    BCMBAL_OBJ_ID_ACCESS_TERMINAL                       = 0,    /**< BAL Access Terminal */
+    BCMBAL_OBJ_ID_FLOW                                  = 1,    /**< BAL Flow */
+    BCMBAL_OBJ_ID_GROUP                                 = 2,    /**< BAL Group */
+    BCMBAL_OBJ_ID_INTERFACE                             = 3,    /**< BAL Interface */
+    BCMBAL_OBJ_ID_PACKET                                = 4,    /**< packet */
+    BCMBAL_OBJ_ID_SUBSCRIBER_TERMINAL                   = 5,    /**< BAL Subscriber Terminal */
+    BCMBAL_OBJ_ID_TM_QUEUE                              = 6,    /**< tm_queue */
+    BCMBAL_OBJ_ID_TM_SCHED                              = 7,    /**< tm_sched */
+    BCMBAL_OBJ_ID__NUM_OF   /**< Number of enum entries, not an entry itself. */
+} bcmbal_obj_id;
+
+/** Identifiers for all possible groups under all objects in the system. 
+ */
+typedef enum bcmbal_obj_group_id
+{
+    BCMBAL_OBJ_GROUP_ID__BEGIN,
+    BCMBAL_OBJ_GROUP_ID_ACCESS_TERMINAL_KEY             = 0,    /**< BAL Access Terminal - key */
+    BCMBAL_OBJ_GROUP_ID_ACCESS_TERMINAL_CFG             = 1,    /**< BAL Access Terminal - cfg */
+    BCMBAL_OBJ_GROUP_ID_ACCESS_TERMINAL_IND             = 2,    /**< BAL Access Terminal - Access Terminal Indication */
+    BCMBAL_OBJ_GROUP_ID_FLOW_KEY                        = 3,    /**< BAL Flow - key */
+    BCMBAL_OBJ_GROUP_ID_FLOW_CFG                        = 4,    /**< BAL Flow - cfg */
+    BCMBAL_OBJ_GROUP_ID_FLOW_STAT                       = 5,    /**< BAL Flow - stat */
+    BCMBAL_OBJ_GROUP_ID_FLOW_IND                        = 6,    /**< BAL Flow - Flow Indication */
+    BCMBAL_OBJ_GROUP_ID_GROUP_KEY                       = 7,    /**< BAL Group - key */
+    BCMBAL_OBJ_GROUP_ID_GROUP_CFG                       = 8,    /**< BAL Group - cfg */
+    BCMBAL_OBJ_GROUP_ID_INTERFACE_KEY                   = 9,    /**< BAL Interface - key */
+    BCMBAL_OBJ_GROUP_ID_INTERFACE_CFG                   = 10,   /**< BAL Interface - cfg */
+    BCMBAL_OBJ_GROUP_ID_INTERFACE_STAT                  = 11,   /**< BAL Interface - stat */
+    BCMBAL_OBJ_GROUP_ID_INTERFACE_IND                   = 12,   /**< BAL Interface - Interface Indication */
+    BCMBAL_OBJ_GROUP_ID_PACKET_KEY                      = 13,   /**< packet - key */
+    BCMBAL_OBJ_GROUP_ID_PACKET_CFG                      = 14,   /**< packet - cfg */
+    BCMBAL_OBJ_GROUP_ID_PACKET_IND                      = 15,   /**< packet - Packet indication */
+    BCMBAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_KEY         = 16,   /**< BAL Subscriber Terminal - key */
+    BCMBAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_CFG         = 17,   /**< BAL Subscriber Terminal - cfg */
+    BCMBAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_STAT        = 18,   /**< BAL Subscriber Terminal - stat */
+    BCMBAL_OBJ_GROUP_ID_SUBSCRIBER_TERMINAL_IND         = 19,   /**< BAL Subscriber Terminal - Subscriber Terminal Indication */
+    BCMBAL_OBJ_GROUP_ID_TM_QUEUE_KEY                    = 20,   /**< tm_queue - key */
+    BCMBAL_OBJ_GROUP_ID_TM_QUEUE_CFG                    = 21,   /**< tm_queue - cfg */
+    BCMBAL_OBJ_GROUP_ID_TM_QUEUE_STAT                   = 22,   /**< tm_queue - stat */
+    BCMBAL_OBJ_GROUP_ID_TM_QUEUE_IND                    = 23,   /**< tm_queue - Tm Queue Indication */
+    BCMBAL_OBJ_GROUP_ID_TM_SCHED_KEY                    = 24,   /**< tm_sched - key */
+    BCMBAL_OBJ_GROUP_ID_TM_SCHED_CFG                    = 25,   /**< tm_sched - cfg */
+    BCMBAL_OBJ_GROUP_ID_TM_SCHED_IND                    = 26,   /**< tm_sched - Tm Sched Indication */
+    BCMBAL_OBJ_GROUP_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_obj_group_id;
+
+/** List of all access_terminal groups of type auto. 
+ */
+typedef enum bcmbal_access_terminal_auto_id
+{
+    BCMBAL_ACCESS_TERMINAL_AUTO_ID__BEGIN,
+    BCMBAL_ACCESS_TERMINAL_AUTO_ID_IND                  = 0,    /**< Access Terminal Indication. */
+    BCMBAL_ACCESS_TERMINAL_AUTO_ID__NUM_OF                      /**< Number of enum entries, not an entry itself. */
+} bcmbal_access_terminal_auto_id;
+
+/** List of all flow groups of type auto. 
+ */
+typedef enum bcmbal_flow_auto_id
+{
+    BCMBAL_FLOW_AUTO_ID__BEGIN,
+    BCMBAL_FLOW_AUTO_ID_IND                             = 0,    /**< Flow Indication. */
+    BCMBAL_FLOW_AUTO_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_flow_auto_id;
+
+/** List of all interface groups of type auto. 
+ */
+typedef enum bcmbal_interface_auto_id
+{
+    BCMBAL_INTERFACE_AUTO_ID__BEGIN,
+    BCMBAL_INTERFACE_AUTO_ID_IND                        = 0,    /**< Interface Indication. */
+    BCMBAL_INTERFACE_AUTO_ID__NUM_OF    /**< Number of enum entries, not an entry itself. */
+} bcmbal_interface_auto_id;
+
+/** List of all packet groups of type auto. 
+ */
+typedef enum bcmbal_packet_auto_id
+{
+    BCMBAL_PACKET_AUTO_ID__BEGIN,
+    BCMBAL_PACKET_AUTO_ID_IND                           = 0,    /**< Packet indication. */
+    BCMBAL_PACKET_AUTO_ID__NUM_OF   /**< Number of enum entries, not an entry itself. */
+} bcmbal_packet_auto_id;
+
+/** List of all subscriber_terminal groups of type auto. 
+ */
+typedef enum bcmbal_subscriber_terminal_auto_id
+{
+    BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID__BEGIN,
+    BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID_IND              = 0,    /**< Subscriber Terminal Indication. */
+    BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID__NUM_OF                  /**< Number of enum entries, not an entry itself. */
+} bcmbal_subscriber_terminal_auto_id;
+
+/** List of all tm_queue groups of type auto. 
+ */
+typedef enum bcmbal_tm_queue_auto_id
+{
+    BCMBAL_TM_QUEUE_AUTO_ID__BEGIN,
+    BCMBAL_TM_QUEUE_AUTO_ID_IND                         = 0,    /**< Tm Queue Indication. */
+    BCMBAL_TM_QUEUE_AUTO_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_queue_auto_id;
+
+/** List of all tm_sched groups of type auto. 
+ */
+typedef enum bcmbal_tm_sched_auto_id
+{
+    BCMBAL_TM_SCHED_AUTO_ID__BEGIN,
+    BCMBAL_TM_SCHED_AUTO_ID_IND                         = 0,    /**< Tm Sched Indication. */
+    BCMBAL_TM_SCHED_AUTO_ID__NUM_OF /**< Number of enum entries, not an entry itself. */
+} bcmbal_tm_sched_auto_id;
+
+#define bcmbal_access_terminal_key_id_all_properties        BCMBAL_ACCESS_TERMINAL_KEY_ID__NUM_OF
+#define bcmbal_access_terminal_cfg_id_all_properties        BCMBAL_ACCESS_TERMINAL_CFG_ID__NUM_OF
+#define bcmbal_access_terminal_ind_id_all_properties        BCMBAL_ACCESS_TERMINAL_IND_ID__NUM_OF
+#define bcmbal_flow_cfg_id_all_properties                   BCMBAL_FLOW_CFG_ID__NUM_OF
+#define bcmbal_flow_key_id_all_properties                   BCMBAL_FLOW_KEY_ID__NUM_OF
+#define bcmbal_flow_stat_id_all_properties                  BCMBAL_FLOW_STAT_ID__NUM_OF
+#define bcmbal_flow_ind_id_all_properties                   BCMBAL_FLOW_IND_ID__NUM_OF
+#define bcmbal_group_cfg_id_all_properties                  BCMBAL_GROUP_CFG_ID__NUM_OF
+#define bcmbal_group_key_id_all_properties                  BCMBAL_GROUP_KEY_ID__NUM_OF
+#define bcmbal_interface_key_id_all_properties              BCMBAL_INTERFACE_KEY_ID__NUM_OF
+#define bcmbal_interface_cfg_id_all_properties              BCMBAL_INTERFACE_CFG_ID__NUM_OF
+#define bcmbal_interface_stat_id_all_properties             BCMBAL_INTERFACE_STAT_ID__NUM_OF
+#define bcmbal_interface_ind_id_all_properties              BCMBAL_INTERFACE_IND_ID__NUM_OF
+#define bcmbal_packet_cfg_id_all_properties                 BCMBAL_PACKET_CFG_ID__NUM_OF
+#define bcmbal_packet_key_id_all_properties                 BCMBAL_PACKET_KEY_ID__NUM_OF
+#define bcmbal_packet_ind_id_all_properties                 BCMBAL_PACKET_IND_ID__NUM_OF
+#define bcmbal_subscriber_terminal_key_id_all_properties    BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID__NUM_OF
+#define bcmbal_subscriber_terminal_cfg_id_all_properties    BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID__NUM_OF
+#define bcmbal_subscriber_terminal_stat_id_all_properties   BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID__NUM_OF
+#define bcmbal_subscriber_terminal_ind_id_all_properties    BCMBAL_SUBSCRIBER_TERMINAL_IND_ID__NUM_OF
+#define bcmbal_tm_queue_key_id_all_properties               BCMBAL_TM_QUEUE_KEY_ID__NUM_OF
+#define bcmbal_tm_queue_cfg_id_all_properties               BCMBAL_TM_QUEUE_CFG_ID__NUM_OF
+#define bcmbal_tm_queue_stat_id_all_properties              BCMBAL_TM_QUEUE_STAT_ID__NUM_OF
+#define bcmbal_tm_queue_ind_id_all_properties               BCMBAL_TM_QUEUE_IND_ID__NUM_OF
+#define bcmbal_tm_sched_key_id_all_properties               BCMBAL_TM_SCHED_KEY_ID__NUM_OF
+#define bcmbal_tm_sched_cfg_id_all_properties               BCMBAL_TM_SCHED_CFG_ID__NUM_OF
+#define bcmbal_tm_sched_ind_id_all_properties               BCMBAL_TM_SCHED_IND_ID__NUM_OF
+
+/* The following are required for the API Init/Set/etc macros */
+#define bcmbal_obj_id__begin                                BCMBAL_OBJ_ID__BEGIN
+#define bcmbal_obj_id_access_terminal                       BCMBAL_OBJ_ID_ACCESS_TERMINAL
+#define bcmbal_obj_id_flow                                  BCMBAL_OBJ_ID_FLOW
+#define bcmbal_obj_id_group                                 BCMBAL_OBJ_ID_GROUP
+#define bcmbal_obj_id_interface                             BCMBAL_OBJ_ID_INTERFACE
+#define bcmbal_obj_id_packet                                BCMBAL_OBJ_ID_PACKET
+#define bcmbal_obj_id_subscriber_terminal                   BCMBAL_OBJ_ID_SUBSCRIBER_TERMINAL
+#define bcmbal_obj_id_tm_queue                              BCMBAL_OBJ_ID_TM_QUEUE
+#define bcmbal_obj_id_tm_sched                              BCMBAL_OBJ_ID_TM_SCHED
+#define bcmbal_obj_id__num_of                               BCMBAL_OBJ_ID__NUM_OF
+#define bcmbal_access_terminal_auto_id__begin               BCMBAL_ACCESS_TERMINAL_AUTO_ID__BEGIN
+#define bcmbal_access_terminal_auto_id_ind                  BCMBAL_ACCESS_TERMINAL_AUTO_ID_IND
+#define bcmbal_access_terminal_auto_id__num_of              BCMBAL_ACCESS_TERMINAL_AUTO_ID__NUM_OF
+#define bcmbal_flow_auto_id__begin                          BCMBAL_FLOW_AUTO_ID__BEGIN
+#define bcmbal_flow_auto_id_ind                             BCMBAL_FLOW_AUTO_ID_IND
+#define bcmbal_flow_auto_id__num_of                         BCMBAL_FLOW_AUTO_ID__NUM_OF
+#define bcmbal_interface_auto_id__begin                     BCMBAL_INTERFACE_AUTO_ID__BEGIN
+#define bcmbal_interface_auto_id_ind                        BCMBAL_INTERFACE_AUTO_ID_IND
+#define bcmbal_interface_auto_id__num_of                    BCMBAL_INTERFACE_AUTO_ID__NUM_OF
+#define bcmbal_packet_auto_id__begin                        BCMBAL_PACKET_AUTO_ID__BEGIN
+#define bcmbal_packet_auto_id_ind                           BCMBAL_PACKET_AUTO_ID_IND
+#define bcmbal_packet_auto_id__num_of                       BCMBAL_PACKET_AUTO_ID__NUM_OF
+#define bcmbal_subscriber_terminal_auto_id__begin           BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID__BEGIN
+#define bcmbal_subscriber_terminal_auto_id_ind              BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID_IND
+#define bcmbal_subscriber_terminal_auto_id__num_of          BCMBAL_SUBSCRIBER_TERMINAL_AUTO_ID__NUM_OF
+#define bcmbal_tm_queue_auto_id__begin                      BCMBAL_TM_QUEUE_AUTO_ID__BEGIN
+#define bcmbal_tm_queue_auto_id_ind                         BCMBAL_TM_QUEUE_AUTO_ID_IND
+#define bcmbal_tm_queue_auto_id__num_of                     BCMBAL_TM_QUEUE_AUTO_ID__NUM_OF
+#define bcmbal_tm_sched_auto_id__begin                      BCMBAL_TM_SCHED_AUTO_ID__BEGIN
+#define bcmbal_tm_sched_auto_id_ind                         BCMBAL_TM_SCHED_AUTO_ID_IND
+#define bcmbal_tm_sched_auto_id__num_of                     BCMBAL_TM_SCHED_AUTO_ID__NUM_OF
+#define bcmbal_access_terminal_key_id_access_term_id        BCMBAL_ACCESS_TERMINAL_KEY_ID_ACCESS_TERM_ID
+#define bcmbal_access_terminal_key_id__num_of               BCMBAL_ACCESS_TERMINAL_KEY_ID__NUM_OF
+#define bcmbal_access_terminal_cfg_id_admin_state           BCMBAL_ACCESS_TERMINAL_CFG_ID_ADMIN_STATE
+#define bcmbal_access_terminal_cfg_id_oper_status           BCMBAL_ACCESS_TERMINAL_CFG_ID_OPER_STATUS
+#define bcmbal_access_terminal_cfg_id_iwf_mode              BCMBAL_ACCESS_TERMINAL_CFG_ID_IWF_MODE
+#define bcmbal_access_terminal_cfg_id__num_of               BCMBAL_ACCESS_TERMINAL_CFG_ID__NUM_OF
+#define bcmbal_access_terminal_ind_id_admin_state           BCMBAL_ACCESS_TERMINAL_IND_ID_ADMIN_STATE
+#define bcmbal_access_terminal_ind_id_oper_status           BCMBAL_ACCESS_TERMINAL_IND_ID_OPER_STATUS
+#define bcmbal_access_terminal_ind_id_iwf_mode              BCMBAL_ACCESS_TERMINAL_IND_ID_IWF_MODE
+#define bcmbal_access_terminal_ind_id__num_of               BCMBAL_ACCESS_TERMINAL_IND_ID__NUM_OF
+#define bcmbal_flow_key_id_flow_id                          BCMBAL_FLOW_KEY_ID_FLOW_ID
+#define bcmbal_flow_key_id_flow_type                        BCMBAL_FLOW_KEY_ID_FLOW_TYPE
+#define bcmbal_flow_key_id__num_of                          BCMBAL_FLOW_KEY_ID__NUM_OF
+#define bcmbal_flow_cfg_id_admin_state                      BCMBAL_FLOW_CFG_ID_ADMIN_STATE
+#define bcmbal_flow_cfg_id_oper_status                      BCMBAL_FLOW_CFG_ID_OPER_STATUS
+#define bcmbal_flow_cfg_id_access_int_id                    BCMBAL_FLOW_CFG_ID_ACCESS_INT_ID
+#define bcmbal_flow_cfg_id_network_int_id                   BCMBAL_FLOW_CFG_ID_NETWORK_INT_ID
+#define bcmbal_flow_cfg_id_sub_term_id                      BCMBAL_FLOW_CFG_ID_SUB_TERM_ID
+#define bcmbal_flow_cfg_id_sub_term_uni_idx                 BCMBAL_FLOW_CFG_ID_SUB_TERM_UNI_IDX
+#define bcmbal_flow_cfg_id_svc_port_id                      BCMBAL_FLOW_CFG_ID_SVC_PORT_ID
+#define bcmbal_flow_cfg_id_agg_port_id                      BCMBAL_FLOW_CFG_ID_AGG_PORT_ID
+#define bcmbal_flow_cfg_id_resolve_mac                      BCMBAL_FLOW_CFG_ID_RESOLVE_MAC
+#define bcmbal_flow_cfg_id_classifier                       BCMBAL_FLOW_CFG_ID_CLASSIFIER
+#define bcmbal_flow_cfg_id_action                           BCMBAL_FLOW_CFG_ID_ACTION
+#define bcmbal_flow_cfg_id_sla                              BCMBAL_FLOW_CFG_ID_SLA
+#define bcmbal_flow_cfg_id_cookie                           BCMBAL_FLOW_CFG_ID_COOKIE
+#define bcmbal_flow_cfg_id_priority                         BCMBAL_FLOW_CFG_ID_PRIORITY
+#define bcmbal_flow_cfg_id_group_id                         BCMBAL_FLOW_CFG_ID_GROUP_ID
+#define bcmbal_flow_cfg_id_queue                            BCMBAL_FLOW_CFG_ID_QUEUE
+#define bcmbal_flow_cfg_id__num_of                          BCMBAL_FLOW_CFG_ID__NUM_OF
+#define bcmbal_flow_stat_id_rx_packets                      BCMBAL_FLOW_STAT_ID_RX_PACKETS
+#define bcmbal_flow_stat_id_rx_bytes                        BCMBAL_FLOW_STAT_ID_RX_BYTES
+#define bcmbal_flow_stat_id_tx_packets                      BCMBAL_FLOW_STAT_ID_TX_PACKETS
+#define bcmbal_flow_stat_id_tx_bytes                        BCMBAL_FLOW_STAT_ID_TX_BYTES
+#define bcmbal_flow_stat_id__num_of                         BCMBAL_FLOW_STAT_ID__NUM_OF
+#define bcmbal_flow_ind_id_admin_state                      BCMBAL_FLOW_IND_ID_ADMIN_STATE
+#define bcmbal_flow_ind_id_oper_status                      BCMBAL_FLOW_IND_ID_OPER_STATUS
+#define bcmbal_flow_ind_id_access_int_id                    BCMBAL_FLOW_IND_ID_ACCESS_INT_ID
+#define bcmbal_flow_ind_id_network_int_id                   BCMBAL_FLOW_IND_ID_NETWORK_INT_ID
+#define bcmbal_flow_ind_id_sub_term_id                      BCMBAL_FLOW_IND_ID_SUB_TERM_ID
+#define bcmbal_flow_ind_id_svc_port_id                      BCMBAL_FLOW_IND_ID_SVC_PORT_ID
+#define bcmbal_flow_ind_id_agg_port_id                      BCMBAL_FLOW_IND_ID_AGG_PORT_ID
+#define bcmbal_flow_ind_id_resolve_mac                      BCMBAL_FLOW_IND_ID_RESOLVE_MAC
+#define bcmbal_flow_ind_id_base_tc_id                       BCMBAL_FLOW_IND_ID_BASE_TC_ID
+#define bcmbal_flow_ind_id_classifier                       BCMBAL_FLOW_IND_ID_CLASSIFIER
+#define bcmbal_flow_ind_id_action                           BCMBAL_FLOW_IND_ID_ACTION
+#define bcmbal_flow_ind_id_sla                              BCMBAL_FLOW_IND_ID_SLA
+#define bcmbal_flow_ind_id_cookie                           BCMBAL_FLOW_IND_ID_COOKIE
+#define bcmbal_flow_ind_id_priority                         BCMBAL_FLOW_IND_ID_PRIORITY
+#define bcmbal_flow_ind_id__num_of                          BCMBAL_FLOW_IND_ID__NUM_OF
+#define bcmbal_group_key_id_group_id                        BCMBAL_GROUP_KEY_ID_GROUP_ID
+#define bcmbal_group_key_id__num_of                         BCMBAL_GROUP_KEY_ID__NUM_OF
+#define bcmbal_group_cfg_id_members_cmd                     BCMBAL_GROUP_CFG_ID_MEMBERS_CMD
+#define bcmbal_group_cfg_id_members                         BCMBAL_GROUP_CFG_ID_MEMBERS
+#define bcmbal_group_cfg_id_cookie                          BCMBAL_GROUP_CFG_ID_COOKIE
+#define bcmbal_group_cfg_id_flows                           BCMBAL_GROUP_CFG_ID_FLOWS
+#define bcmbal_group_cfg_id_owner                           BCMBAL_GROUP_CFG_ID_OWNER
+#define bcmbal_group_cfg_id__num_of                         BCMBAL_GROUP_CFG_ID__NUM_OF
+#define bcmbal_interface_key_id_intf_id                     BCMBAL_INTERFACE_KEY_ID_INTF_ID
+#define bcmbal_interface_key_id_intf_type                   BCMBAL_INTERFACE_KEY_ID_INTF_TYPE
+#define bcmbal_interface_key_id__num_of                     BCMBAL_INTERFACE_KEY_ID__NUM_OF
+#define bcmbal_interface_cfg_id_admin_state                 BCMBAL_INTERFACE_CFG_ID_ADMIN_STATE
+#define bcmbal_interface_cfg_id_oper_status                 BCMBAL_INTERFACE_CFG_ID_OPER_STATUS
+#define bcmbal_interface_cfg_id_min_data_agg_port_id        BCMBAL_INTERFACE_CFG_ID_MIN_DATA_AGG_PORT_ID
+#define bcmbal_interface_cfg_id_min_data_svc_port_id        BCMBAL_INTERFACE_CFG_ID_MIN_DATA_SVC_PORT_ID
+#define bcmbal_interface_cfg_id_transceiver_type            BCMBAL_INTERFACE_CFG_ID_TRANSCEIVER_TYPE
+#define bcmbal_interface_cfg_id_ds_miss_mode                BCMBAL_INTERFACE_CFG_ID_DS_MISS_MODE
+#define bcmbal_interface_cfg_id_mtu                         BCMBAL_INTERFACE_CFG_ID_MTU
+#define bcmbal_interface_cfg_id_flow_control                BCMBAL_INTERFACE_CFG_ID_FLOW_CONTROL
+#define bcmbal_interface_cfg_id_ds_tm                       BCMBAL_INTERFACE_CFG_ID_DS_TM
+#define bcmbal_interface_cfg_id_us_tm                       BCMBAL_INTERFACE_CFG_ID_US_TM
+#define bcmbal_interface_cfg_id_sub_term_id_list            BCMBAL_INTERFACE_CFG_ID_SUB_TERM_ID_LIST
+#define bcmbal_interface_cfg_id__num_of                     BCMBAL_INTERFACE_CFG_ID__NUM_OF
+#define bcmbal_interface_stat_id_rx_packets                 BCMBAL_INTERFACE_STAT_ID_RX_PACKETS
+#define bcmbal_interface_stat_id_rx_bytes                   BCMBAL_INTERFACE_STAT_ID_RX_BYTES
+#define bcmbal_interface_stat_id_tx_packets                 BCMBAL_INTERFACE_STAT_ID_TX_PACKETS
+#define bcmbal_interface_stat_id_tx_bytes                   BCMBAL_INTERFACE_STAT_ID_TX_BYTES
+#define bcmbal_interface_stat_id__num_of                    BCMBAL_INTERFACE_STAT_ID__NUM_OF
+#define bcmbal_interface_ind_id_admin_state                 BCMBAL_INTERFACE_IND_ID_ADMIN_STATE
+#define bcmbal_interface_ind_id_oper_status                 BCMBAL_INTERFACE_IND_ID_OPER_STATUS
+#define bcmbal_interface_ind_id_min_data_agg_port_id        BCMBAL_INTERFACE_IND_ID_MIN_DATA_AGG_PORT_ID
+#define bcmbal_interface_ind_id_min_data_svc_port_id        BCMBAL_INTERFACE_IND_ID_MIN_DATA_SVC_PORT_ID
+#define bcmbal_interface_ind_id_transceiver_type            BCMBAL_INTERFACE_IND_ID_TRANSCEIVER_TYPE
+#define bcmbal_interface_ind_id_ds_miss_mode                BCMBAL_INTERFACE_IND_ID_DS_MISS_MODE
+#define bcmbal_interface_ind_id_mtu                         BCMBAL_INTERFACE_IND_ID_MTU
+#define bcmbal_interface_ind_id_flow_control                BCMBAL_INTERFACE_IND_ID_FLOW_CONTROL
+#define bcmbal_interface_ind_id_ds_tm                       BCMBAL_INTERFACE_IND_ID_DS_TM
+#define bcmbal_interface_ind_id_us_tm                       BCMBAL_INTERFACE_IND_ID_US_TM
+#define bcmbal_interface_ind_id__num_of                     BCMBAL_INTERFACE_IND_ID__NUM_OF
+#define bcmbal_packet_key_id_reserved                       BCMBAL_PACKET_KEY_ID_RESERVED
+#define bcmbal_packet_key_id_packet_send_dest               BCMBAL_PACKET_KEY_ID_PACKET_SEND_DEST
+#define bcmbal_packet_key_id__num_of                        BCMBAL_PACKET_KEY_ID__NUM_OF
+#define bcmbal_packet_cfg_id_flow_id                        BCMBAL_PACKET_CFG_ID_FLOW_ID
+#define bcmbal_packet_cfg_id_flow_type                      BCMBAL_PACKET_CFG_ID_FLOW_TYPE
+#define bcmbal_packet_cfg_id_intf_id                        BCMBAL_PACKET_CFG_ID_INTF_ID
+#define bcmbal_packet_cfg_id_intf_type                      BCMBAL_PACKET_CFG_ID_INTF_TYPE
+#define bcmbal_packet_cfg_id_svc_port                       BCMBAL_PACKET_CFG_ID_SVC_PORT
+#define bcmbal_packet_cfg_id_flow_cookie                    BCMBAL_PACKET_CFG_ID_FLOW_COOKIE
+#define bcmbal_packet_cfg_id_pkt                            BCMBAL_PACKET_CFG_ID_PKT
+#define bcmbal_packet_cfg_id__num_of                        BCMBAL_PACKET_CFG_ID__NUM_OF
+#define bcmbal_packet_ind_id_flow_id                        BCMBAL_PACKET_IND_ID_FLOW_ID
+#define bcmbal_packet_ind_id_flow_type                      BCMBAL_PACKET_IND_ID_FLOW_TYPE
+#define bcmbal_packet_ind_id_intf_id                        BCMBAL_PACKET_IND_ID_INTF_ID
+#define bcmbal_packet_ind_id_intf_type                      BCMBAL_PACKET_IND_ID_INTF_TYPE
+#define bcmbal_packet_ind_id_svc_port                       BCMBAL_PACKET_IND_ID_SVC_PORT
+#define bcmbal_packet_ind_id_flow_cookie                    BCMBAL_PACKET_IND_ID_FLOW_COOKIE
+#define bcmbal_packet_ind_id_pkt                            BCMBAL_PACKET_IND_ID_PKT
+#define bcmbal_packet_ind_id__num_of                        BCMBAL_PACKET_IND_ID__NUM_OF
+#define bcmbal_subscriber_terminal_key_id_sub_term_id       BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID_SUB_TERM_ID
+#define bcmbal_subscriber_terminal_key_id_intf_id           BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID_INTF_ID
+#define bcmbal_subscriber_terminal_key_id__num_of           BCMBAL_SUBSCRIBER_TERMINAL_KEY_ID__NUM_OF
+#define bcmbal_subscriber_terminal_cfg_id_admin_state       BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_ADMIN_STATE
+#define bcmbal_subscriber_terminal_cfg_id_oper_status       BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_OPER_STATUS
+#define bcmbal_subscriber_terminal_cfg_id_serial_number     BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SERIAL_NUMBER
+#define bcmbal_subscriber_terminal_cfg_id_password          BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_PASSWORD
+#define bcmbal_subscriber_terminal_cfg_id_registration_id   BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_REGISTRATION_ID
+#define bcmbal_subscriber_terminal_cfg_id_svc_port_id       BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SVC_PORT_ID
+#define bcmbal_subscriber_terminal_cfg_id_mac_address       BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_MAC_ADDRESS
+#define bcmbal_subscriber_terminal_cfg_id_ds_tm             BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_DS_TM
+#define bcmbal_subscriber_terminal_cfg_id_us_tm             BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_US_TM
+#define bcmbal_subscriber_terminal_cfg_id_svc_port_id_list  BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_SVC_PORT_ID_LIST
+#define bcmbal_subscriber_terminal_cfg_id_agg_port_id_list  BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID_AGG_PORT_ID_LIST
+#define bcmbal_subscriber_terminal_cfg_id__num_of           BCMBAL_SUBSCRIBER_TERMINAL_CFG_ID__NUM_OF
+#define bcmbal_subscriber_terminal_stat_id_rx_packets       BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_RX_PACKETS
+#define bcmbal_subscriber_terminal_stat_id_rx_bytes         BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_RX_BYTES
+#define bcmbal_subscriber_terminal_stat_id_tx_packets       BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_TX_PACKETS
+#define bcmbal_subscriber_terminal_stat_id_tx_bytes         BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID_TX_BYTES
+#define bcmbal_subscriber_terminal_stat_id__num_of          BCMBAL_SUBSCRIBER_TERMINAL_STAT_ID__NUM_OF
+#define bcmbal_subscriber_terminal_ind_id_admin_state       BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_ADMIN_STATE
+#define bcmbal_subscriber_terminal_ind_id_oper_status       BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_OPER_STATUS
+#define bcmbal_subscriber_terminal_ind_id_serial_number     BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_SERIAL_NUMBER
+#define bcmbal_subscriber_terminal_ind_id_password          BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_PASSWORD
+#define bcmbal_subscriber_terminal_ind_id_registration_id   BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_REGISTRATION_ID
+#define bcmbal_subscriber_terminal_ind_id_svc_port_id       BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_SVC_PORT_ID
+#define bcmbal_subscriber_terminal_ind_id_mac_address       BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_MAC_ADDRESS
+#define bcmbal_subscriber_terminal_ind_id_ds_tm             BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_DS_TM
+#define bcmbal_subscriber_terminal_ind_id_us_tm             BCMBAL_SUBSCRIBER_TERMINAL_IND_ID_US_TM
+#define bcmbal_subscriber_terminal_ind_id__num_of           BCMBAL_SUBSCRIBER_TERMINAL_IND_ID__NUM_OF
+#define bcmbal_tm_queue_key_id_sched_id                     BCMBAL_TM_QUEUE_KEY_ID_SCHED_ID
+#define bcmbal_tm_queue_key_id_sched_dir                    BCMBAL_TM_QUEUE_KEY_ID_SCHED_DIR
+#define bcmbal_tm_queue_key_id_id                           BCMBAL_TM_QUEUE_KEY_ID_ID
+#define bcmbal_tm_queue_key_id__num_of                      BCMBAL_TM_QUEUE_KEY_ID__NUM_OF
+#define bcmbal_tm_queue_cfg_id_priority                     BCMBAL_TM_QUEUE_CFG_ID_PRIORITY
+#define bcmbal_tm_queue_cfg_id_weight                       BCMBAL_TM_QUEUE_CFG_ID_WEIGHT
+#define bcmbal_tm_queue_cfg_id_rate                         BCMBAL_TM_QUEUE_CFG_ID_RATE
+#define bcmbal_tm_queue_cfg_id_bac                          BCMBAL_TM_QUEUE_CFG_ID_BAC
+#define bcmbal_tm_queue_cfg_id_creation_mode                BCMBAL_TM_QUEUE_CFG_ID_CREATION_MODE
+#define bcmbal_tm_queue_cfg_id_ref_count                    BCMBAL_TM_QUEUE_CFG_ID_REF_COUNT
+#define bcmbal_tm_queue_cfg_id__num_of                      BCMBAL_TM_QUEUE_CFG_ID__NUM_OF
+#define bcmbal_tm_queue_stat_id_packets_ok                  BCMBAL_TM_QUEUE_STAT_ID_PACKETS_OK
+#define bcmbal_tm_queue_stat_id_bytes_ok                    BCMBAL_TM_QUEUE_STAT_ID_BYTES_OK
+#define bcmbal_tm_queue_stat_id_packets_discarded           BCMBAL_TM_QUEUE_STAT_ID_PACKETS_DISCARDED
+#define bcmbal_tm_queue_stat_id_bytes_discarded             BCMBAL_TM_QUEUE_STAT_ID_BYTES_DISCARDED
+#define bcmbal_tm_queue_stat_id__num_of                     BCMBAL_TM_QUEUE_STAT_ID__NUM_OF
+#define bcmbal_tm_queue_ind_id_ret                          BCMBAL_TM_QUEUE_IND_ID_RET
+#define bcmbal_tm_queue_ind_id__num_of                      BCMBAL_TM_QUEUE_IND_ID__NUM_OF
+#define bcmbal_tm_sched_key_id_dir                          BCMBAL_TM_SCHED_KEY_ID_DIR
+#define bcmbal_tm_sched_key_id_id                           BCMBAL_TM_SCHED_KEY_ID_ID
+#define bcmbal_tm_sched_key_id__num_of                      BCMBAL_TM_SCHED_KEY_ID__NUM_OF
+#define bcmbal_tm_sched_cfg_id_owner                        BCMBAL_TM_SCHED_CFG_ID_OWNER
+#define bcmbal_tm_sched_cfg_id_sched_type                   BCMBAL_TM_SCHED_CFG_ID_SCHED_TYPE
+#define bcmbal_tm_sched_cfg_id_sched_parent                 BCMBAL_TM_SCHED_CFG_ID_SCHED_PARENT
+#define bcmbal_tm_sched_cfg_id_sched_child_type             BCMBAL_TM_SCHED_CFG_ID_SCHED_CHILD_TYPE
+#define bcmbal_tm_sched_cfg_id_rate                         BCMBAL_TM_SCHED_CFG_ID_RATE
+#define bcmbal_tm_sched_cfg_id_tcont_sla                    BCMBAL_TM_SCHED_CFG_ID_TCONT_SLA
+#define bcmbal_tm_sched_cfg_id_creation_mode                BCMBAL_TM_SCHED_CFG_ID_CREATION_MODE
+#define bcmbal_tm_sched_cfg_id_queues                       BCMBAL_TM_SCHED_CFG_ID_QUEUES
+#define bcmbal_tm_sched_cfg_id_sub_scheds                   BCMBAL_TM_SCHED_CFG_ID_SUB_SCHEDS
+#define bcmbal_tm_sched_cfg_id_num_priorities               BCMBAL_TM_SCHED_CFG_ID_NUM_PRIORITIES
+#define bcmbal_tm_sched_cfg_id__num_of                      BCMBAL_TM_SCHED_CFG_ID__NUM_OF
+#define bcmbal_tm_sched_ind_id_ret                          BCMBAL_TM_SCHED_IND_ID_RET
+#define bcmbal_tm_sched_ind_id__num_of                      BCMBAL_TM_SCHED_IND_ID__NUM_OF
+
+/** Checks whether the given object type has the given tag. 
+ *
+ * \return true if the given object has the given tag, false otherwise 
+ */
+bcmos_bool bcmbal_obj_has_tag(bcmbal_obj_id obj, bcmbal_obj_tag tag);
+
+#define BCMBAL_OBJ_ID_ANY   ((bcmbal_obj_id) UINT16_MAX)
+
+/** @} */
+#endif /* BAL_MODEL_IDS_H_ */