blob: a42942e78279417b73696f8019c8b52c9bfeab3d [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001/*
2<:copyright-BRCM:2016:proprietary:standard
3
4 Broadcom Proprietary and Confidential.(c) 2016 Broadcom
5 All Rights Reserved
6
7This program is the proprietary software of Broadcom Corporation and/or its
8licensors, and may only be used, duplicated, modified or distributed pursuant
9to the terms and conditions of a separate, written license agreement executed
10between you and Broadcom (an "Authorized License"). Except as set forth in
11an Authorized License, Broadcom grants no license (express or implied), right
12to use, or waiver of any kind with respect to the Software, and Broadcom
13expressly reserves all rights in and to the Software and all intellectual
14property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU HAVE
15NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY
16BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
17
18Except as expressly set forth in the Authorized License,
19
201. This program, including its structure, sequence and organization,
21 constitutes the valuable trade secrets of Broadcom, and you shall use
22 all reasonable efforts to protect the confidentiality thereof, and to
23 use this information only in connection with your use of Broadcom
24 integrated circuit products.
25
262. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
27 AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
28 WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH
29 RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND
30 ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT,
31 FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR
32 COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE
33 TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF USE OR
34 PERFORMANCE OF THE SOFTWARE.
35
363. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR
37 ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL,
38 INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY
39 WAY RELATING TO YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN
40 IF BROADCOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES;
41 OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE
42 SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE LIMITATIONS
43 SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
44 LIMITED REMEDY.
45:>
46*/
47#ifndef BCMOLT_EPON_OAM_TYPES_H_
48#define BCMOLT_EPON_OAM_TYPES_H_
49
50#include "bcmos_system.h"
51#include "bcmos_common.h"
52#include "bcmos_errno.h"
53#include "bcmolt_buf.h"
54
55typedef bcmolt_buf bcmolt_epon_oam_buf;
56
57/** \addtogroup epon_oam
58 * @{
59 */
60
61/** Alarm Config Mode.
62 */
63typedef enum bcmolt_epon_oam_alarm_config_mode
64{
65 BCMOLT_EPON_OAM_ALARM_CONFIG_MODE_CLOSE = 0, /**< Close. */
66 BCMOLT_EPON_OAM_ALARM_CONFIG_MODE_OPEN = 1 /**< Open. */
67} bcmolt_epon_oam_alarm_config_mode;
68
69/** Autonegotiate Admin State.
70 */
71typedef enum bcmolt_epon_oam_autonegotiate_admin_state
72{
73 BCMOLT_EPON_OAM_AUTONEGOTIATE_ADMIN_STATE_OAM_AUTO_ADMIN_DISABLED = 1, /**< OAM Auto Admin Disabled. */
74 BCMOLT_EPON_OAM_AUTONEGOTIATE_ADMIN_STATE_OAM_AUTO_ADMIN_ENABLED = 2 /**< OAM Auto Admin Enabled. */
75} bcmolt_epon_oam_autonegotiate_admin_state;
76
77/** Auto Negotiation Auto Config.
78 */
79typedef enum bcmolt_epon_oam_auto_negotiation_auto_config
80{
81 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_AUTO_CONFIG_OTHER = 1, /**< Other. */
82 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_AUTO_CONFIG_CONFIGURING = 2, /**< Configuring. */
83 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_AUTO_CONFIG_COMPLETE = 3, /**< Complete. */
84 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_AUTO_CONFIG_DISABLED = 4, /**< Disabled. */
85 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_AUTO_CONFIG_PARALLEL_FAIL = 5 /**< Parallel Fail. */
86} bcmolt_epon_oam_auto_negotiation_auto_config;
87
88/** Auto-Negotiation Capability.
89 */
90typedef enum bcmolt_epon_oam_auto_negotiation_capability
91{
92 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_NONE = 0,
93 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_HALF_DUPLEX = 0x0001, /**< Half Duplex. */
94 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_FULL_DUPLEX = 0x0002, /**< Full Duplex. */
95 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_TEN_MBPS = 0x0004, /**< 10 Mbps. */
96 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_HUNDRED_MBPS = 0x0008, /**< 100 Mbps. */
97 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_THOUSAND_MBPS = 0x0010, /**< 1000 Mbps. */
98 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_TEN_GBPS = 0x0020, /**< 10 Gbps. */
99 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_FLOW_CONTROL = 0x0040, /**< Flow Control. */
100 BCMOLT_EPON_OAM_AUTO_NEGOTIATION_CAPABILITY_AUTO_MDI_MDI_X = 0x0080 /**< Auto MDI/MDI-X. */
101} bcmolt_epon_oam_auto_negotiation_capability;
102
103/** Auto Remote Sig.
104 */
105typedef enum bcmolt_epon_oam_auto_remote_sig
106{
107 BCMOLT_EPON_OAM_AUTO_REMOTE_SIG_DETECTED = 1, /**< Detected. */
108 BCMOLT_EPON_OAM_AUTO_REMOTE_SIG_NOT_DETECTED = 2 /**< Not Detected. */
109} bcmolt_epon_oam_auto_remote_sig;
110
111/** Auto Selector.
112 */
113typedef enum bcmolt_epon_oam_auto_selector
114{
115 BCMOLT_EPON_OAM_AUTO_SELECTOR_OTHER = 1, /**< Other. */
116 BCMOLT_EPON_OAM_AUTO_SELECTOR_ETHERNET = 2, /**< Ethernet. */
117 BCMOLT_EPON_OAM_AUTO_SELECTOR_ISO_ETHERNET = 3 /**< ISO Ethernet. */
118} bcmolt_epon_oam_auto_selector;
119
120/** Binary Field Select Type.
121 */
122typedef enum bcmolt_epon_oam_binary_field_select_type
123{
124 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_DA = 1, /**< DA. */
125 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_SA = 2, /**< SA. */
126 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_SSM_PLUS_IPDA = 3, /**< SSM + IP DA. */
127 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_PROG_FIELD = 4, /**< Prog Field. */
128 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_CVLAN_VID = 5, /**< CVLAN VID. */
129 BCMOLT_EPON_OAM_BINARY_FIELD_SELECT_TYPE_SVLAN_VID_CVLAN_VID = 6 /**< SVLAN VID & CVLAN VID. */
130} bcmolt_epon_oam_binary_field_select_type;
131
132/** CMC OAM Request Option
133 */
134typedef enum bcmolt_epon_oam_brcm_cmc_request_option
135{
136 BCMOLT_EPON_OAM_BRCM_CMC_REQUEST_OPTION_ADD = 1, /**< Add. */
137 BCMOLT_EPON_OAM_BRCM_CMC_REQUEST_OPTION_REMOVE = 2 /**< Remove. */
138} bcmolt_epon_oam_brcm_cmc_request_option;
139
140/** CMC OAM result codes
141 */
142typedef enum bcmolt_epon_oam_brcm_cmc_result_code
143{
144 BCMOLT_EPON_OAM_BRCM_CMC_RESULT_CODE_SUCCESS = 0, /**< Success. */
145 BCMOLT_EPON_OAM_BRCM_CMC_RESULT_CODE_FAIL = 1, /**< Fail. */
146 BCMOLT_EPON_OAM_BRCM_CMC_RESULT_CODE_INVALID_PARAMETERS = 2 /**< Invalid Parameters. */
147} bcmolt_epon_oam_brcm_cmc_result_code;
148
149/** CMC OAM annex modes
150 */
151typedef enum bcmolt_epon_oam_brcm_cmc_annex
152{
153 BCMOLT_EPON_OAM_BRCM_CMC_ANNEX_ANNEX_A = 0, /**< Annex A. */
154 BCMOLT_EPON_OAM_BRCM_CMC_ANNEX_ANNEX_B = 1 /**< Annex B. */
155} bcmolt_epon_oam_brcm_cmc_annex;
156
157/** Type of CMC Interface
158 */
159typedef enum bcmolt_epon_oam_brcm_cmc_intf_type
160{
161 BCMOLT_EPON_OAM_BRCM_CMC_INTF_TYPE_ETHERNET_CSMACD = 6, /**< Ethernet Csmacd. */
162 BCMOLT_EPON_OAM_BRCM_CMC_INTF_TYPE_SOFTWARE_LOOPBACK = 24, /**< Software Loopback. */
163 BCMOLT_EPON_OAM_BRCM_CMC_INTF_TYPE_DOCS_CABLE_MAC_LAYER = 127, /**< Docs Cable Mac Layer. */
164 BCMOLT_EPON_OAM_BRCM_CMC_INTF_TYPE_DOCS_CABLE_DOWNSTREAM = 128, /**< Docs Cable Downstream. */
165 BCMOLT_EPON_OAM_BRCM_CMC_INTF_TYPE_DOCS_CABLE_UPSTREAM = 129 /**< Docs Cable Upstream. */
166} bcmolt_epon_oam_brcm_cmc_intf_type;
167
168/** Interface status, used for ifAdminStatus and ifOperStatus
169 */
170typedef enum bcmolt_epon_oam_brcm_cmc_interface_status
171{
172 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_UP = 1, /**< up. */
173 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_DOWN = 2, /**< down. */
174 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_TESTING = 3, /**< testing. */
175 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_UNKNOWN = 4, /**< unknown. */
176 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_DORMANT = 5, /**< dormant. */
177 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_NOT_PRESENT = 6, /**< not present. */
178 BCMOLT_EPON_OAM_BRCM_CMC_INTERFACE_STATUS_LOWER_LAYER_DOWN = 7 /**< lower layer down. */
179} bcmolt_epon_oam_brcm_cmc_interface_status;
180
181/** CMC OAM interleaver modes
182 */
183typedef enum bcmolt_epon_oam_brcm_cmc_interleaver
184{
185 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I0 = 0, /**< {128,1}. */
186 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I1 = 1, /**< {128,2}. */
187 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I2 = 2, /**< {64,2}. */
188 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I3 = 3, /**< {128,3}. */
189 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I4 = 4, /**< {32,4}. */
190 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I5 = 5, /**< {128,4}. */
191 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I6 = 6, /**< {16,8}. */
192 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I7 = 7, /**< {128,5}. */
193 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I8 = 8, /**< {8,16}. */
194 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I9 = 9, /**< {128,6}. */
195 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I10 = 10, /**< {4,32}. */
196 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I11 = 11, /**< {128,7}. */
197 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I12 = 12, /**< {2,64}. */
198 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I13 = 13, /**< {128,8}. */
199 BCMOLT_EPON_OAM_BRCM_CMC_INTERLEAVER_I14 = 14 /**< {1,128}. */
200} bcmolt_epon_oam_brcm_cmc_interleaver;
201
202/** CMC OAM Load Balancing Methods
203 */
204typedef enum bcmolt_epon_oam_brcm_cmc_load_balance_method
205{
206 BCMOLT_EPON_OAM_BRCM_CMC_LOAD_BALANCE_METHOD_STAT = 1, /**< Based on sums of Min Guaranteed Rates */
207 BCMOLT_EPON_OAM_BRCM_CMC_LOAD_BALANCE_METHOD_DYNAMIC = 2 /**< Based on channel utilization */
208} bcmolt_epon_oam_brcm_cmc_load_balance_method;
209
210/** CMC OAM modulation modes
211 */
212typedef enum bcmolt_epon_oam_brcm_cmc_modulation
213{
214 BCMOLT_EPON_OAM_BRCM_CMC_MODULATION_QAM64 = 0, /**< QAM64. */
215 BCMOLT_EPON_OAM_BRCM_CMC_MODULATION_QAM256 = 1, /**< QAM256. */
216 BCMOLT_EPON_OAM_BRCM_CMC_MODULATION_QAM1024 = 2 /**< QAM1024. */
217} bcmolt_epon_oam_brcm_cmc_modulation;
218
219/** CMC OAM US modulation types
220 */
221typedef enum bcmolt_epon_oam_brcm_cmc_us_modulation_type
222{
223 BCMOLT_EPON_OAM_BRCM_CMC_US_MODULATION_TYPE_UNKNOWN = 0, /**< Unknown. */
224 BCMOLT_EPON_OAM_BRCM_CMC_US_MODULATION_TYPE_TDMA = 1, /**< TDMA. */
225 BCMOLT_EPON_OAM_BRCM_CMC_US_MODULATION_TYPE_ATDMA = 2, /**< ATDMA. */
226 BCMOLT_EPON_OAM_BRCM_CMC_US_MODULATION_TYPE_SCDMA = 3, /**< SCDMA. */
227 BCMOLT_EPON_OAM_BRCM_CMC_US_MODULATION_TYPE_TDMA_ATDMA = 4 /**< TDMA-ATDMA. */
228} bcmolt_epon_oam_brcm_cmc_us_modulation_type;
229
230/** CMC OAM US profile types
231 */
232typedef enum bcmolt_epon_oam_brcm_cmc_us_profile_type
233{
234 BCMOLT_EPON_OAM_BRCM_CMC_US_PROFILE_TYPE_FAIR = 0, /**< Fair. */
235 BCMOLT_EPON_OAM_BRCM_CMC_US_PROFILE_TYPE_GOOD = 1, /**< Good. */
236 BCMOLT_EPON_OAM_BRCM_CMC_US_PROFILE_TYPE_BEST = 2 /**< Best. */
237} bcmolt_epon_oam_brcm_cmc_us_profile_type;
238
239/** CNU Connectivity State
240 */
241typedef enum bcmolt_epon_oam_brcm_cnu_connectivity_state
242{
243 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_OTHER = 1, /**< Other. */
244 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_INITIAL_RANGING = 2, /**< Initial Ranging. */
245 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_RANGING_AUTO_ADJ_COMPLETE = 4, /**< Ranging Auto Adj Complete. */
246 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_DHCP_V4COMPLETE = 5, /**< Dhcp V4 Complete. */
247 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_REGISTRATION_COMPLETE = 6, /**< Registration Complete. */
248 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_OPERATIONAL = 8, /**< Operational. */
249 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_BPI_INIT = 9, /**< Bpi Init. */
250 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_START_EAE = 10, /**< Start EAE. */
251 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_START_DHCP_V4 = 11, /**< Start Dhcp V4. */
252 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_START_DHCP_V6 = 12, /**< Start Dhcp V6. */
253 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_DHCP_V6COMPLETE = 13, /**< Dhcp V6 Complete. */
254 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_START_CONFIG_FILE_DOWNLOAD = 14, /**< Start Config File Download. */
255 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_CONFIG_FILE_DOWNLOAD_COMPLETE = 15, /**< Config File Download Complete. */
256 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_START_REGISTRATION = 16, /**< Start Registration. */
257 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_FORWARDING_DISABLED = 17, /**< Forwarding Disabled. */
258 BCMOLT_EPON_OAM_BRCM_CNU_CONNECTIVITY_STATE_RF_MUTE_ALL = 18 /**< Rf Mute All. */
259} bcmolt_epon_oam_brcm_cnu_connectivity_state;
260
261/** Version of DOCSIS that CNU is operating in
262 */
263typedef enum bcmolt_epon_oam_brcm_cnu_docsis_version
264{
265 BCMOLT_EPON_OAM_BRCM_CNU_DOCSIS_VERSION_DOCSIS10 = 1, /**< Docsis10. */
266 BCMOLT_EPON_OAM_BRCM_CNU_DOCSIS_VERSION_DOCSIS11 = 2, /**< Docsis11. */
267 BCMOLT_EPON_OAM_BRCM_CNU_DOCSIS_VERSION_DOCSIS20 = 3, /**< Docsis20. */
268 BCMOLT_EPON_OAM_BRCM_CNU_DOCSIS_VERSION_DOCSIS30 = 4 /**< Docsis30. */
269} bcmolt_epon_oam_brcm_cnu_docsis_version;
270
271/** CNU IP Address Types
272 */
273typedef enum bcmolt_epon_oam_brcm_cnu_ipaddr_type
274{
275 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_UNKNOWN = 1, /**< Unknown. */
276 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_IPV4 = 2, /**< IPv4. */
277 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_IPV6 = 3, /**< IPv6. */
278 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_IPV4Z = 4, /**< IPv4z. */
279 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_IPV6Z = 5, /**< IPv6z. */
280 BCMOLT_EPON_OAM_BRCM_CNU_IPADDR_TYPE_DNS = 16 /**< DNS. */
281} bcmolt_epon_oam_brcm_cnu_ipaddr_type;
282
283/** CMC OAM PDU opcodes
284 */
285typedef enum bcmolt_epon_oam_brcm_oam_pdu_opcode
286{
287 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_DOWNSTREAM_CONFIG_REQUEST = 1, /**< Request to configure downstream channel(s) */
288 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_DOWNSTREAM_CONFIG_RESPONSE = 2, /**< Response to configure downstream channel(s) */
289 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_DOWNSTREAM_CONFIG_REQUEST = 3, /**< Request to retrieve current downstream channel(s) configuration */
290 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_DOWNSTREAM_CONFIG_RESPONSE = 4, /**< Response to retrieve current downstream channel(s) configuration */
291 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_UPSTREAM_CONFIG_REQUEST = 5, /**< Request to configure upstream channel(s) */
292 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_UPSTREAM_CONFIG_RESPONSE = 6, /**< Response to configure upstream channel(s) */
293 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_CONFIG_REQUEST = 7, /**< Request to retrieve current upstream channel(s) configuration */
294 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_CONFIG_RESPONSE = 8, /**< Response to retrieve current upstream channel(s) configuration */
295 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MOVE_CNU_DOWNSTREAM_REQUEST = 9, /**< Request to configure CNU with a particular primary downstream channel */
296 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MOVE_CNU_DOWNSTREAM_RESPONSE = 10, /**< Response to configure CNU with a particular primary downstream channel */
297 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MOVE_CNU_DOWNSTREAM_REQUEST = 11, /**< Request to retrieve CNU’s current primary downstream channel */
298 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MOVE_CNU_DOWNSTREAM_RESPONSE = 12, /**< Response to retrieve CNU’s current primary downstream channel */
299 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MOVE_CNU_UPSTREAM_REQUEST = 13, /**< Request to configure CNU with a particular primary upstream channel */
300 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MOVE_CNU_UPSTREAM_RESPONSE = 14, /**< Response to configure CNU with a particular primary upstream channel */
301 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MOVE_CNU_UPSTREAM_REQUEST = 15, /**< Request to retrieve CNU’s current primary upstream channel */
302 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MOVE_CNU_UPSTREAM_RESPONSE = 16, /**< Response to retrieve CNU’s current primary upstream channel */
303 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MAX_UPSTREAM_RFATTENUATION_REQUEST = 17, /**< Request to set maximum RF attenuation level */
304 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_MAX_UPSTREAM_RFATTENUATION_RESPONSE = 18, /**< Response to set maximum RF attenuation level */
305 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MAX_UPSTREAM_RFATTENUATION_REQUEST = 19, /**< Request to get maximum RF attenuation level */
306 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_MAX_UPSTREAM_RFATTENUATION_RESPONSE = 20, /**< Response to get maximum RF attenuation level */
307 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_CREATE_LOAD_BALANCING_GROUP_REQUEST = 21, /**< Request for creating a load balancing group */
308 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_CREATE_LOAD_BALANCING_GROUP_RESPONSE = 22, /**< Response for creating a load balancing group request */
309 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUPS_REQUEST = 23, /**< Request to get a list of load balancing groups */
310 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUPS_RESPONSE = 24, /**< Response to get load balancing groups request */
311 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_DOWNSTREAMS_TO_LOAD_BALANCING_GROUP_REQUEST = 25, /**< Request to add downstreams to a load balancing group */
312 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_DOWNSTREAMS_TO_LOAD_BALANCING_GROUP_RESPONSE= 26, /**< Response to add downstreams to a load balancing group request */
313 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_DOWNSTREAMS_REQUEST = 27, /**< Request to get list of downstreams in a load balancing group */
314 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_DOWNSTREAMS_RESPONSE = 28, /**< Response to get list of downstreams in a load balancing group request */
315 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_UPSTREAMS_TO_LOAD_BALANCING_GROUP_REQUEST = 29, /**< Request to add upstreams to a load balancing group */
316 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_UPSTREAMS_TO_LOAD_BALANCING_GROUP_RESPONSE = 30, /**< Response to add upstreams to a load balancing group request */
317 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_UPSTREAMS_REQUEST = 31, /**< Request to get list of upstreams in a load balancing group */
318 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_UPSTREAMS_RESPONSE = 32, /**< Response to get list of upstreams in a load balancing group request */
319 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_CNUS_TO_LOAD_BALANCING_GROUP_REQUEST = 33, /**< Request to add CNUs to a load balancing group */
320 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_ADD_CNUS_TO_LOAD_BALANCING_GROUP_RESPONSE = 34, /**< Response to add CNUs to a load balancing group request */
321 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_CNU_CONFIGURATION_REQUEST = 35, /**< Request to get load balancing group CNU configuration */
322 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_CNU_CONFIGURATION_RESPONSE = 36, /**< Response to get load balancing group CNU configuration request */
323 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_ACTIVE_CNUS_REQUEST = 37, /**< Request to get the active list of CNUs associated with the specified load balancing group */
324 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_LOAD_BALANCING_GROUP_ACTIVE_CNUS_RESPONSE = 38, /**< Response to the get active list of CNUs associated with the specified load balancing group */
325 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_EXCLUDE_CNUS_FROM_LOAD_BALANCING_REQUEST = 39, /**< Request to exclude CNUs from load balancing */
326 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_EXCLUDE_CNUS_FROM_LOAD_BALANCING_RESPONSE = 40, /**< Response to exclude CNUs from load balancing request */
327 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_EXCLUDED_CNUS_CONFIGURATION_REQUEST = 41, /**< Request to get excluded CNUs from load balancing configuration */
328 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_EXCLUDED_CNU_CONFIGURATION_RESPONSE = 42, /**< Response to get excluded CNUs from load balancing configuration request */
329 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_EXCLUDED_ACTIVE_CNUS_REQUEST = 43, /**< Request to get the active excluded CNUs from load balancing list */
330 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_EXCLUDED_ACTIVE_CNUS_RESPONSE = 44, /**< Response to get active excluded CNUs from load balancing request */
331 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_FULL_LOAD_BALANCING_GROUP_REQUEST = 45, /**< Request to configure the specified Load Balancing groups */
332 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_FULL_LOAD_BALANCING_GROUP_RESPONSE = 46, /**< Response to configuration request for Load Balancing groups */
333 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_FULL_LOAD_BALANCING_GROUP_REQUEST = 47, /**< Request to retrieve detailed active Load Balancing Groups */
334 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_FULL_LOAD_BALANCING_GROUP_RESPONSE = 48, /**< Response to retrieve detailed active Load Balancing Groups */
335 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_UPSTREAM_INPUT_POWER_REQUEST = 49, /**< Request to configure upstream channel input power level */
336 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_SET_UPSTREAM_INPUT_POWER_RESPONSE = 50, /**< Response to configure upstream channel input power level */
337 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_INPUT_POWER_REQUEST = 51, /**< Request to retrieve upstream input power level */
338 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_INPUT_POWER_RESPONSE = 52, /**< Response to retrieve upstream input power level */
339 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CNU_STATUS_REQUEST = 1793, /**< Request to retrieve CNU status information */
340 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CNU_STATUS_RESPONSE = 1794, /**< Response to retrieve CNU status information */
341 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_INTERFACES_REQUEST = 1795, /**< Request to retrieve CMC interface attributes */
342 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_INTERFACES_RESPONSE = 1796, /**< Response to retrieve CMC interface attributes */
343 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_MAC_STATISTICS_REQUEST = 1797, /**< Request to retrieve CMC MAC statistics */
344 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_MAC_STATISTICS_RESPONSE = 1798, /**< Response to retrieve CMC MAC statistics */
345 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_SERVICES_REQUEST = 1799, /**< Request to retrieve Upstream service attributes */
346 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_SERVICES_RESPONSE = 1800, /**< Response to retrieve Upstream service attributes */
347 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_SIGNAL_QUALITY_REQUEST = 1801, /**< Request to retrieve Upstream PHY Signal Quality data */
348 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_SIGNAL_QUALITY_RESPONSE = 1802, /**< Response to retrieve Upstream PHY Signal Quality data */
349 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_INTERFACES_STATISTICS_REQUEST = 1803, /**< Request to retrieve CMC interface statistics */
350 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_CMC_INTERFACES_STATISTICS_RESPONSE = 1804, /**< Response to retrieve CMC interface statistics */
351 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_DOWNSTREAM_BONDING_GROUP_STATUS_REQUEST = 1805, /**< Request to retrieve Downstream Bonding Group status information */
352 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_DOWNSTREAM_BONDING_GROUP_STATUS_RESPONSE = 1806, /**< Response to retrieve Downstream Bonding Group status information */
353 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_BONDING_GROUP_STATUS_REQUEST = 1807, /**< Request to retrieve Upstream Bonding Group status information */
354 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_UPSTREAM_BONDING_GROUP_STATUS_RESPONSE = 1808, /**< Response to retrieve Upstream Bonding Group status information */
355 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_SERVICE_FLOW_CONFIG_REQUEST = 1809, /**< Request to retrieve data for configured QoS service flows */
356 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_SERVICE_FLOW_CONFIG_RESPONSE = 1810, /**< Response to retrieve data for configured QoS service flows */
357 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_SERVICE_FLOW_STATISTICS_REQUEST = 1811, /**< Request to retrieve service flow statistics */
358 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_SERVICE_FLOW_STATISTICS_RESPONSE = 1812, /**< Response to retrieve service flow statistics */
359 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_PACKET_CLASSIFIER_CONFIG_REQUEST = 1813, /**< Request to retrieve data for packet classification rules */
360 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_GET_QOS_PACKET_CLASSIFIER_CONFIG_RESPONSE = 1814, /**< Response to retrieve data for packet classification rules */
361 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_REG_RSP_EVENT_MESSAGE = 4096, /**< Autonomous event to report a REG-RSP associated with a CNU */
362 BCMOLT_EPON_OAM_BRCM_OAM_PDU_OPCODE_CMC_SYSTEM_EVENT_MESSAGE = 4097 /**< Autonomous event to report a CMC System message */
363} bcmolt_epon_oam_brcm_oam_pdu_opcode;
364
365/** Clock Transport Key.
366 */
367typedef enum bcmolt_epon_oam_clock_transport_key
368{
369 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_ALL = 0, /**< All. */
370 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_INIT = 1, /**< Init. */
371 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_TOD_ENABLE = 2, /**< TOD Enable. */
372 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_PPS_ENABLE = 3, /**< 1PPS Enable. */
373 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_ADJUST = 4, /**< Adjust. */
374 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_PON_RANGE = 5, /**< PON Range. */
375 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_FAKE_MPCP_JUMP = 6, /**< Fake MPCP Jump. */
376 BCMOLT_EPON_OAM_CLOCK_TRANSPORT_KEY_HALF_PERIOD = 7 /**< Half Period. */
377} bcmolt_epon_oam_clock_transport_key;
378
379/** Var Leaf Action.
380 */
381typedef enum bcmolt_epon_oam_var_leaf_action
382{
383 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAC_INIT = 1, /**< MAC Init. */
384 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAC_ADD_GROUP_ADDRESS = 2, /**< MAC Add Group Address. */
385 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAC_DEL_GROUP_ADDRESS = 3, /**< MAC Del Group Address. */
386 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAC_SELF_TEST = 4, /**< MAC Self Test. */
387 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_PHY_ADMIN_CONTROL = 5, /**< PHY Admin Control. */
388 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_RPT_RESET = 6, /**< Report Reset. */
389 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_RPT_IN_SERVICE_TEST = 7, /**< Report In Service Test. */
390 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_PORT_ADMIN_CONTROL = 8, /**< Port Admin Control. */
391 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAU_RESET = 9, /**< MAU Reset. */
392 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_MAU_ADMIN_CONTROL = 10, /**< MAU Admin Control. */
393 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_AUTO_RENEGOTIATE = 11, /**< Auto Renegotiate. */
394 BCMOLT_EPON_OAM_VAR_LEAF_ACTION_AUTO_ADMIN_CONTROL = 12 /**< Auto Admin Control. */
395} bcmolt_epon_oam_var_leaf_action;
396
397/** CTC Enabled State.
398 */
399typedef enum bcmolt_epon_oam_ctc_enabled_state
400{
401 BCMOLT_EPON_OAM_CTC_ENABLED_STATE_DISABLED = 1, /**< Disabled. */
402 BCMOLT_EPON_OAM_CTC_ENABLED_STATE_ENABLED = 2 /**< Enabled. */
403} bcmolt_epon_oam_ctc_enabled_state;
404
405/** CTC Activation.
406 */
407typedef enum bcmolt_epon_oam_ctc_activation
408{
409 BCMOLT_EPON_OAM_CTC_ACTIVATION_DEACTIVATE = 1, /**< Deactivate. */
410 BCMOLT_EPON_OAM_CTC_ACTIVATION_ACTIVATE = 2 /**< Activate. */
411} bcmolt_epon_oam_ctc_activation;
412
413/** CTC Leaf Management Object.
414 */
415typedef enum bcmolt_epon_oam_ctc_leaf_management_object
416{
417 BCMOLT_EPON_OAM_CTC_LEAF_MANAGEMENT_OBJECT_PORT = 1, /**< Port. */
418 BCMOLT_EPON_OAM_CTC_LEAF_MANAGEMENT_OBJECT_CARD = 2, /**< Card. */
419 BCMOLT_EPON_OAM_CTC_LEAF_MANAGEMENT_OBJECT_LLID = 3, /**< LLID. */
420 BCMOLT_EPON_OAM_CTC_LEAF_MANAGEMENT_OBJECT_PON_IF = 4, /**< PON I/F. */
421 BCMOLT_EPON_OAM_CTC_LEAF_MANAGEMENT_OBJECT_ONU = 65535U /**< ONU. */
422} bcmolt_epon_oam_ctc_leaf_management_object;
423
424/** CTC ONU Alarm ID
425 */
426typedef enum bcmolt_epon_oam_ctc_onu_alarm_id
427{
428 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_EQUIPMENT_ALARM = 1, /**< ONU Equipment Alarm */
429 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_POWER_ALARM = 2, /**< ONU Power Alarm */
430 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_BATTERY_MISSING = 3, /**< ONU Battery Missing */
431 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_BATTERY_FAILURE = 4, /**< ONU Battery Failure */
432 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_BATTERY_VOLT_LOW = 5, /**< ONU Battery Volt Low */
433 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_PHYSICAL_INSTRUCTION_ALARM = 6, /**< Onu Physical Instruction Alarm */
434 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_SELF_TEST_FAILURE = 7, /**< Onu Self Test Failure */
435 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_TEMP_HIGH_ALARM = 9, /**< Onu Temp High Alarm */
436 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_TEMP_LOW_ALARM = 10, /**< Onu Temp Low Alarm */
437 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_IAD_CONNECTION_FAILURE = 11, /**< Onu Iad Connection Failure */
438 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_PON_IF_SWITCH = 12, /**< Onu Pon If Switch */
439 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ONU_SLEEP_STATUS_UPDATE = 13, /**< Onu Sleep Status Update */
440 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_RX_POWER_HIGH_ALARM = 257, /**< Pon If Rx Power High Alarm */
441 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_RX_POWER_LOW_ALARM = 258, /**< Pon If Rx Power Low Alarm */
442 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_POWER_HIGH_ALARM = 259, /**< Pon If Tx Power High Alarm */
443 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_POWER_LOW_ALARM = 260, /**< Pon If Tx Power Low Alarm */
444 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_BIAS_HIGH_ALARM = 261, /**< Pon If Tx Bias High Alarm */
445 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_BIAS_LOW_ALARM = 262, /**< Pon If Tx Bias Low Alarm */
446 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_VCC_HIGH_ALARM = 263, /**< Pon If Vcc High Alarm */
447 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_VCC_LOW_ALARM = 264, /**< Pon If Vcc Low Alarm */
448 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TEMP_HIGH_ALARM = 265, /**< Pon If Temp High Alarm */
449 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TEMP_LOW_ALARM = 266, /**< Pon If Temp Low Alarm */
450 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_RX_POWER_HIGH_WARNING = 267, /**< Pon If Rx Power High Warning */
451 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_RX_POWER_LOW_WARNING = 268, /**< Pon If Rx Power Low Warning */
452 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_POWER_HIGH_WARNING = 269, /**< Pon If Tx Power High Warning */
453 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_POWER_LOW_WARNING = 270, /**< Pon If Tx Power Low Warning */
454 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_BIAS_HIGH_WARNING = 271, /**< Pon If Tx Bias High Warning */
455 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TX_BIAS_LOW_WARNING = 272, /**< Pon If Tx Bias Low Warning */
456 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_VCC_HIGH_WARNING = 273, /**< Pon If Vcc High Warning */
457 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_VCC_LOW_WARNING = 274, /**< Pon If Vcc Low Warning */
458 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TEMP_HIGH_WARNING = 275, /**< Pon If Temp High Warning */
459 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_TEMP_LOW_WARNING = 276, /**< Pon If Temp Low Warning */
460 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_DROP_EVENTS_ALARM = 277, /**< Pon If Downstream Drop Events Alarm */
461 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_DROP_EVENTS_ALARM = 278, /**< Pon If Upstream Drop Events Alarm */
462 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_CRC_ERROR_FRAMES_ALARM = 279, /**< Pon If Downstream CRC Error Frames Alarm */
463 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_CRC_ERROR_FRAMES_ALARM = 280, /**< Pon If Upstream CRC Error Frames Alarm */
464 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_UNDERSIZE_FRAMES_ALARM = 281, /**< Pon If Downstream Undersize Frames Alarm */
465 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_UNDERSIZE_FRAMES_ALARM = 282, /**< Pon If Upstream Undersize Frames Alarm */
466 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_OVERSIZE_FRAMES_ALARM = 283, /**< Pon If Downstream Oversize Frames Alarm */
467 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_OVERSIZE_FRAMES_ALARM = 284, /**< Pon If Upstream Oversize Frames Alarm */
468 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_FRAGMENTS_ALARM = 285, /**< Pon If Downstream Fragments Alarm */
469 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_FRAGMENTS_ALARM = 286, /**< Pon If Upstream Fragments Alarm */
470 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_JABBERS_ALARM = 287, /**< Pon If Downstream Jabbers Alarm */
471 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_JABBERS_ALARM = 288, /**< Pon If Upstream Jabbers Alarm */
472 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_DISCARDS_ALARM = 289, /**< Pon If Downstream Discards Alarm */
473 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_DISCARDS_ALARM = 290, /**< Pon If Upstream Discards Alarm */
474 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_ERRORS_ALARM = 291, /**< Pon If Downstream Errors Alarm */
475 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_ERROS_ALARM = 292, /**< Pon If Upstream Erros Alarm */
476 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_DROP_EVERNTS_WARNING = 293, /**< Pon If Downstream Drop Evernts Warning */
477 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_DROP_EVENTS_WARNING = 294, /**< Pon If Upstream Drop Events Warning */
478 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_CRC_ERROR_FRAMES_WARNING = 295, /**< Pon If Downstream CRC Error Frames Warning */
479 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_CRC_ERROR_FRAMES_WARNING = 296, /**< Pon If Upstream CRC Error Frames Warning */
480 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_UNDERSIZE_FRAMES_WARNING = 297, /**< Pon If Downstream Undersize Frames Warning */
481 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_UNDERSIZE_FRAMES_WARNING = 298, /**< Pon If Upstream Undersize Frames Warning */
482 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_OVERSIZE_FRAMES_WARNING = 299, /**< Pon If Downstream Oversize Frames Warning */
483 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_OVERSIZE_FRAMES_WARNING = 300, /**< Pon If Upstream Oversize Frames Warning */
484 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_FRAGMENTS_WARNING = 301, /**< Pon If Downstream Fragments Warning */
485 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_FRAGMENTS_WARNING = 302, /**< Pon If Upstream Fragments Warning */
486 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_JABBERS_WARNING = 303, /**< Pon If Downstream Jabbers Warning */
487 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_JABBERS_WARNING = 304, /**< Pon If Upstream Jabbers Warning */
488 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_DISCARDS_WARNING = 305, /**< Pon If Downstream Discards Warning */
489 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_DISCARDS_WARNING = 306, /**< Pon If Upstream Discards Warning */
490 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_DOWNSTREAM_ERRORS_WARNING = 307, /**< Pon If Downstream Errors Warning */
491 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PON_IF_UPSTREAM_ERROS_WARNING = 308, /**< Pon If Upstream Erros Warning */
492 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_CARD_ALARM = 513, /**< Card Alarm */
493 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_CARD_SELF_TEST_FAILURE = 514, /**< Card Self Test Failure */
494 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ETH_PORT_AUTO_NEG_FAILURE = 769, /**< Eth Port Auto Neg Failure */
495 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ETH_PORT_LOS = 770, /**< Eth Port Los */
496 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ETH_PORT_FAILURE = 771, /**< Eth Port Failure */
497 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ETH_PORT_LOOPBACK = 772, /**< Eth Port Loopback */
498 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_ETH_PORT_CONGESTION = 773, /**< Eth Port Congestion */
499 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_DROP_EVENTS_ALARM = 774, /**< Port Downstream Drop Events Alarm */
500 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_DROP_EVENTS_ALARM = 775, /**< Port Upstream Drop Events Alarm */
501 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_CRC_ERROR_FRAMES_ALARM = 776, /**< Port Downstream CRC Error Frames Alarm */
502 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_CRC_ERROR_FRAMES_ALARM = 777, /**< Port Upstream CRC Error Frames Alarm */
503 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_UNDERSIZE_FRAMES_ALARM = 778, /**< Port Downstream Undersize Frames Alarm */
504 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_UNDERSIZE_FRAMES_ALARM = 779, /**< Port Upstream Undersize Frames Alarm */
505 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_OVERSIZE_FRAMES_ALARM = 780, /**< Port Downstream Oversize Frames Alarm */
506 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_OVERSIZE_FRAMES_ALARM = 781, /**< Port Upstream Oversize Frames Alarm */
507 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_FRAGMENTS_ALARM = 782, /**< Port Downstream Fragments Alarm */
508 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_FRAGMENTS_ALARM = 783, /**< Port Upstream Fragments Alarm */
509 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_JABBERS_ALARM = 784, /**< Port Downstream Jabbers Alarm */
510 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_JABBERS_ALARM = 785, /**< Port Upstream Jabbers Alarm */
511 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_DISCARDS_ALARM = 786, /**< Port Downstream Discards Alarm */
512 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_DISCARDS_ALARM = 787, /**< Port Upstream Discards Alarm */
513 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_ERRORS_ALARM = 788, /**< Port Downstream Errors Alarm */
514 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_ERRORS_ALARM = 789, /**< Port Upstream Errors Alarm */
515 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_STATUS_CHANGE_TIMES_ALARM = 790, /**< Port Status Change Times Alarm */
516 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_DROP_EVENTS_WARNING = 791, /**< Port Downstream Drop Events Warning */
517 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_DROP_EVENTS_WARNING = 792, /**< Port Upstream Drop Events Warning */
518 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_CRC_ERROR_FRAMES_WARNING = 793, /**< Port Downstream CRC Error Frames Warning */
519 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_CRC_ERROR_FRAMES_WARNING = 794, /**< Port Upstream CRC Error Frames Warning */
520 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_UNDERSIZE_FRAMES_WARNING = 795, /**< Port Downstream Undersize Frames Warning */
521 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_UNDERSIZE_FRAMES_WARNING = 796, /**< Port Upstream Undersize Frames Warning */
522 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_OVERSIZE_FRAMES_WARNING = 797, /**< Port Downstream Oversize Frames Warning */
523 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_OVERSIZE_FRAMES_WARNING = 798, /**< Port Upstream Oversize Frames Warning */
524 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_FRAGMENTS_WARNING = 799, /**< Port Downstream Fragments Warning */
525 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_FRAGMENTS_WARNING = 800, /**< Port Upstream Fragments Warning */
526 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_JABBERS_WARNING = 801, /**< Port Downstream Jabbers Warning */
527 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_JABBERS_WARNING = 802, /**< Port Upstream Jabbers Warning */
528 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_DISCARDS_WARNING = 803, /**< Port Downstream Discards Warning */
529 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_DISCARDS_WARNING = 804, /**< Port Upstream Discards Warning */
530 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_DOWNSTREAM_ERRORS_WARNING = 805, /**< Port Downstream Errors Warning */
531 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_UPSTREAM_ERRORS_WARNING = 806, /**< Port Upstream Errors Warning */
532 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_PORT_STATUS_CHANGE_TIMES_WARNING = 807, /**< Port Status Change Times Warning */
533 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_POTS_PORT_FAILURE = 1025, /**< P O T S Port Failure */
534 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_E1PORT_FAILURE = 1281, /**< E1 Port Failure */
535 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_E1TIMING_UNLOCK = 1282, /**< E1 Timing Unlock */
536 BCMOLT_EPON_OAM_CTC_ONU_ALARM_ID_E1LOS = 1283 /**< E1 Los */
537} bcmolt_epon_oam_ctc_onu_alarm_id;
538
539/** CTC ONU Power Alarm Code
540 */
541typedef enum bcmolt_epon_oam_ctc_power_alarm_code
542{
543 BCMOLT_EPON_OAM_CTC_POWER_ALARM_CODE_NEVER_MATCH = 0, /**< Never match */
544 BCMOLT_EPON_OAM_CTC_POWER_ALARM_CODE_POWER_DOWN = 1, /**< Power down */
545 BCMOLT_EPON_OAM_CTC_POWER_ALARM_CODE_POWER_VOLT_OVER = 2, /**< Power Voltage Over */
546 BCMOLT_EPON_OAM_CTC_POWER_ALARM_CODE_POWER_VOLT_LESS = 3 /**< Power Voltage Less */
547} bcmolt_epon_oam_ctc_power_alarm_code;
548
549/** CTC PON IF Switch Code
550 */
551typedef enum bcmolt_epon_oam_ctc_pon_if_switch_code
552{
553 BCMOLT_EPON_OAM_CTC_PON_IF_SWITCH_CODE_NEVER_MATCH = 0, /**< Never match */
554 BCMOLT_EPON_OAM_CTC_PON_IF_SWITCH_CODE_SIGNAL_LOS = 1, /**< Signal Los */
555 BCMOLT_EPON_OAM_CTC_PON_IF_SWITCH_CODE_SIGNAL_DEGRADE = 2, /**< Signal Degrade */
556 BCMOLT_EPON_OAM_CTC_PON_IF_SWITCH_CODE_HARDWARE_FAULT = 3 /**< Hardware Fault */
557} bcmolt_epon_oam_ctc_pon_if_switch_code;
558
559/** Var Leaf Attribute.
560 */
561typedef enum bcmolt_epon_oam_var_leaf_attribute
562{
563 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_ID = 1, /**< MAC ID. */
564 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAMES_TX_OK = 2, /**< MAC Frames Tx Ok. */
565 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_SINGLE_COLL_FRAMES = 3, /**< MAC Single Coll Frames. */
566 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_MULTIPLE_COLL_FRAMES = 4, /**< MAC Multiple Coll Frames. */
567 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAMES_RX_OK = 5, /**< MAC Frames Rx Ok. */
568 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FCS_ERR = 6, /**< MAC FCS Err. */
569 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_ALIGN_ERR = 7, /**< MAC Align Err. */
570 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_OCTETS_TX_OK = 8, /**< MAC Octets Tx Ok. */
571 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAMES_DEFERRED = 9, /**< MAC Frames Deferred. */
572 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_LATE_COLLISIONS = 10, /**< MAC Late Collisions. */
573 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_EXCESSIVE_COLLISIONS = 11, /**< MAC Excessive Collisions. */
574 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAMES_LOST_MAC_TX_ERR = 12, /**< MAC Frames Lost MAC Tx Err. */
575 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CARRIER_SENSE_ERR = 13, /**< MAC Carrier Sense Err. */
576 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_OCTETS_RX_OK = 14, /**< MAC Octets Rx Ok. */
577 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAMES_LOST_MAC_RX_ERR = 15, /**< MAC Frames Lost MAC Rx Err. */
578 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_PROMISCUOUS_STATUS = 16, /**< MAC Promiscuous Status. */
579 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_MCAST_ADDR_LIST = 17, /**< MAC Mcast Addr List. */
580 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_MCAST_FRAMES_TX_OK = 18, /**< MAC Mcast Frames Tx Ok. */
581 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_BCAST_FRAMES_TX_OK = 19, /**< MAC Bcast Frames Tx Ok. */
582 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FR_EXCESSIVE_DEFERRAL = 20, /**< MAC Fr Excessive Deferral. */
583 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_MCAST_FRAMES_RX_OK = 21, /**< MAC Mcast Frames Rx Ok. */
584 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_BCAST_FRAMES_RX_OK = 22, /**< MAC Bcast Frames Rx Ok. */
585 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_IN_RANGE_LEN_ERR = 23, /**< MAC In Range Len Err. */
586 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_OUT_OF_RANGE_LEN_ERR = 24, /**< MAC Out Of Range Len Err. */
587 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_FRAME_TOO_LONG = 25, /**< MAC Frame Too Long. */
588 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_ENABLE_STATUS = 26, /**< MAC Enable Status. */
589 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_TX_ENABLE = 27, /**< MAC Tx Enable. */
590 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_MCAST_RX_STATUS = 28, /**< MAC Mcast Rx Status. */
591 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_ADDR = 29, /**< MAC Addr. */
592 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_COLLISION_FRAMES = 30, /**< MAC Collision Frames. */
593 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_ID = 31, /**< PHY ID. */
594 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_TYPE = 32, /**< PHY Type. */
595 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_TYPE_LIST = 33, /**< PHY Type List. */
596 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_SQE_TEST_ERR = 34, /**< PHY SQE Test Err. */
597 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_SYMBOL_ERR_DURING_CARRIER = 35, /**< PHY Symbol Err During Carrier. */
598 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_MII_DETECT = 36, /**< PHY MII Detect. */
599 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PHY_ADMIN_STATE = 37, /**< PHY Admin State. */
600 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_ID = 38, /**< Report ID. */
601 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_TYPE = 39, /**< Report Type. */
602 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_GROUP_CAPACITY = 40, /**< Report Group Capacity. */
603 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_GROUP_MAP = 41, /**< Report Group Map. */
604 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_HEALTH_STATE = 42, /**< Report Health State. */
605 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_HEALTH_TEXT = 43, /**< Report Health Text. */
606 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_HEALTH_DATA = 44, /**< Report Health Data. */
607 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_RPT_TX_COLLISIONS = 45, /**< Report Tx Collisions. */
608 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_GROUP_ID = 46, /**< Group ID. */
609 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_GROUP_PORT_CAPACITY = 47, /**< Group Port Capacity. */
610 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_GROUP_PORT_MAP = 48, /**< Group Port Map. */
611 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_ID = 49, /**< Port ID. */
612 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_ADMIN_STATE = 50, /**< Port Admin State. */
613 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_AUTO_PART_STATE = 51, /**< Port Auto Part State. */
614 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_READABLE_FRAMES = 52, /**< Port Readable Frames. */
615 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_READABLE_OCTETS = 53, /**< Port Readable Octets. */
616 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_FCS_ERR = 54, /**< Port FCS Err. */
617 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_ALIGN_ERR = 55, /**< Port Align Err. */
618 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_FRAMES_TOO_LONG = 56, /**< Port Frames Too Long. */
619 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_SHORT_EVENTS = 57, /**< Port Short Events. */
620 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_RUNTS = 58, /**< Port Runts. */
621 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_COLLISIONS = 59, /**< Port Collisions. */
622 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_LATE_EVENTS = 60, /**< Port Late Events. */
623 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_VERY_LONG_EVENTS = 61, /**< Port Very Long Events. */
624 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_DATA_RATE_MISMATCHES = 62, /**< Port Data Rate Mismatches. */
625 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_AUTO_PARTITIONS = 63, /**< Port Auto Partitions. */
626 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_ISOLATES = 64, /**< Port Isolates. */
627 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_SYM_ERR_DURING_PKT = 65, /**< Port Sym Err During Pkt. */
628 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_LAST_SOURCE_ADDR = 66, /**< Port Last Source Addr. */
629 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_SOURCE_ADDR_CHANGES = 67, /**< Port Source Addr Changes. */
630 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_PORT_BURSTS = 100, /**< Port Bursts. */
631 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_ID = 68, /**< MAU ID. */
632 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_TYPE = 69, /**< MAU Type. */
633 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_TYPE_LIST = 70, /**< MAU Type List. */
634 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_MEDIA_AVAIL = 71, /**< MAU Media Avail. */
635 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_LOSE_MEDIA_CTR = 72, /**< MAU Lose Media Ctr. */
636 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_JABBER = 73, /**< MAU Jabber. */
637 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_ADMIN_STATE = 74, /**< MAU Admin State. */
638 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_BAND_SPLIT_TYPE = 75, /**< MAU Band Split Type. */
639 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_BAND_SPLIT_FREQ = 76, /**< MAU Band Split Freq. */
640 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_FALSE_CARRIERS = 77, /**< MAU False Carriers. */
641 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_ID = 78, /**< Auto Neg ID. */
642 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_ADMIN_STATE = 79, /**< Auto Neg Admin State. */
643 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_REMOTE_SIG = 80, /**< Auto Neg Remote Sig. */
644 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_AUTO_CFG = 81, /**< Auto Neg Auto Cfg. */
645 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_LOCAL_TECH_ABILITY = 82, /**< Auto Neg Local Tech Ability. */
646 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_ADVERTISED_TECH_ABILITY = 83, /**< Auto Neg Advertised Tech Ability. */
647 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_RX_TECH = 84, /**< Auto Neg Rx Tech. */
648 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_LOCAL_SELECT_ABLE = 85, /**< Auto Neg Local Select Able. */
649 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_AD_SELECT_ABLE = 86, /**< Auto Neg Ad Select Able. */
650 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AUTO_NEG_RX_SELECT_ABLE = 87, /**< Auto Neg Rx Select Able. */
651 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CAPABILITIES = 89, /**< MAC Capabilities. */
652 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_DUPLEX_STATUS = 90, /**< MAC Duplex Status. */
653 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAU_IDLE_ERROR_COUNT = 91, /**< MAU Idle Error Count. */
654 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_ID = 92, /**< MAC Ctrl ID. */
655 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_FUNCS_SUPPORTED = 93, /**< MAC Ctrl Funcs Supported. */
656 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_FRAMES_TX = 94, /**< MAC Ctrl Frames Tx. */
657 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_FRAMES_RX = 95, /**< MAC Ctrl Frames Rx. */
658 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_UNSUPPORTED_OP_RX = 96, /**< MAC Ctrl Unsupported Op Rx. */
659 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_PAUSE_DELAY = 97, /**< MAC Ctrl Pause Delay. */
660 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_PAUSE_TX = 98, /**< MAC Ctrl Pause Tx. */
661 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MAC_CTRL_PAUSE_RX = 99, /**< MAC Ctrl Pause Rx. */
662 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ID = 101, /**< Agg ID. */
663 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_DESC = 102, /**< Agg Desc. */
664 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_NAME = 103, /**< Agg Name. */
665 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ACTOR_SYS_ID = 104, /**< Agg Actor Sys ID. */
666 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ACTOR_SYS_PRI = 105, /**< Agg Actor Sys Pri. */
667 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_AGG_OR_INDIVIDUAL = 106, /**< Agg Agg Or Individual. */
668 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ACTOR_ADMIN_KEY = 107, /**< Agg Actor Admin Key. */
669 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ACTOR_OPER_KEY = 108, /**< Agg Actor Oper Key. */
670 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_MAC_ADDR = 109, /**< Agg MAC Addr. */
671 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_PARTNER_SYS_ID = 110, /**< Agg Partner Sys ID. */
672 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_PARTNER_SYS_PRI = 111, /**< Agg Partner Sys Pri. */
673 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_PARTNER_OPER_KEY = 112, /**< Agg Partner Oper Key. */
674 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_ADMIN_STATE = 113, /**< Agg Admin State. */
675 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_OPER_STATE = 114, /**< Agg Oper State. */
676 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_TIME_OF_LAST_OPER_CHANGE = 115, /**< Agg Time Of Last Oper Change. */
677 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_DATA_RATE = 116, /**< Agg Data Rate. */
678 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_TX_OCTETS = 117, /**< Agg Tx Octets. */
679 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_RX_OCTETS = 118, /**< Agg Rx Octets. */
680 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_FRAMES_TX = 119, /**< Agg Frames Tx. */
681 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_FRAMES_RX = 120, /**< Agg Frames Rx. */
682 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_MCAST_TX = 121, /**< Agg Mcast Tx. */
683 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_MCAST_RX = 122, /**< Agg Mcast Rx. */
684 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_BCAST_TX = 123, /**< Agg Bcast Tx. */
685 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_BCAST_RX = 124, /**< Agg Bcast Rx. */
686 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_TX_DISCARD = 125, /**< Agg Tx Discard. */
687 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_RX_DISCARD = 126, /**< Agg Rx Discard. */
688 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_TX_ERR_FRAMES = 127, /**< Agg Tx Err Frames. */
689 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_RX_ERR_FRAMES = 128, /**< Agg Rx Err Frames. */
690 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_UNK_PROTOCOL = 129, /**< Agg Unk Protocol. */
691 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_LINK_UP_DOWN_NOTIFY_EN = 130, /**< Agg Link Up Down Notify En. */
692 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_PORT_LIST = 131, /**< Agg Port List. */
693 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_AGG_COLLECTOR_MAX_DELAY = 132, /**< Agg Collector Max Delay. */
694 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_ID = 200, /**< OAM ID. */
695 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_ADMIN_STATE = 201, /**< OAM Admin State. */
696 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_MODE = 202, /**< OAM Mode. */
697 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_MAC_ADDR = 203, /**< OAM Remote MAC Addr. */
698 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_CONFIG = 204, /**< OAM Remote Config. */
699 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_PDU_CONFIG = 205, /**< OAM Remote PDU Config. */
700 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_FLAGS = 206, /**< OAM Local Flags. */
701 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_FLAGS = 207, /**< OAM Remote Flags. */
702 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_STATE = 208, /**< OAM Remote State. */
703 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_VENDOR_OUI = 209, /**< OAM Remote Vendor OUI. */
704 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_VENDOR_DEVICE = 210, /**< OAM Remote Vendor Device. */
705 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_VENDOR_VERSION = 211, /**< OAM Remote Vendor Version. */
706 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_PDU_TX = 212, /**< OAM PDU Tx. */
707 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_PDU_RX = 213, /**< OAM PDU Rx. */
708 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_UNSUPPORTED_OPCODES = 214, /**< OAM Unsupported Opcodes. */
709 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_INFO_TX = 215, /**< OAM Info Tx. */
710 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_INFO_RX = 216, /**< OAM Info Rx. */
711 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_EVENT_TX = 217, /**< OAM Event Tx. */
712 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_UNIQUE_EVENT_RX = 218, /**< OAM Unique Event Rx. */
713 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_DUP_EVENT_RX = 219, /**< OAM Dup Event Rx. */
714 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOOP_TX = 220, /**< OAM Loop Tx. */
715 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOOP_RX = 221, /**< OAM Loop Rx. */
716 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_VAR_REQ_TX = 222, /**< OAM Var Req Tx. */
717 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_VAR_REQ_RX = 223, /**< OAM Var Req Rx. */
718 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_VAR_RESP_TX = 224, /**< OAM Var Resp Tx. */
719 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_VAR_RESP_RX = 225, /**< OAM Var Resp Rx. */
720 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_ORG_SPECIFIC_TX = 226, /**< OAM Org Specific Tx. */
721 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_ORG_SPECIFIC_RX = 227, /**< OAM Org Specific Rx. */
722 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_SYM_PERIOD_WIN = 228, /**< OAM Local Err Sym Period Win. */
723 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_SYM_PERIOD_THRESH = 229, /**< OAM Local Err Sym Period Thresh. */
724 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_SYM_PERIOD_EVENT = 230, /**< OAM Local Err Sym Period Event. */
725 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_SECS_WIN = 231, /**< OAM Local Err Frame Secs Win. */
726 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_SECS_THRESH = 232, /**< OAM Local Err Frame Secs Thresh. */
727 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_SECS_EVENT = 233, /**< OAM Local Err Frame Secs Event. */
728 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_PERIOD_WIN = 234, /**< OAM Local Err Frame Period Win. */
729 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_PERIOD_THRESH = 235, /**< OAM Local Err Frame Period Thresh. */
730 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FRAME_PERIOD_EVENT = 236, /**< OAM Local Err Frame Period Event. */
731 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FR_SEC_SUM_WIN = 237, /**< OAM Local Err Fr Sec Sum Win. */
732 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FR_SEC_SUM_THRESH = 238, /**< OAM Local Err Fr Sec Sum Thresh. */
733 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_LOCAL_ERR_FR_SEC_SUM_EVENT = 239, /**< OAM Local Err Fr Sec Sum Event. */
734 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_SECS_WIN = 240, /**< OAM Remote Err Frame Secs Win. */
735 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_SECS_THRESH = 241, /**< OAM Remote Err Frame Secs Thresh. */
736 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_SECS_EVENT = 242, /**< OAM Remote Err Frame Secs Event. */
737 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_PERIOD_WIN = 243, /**< OAM Remote Err Frame Period Win. */
738 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_PERIOD_THRESH = 244, /**< OAM Remote Err Frame Period Thresh. */
739 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_REMOTE_ERR_FRAME_PERIOD_EVENT = 245, /**< OAM Remote Err Frame Period Event. */
740 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_FRAMES_LOST_OAM_ERR = 246, /**< OAM Frames Lost OAM Err. */
741 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_EMUL_ID = 247, /**< OAM Emul ID. */
742 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_EMUL_SPD_ERR = 248, /**< OAM Emul Spd Err. */
743 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_EMUL_CRC8ERR = 249, /**< OAM Emul CRC8 Err. */
744 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_OAM_EMUL_BAD_LLID_ERR = 250, /**< OAM Emul Bad LLID Err. */
745 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_MAC_CTRL_FRAMES_TX = 280, /**< MPCP MAC Ctrl Frames Tx. */
746 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_MAC_CTRL_FRAMES_RX = 281, /**< MPCP MAC Ctrl Frames Rx. */
747 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_DISCOVERY_WINDOW_TX = 288, /**< MPCP Discovery Window Tx. */
748 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_DISCOVERY_TIMEOUT = 290, /**< MPCP Discovery Timeout. */
749 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_FEC_CORRECTED_BLOCKS = 292, /**< FEC Corrected Blocks. */
750 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_FEC_UNCORRECTABLE_BLOCKS = 293, /**< FEC Uncorrectable Blocks. */
751 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_FEC_ABILITY = 313, /**< FEC Ability. */
752 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_FEC_MODE = 314, /**< FEC Mode. */
753 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_TX_GATE = 315, /**< MPCP Tx Gate. */
754 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_TX_REG_ACK = 316, /**< MPCP Tx Reg Ack. */
755 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_TX_REGISTER = 317, /**< MPCP Tx Register. */
756 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_TX_REG_REQUEST = 318, /**< MPCP Tx Reg Request. */
757 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_TX_REPORT = 319, /**< MPCP Tx Report. */
758 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_RX_GATE = 320, /**< MPCP Rx Gate. */
759 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_RX_REG_ACK = 321, /**< MPCP Rx Reg Ack. */
760 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_RX_REGISTER = 322, /**< MPCP Rx Register. */
761 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_RX_REG_REQUEST = 323, /**< MPCP Rx Reg Request. */
762 BCMOLT_EPON_OAM_VAR_LEAF_ATTRIBUTE_MPCP_RX_REPORT = 324 /**< MPCP Rx Report. */
763} bcmolt_epon_oam_var_leaf_attribute;
764
765/** CTC FEC Support.
766 */
767typedef enum bcmolt_epon_oam_ctc_fec_support
768{
769 BCMOLT_EPON_OAM_CTC_FEC_SUPPORT_UNKNOWN = 1, /**< Unknown. */
770 BCMOLT_EPON_OAM_CTC_FEC_SUPPORT_SUPPORTED = 2, /**< Supported. */
771 BCMOLT_EPON_OAM_CTC_FEC_SUPPORT_NOT_SUPPORTED = 3 /**< Not Supported. */
772} bcmolt_epon_oam_ctc_fec_support;
773
774/** CTC FEC State.
775 */
776typedef enum bcmolt_epon_oam_ctc_fec_state
777{
778 BCMOLT_EPON_OAM_CTC_FEC_STATE_UNKNOWN = 1, /**< Unknown. */
779 BCMOLT_EPON_OAM_CTC_FEC_STATE_ENABLED = 2, /**< Enabled. */
780 BCMOLT_EPON_OAM_CTC_FEC_STATE_DISABLED = 3 /**< Disabled. */
781} bcmolt_epon_oam_ctc_fec_state;
782
783/** CTC Churning Op Code.
784 */
785typedef enum bcmolt_epon_oam_ctc_churning_op_code
786{
787 BCMOLT_EPON_OAM_CTC_CHURNING_OP_CODE_NEW_KEY_REQUEST = 0, /**< New Key Request. */
788 BCMOLT_EPON_OAM_CTC_CHURNING_OP_CODE_NEW_CHURNING_KEY = 1 /**< New Churning Key. */
789} bcmolt_epon_oam_ctc_churning_op_code;
790
791/** CTC Classification Operation.
792 */
793typedef enum bcmolt_epon_oam_ctc_classification_operation
794{
795 BCMOLT_EPON_OAM_CTC_CLASSIFICATION_OPERATION_DELETE = 0, /**< Delete. */
796 BCMOLT_EPON_OAM_CTC_CLASSIFICATION_OPERATION_ADD = 1, /**< Add. */
797 BCMOLT_EPON_OAM_CTC_CLASSIFICATION_OPERATION_CLEAR = 2, /**< Clear. */
798 BCMOLT_EPON_OAM_CTC_CLASSIFICATION_OPERATION_LIST = 3 /**< List. */
799} bcmolt_epon_oam_ctc_classification_operation;
800
801/** CTC Commit Image Ack.
802 */
803typedef enum bcmolt_epon_oam_ctc_commit_image_ack
804{
805 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_ACK_SUCCESS = 0, /**< Success. */
806 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_ACK_PARAMETER_ERROR = 1, /**< Parameter Error. */
807 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_ACK_NOT_SUPPORTED = 2, /**< Not Supported. */
808 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_ACK_LOADING_FAILURE = 3 /**< Loading Failure. */
809} bcmolt_epon_oam_ctc_commit_image_ack;
810
811/** CTC Commit Image Opcode.
812 */
813typedef enum bcmolt_epon_oam_ctc_commit_image_opcode
814{
815 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_OPCODE_COMMIT_IMAGE_REQUEST = 10, /**< Commit Image Request. */
816 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_OPCODE_COMMIT_IMAGE_RESPONSE = 11 /**< Commit Image Response. */
817} bcmolt_epon_oam_ctc_commit_image_opcode;
818
819/** CTC Commit Image Flag.
820 */
821typedef enum bcmolt_epon_oam_ctc_commit_image_flag
822{
823 BCMOLT_EPON_OAM_CTC_COMMIT_IMAGE_FLAG_SWAP_ACTIVE_BACKUP = 0 /**< Swap Active/Backup. */
824} bcmolt_epon_oam_ctc_commit_image_flag;
825
826/** CTC DBA Op Code.
827 */
828typedef enum bcmolt_epon_oam_ctc_dba_op_code
829{
830 BCMOLT_EPON_OAM_CTC_DBA_OP_CODE_GET_REQUEST = 0, /**< Get Request. */
831 BCMOLT_EPON_OAM_CTC_DBA_OP_CODE_GET_RESPONSE = 1, /**< Get Response. */
832 BCMOLT_EPON_OAM_CTC_DBA_OP_CODE_SET_REQUEST = 2, /**< Set Request. */
833 BCMOLT_EPON_OAM_CTC_DBA_OP_CODE_SET_RESPONSE = 3 /**< Set Response. */
834} bcmolt_epon_oam_ctc_dba_op_code;
835
836/** CTC Early Wake Up Mode.
837 */
838typedef enum bcmolt_epon_oam_ctc_early_wake_up_mode
839{
840 BCMOLT_EPON_OAM_CTC_EARLY_WAKE_UP_MODE_ENABLE = 0, /**< Enable. */
841 BCMOLT_EPON_OAM_CTC_EARLY_WAKE_UP_MODE_DISABLE = 1, /**< Disable. */
842 BCMOLT_EPON_OAM_CTC_EARLY_WAKE_UP_MODE_NOT_SUPPORTED = 255 /**< Not Supported. */
843} bcmolt_epon_oam_ctc_early_wake_up_mode;
844
845/** CTC Branch.
846 */
847typedef enum bcmolt_epon_oam_ctc_branch
848{
849 BCMOLT_EPON_OAM_CTC_BRANCH_END = 0, /**< End. */
850 BCMOLT_EPON_OAM_CTC_BRANCH_ATTRIBUTE = 7, /**< Attribute. */
851 BCMOLT_EPON_OAM_CTC_BRANCH_ACTION = 9, /**< Action. */
852 BCMOLT_EPON_OAM_CTC_BRANCH_OLD_MANAGEMENT_OBJECT = 54, /**< Old Management Object. */
853 BCMOLT_EPON_OAM_CTC_BRANCH_MANAGEMENT_OBJECT = 55, /**< Management Object. */
854 BCMOLT_EPON_OAM_CTC_BRANCH_EXT_ATTRIBUTE = 199, /**< Ext Attribute. */
855 BCMOLT_EPON_OAM_CTC_BRANCH_EXT_ACTION = 201, /**< Ext Action. */
856 BCMOLT_EPON_OAM_CTC_BRANCH_KTATTRIBUTE = 167, /**< KT Attribute. */
857 BCMOLT_EPON_OAM_CTC_BRANCH_KTACTION = 169 /**< KT Action. */
858} bcmolt_epon_oam_ctc_branch;
859
860/** OAM Error Code.
861 */
862typedef enum bcmolt_epon_oam_oam_error_code
863{
864 BCMOLT_EPON_OAM_OAM_ERROR_CODE_NO_ERROR = 128, /**< No Error. */
865 BCMOLT_EPON_OAM_OAM_ERROR_CODE_UNDETERMINED = 129, /**< Undetermined. */
866 BCMOLT_EPON_OAM_OAM_ERROR_CODE_UNSUPPORTED = 130, /**< Unsupported. */
867 BCMOLT_EPON_OAM_OAM_ERROR_CODE_OVERFLOW = 131, /**< Overflow. */
868 BCMOLT_EPON_OAM_OAM_ERROR_CODE_TOO_LONG = 132, /**< Too Long. */
869 BCMOLT_EPON_OAM_OAM_ERROR_CODE_TO_BE_CONTINUED = 133, /**< To Be Continued. */
870 BCMOLT_EPON_OAM_OAM_ERROR_CODE_BAD_PARAMETERS = 134, /**< Bad Parameters. */
871 BCMOLT_EPON_OAM_OAM_ERROR_CODE_NO_RESOURCES = 135, /**< No Resources. */
872 BCMOLT_EPON_OAM_OAM_ERROR_CODE_SYSTEM_BUSY = 136, /**< System Busy. */
873 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_ATTR_UNDETERMINED = 160, /**< STD Oam Attr Undetermined. */
874 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_ATTR_MAY_BE_CORRUPTED = 161, /**< STD Oam Attr May Be Corrupted. */
875 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_ATTR_UNSUPPORTED = 162, /**< STD Oam Attr Unsupported. */
876 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_ATTR_HW_FAILURE = 163, /**< STD Oam Attr Hw Failure. */
877 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_ATTR_OVERFLOW = 164, /**< STD Oam Attr Overflow. */
878 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_OBJ_END = 192, /**< STD Oam Object End. */
879 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_OBJ_UNDERTERMINED = 193, /**< STD Oam Object Undertermined. */
880 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_OBJ_UNSUPPORTED = 194, /**< STD Oam Object Unsupported. */
881 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_OBJ_MAY_BE_CORRUPTED = 195, /**< STD Oam Object May Be Corrupted. */
882 BCMOLT_EPON_OAM_OAM_ERROR_CODE_STD_OAM_OBJ_HW_FAILURE = 196 /**< STD Oam Object Hw Failure. */
883} bcmolt_epon_oam_oam_error_code;
884
885/** CTC Leaf Old Management Object.
886 */
887typedef enum bcmolt_epon_oam_ctc_leaf_old_management_object
888{
889 BCMOLT_EPON_OAM_CTC_LEAF_OLD_MANAGEMENT_OBJECT_PORT = 1 /**< Port. */
890} bcmolt_epon_oam_ctc_leaf_old_management_object;
891
892/** CTC Port Type.
893 */
894typedef enum bcmolt_epon_oam_ctc_port_type
895{
896 BCMOLT_EPON_OAM_CTC_PORT_TYPE_ETHERNET = 1, /**< Ethernet. */
897 BCMOLT_EPON_OAM_CTC_PORT_TYPE_VOIP = 2, /**< VoIP. */
898 BCMOLT_EPON_OAM_CTC_PORT_TYPE_ADSL2PLUS = 3, /**< ADSL2+. */
899 BCMOLT_EPON_OAM_CTC_PORT_TYPE_VDSL2 = 4, /**< VDSL2. */
900 BCMOLT_EPON_OAM_CTC_PORT_TYPE_E1 = 5 /**< E1. */
901} bcmolt_epon_oam_ctc_port_type;
902
903/** CTC Leaf Ext Attribute.
904 */
905typedef enum bcmolt_epon_oam_ctc_leaf_ext_attribute
906{
907 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_END = 0, /**< End. */
908 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_SERIAL_NUMBER = 1, /**< ONU Serial Number. */
909 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_FIRMWARE_VERSION = 2, /**< Firmware Version. */
910 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_CHIPSET_ID = 3, /**< Chipset ID. */
911 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_CAPABILITIES1 = 4, /**< ONU Capabilities-1. */
912 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_OPTICAL_TRANSCEIVER_DIAGNOSIS = 5, /**< Optical Transceiver Diagnosis. */
913 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_SERVICE_SLA = 6, /**< Service SLA. */
914 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_CAPABILITIES2 = 7, /**< ONU Capabilities-2. */
915 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_HOLDOVER_CONFIG = 8, /**< Holdover Config. */
916 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MXU_MANAGE_GLOBAL_PARAMETER = 9, /**< MxU Manage Global Parameter. */
917 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MXU_MANAGE_SNMP_PARAMETER = 10, /**< MxU Manage SNMP Parameter. */
918 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ACTIVE_PON_IFADMIN = 11, /**< Active PON I/F Admin. */
919 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_CAPABILITIES3 = 12, /**< ONU Capabilities-3. */
920 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_POWER_SAVING_CAPABILITIES = 13, /**< ONU Power Saving Capabilities. */
921 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_POWER_SAVING_CONFIG = 14, /**< ONU Power Saving Config. */
922 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PROTECTION_PARAMETERS = 15, /**< ONU Protection Parameters. */
923 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ETH_LINK_STATE = 17, /**< Eth Link State. */
924 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ETH_PORT_PAUSE = 18, /**< Eth Port Pause. */
925 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ETH_PORT_POLICING = 19, /**< Eth Port Policing. */
926 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_VOIP_PORT = 20, /**< VoIP Port. */
927 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_E1PORT = 21, /**< E1 Port. */
928 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ETH_PORT_DOWN_RATE_LIMITING = 22, /**< Eth Port Down Rate Limiting. */
929 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PORT_LOOP_DETECT = 23, /**< Port Loop Detect. */
930 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PORT_DISABLE_ON_LOOP_DETECTED = 24, /**< Port Disable On Loop Detected. */
931 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_VLAN = 33, /**< VLAN. */
932 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_CLASSIFICATION_AND_MARKING = 49, /**< Classification And Marking. */
933 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MULTICAST_VLAN = 65, /**< Multicast VLAN. */
934 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MULTICAST_TAG_OPERATION = 66, /**< Multicast Tag Operation. */
935 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MULTICAST_SWITCH = 67, /**< Multicast Switch. */
936 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MULTICAST_CONTROL = 68, /**< Multicast Control. */
937 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_GROUP_MAX = 69, /**< Group Max. */
938 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_FAST_LEAVE_ABILITY = 70, /**< Fast Leave Ability. */
939 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_FAST_LEAVE_ADMIN_STATE = 71, /**< Fast Leave Admin State. */
940 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_LLID_QUEUE_CONFIG = 81, /**< LLID/Queue Config. */
941 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_IAD_INFORMATION = 97, /**< IAD Information. */
942 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_VOIP_GLOBAL_PARAMETERS = 98, /**< VoIP Global Parameters. */
943 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_H248PARAMETERS = 99, /**< H.248 Parameters. */
944 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_H248USER_TID_INFORMATION = 100, /**< H.248 User TID Information. */
945 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_H248RTP_TID_CONFIGURATION = 101, /**< H.248 RTP TID Configuration. */
946 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_H248RTP_TID_INFORMATION = 102, /**< H.248 RTP TID Information. */
947 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_SIP_PARAMETERS = 103, /**< SIP Parameters. */
948 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_SIP_USER_PARAMETERS = 104, /**< SIP User Parameters. */
949 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_FAX_MODEM_CONFIGURATION = 105, /**< Fax/Modem Configuration. */
950 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_H248IAD_OPERATION_STATUS = 106, /**< H.248 IAD Operation Status. */
951 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_POTS_STATUS = 107, /**< POTS Status. */
952 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_IAD_OPERATION = 108, /**< IAD Operation. */
953 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_SIP_DIGIT_MAP = 109, /**< SIP Digit Map. */
954 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ALARM_ADMIN_STATE = 129, /**< Alarm Admin State. */
955 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ALARM_THRESHOLD = 130, /**< Alarm Threshold. */
956 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_TX_POWER_SUPPLY_CONTROL = 161, /**< Onu Tx Power Supply Control. */
957 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_MAC_AGING_TIME = 164, /**< MAC Aging Time. */
958 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PERFORMANCE_MONITORING_STATUS = 177, /**< Performance Monitoring Status. */
959 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PERFORMANCE_MONITORING_CURRENT_DATA = 178, /**< Performance Monitoring Current Data. */
960 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PERFORMANCE_MONITORING_HISTORY_DATA = 179, /**< Performance Monitoring History Data. */
961 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_VERSION_SERVER_PARA = 32770U, /**< Version Server Para. */
962 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_MAC_LIMIT = 32771U, /**< ONU MAC Limit. */
963 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_MAC_AGING_TIME = 32772U, /**< ONU MAC Aging Time. */
964 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_MAC_FILTER = 32773U, /**< ONU Port MAC Filter. */
965 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_MAC_BINDING = 32774U, /**< ONU Port MAC Binding. */
966 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_MAC_STATIC = 32775U, /**< ONU Port MAC Static. */
967 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PERFORMANCE_STAT = 32784U, /**< ONU Performance Stat. */
968 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_ISOLATE = 32776U, /**< ONU Port Isolate. */
969 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_MAC_ADDRESS_TABLE_QUERY = 32786U, /**< ONU MAC Address Table Query. */
970 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PON_MAC_DOWNSTREAM_SHAPING = 32787U, /**< ONU PON MAC Downstream Shaping. */
971 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PON_MAC_USDSBUFFER = 32788U, /**< ONU PON MAC US/DS Buffer. */
972 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PON_MAC_USDSBUFFER_CAPABILITY_QUERY = 32789U, /**< ONU PON MAC US/DS Buffer Capability Query. */
973 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_STATISTICS_COLLECT_CONTROL = 32790U, /**< ONU Port Statistics Collect Control. */
974 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_STATISTICS_COUNTER_RESET = 32791U, /**< ONU Port Statistics Counter Reset. */
975 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PORT_FLUX_STATISTICS_COUNTER = 32792U, /**< ONU Port Flux Statistics Counter. */
976 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_LIGHT_EXCEPTION = 32793U, /**< ONU Light Exception. */
977 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_LIGHT_CONTROL = 32794U, /**< ONU Light Control. */
978 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PON_PORT_STATISTICS_GET1 = 32795U, /**< ONU PON Port Statistics Get1. */
979 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ONU_PON_PORT_STATISTICS_GET2 = 32796U, /**< ONU PON Port Statistics Get2. */
980 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ALARM_CONFIG = 32769U, /**< Alarm Config. */
981 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_ROUGUE_ONU_EXCL_ABILITY = 32797U, /**< RougueOnuExclAbility. */
982 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PPPO_ETEST_CONFIGURATION = 32931U, /**< PPPoETestConfiguration. */
983 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ATTRIBUTE_PPPO_ETEST_RESULT = 32932U /**< PPPoETestResult. */
984} bcmolt_epon_oam_ctc_leaf_ext_attribute;
985
986/** CTC Leaf Ext Action.
987 */
988typedef enum bcmolt_epon_oam_ctc_leaf_ext_action
989{
990 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ACTION_RESET_ONU = 1, /**< Reset ONU. */
991 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ACTION_SLEEP_CONTROL = 2, /**< Sleep Control. */
992 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ACTION_FAST_LEAVE_ADMIN_CONTROL = 72, /**< Fast Leave Admin Control. */
993 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ACTION_MULTI_LLID_ADMIN_CONTROL = 514, /**< Multi-LLID Admin Control. */
994 BCMOLT_EPON_OAM_CTC_LEAF_EXT_ACTION_RESET_CARD = 1025 /**< Reset Card. */
995} bcmolt_epon_oam_ctc_leaf_ext_action;
996
997/** KT Leaf Attribute.
998 */
999typedef enum bcmolt_epon_oam_ktleaf_attribute
1000{
1001 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_PORT_DOWNSTREAM_RATE_SHAPING = 1, /**< Port Downstream Rate Shaping. */
1002 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ONU_MAC_LIMIT = 2, /**< ONU MAC Limit. */
1003 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_BLOCK_UNBLOCK_ONU_TRAFFIC = 3, /**< Block/Unblock ONU Traffic. */
1004 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ONU_DIAGNOSTICS = 4, /**< ONU Diagnostics. */
1005 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ONU_QUEUE_DROP_COUNTER = 5, /**< ONU Queue Drop Counter. */
1006 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ETHERNET_PORT_COUNTER = 17, /**< Ethernet Port Counter. */
1007 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ETHERNET_PORT_RSTP = 18, /**< Ethernet Port RSTP. */
1008 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_LOOP_DETECT = 19, /**< Loop Detect. */
1009 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_ONU_MPCP_COUNTER = 20, /**< ONU MPCP Counter. */
1010 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_STATIC_MAC = 21, /**< Static MAC. */
1011 BCMOLT_EPON_OAM_KTLEAF_ATTRIBUTE_OPTICAL_POWER_ALARM_STATUS = 22 /**< Optical Power Alarm Status. */
1012} bcmolt_epon_oam_ktleaf_attribute;
1013
1014/** CTC Eth Port Policing Enable.
1015 */
1016typedef enum bcmolt_epon_oam_ctc_eth_port_policing_enable
1017{
1018 BCMOLT_EPON_OAM_CTC_ETH_PORT_POLICING_ENABLE_DISABLED = 0, /**< Disabled. */
1019 BCMOLT_EPON_OAM_CTC_ETH_PORT_POLICING_ENABLE_ENABLED = 1 /**< Enabled. */
1020} bcmolt_epon_oam_ctc_eth_port_policing_enable;
1021
1022/** CTC Event Sub Type.
1023 */
1024typedef enum bcmolt_epon_oam_ctc_event_sub_type
1025{
1026 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_STATUS_REQUEST = 1, /**< Status Request. */
1027 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_STATUS_SET = 2, /**< Status Set. */
1028 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_STATUS_RESPONSE = 3, /**< Status Response. */
1029 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_THRESHOLD_REQUEST = 4, /**< Threshold Request. */
1030 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_THRESHOLD_SET = 5, /**< Threshold Set. */
1031 BCMOLT_EPON_OAM_CTC_EVENT_SUB_TYPE_THRESHOLD_RESPONSE = 6 /**< Threshold Response. */
1032} bcmolt_epon_oam_ctc_event_sub_type;
1033
1034/** CTC Event Status.
1035 */
1036typedef enum bcmolt_epon_oam_ctc_event_status
1037{
1038 BCMOLT_EPON_OAM_CTC_EVENT_STATUS_DISABLED = 0, /**< Disabled */
1039 BCMOLT_EPON_OAM_CTC_EVENT_STATUS_ENABLED = 1, /**< Enabled */
1040 BCMOLT_EPON_OAM_CTC_EVENT_STATUS_NOT_FOUND = 4294967295UL /**< Not Found */
1041} bcmolt_epon_oam_ctc_event_status;
1042
1043/** CTC ONU Sleep Flag.
1044 */
1045typedef enum bcmolt_epon_oam_ctc_onu_sleep_flag
1046{
1047 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_FLAG_LEAVE = 0, /**< ONU leaves from power saving state */
1048 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_FLAG_ENTER = 1, /**< ONU enters power saving state */
1049 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_FLAG_CHANGE = 2 /**< Change ONU power saving mode, sleep time and wake time */
1050} bcmolt_epon_oam_ctc_onu_sleep_flag;
1051
1052/** Ctc Onu Sleep Mode.
1053 */
1054typedef enum bcmolt_epon_oam_ctc_onu_sleep_mode
1055{
1056 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_MODE_NOT_SUPPORT = 0, /**< Don't support sleep mode */
1057 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_MODE_TX_ONLY = 1, /**< In this case, only support Tx sleep mode */
1058 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_MODE_TRX = 2, /**< In this case, Tx and Rx can only sleep at the same time */
1059 BCMOLT_EPON_OAM_CTC_ONU_SLEEP_MODE_TX_AND_TRX = 3 /**< In this case, both support Tx sleep and Tx Rx both sleep */
1060} bcmolt_epon_oam_ctc_onu_sleep_mode;
1061
1062/** PP Po E Test Status.
1063 */
1064typedef enum bcmolt_epon_oam_pppo_etest_status
1065{
1066 BCMOLT_EPON_OAM_PPPO_ETEST_STATUS_UN_START = 0, /**< UnStart. */
1067 BCMOLT_EPON_OAM_PPPO_ETEST_STATUS_TESTING = 1, /**< Testing. */
1068 BCMOLT_EPON_OAM_PPPO_ETEST_STATUS_TEST_OVER_AND_PASS = 2, /**< TestOverAndPass. */
1069 BCMOLT_EPON_OAM_PPPO_ETEST_STATUS_TEST_OVER_AND_FAIL = 3 /**< TestOverAndFail. */
1070} bcmolt_epon_oam_pppo_etest_status;
1071
1072/** PP Po E Test Fail Reason.
1073 */
1074typedef enum bcmolt_epon_oam_pppo_etest_fail_reason
1075{
1076 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_NULL = 0, /**< Null. */
1077 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_UNKNOWN = 1, /**< Unknown. */
1078 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_HARDWARE_NOT_SUPPORT = 2, /**< HardwareNotSupport. */
1079 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_VLAN_NOT_CONFIGURE = 3, /**< VlanNotConfigure. */
1080 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_TIMEOUT_FOR_PADI = 4, /**< TimeoutForPADI. */
1081 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_TIMEOUT_FOR_PADR = 5, /**< TimeoutForPADR. */
1082 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_LCPNEG_FAIL = 6, /**< LCPNegFail. */
1083 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_AUTH_FAIL = 7, /**< AuthFail. */
1084 BCMOLT_EPON_OAM_PPPO_ETEST_FAIL_REASON_IPNEG_FAIL = 8 /**< IPNegFail. */
1085} bcmolt_epon_oam_pppo_etest_fail_reason;
1086
1087/** Start Or Stop Indication.
1088 */
1089typedef enum bcmolt_epon_oam_start_or_stop_indication
1090{
1091 BCMOLT_EPON_OAM_START_OR_STOP_INDICATION_STOP_TEST = 0, /**< StopTest. */
1092 BCMOLT_EPON_OAM_START_OR_STOP_INDICATION_START_TEST = 1 /**< StartTest. */
1093} bcmolt_epon_oam_start_or_stop_indication;
1094
1095/** PP Po E Auth Mode.
1096 */
1097typedef enum bcmolt_epon_oam_pppo_eauth_mode
1098{
1099 BCMOLT_EPON_OAM_PPPO_EAUTH_MODE_AUTO = 0, /**< Auto. */
1100 BCMOLT_EPON_OAM_PPPO_EAUTH_MODE_PAP = 1, /**< Pap. */
1101 BCMOLT_EPON_OAM_PPPO_EAUTH_MODE_CHAP = 2 /**< Chap. */
1102} bcmolt_epon_oam_pppo_eauth_mode;
1103
1104/** CTC Supported Services.
1105 */
1106typedef enum bcmolt_epon_oam_ctc_supported_services
1107{
1108 BCMOLT_EPON_OAM_CTC_SUPPORTED_SERVICES_NONE = 0,
1109 BCMOLT_EPON_OAM_CTC_SUPPORTED_SERVICES_GEPORT = 0x0001, /**< GE Port. */
1110 BCMOLT_EPON_OAM_CTC_SUPPORTED_SERVICES_FEPORT = 0x0002, /**< FE Port. */
1111 BCMOLT_EPON_OAM_CTC_SUPPORTED_SERVICES_VOIP = 0x0004, /**< VoIP. */
1112 BCMOLT_EPON_OAM_CTC_SUPPORTED_SERVICES_TDM = 0x0008 /**< TDM. */
1113} bcmolt_epon_oam_ctc_supported_services;
1114
1115/** CTC Service SLA Operation.
1116 */
1117typedef enum bcmolt_epon_oam_ctc_service_sla_operation
1118{
1119 BCMOLT_EPON_OAM_CTC_SERVICE_SLA_OPERATION_DEACTIVATE = 0, /**< Deactivate. */
1120 BCMOLT_EPON_OAM_CTC_SERVICE_SLA_OPERATION_ACTIVATE = 1 /**< Activate. */
1121} bcmolt_epon_oam_ctc_service_sla_operation;
1122
1123/** CTC 2.1 ONU DBA Scheduling Scheme
1124 */
1125typedef enum bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme
1126{
1127 BCMOLT_EPON_OAM_CTC_ONU_DBA_SCHEDULING_SCHEME_STRICT_PRIORITY = 0, /**< Strict Priority */
1128 BCMOLT_EPON_OAM_CTC_ONU_DBA_SCHEDULING_SCHEME_WEIGHTED_ROUND_ROBIN = 1, /**< Weighted Round-Robin */
1129 BCMOLT_EPON_OAM_CTC_ONU_DBA_SCHEDULING_SCHEME_SPPLUS_WRR = 2 /**< SP+WRR */
1130} bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme;
1131
1132/** CTC ONU Type
1133 */
1134typedef enum bcmolt_epon_oam_ctc_onu_type
1135{
1136 BCMOLT_EPON_OAM_CTC_ONU_TYPE_SFU = 0, /**< SFU */
1137 BCMOLT_EPON_OAM_CTC_ONU_TYPE_HGU = 1, /**< HGU */
1138 BCMOLT_EPON_OAM_CTC_ONU_TYPE_SBU = 2, /**< SBU */
1139 BCMOLT_EPON_OAM_CTC_ONU_TYPE_BOX_MDU = 3, /**< Box MDU (Ethernet Port) */
1140 BCMOLT_EPON_OAM_CTC_ONU_TYPE_SMALL_LCMDU = 4, /**< Small LC MDU (Ethernet Port) */
1141 BCMOLT_EPON_OAM_CTC_ONU_TYPE_BOX_LCMDU = 5, /**< Box LC MDU (DSL Port) */
1142 BCMOLT_EPON_OAM_CTC_ONU_TYPE_CHASSIS_LCMDU = 6, /**< Chassis LC MDU (DSL Port) */
1143 BCMOLT_EPON_OAM_CTC_ONU_TYPE_LCMDU = 7, /**< L/C MDU (support mixing insertion of Ethernet port L/C and DSL Port L/C) */
1144 BCMOLT_EPON_OAM_CTC_ONU_TYPE_CMC = 9 /**< CMC */
1145} bcmolt_epon_oam_ctc_onu_type;
1146
1147/** CTC ONU Protection Type
1148 */
1149typedef enum bcmolt_epon_oam_ctc_onu_protection_type
1150{
1151 BCMOLT_EPON_OAM_CTC_ONU_PROTECTION_TYPE_NOT_SUPPORTED = 0, /**< Not Support */
1152 BCMOLT_EPON_OAM_CTC_ONU_PROTECTION_TYPE_TYPE_C = 1, /**< Type C */
1153 BCMOLT_EPON_OAM_CTC_ONU_PROTECTION_TYPE_TYPE_D = 2 /**< Type D */
1154} bcmolt_epon_oam_ctc_onu_protection_type;
1155
1156/** CTC 2.1 ONU Interface Type
1157 */
1158typedef enum bcmolt_epon_oam_ctc_onu_interface_type
1159{
1160 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_GE = 0, /**< Gagabit Ethernet */
1161 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_FE = 1, /**< Fast Ethernet */
1162 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_VOIP = 2, /**< VoIP */
1163 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_TDM = 3, /**< TDM */
1164 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_ADSL2PLUS = 4, /**< ADSL2+ */
1165 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_VDSL2 = 5, /**< VDSL2 */
1166 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_WLAN = 6, /**< WLAN */
1167 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_USB = 7, /**< USB */
1168 BCMOLT_EPON_OAM_CTC_ONU_INTERFACE_TYPE_CATV_RF = 8 /**< CATV RF */
1169} bcmolt_epon_oam_ctc_onu_interface_type;
1170
1171/** CTC MxU Global Params Width.
1172 */
1173typedef enum bcmolt_epon_oam_ctc_mxu_global_params_width
1174{
1175 BCMOLT_EPON_OAM_CTC_MXU_GLOBAL_PARAMS_WIDTH_IPV4 = 17, /**< IPv4. */
1176 BCMOLT_EPON_OAM_CTC_MXU_GLOBAL_PARAMS_WIDTH_IPV6 = 41 /**< IPv6. */
1177} bcmolt_epon_oam_ctc_mxu_global_params_width;
1178
1179/** CTC MxU SNMP Params Width.
1180 */
1181typedef enum bcmolt_epon_oam_ctc_mxu_snmp_params_width
1182{
1183 BCMOLT_EPON_OAM_CTC_MXU_SNMP_PARAMS_WIDTH_IPV4 = 105, /**< IPv4. */
1184 BCMOLT_EPON_OAM_CTC_MXU_SNMP_PARAMS_WIDTH_IPV6 = 117 /**< IPv6. */
1185} bcmolt_epon_oam_ctc_mxu_snmp_params_width;
1186
1187/** CTC ONU Power Supply Control
1188 */
1189typedef enum bcmolt_epon_oam_ctc_onu_power_supply_control_type
1190{
1191 BCMOLT_EPON_OAM_CTC_ONU_POWER_SUPPLY_CONTROL_TYPE_NOT_SUPPORT = 0, /**< Don't Support ONU Power Supply Control */
1192 BCMOLT_EPON_OAM_CTC_ONU_POWER_SUPPLY_CONTROL_TYPE_TX_CTRL = 1, /**< In this case, Tx and Rx power supply can only be controlled together whereby power for Rx is also shutdown when the power to Tx is shutdown */
1193 BCMOLT_EPON_OAM_CTC_ONU_POWER_SUPPLY_CONTROL_TYPE_TX_RX_CTRL = 2 /**< In this case, tx and rx can be controlled separately whereby power to Rx is still on while the power to Tx is shutdown */
1194} bcmolt_epon_oam_ctc_onu_power_supply_control_type;
1195
1196/** CTC Vlan Mode.
1197 */
1198typedef enum bcmolt_epon_oam_ctc_vlan_mode
1199{
1200 BCMOLT_EPON_OAM_CTC_VLAN_MODE_TRANSPARENT = 0, /**< Transparent. */
1201 BCMOLT_EPON_OAM_CTC_VLAN_MODE_TAG = 1, /**< Tag. */
1202 BCMOLT_EPON_OAM_CTC_VLAN_MODE_TRANSLATION = 2, /**< Translation. */
1203 BCMOLT_EPON_OAM_CTC_VLAN_MODE_AGGREGATE = 3, /**< Aggregate. */
1204 BCMOLT_EPON_OAM_CTC_VLAN_MODE_TRUNK = 4, /**< Trunk. */
1205 BCMOLT_EPON_OAM_CTC_VLAN_MODE_SPECIAL_TRANSPARENT = 255, /**< Special Transparent. */
1206 BCMOLT_EPON_OAM_CTC_VLAN_MODE_TRUNK_MDU = 19, /**< Trunk MDU. */
1207 BCMOLT_EPON_OAM_CTC_VLAN_MODE_HYBRID = 20 /**< Hybrid. */
1208} bcmolt_epon_oam_ctc_vlan_mode;
1209
1210/** CTC classification field selectors
1211 */
1212typedef enum bcmolt_epon_oam_ctc_onu_classif_field
1213{
1214 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_DA = 0, /**< MAC destination address */
1215 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_SA = 1, /**< MAC source address */
1216 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_VLAN_PRI = 2, /**< VLAN priority (CoS) */
1217 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_VLAN_ID = 3, /**< VLAN ID */
1218 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_ETH_TYPE = 4, /**< EtherType */
1219 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_DEST_IP = 5, /**< IP destination address */
1220 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_SOURCE_IP = 6, /**< IP source address */
1221 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_IP_TYPE = 7, /**< IP protocol type */
1222 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_IP_TOS = 8, /**< IP ToS */
1223 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_IP_PREC = 9, /**< IP precedence */
1224 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_SOURCE_PORT = 10, /**< UDP source port */
1225 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_DEST_PORT = 11, /**< UDP desintation port */
1226 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_IP_VER = 12, /**< IP Version (v4 or v6) */
1227 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_IP_FLOW_LABEL = 13, /**< IP Flow Label (IPv6) */
1228 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_DST_IPV6 = 14, /**< Destination IPv6 */
1229 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_SRC_IPV6 = 15, /**< Source Ipv6 */
1230 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_DST_IPV6PRE = 16, /**< Destination IPv6 Prefix */
1231 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_SRC_IPV6PRE = 17, /**< Source IPv6 Prefix */
1232 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_FIELD_NXT_HDR = 18 /**< Next Header (IPv6)(such as TCP/IP/ICMPv4/IGMP,etc) */
1233} bcmolt_epon_oam_ctc_onu_classif_field;
1234
1235/** CTC classification operators
1236 */
1237typedef enum bcmolt_epon_oam_ctc_onu_classif_operator
1238{
1239 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_NEVER_MATCH = 0, /**< Never match */
1240 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_EQUAL = 1, /**< LHS == RHS */
1241 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_NOT_EQUAL = 2, /**< LHS != RHS */
1242 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_LTEQ = 3, /**< LHS <= RHS */
1243 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_GTEQ = 4, /**< LHS >= RHS */
1244 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_EXIST = 5, /**< Match if the field exists */
1245 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_NOT_EXIST = 6, /**< Match if the field does not exist */
1246 BCMOLT_EPON_OAM_CTC_ONU_CLASSIF_OPERATOR_ALWAYS_MATCH = 7 /**< Always match */
1247} bcmolt_epon_oam_ctc_onu_classif_operator;
1248
1249/** CTC Multicast VLAN Operation.
1250 */
1251typedef enum bcmolt_epon_oam_ctc_multicast_vlan_operation
1252{
1253 BCMOLT_EPON_OAM_CTC_MULTICAST_VLAN_OPERATION_DELETE = 0, /**< Delete. */
1254 BCMOLT_EPON_OAM_CTC_MULTICAST_VLAN_OPERATION_ADD = 1, /**< Add. */
1255 BCMOLT_EPON_OAM_CTC_MULTICAST_VLAN_OPERATION_CLEAR = 2, /**< Clear. */
1256 BCMOLT_EPON_OAM_CTC_MULTICAST_VLAN_OPERATION_LIST = 3 /**< List. */
1257} bcmolt_epon_oam_ctc_multicast_vlan_operation;
1258
1259/** CTC Multicast Tag Mode.
1260 */
1261typedef enum bcmolt_epon_oam_ctc_multicast_tag_mode
1262{
1263 BCMOLT_EPON_OAM_CTC_MULTICAST_TAG_MODE_DO_NOT_STRIP = 0, /**< Do Not Strip. */
1264 BCMOLT_EPON_OAM_CTC_MULTICAST_TAG_MODE_STRIP_DATA_QUERY = 1, /**< Strip Data/Query. */
1265 BCMOLT_EPON_OAM_CTC_MULTICAST_TAG_MODE_STRIP_DATA_QUERY_IPTV = 2 /**< Strip Data/Query/IPTV. */
1266} bcmolt_epon_oam_ctc_multicast_tag_mode;
1267
1268/** CTC Multicast Switch Mode.
1269 */
1270typedef enum bcmolt_epon_oam_ctc_multicast_switch_mode
1271{
1272 BCMOLT_EPON_OAM_CTC_MULTICAST_SWITCH_MODE_IGMP_MLD_SNOOPING = 0, /**< IGMP/MLD Snooping dual stack mode */
1273 BCMOLT_EPON_OAM_CTC_MULTICAST_SWITCH_MODE_CTC_CONTROLLABLE_IGMP_MLD = 1, /**< CTC controllable IGMP/MLD mode, snooping disabled */
1274 BCMOLT_EPON_OAM_CTC_MULTICAST_SWITCH_MODE_IGMP_SNOOPING = 2, /**< IGMP snooping mode */
1275 BCMOLT_EPON_OAM_CTC_MULTICAST_SWITCH_MODE_CTC_CONTROLLABLE_IGMP = 3, /**< CTC controllable IGMP mode, snooping disabled */
1276 BCMOLT_EPON_OAM_CTC_MULTICAST_SWITCH_MODE_UNDEFINED = 127 /**< Undefined mode, has not been set yet */
1277} bcmolt_epon_oam_ctc_multicast_switch_mode;
1278
1279/** CTC Multicast Control Action.
1280 */
1281typedef enum bcmolt_epon_oam_ctc_multicast_control_action
1282{
1283 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_ACTION_DELETE = 0, /**< Delete. */
1284 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_ACTION_ADD = 1, /**< Add. */
1285 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_ACTION_CLEAR = 2, /**< Clear. */
1286 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_ACTION_LIST = 3 /**< List. */
1287} bcmolt_epon_oam_ctc_multicast_control_action;
1288
1289/** CTC Multicast Control Type.
1290 */
1291typedef enum bcmolt_epon_oam_ctc_multicast_control_type
1292{
1293 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_MAC_ONLY = 0, /**< GDA MAC Only. */
1294 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_MAC_PLUS_VLAN_ID = 1, /**< GDA MAC + VLAN ID. */
1295 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_MAC_PLUS_IPV4SA = 2, /**< GDA MAC + IPv4 SA. */
1296 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_IPPLUS_MCAST_VLAN_ID = 3, /**< GDA IP + Mcast VLAN ID. */
1297 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_IPV6PLUS_MCAST_VLAN_ID = 4, /**< GDA IPv6 + Mcast VLAN ID. */
1298 BCMOLT_EPON_OAM_CTC_MULTICAST_CONTROL_TYPE_GDA_MAC_PLUS_IPV6SA = 5 /**< GDA MAC + IPv6 SA. */
1299} bcmolt_epon_oam_ctc_multicast_control_type;
1300
1301/** CTC 2.1 possible VoIP protocols
1302 */
1303typedef enum bcmolt_epon_oam_ctc_voip_protocol
1304{
1305 BCMOLT_EPON_OAM_CTC_VOIP_PROTOCOL_H248 = 0, /**< H248 */
1306 BCMOLT_EPON_OAM_CTC_VOIP_PROTOCOL_SIP = 1 /**< SIP */
1307} bcmolt_epon_oam_ctc_voip_protocol;
1308
1309/** CTC 2.1 Voice IP Mode
1310 */
1311typedef enum bcmolt_epon_oam_ctc_voice_ipmode
1312{
1313 BCMOLT_EPON_OAM_CTC_VOICE_IPMODE_STATIC_IP = 0, /**< Static IP address */
1314 BCMOLT_EPON_OAM_CTC_VOICE_IPMODE_DHCP = 1, /**< DHCP */
1315 BCMOLT_EPON_OAM_CTC_VOICE_IPMODE_PPPOE = 2 /**< PPPoE/PPPoE+ */
1316} bcmolt_epon_oam_ctc_voice_ipmode;
1317
1318/** CTC PPPoE Mode
1319 */
1320typedef enum bcmolt_epon_oam_ctc_pppoe_mode
1321{
1322 BCMOLT_EPON_OAM_CTC_PPPOE_MODE_AUTO = 0, /**< Auto */
1323 BCMOLT_EPON_OAM_CTC_PPPOE_MODE_CHAP = 1, /**< Challenge Handshake Authentication Protocol */
1324 BCMOLT_EPON_OAM_CTC_PPPOE_MODE_PAP = 2 /**< Password Authentication Protocol */
1325} bcmolt_epon_oam_ctc_pppoe_mode;
1326
1327/** CTC 2.1 Voice Tagging Mode
1328 */
1329typedef enum bcmolt_epon_oam_ctc_voice_tagging_mode
1330{
1331 BCMOLT_EPON_OAM_CTC_VOICE_TAGGING_MODE_PASS_THROUGH = 0, /**< Pass Through */
1332 BCMOLT_EPON_OAM_CTC_VOICE_TAGGING_MODE_TAG = 1, /**< Tag */
1333 BCMOLT_EPON_OAM_CTC_VOICE_TAGGING_MODE_VLAN_STACKING = 2 /**< VLAN Stacking */
1334} bcmolt_epon_oam_ctc_voice_tagging_mode;
1335
1336/** CTC 2.1 H248 Registration Mode
1337 */
1338typedef enum bcmolt_epon_oam_ctc_h248reg_mode
1339{
1340 BCMOLT_EPON_OAM_CTC_H248REG_MODE_IPADDRESS = 0, /**< IP address */
1341 BCMOLT_EPON_OAM_CTC_H248REG_MODE_DOMAIN = 1, /**< Domain name */
1342 BCMOLT_EPON_OAM_CTC_H248REG_MODE_DEVICE = 2 /**< Device name */
1343} bcmolt_epon_oam_ctc_h248reg_mode;
1344
1345/** CTC 2.1 H248 Heartbeat Mode
1346 */
1347typedef enum bcmolt_epon_oam_ctc_h248heartbeat_mode
1348{
1349 BCMOLT_EPON_OAM_CTC_H248HEARTBEAT_MODE_CLOSE = 0, /**< Close */
1350 BCMOLT_EPON_OAM_CTC_H248HEARTBEAT_MODE_H248CTC = 1 /**< H.248-CTC standard Notify command */
1351} bcmolt_epon_oam_ctc_h248heartbeat_mode;
1352
1353/** Possible CTC 2.1 RTP TID configuration modes
1354 */
1355typedef enum bcmolt_epon_oam_ctc_rtp_tid_mode
1356{
1357 BCMOLT_EPON_OAM_CTC_RTP_TID_MODE_ALIGNMENT = 0, /**< Alignment. */
1358 BCMOLT_EPON_OAM_CTC_RTP_TID_MODE_NON_ALIGNMENT = 1 /**< Non-Alignment. */
1359} bcmolt_epon_oam_ctc_rtp_tid_mode;
1360
1361/** CTC 2.1 Voice T38 Mode
1362 */
1363typedef enum bcmolt_epon_oam_ctc_voice_t38mode
1364{
1365 BCMOLT_EPON_OAM_CTC_VOICE_T38MODE_PASSTHROUGH = 0, /**< Voice passthrough mode (T30) */
1366 BCMOLT_EPON_OAM_CTC_VOICE_T38MODE_T38MODE = 1 /**< T38 Mode */
1367} bcmolt_epon_oam_ctc_voice_t38mode;
1368
1369/** CTC 2.1 Voice/Fax Modem Control Mode
1370 */
1371typedef enum bcmolt_epon_oam_ctc_voice_fax_modem_control_mode
1372{
1373 BCMOLT_EPON_OAM_CTC_VOICE_FAX_MODEM_CONTROL_MODE_NEGOTIATION = 0, /**< Negotiation Mode */
1374 BCMOLT_EPON_OAM_CTC_VOICE_FAX_MODEM_CONTROL_MODE_AUTO_BVD = 1 /**< Auto BVD */
1375} bcmolt_epon_oam_ctc_voice_fax_modem_control_mode;
1376
1377/** CTC 2.1 IAD Operation Status
1378 */
1379typedef enum bcmolt_epon_oam_ctc_iad_operation_status
1380{
1381 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_STATUS_REGISTERING = 0, /**< Registering */
1382 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_STATUS_REG_SUCCESSFUL = 1, /**< Registration Successful */
1383 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_STATUS_IAD_FAULT = 2, /**< IAD Fault */
1384 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_STATUS_LOGOUT = 3, /**< Logout */
1385 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_STATUS_IAD_RESTARTING = 4 /**< IAD Restarting */
1386} bcmolt_epon_oam_ctc_iad_operation_status;
1387
1388/** CTC 2.1 IAD Port Status
1389 */
1390typedef enum bcmolt_epon_oam_ctc_iad_port_status
1391{
1392 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_REGISTRING = 0, /**< Port is registring */
1393 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_IDLE = 1, /**< Port is idle */
1394 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_PICKUP = 2, /**< Pick up */
1395 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_DIALING = 3, /**< Dialing */
1396 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_RINGING = 4, /**< Ringing */
1397 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_RINGBACK = 5, /**< Ringing back */
1398 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_CONNECTING = 6, /**< Connecting */
1399 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_CONNECTED = 7, /**< Connected */
1400 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_RELEASING_CONNECTION = 8, /**< Releasing Connection */
1401 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_REGISTRATION_FAILURE = 9, /**< Port Registration Failure */
1402 BCMOLT_EPON_OAM_CTC_IAD_PORT_STATUS_NOT_ACTIVATED = 10 /**< Port is not activated */
1403} bcmolt_epon_oam_ctc_iad_port_status;
1404
1405/** CTC 2.1 IAD Port Service State
1406 */
1407typedef enum bcmolt_epon_oam_ctc_iad_port_service_state
1408{
1409 BCMOLT_EPON_OAM_CTC_IAD_PORT_SERVICE_STATE_END_LOCAL = 0, /**< Local end terminates service, caused by 'user disable port' */
1410 BCMOLT_EPON_OAM_CTC_IAD_PORT_SERVICE_STATE_END_REMOTE = 1, /**< Remote and terminates service, caused by 'MGC sends down command' */
1411 BCMOLT_EPON_OAM_CTC_IAD_PORT_SERVICE_STATE_END_AUTO = 2, /**< Automatically terminate service, caused by MGC fault */
1412 BCMOLT_EPON_OAM_CTC_IAD_PORT_SERVICE_STATE_NORMAL = 3 /**< Normal service normal */
1413} bcmolt_epon_oam_ctc_iad_port_service_state;
1414
1415/** CTC 2.1 IAD Port Codec Mode
1416 */
1417typedef enum bcmolt_epon_oam_ctc_iad_port_codec_mode
1418{
1419 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_G711A = 0, /**< G.711 A */
1420 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_G729 = 1, /**< G.729 */
1421 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_G711U = 2, /**< G.711 U */
1422 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_G723 = 3, /**< G.723 */
1423 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_G726 = 4, /**< G.726 */
1424 BCMOLT_EPON_OAM_CTC_IAD_PORT_CODEC_MODE_T38 = 5 /**< T.38 */
1425} bcmolt_epon_oam_ctc_iad_port_codec_mode;
1426
1427/** CTC 2.1 IAD Operation
1428 */
1429typedef enum bcmolt_epon_oam_ctc_iad_operation
1430{
1431 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_RE_REGISTER = 0, /**< Re-Register for softswitch platform */
1432 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_LOGOUT = 1, /**< Logout from softswitch platform */
1433 BCMOLT_EPON_OAM_CTC_IAD_OPERATION_RESET = 2 /**< Reset, only for voice module */
1434} bcmolt_epon_oam_ctc_iad_operation;
1435
1436/** Zte Onu Port Mac Operation.
1437 */
1438typedef enum bcmolt_epon_oam_zte_onu_port_mac_operation
1439{
1440 BCMOLT_EPON_OAM_ZTE_ONU_PORT_MAC_OPERATION_DELETE = 0, /**< Delete. */
1441 BCMOLT_EPON_OAM_ZTE_ONU_PORT_MAC_OPERATION_ADD = 1, /**< Add. */
1442 BCMOLT_EPON_OAM_ZTE_ONU_PORT_MAC_OPERATION_CLEAR = 2, /**< Clear. */
1443 BCMOLT_EPON_OAM_ZTE_ONU_PORT_MAC_OPERATION_LIST = 3 /**< List. */
1444} bcmolt_epon_oam_zte_onu_port_mac_operation;
1445
1446/** Zte Isolate Mode.
1447 */
1448typedef enum bcmolt_epon_oam_zte_isolate_mode
1449{
1450 BCMOLT_EPON_OAM_ZTE_ISOLATE_MODE_NOT_ISOLATE = 0, /**< Ethernet port do not isolate */
1451 BCMOLT_EPON_OAM_ZTE_ISOLATE_MODE_ISOLATE = 1 /**< Ethernet port isolate */
1452} bcmolt_epon_oam_zte_isolate_mode;
1453
1454/** Zte Buffer Manage Mode.
1455 */
1456typedef enum bcmolt_epon_oam_zte_buffer_manage_mode
1457{
1458 BCMOLT_EPON_OAM_ZTE_BUFFER_MANAGE_MODE_NOTSUPPORTBUFFERMANAGE = 0, /**< NotSupportBufferManage. */
1459 BCMOLT_EPON_OAM_ZTE_BUFFER_MANAGE_MODE_SUPPORTBUFFERMANAGE = 1 /**< SupportBufferManage. */
1460} bcmolt_epon_oam_zte_buffer_manage_mode;
1461
1462/** Zte DS Buf Direction.
1463 */
1464typedef enum bcmolt_epon_oam_zte_dsbuf_direction
1465{
1466 BCMOLT_EPON_OAM_ZTE_DSBUF_DIRECTION_UPSTREAM = 0, /**< Upstream. */
1467 BCMOLT_EPON_OAM_ZTE_DSBUF_DIRECTION_DOWNSTREAM = 1, /**< Downstream. */
1468 BCMOLT_EPON_OAM_ZTE_DSBUF_DIRECTION_BOTH_UPSTREAM_AND_DOWNSTREAM = 2 /**< Both Upstream And Downstream. */
1469} bcmolt_epon_oam_zte_dsbuf_direction;
1470
1471/** Zte Statistics Action Mode.
1472 */
1473typedef enum bcmolt_epon_oam_zte_statistics_action_mode
1474{
1475 BCMOLT_EPON_OAM_ZTE_STATISTICS_ACTION_MODE_ONU_UNI_STOP_STATISTICS = 0, /**< OnuUNIStopStatistics. */
1476 BCMOLT_EPON_OAM_ZTE_STATISTICS_ACTION_MODE_ONU_UNI_START_STATISTICS = 1 /**< OnuUNIStartStatistics. */
1477} bcmolt_epon_oam_zte_statistics_action_mode;
1478
1479/** Zte Statistics Reset Mode.
1480 */
1481typedef enum bcmolt_epon_oam_zte_statistics_reset_mode
1482{
1483 BCMOLT_EPON_OAM_ZTE_STATISTICS_RESET_MODE_ONU_RESET_STATISTICS_COUNTER = 0, /**< Onu Reset Statistics Counter. */
1484 BCMOLT_EPON_OAM_ZTE_STATISTICS_RESET_MODE_KEEP_STATISTICS_COUNTER = 1 /**< Keep Statistics Counter. */
1485} bcmolt_epon_oam_zte_statistics_reset_mode;
1486
1487/** Uni Flow Statistics Collect Control Mode.
1488 */
1489typedef enum bcmolt_epon_oam_uni_flow_statistics_collect_control_mode
1490{
1491 BCMOLT_EPON_OAM_UNI_FLOW_STATISTICS_COLLECT_CONTROL_MODE_DISABLE = 0, /**< Disable. */
1492 BCMOLT_EPON_OAM_UNI_FLOW_STATISTICS_COLLECT_CONTROL_MODE_ENABLE = 1 /**< Enable. */
1493} bcmolt_epon_oam_uni_flow_statistics_collect_control_mode;
1494
1495/** Light Indication Mode.
1496 */
1497typedef enum bcmolt_epon_oam_light_indication_mode
1498{
1499 BCMOLT_EPON_OAM_LIGHT_INDICATION_MODE_NORMAL = 0, /**< Normal. */
1500 BCMOLT_EPON_OAM_LIGHT_INDICATION_MODE_EXCEPTION = 1 /**< Exception. */
1501} bcmolt_epon_oam_light_indication_mode;
1502
1503/** Match Mac Address.
1504 */
1505typedef enum bcmolt_epon_oam_match_mac_address_mode
1506{
1507 BCMOLT_EPON_OAM_MATCH_MAC_ADDRESS_MODE_IGNORE = 0, /**< Ignore. */
1508 BCMOLT_EPON_OAM_MATCH_MAC_ADDRESS_MODE_EXCUTE_MATCH = 1 /**< Excute Match. */
1509} bcmolt_epon_oam_match_mac_address_mode;
1510
1511/** Zte Light Control Action Mode.
1512 */
1513typedef enum bcmolt_epon_oam_zte_light_control_action_mode
1514{
1515 BCMOLT_EPON_OAM_ZTE_LIGHT_CONTROL_ACTION_MODE_OPEN_TRANSFER = 0, /**< Open Transfer. */
1516 BCMOLT_EPON_OAM_ZTE_LIGHT_CONTROL_ACTION_MODE_CLOSE_TRANSFER = 1, /**< Close Transfer. */
1517 BCMOLT_EPON_OAM_ZTE_LIGHT_CONTROL_ACTION_MODE_CLOSE_OPTICAL_MODEL = 2 /**< Close Optical Model. */
1518} bcmolt_epon_oam_zte_light_control_action_mode;
1519
1520/** ONU Excl Ability.
1521 */
1522typedef enum bcmolt_epon_oam_onu_excl_ability
1523{
1524 BCMOLT_EPON_OAM_ONU_EXCL_ABILITY_NOTSUPPORT = 0, /**< NotSupport. */
1525 BCMOLT_EPON_OAM_ONU_EXCL_ABILITY_SUPPORT = 1 /**< Support. */
1526} bcmolt_epon_oam_onu_excl_ability;
1527
1528/** CTC ONU Early Wake Capability.
1529 */
1530typedef enum bcmolt_epon_oam_ctc_onu_early_wake_capability
1531{
1532 BCMOLT_EPON_OAM_CTC_ONU_EARLY_WAKE_CAPABILITY_SUPPORTED = 0, /**< Supported. */
1533 BCMOLT_EPON_OAM_CTC_ONU_EARLY_WAKE_CAPABILITY_NOT_SUPPORTED = 1 /**< Not Supported. */
1534} bcmolt_epon_oam_ctc_onu_early_wake_capability;
1535
1536/** CTC Port Disable On Loop Detected State.
1537 */
1538typedef enum bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state
1539{
1540 BCMOLT_EPON_OAM_CTC_PORT_DISABLE_ON_LOOP_DETECTED_STATE_DISABLED = 0, /**< When port loopback is detected, do not disable this port */
1541 BCMOLT_EPON_OAM_CTC_PORT_DISABLE_ON_LOOP_DETECTED_STATE_ENABLED = 1 /**< When port loopback is detected, disable this port automatically */
1542} bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state;
1543
1544/** CTC Monitoring Status.
1545 */
1546typedef enum bcmolt_epon_oam_ctc_monitoring_status
1547{
1548 BCMOLT_EPON_OAM_CTC_MONITORING_STATUS_DISABLED = 1, /**< Disable ONU performance monitoring */
1549 BCMOLT_EPON_OAM_CTC_MONITORING_STATUS_ENABLED = 2 /**< Enable ONU performance monitoring */
1550} bcmolt_epon_oam_ctc_monitoring_status;
1551
1552/** CTC File Check Opcode.
1553 */
1554typedef enum bcmolt_epon_oam_ctc_file_check_opcode
1555{
1556 BCMOLT_EPON_OAM_CTC_FILE_CHECK_OPCODE_END_DOWNLOAD_REQUEST = 6, /**< End Download Request. */
1557 BCMOLT_EPON_OAM_CTC_FILE_CHECK_OPCODE_END_DOWNLOAD_RESPONSE = 7 /**< End Download Response. */
1558} bcmolt_epon_oam_ctc_file_check_opcode;
1559
1560/** CTC RPS Code.
1561 */
1562typedef enum bcmolt_epon_oam_ctc_rps_code
1563{
1564 BCMOLT_EPON_OAM_CTC_RPS_CODE_CHECK_SUCCESS = 0, /**< Check Success. */
1565 BCMOLT_EPON_OAM_CTC_RPS_CODE_WRITING = 1, /**< Writing. */
1566 BCMOLT_EPON_OAM_CTC_RPS_CODE_CHECK_ERROR = 2, /**< Check Error. */
1567 BCMOLT_EPON_OAM_CTC_RPS_CODE_PARAMETER_ERROR = 3, /**< Parameter Error. */
1568 BCMOLT_EPON_OAM_CTC_RPS_CODE_NOT_SUPPORTED = 4 /**< Not Supported. */
1569} bcmolt_epon_oam_ctc_rps_code;
1570
1571/** CTC ONU Auth Code.
1572 */
1573typedef enum bcmolt_epon_oam_ctc_onu_auth_code
1574{
1575 BCMOLT_EPON_OAM_CTC_ONU_AUTH_CODE_AUTH_REQUEST = 1, /**< Auth Request. */
1576 BCMOLT_EPON_OAM_CTC_ONU_AUTH_CODE_AUTH_RESPONSE = 2, /**< Auth Response. */
1577 BCMOLT_EPON_OAM_CTC_ONU_AUTH_CODE_AUTH_SUCCESS = 3, /**< Auth Success. */
1578 BCMOLT_EPON_OAM_CTC_ONU_AUTH_CODE_AUTH_FAILURE = 4 /**< Auth Failure. */
1579} bcmolt_epon_oam_ctc_onu_auth_code;
1580
1581/** Well-known company OUIs.
1582 */
1583typedef enum bcmolt_epon_oam_well_known_oui
1584{
1585 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_DPOE = 4096, /**< DPoE OUI */
1586 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_CTC = 1118481UL, /**< CTC's OUI */
1587 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_TEK = 3510, /**< Tek's OUI */
1588 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_KT = 11184810UL, /**< KT's OUI */
1589 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_DASAN = 53451UL, /**< Dasan's OUI */
1590 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_PMC = 3285, /**< PMC's OUI */
1591 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_BRCM = 4120, /**< Broadcom's OUI */
1592 BCMOLT_EPON_OAM_WELL_KNOWN_OUI_SIEPON_A = 5820559UL /**< SIEPON OUI_A */
1593} bcmolt_epon_oam_well_known_oui;
1594
1595/** CTC classification operators
1596 */
1597typedef enum bcmolt_epon_oam_ctc_rule_operator
1598{
1599 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_NEVER_MATCH = 0, /**< Never match */
1600 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_EQUAL = 1, /**< LHS == RHS */
1601 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_NOT_EQUAL = 2, /**< LHS != RHS */
1602 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_LTEQ = 3, /**< LHS <= RHS */
1603 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_GTEQ = 4, /**< LHS >= RHS */
1604 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_EXIST = 5, /**< Match if the field exists */
1605 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_NOT_EXIST = 6, /**< Match if the field does not exist */
1606 BCMOLT_EPON_OAM_CTC_RULE_OPERATOR_ALWAYS_MATCH = 7 /**< Always match */
1607} bcmolt_epon_oam_ctc_rule_operator;
1608
1609/** CTC Software Download Data Type.
1610 */
1611typedef enum bcmolt_epon_oam_ctc_software_download_data_type
1612{
1613 BCMOLT_EPON_OAM_CTC_SOFTWARE_DOWNLOAD_DATA_TYPE_TFTP = 1, /**< TFTP. */
1614 BCMOLT_EPON_OAM_CTC_SOFTWARE_DOWNLOAD_DATA_TYPE_DATA_CHECKING = 2, /**< Data Checking. */
1615 BCMOLT_EPON_OAM_CTC_SOFTWARE_DOWNLOAD_DATA_TYPE_SWMIRRORING = 3, /**< S/W Mirroring. */
1616 BCMOLT_EPON_OAM_CTC_SOFTWARE_DOWNLOAD_DATA_TYPE_COMMIT_IMAGE = 4 /**< Commit Image. */
1617} bcmolt_epon_oam_ctc_software_download_data_type;
1618
1619/** CTC TFTP Op Code.
1620 */
1621typedef enum bcmolt_epon_oam_ctc_tftp_op_code
1622{
1623 BCMOLT_EPON_OAM_CTC_TFTP_OP_CODE_WRITE_REQUEST = 2, /**< Write Request. */
1624 BCMOLT_EPON_OAM_CTC_TFTP_OP_CODE_DATA = 3, /**< Data. */
1625 BCMOLT_EPON_OAM_CTC_TFTP_OP_CODE_ACK = 4, /**< Ack. */
1626 BCMOLT_EPON_OAM_CTC_TFTP_OP_CODE_ERROR = 5 /**< Error. */
1627} bcmolt_epon_oam_ctc_tftp_op_code;
1628
1629/** CTC S/W Mirror Opcode.
1630 */
1631typedef enum bcmolt_epon_oam_ctc_swmirror_opcode
1632{
1633 BCMOLT_EPON_OAM_CTC_SWMIRROR_OPCODE_ACTIVATE_IMAGE_REQUEST = 8, /**< Activate Image Request. */
1634 BCMOLT_EPON_OAM_CTC_SWMIRROR_OPCODE_ACTIVATE_IMAGE_RESPONSE = 9 /**< Activate Image Response. */
1635} bcmolt_epon_oam_ctc_swmirror_opcode;
1636
1637/** CTC S/W Mirror Activate Image Flag.
1638 */
1639typedef enum bcmolt_epon_oam_ctc_swmirror_activate_image_flag
1640{
1641 BCMOLT_EPON_OAM_CTC_SWMIRROR_ACTIVATE_IMAGE_FLAG_RUN_BACKUP = 0 /**< Run Backup. */
1642} bcmolt_epon_oam_ctc_swmirror_activate_image_flag;
1643
1644/** CTC S/W Mirror Ack.
1645 */
1646typedef enum bcmolt_epon_oam_ctc_swmirror_ack
1647{
1648 BCMOLT_EPON_OAM_CTC_SWMIRROR_ACK_SUCCESS = 0, /**< Success. */
1649 BCMOLT_EPON_OAM_CTC_SWMIRROR_ACK_PARAMETER_ERROR = 1, /**< Parameter Error. */
1650 BCMOLT_EPON_OAM_CTC_SWMIRROR_ACK_NOT_SUPPORTED = 2, /**< Not Supported. */
1651 BCMOLT_EPON_OAM_CTC_SWMIRROR_ACK_LOADING_FAILURE = 3 /**< Loading Failure. */
1652} bcmolt_epon_oam_ctc_swmirror_ack;
1653
1654/** KT Optical Power Alarm Status.
1655 */
1656typedef enum bcmolt_epon_oam_ktoptical_power_alarm_status
1657{
1658 BCMOLT_EPON_OAM_KTOPTICAL_POWER_ALARM_STATUS_ALARM = 1, /**< Alarm is active (line LED is orange) */
1659 BCMOLT_EPON_OAM_KTOPTICAL_POWER_ALARM_STATUS_CLEAR = 2 /**< Alarm is clear (line LED is green) */
1660} bcmolt_epon_oam_ktoptical_power_alarm_status;
1661
1662/** KT Leaf Action.
1663 */
1664typedef enum bcmolt_epon_oam_ktleaf_action
1665{
1666 BCMOLT_EPON_OAM_KTLEAF_ACTION_END = 0, /**< End. */
1667 BCMOLT_EPON_OAM_KTLEAF_ACTION_ONU_COUNTER_CLEAR = 1, /**< ONU Counter Clear. */
1668 BCMOLT_EPON_OAM_KTLEAF_ACTION_RESTORE_ONU = 2, /**< Restore ONU. */
1669 BCMOLT_EPON_OAM_KTLEAF_ACTION_TXPOWER_OFF = 3 /**< TX Power Off. */
1670} bcmolt_epon_oam_ktleaf_action;
1671
1672/** CTC Opcode.
1673 */
1674typedef enum bcmolt_epon_oam_ctc_opcode
1675{
1676 BCMOLT_EPON_OAM_CTC_OPCODE_GET_REQUEST = 1, /**< Get Request. */
1677 BCMOLT_EPON_OAM_CTC_OPCODE_GET_RESPONSE = 2, /**< Get Response. */
1678 BCMOLT_EPON_OAM_CTC_OPCODE_SET_REQUEST = 3, /**< Set Request. */
1679 BCMOLT_EPON_OAM_CTC_OPCODE_SET_RESPONSE = 4, /**< Set Response. */
1680 BCMOLT_EPON_OAM_CTC_OPCODE_ONU_AUTHENTICATION = 5, /**< ONU Authentication. */
1681 BCMOLT_EPON_OAM_CTC_OPCODE_SOFTWARE_DOWNLOAD = 6, /**< Software Download. */
1682 BCMOLT_EPON_OAM_CTC_OPCODE_CHURNING = 9, /**< Churning. */
1683 BCMOLT_EPON_OAM_CTC_OPCODE_DBA = 10, /**< DBA. */
1684 BCMOLT_EPON_OAM_CTC_OPCODE_KTONU_EVENT = 15, /**< KT ONU Event. */
1685 BCMOLT_EPON_OAM_CTC_OPCODE_EVENT = 255 /**< Event. */
1686} bcmolt_epon_oam_ctc_opcode;
1687
1688/** KT ONU Event Type.
1689 */
1690typedef enum bcmolt_epon_oam_ktonu_event_type
1691{
1692 BCMOLT_EPON_OAM_KTONU_EVENT_TYPE_END = 0, /**< End. */
1693 BCMOLT_EPON_OAM_KTONU_EVENT_TYPE_LOOP_DETECT = 1, /**< Loop Detect. */
1694 BCMOLT_EPON_OAM_KTONU_EVENT_TYPE_OPTICAL_POWER_ALARM = 2 /**< Optical Power Alarm. */
1695} bcmolt_epon_oam_ktonu_event_type;
1696
1697/** KT Loop Detect Event.
1698 */
1699typedef enum bcmolt_epon_oam_ktloop_detect_event
1700{
1701 BCMOLT_EPON_OAM_KTLOOP_DETECT_EVENT_DETECTED = 1, /**< Loop detect detected */
1702 BCMOLT_EPON_OAM_KTLOOP_DETECT_EVENT_REPAIRED = 2 /**< Loop detect repaired */
1703} bcmolt_epon_oam_ktloop_detect_event;
1704
1705/** KT Optical Power Alarm Event.
1706 */
1707typedef enum bcmolt_epon_oam_ktoptical_power_alarm_event
1708{
1709 BCMOLT_EPON_OAM_KTOPTICAL_POWER_ALARM_EVENT_RAISED = 1, /**< Optical power alarm raised */
1710 BCMOLT_EPON_OAM_KTOPTICAL_POWER_ALARM_EVENT_RELEASED = 2 /**< Optical power alarm released */
1711} bcmolt_epon_oam_ktoptical_power_alarm_event;
1712
1713/** Dasan Classifier Command.
1714 */
1715typedef enum bcmolt_epon_oam_dasan_classifier_command
1716{
1717 BCMOLT_EPON_OAM_DASAN_CLASSIFIER_COMMAND_ADD_FILTER = 2052, /**< Add Filter. */
1718 BCMOLT_EPON_OAM_DASAN_CLASSIFIER_COMMAND_REMOVE_FILTER = 2053, /**< Remove Filter. */
1719 BCMOLT_EPON_OAM_DASAN_CLASSIFIER_COMMAND_QUEUE_MAP = 2054, /**< Queue Map. */
1720 BCMOLT_EPON_OAM_DASAN_CLASSIFIER_COMMAND_ADD_PRIORITY_FOR_VLAN = 2055 /**< Add Priority for VLAN. */
1721} bcmolt_epon_oam_dasan_classifier_command;
1722
1723/** Dasan Direction.
1724 */
1725typedef enum bcmolt_epon_oam_dasan_direction
1726{
1727 BCMOLT_EPON_OAM_DASAN_DIRECTION_UPSTREAM = 0, /**< Upstream. */
1728 BCMOLT_EPON_OAM_DASAN_DIRECTION_DOWNSTREAM = 1 /**< Downstream. */
1729} bcmolt_epon_oam_dasan_direction;
1730
1731/** Dasan Filter Field.
1732 */
1733typedef enum bcmolt_epon_oam_dasan_filter_field
1734{
1735 BCMOLT_EPON_OAM_DASAN_FILTER_FIELD_ETHER_TYPE = 0, /**< EtherType. */
1736 BCMOLT_EPON_OAM_DASAN_FILTER_FIELD_VLAN = 1, /**< VLAN. */
1737 BCMOLT_EPON_OAM_DASAN_FILTER_FIELD_IPPROTOCOL = 2 /**< IP Protocol. */
1738} bcmolt_epon_oam_dasan_filter_field;
1739
1740/** Dasan Filter Action.
1741 */
1742typedef enum bcmolt_epon_oam_dasan_filter_action
1743{
1744 BCMOLT_EPON_OAM_DASAN_FILTER_ACTION_DO_NOT_PASS = 0, /**< Do Not Pass. */
1745 BCMOLT_EPON_OAM_DASAN_FILTER_ACTION_PASS = 1 /**< Pass. */
1746} bcmolt_epon_oam_dasan_filter_action;
1747
1748/** Dasan Pri Type.
1749 */
1750typedef enum bcmolt_epon_oam_dasan_pri_type
1751{
1752 BCMOLT_EPON_OAM_DASAN_PRI_TYPE_COS = 0, /**< CoS. */
1753 BCMOLT_EPON_OAM_DASAN_PRI_TYPE_TOS = 1 /**< ToS. */
1754} bcmolt_epon_oam_dasan_pri_type;
1755
1756/** Dasan Opcode.
1757 */
1758typedef enum bcmolt_epon_oam_dasan_opcode
1759{
1760 BCMOLT_EPON_OAM_DASAN_OPCODE_PORT_CONFIG = 1, /**< Port Config. */
1761 BCMOLT_EPON_OAM_DASAN_OPCODE_SET_VLAN = 2, /**< Set VLAN. */
1762 BCMOLT_EPON_OAM_DASAN_OPCODE_GET_ONU_CONFIG = 513, /**< Get ONU Config. */
1763 BCMOLT_EPON_OAM_DASAN_OPCODE_SET_STP = 17, /**< Set STP. */
1764 BCMOLT_EPON_OAM_DASAN_OPCODE_SET_TXPOWER_OFF = 18, /**< Set TX Power Off. */
1765 BCMOLT_EPON_OAM_DASAN_OPCODE_SET_LOOP_DETECT = 19, /**< Set Loop Detect. */
1766 BCMOLT_EPON_OAM_DASAN_OPCODE_SET_LOOP_DETECT_UNBLOCK = 20, /**< Set Loop Detect Unblock. */
1767 BCMOLT_EPON_OAM_DASAN_OPCODE_CLASSIFIER = 2048, /**< Classifier. */
1768 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_VERSION = 2304, /**< ONU Version. */
1769 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_FLASH_FIRMWARE_VERSION = 2311, /**< ONU Flash Firmware Version. */
1770 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_ACTIVE_IMAGE_TIME = 2314, /**< ONU Active Image Time. */
1771 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_STATISTIC = 2305, /**< ONU Statistic. */
1772 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_STATISTIC_CLEAR = 2306, /**< ONU Statistic Clear. */
1773 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_STATISTIC_GET = 2319, /**< ONU Statistic Get. */
1774 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_IGMP_SET = 2307, /**< ONU IGMP Set. */
1775 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_PORT_IGMP_FILTER = 2308, /**< ONU Port Igmp Filter. */
1776 BCMOLT_EPON_OAM_DASAN_OPCODE_ONU_SHAPING = 2317 /**< ONU Shaping. */
1777} bcmolt_epon_oam_dasan_opcode;
1778
1779/** Dasan Stats Seq Type.
1780 */
1781typedef enum bcmolt_epon_oam_dasan_stats_seq_type
1782{
1783 BCMOLT_EPON_OAM_DASAN_STATS_SEQ_TYPE_PORT0AND1 = 1, /**< Port 0 and 1. */
1784 BCMOLT_EPON_OAM_DASAN_STATS_SEQ_TYPE_PORT2AND3 = 2, /**< Port 2 and 3. */
1785 BCMOLT_EPON_OAM_DASAN_STATS_SEQ_TYPE_ERRORS = 3 /**< Errors. */
1786} bcmolt_epon_oam_dasan_stats_seq_type;
1787
1788/** Dasan Stat ID.
1789 */
1790typedef enum bcmolt_epon_oam_dasan_stat_id
1791{
1792 BCMOLT_EPON_OAM_DASAN_STAT_ID_MULTICAST_FRAMES_TXOK = 0, /**< Multicast Frames TX OK. */
1793 BCMOLT_EPON_OAM_DASAN_STAT_ID_BROADCAST_FRAMES_TXOK = 1, /**< Broadcast Frames TX OK. */
1794 BCMOLT_EPON_OAM_DASAN_STAT_ID_MULTICAST_FRAMES_RXOK = 2, /**< Multicast Frames RX OK. */
1795 BCMOLT_EPON_OAM_DASAN_STAT_ID_BROADCAST_FRAMES_RXOK = 3, /**< Broadcast Frames RX OK. */
1796 BCMOLT_EPON_OAM_DASAN_STAT_ID_SYSTEM_FRAMES_RXOK = 4, /**< System Frames RX OK. */
1797 BCMOLT_EPON_OAM_DASAN_STAT_ID_SYSTEM_FRAMES_RXERROR = 5, /**< System Frames RX Error. */
1798 BCMOLT_EPON_OAM_DASAN_STAT_ID_SYSTEM_OCTETS_RXERROR = 6, /**< System Octets RX Error. */
1799 BCMOLT_EPON_OAM_DASAN_STAT_ID_SYSTEM_OCTETS_RXOK = 7, /**< System Octets RX OK. */
1800 BCMOLT_EPON_OAM_DASAN_STAT_ID_SYSTEM_FRAME_TOO_LONG_ERRORS_RX = 8, /**< System Frame Too Long Errors RX. */
1801 BCMOLT_EPON_OAM_DASAN_STAT_ID_PON_FCS_ERRORS = 9, /**< PON FCS Errors. */
1802 BCMOLT_EPON_OAM_DASAN_STAT_ID_PON_ERROR_OCTETS_RX = 10 /**< PON Error Octets RX. */
1803} bcmolt_epon_oam_dasan_stat_id;
1804
1805/** Standard direction enum
1806 */
1807typedef enum bcmolt_epon_oam_direction
1808{
1809 BCMOLT_EPON_OAM_DIRECTION_UPSTREAM = 0, /**< Upstream. */
1810 BCMOLT_EPON_OAM_DIRECTION_DOWNSTREAM = 1 /**< Downstream. */
1811} bcmolt_epon_oam_direction;
1812
1813/** Domain Option.
1814 */
1815typedef enum bcmolt_epon_oam_domain_option
1816{
1817 BCMOLT_EPON_OAM_DOMAIN_OPTION_DEFAULT_SNOOPING = 0, /**< Default Snooping. */
1818 BCMOLT_EPON_OAM_DOMAIN_OPTION_DISABLE_DN_AUTO_SNOOP = 1, /**< Disable Dn Auto Snoop. */
1819 BCMOLT_EPON_OAM_DOMAIN_OPTION_DISABLE_UP_AUTO_SNOOP = 2, /**< Disable Up Auto Snoop. */
1820 BCMOLT_EPON_OAM_DOMAIN_OPTION_UNBLOCK_MLD_IF_LIMIT_EXCEEDED = 4, /**< Unblock Mld If Limit Exceeded. */
1821 BCMOLT_EPON_OAM_DOMAIN_OPTION_PROXY_JOIN = 8, /**< Proxy Join. */
1822 BCMOLT_EPON_OAM_DOMAIN_OPTION_PROXY_LEAVE = 16 /**< Proxy Leave. */
1823} bcmolt_epon_oam_domain_option;
1824
1825/** DPoE Leaf Action.
1826 */
1827typedef enum bcmolt_epon_oam_dpoe_leaf_action
1828{
1829 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_RESET_ONU = 1, /**< This attribute resets the ONU, as if from power on. */
1830 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_CLEAR_DYN_LEARN_TABLE = 257, /**< Clear Dyn Learn Table. */
1831 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_ADD_DYN_MAC_ADDR = 258, /**< Add Dyn MAC Addr. */
1832 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_DEL_DYN_MAC_ADDR = 259, /**< Del Dyn MAC Addr. */
1833 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_CLEAR_STATIC_LEARN_TABLE = 260, /**< Clear Static Learn Table. */
1834 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_ADD_STATIC_MAC_ADDR = 261, /**< Add Static MAC Addr. */
1835 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_DEL_STATIC_MAC_ADDR = 262, /**< Del Static MAC Addr. */
1836 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_CONFIGURE_MCAST_LLID = 263, /**< Configure Mcast LLID. */
1837 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_CLEAR_STATS = 513, /**< Clear Stats. */
1838 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_RETRIEVE_CURRENT_ALARM_SUMMARY = 769, /**< Retrieve Current Alarm Summary. */
1839 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_CLEAR_INGRESS_RULES = 1281, /**< Clear Ingress Rules. */
1840 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_ADD_INGRESS_RULES = 1282, /**< Add Ingress Rules. */
1841 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_DEL_INGRESS_RULES = 1283, /**< Del Ingress Rules. */
1842 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_ENABLE_USER_TRAFFIC = 1537, /**< Enable User Traffic. */
1843 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_DISABLE_USER_TRAFFIC = 1538, /**< Disable User Traffic. */
1844 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_LOOPBACK_ENABLE = 1539, /**< Loopback Enable. */
1845 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_LOOPBACK_DISABLE = 1540, /**< Loopback Disable. */
1846 BCMOLT_EPON_OAM_DPOE_LEAF_ACTION_LASER_TX_POWER_OFF = 1541 /**< Laser Tx Power Off. */
1847} bcmolt_epon_oam_dpoe_leaf_action;
1848
1849/** DPoE Loopback Location.
1850 */
1851typedef enum bcmolt_epon_oam_dpoe_loopback_location
1852{
1853 BCMOLT_EPON_OAM_DPOE_LOOPBACK_LOCATION_PHY = 0, /**< PHY. */
1854 BCMOLT_EPON_OAM_DPOE_LOOPBACK_LOCATION_MAC = 1, /**< MAC. */
1855 BCMOLT_EPON_OAM_DPOE_LOOPBACK_LOCATION_LINK = 2 /**< Link. */
1856} bcmolt_epon_oam_dpoe_loopback_location;
1857
1858/** DPoE Llid Action.
1859 */
1860typedef enum bcmolt_epon_oam_dpoe_llid_action
1861{
1862 BCMOLT_EPON_OAM_DPOE_LLID_ACTION_ADD_LLID = 0, /**< Add Llid. */
1863 BCMOLT_EPON_OAM_DPOE_LLID_ACTION_DELETE_LLID = 1, /**< Delete Llid. */
1864 BCMOLT_EPON_OAM_DPOE_LLID_ACTION_DELETE_ALL = 2 /**< Delete All. */
1865} bcmolt_epon_oam_dpoe_llid_action;
1866
1867/** DPoE Alarm Code.
1868 */
1869typedef enum bcmolt_epon_oam_dpoe_alarm_code
1870{
1871 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_LOS = 17, /**< LOS. */
1872 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_KEYEXCHANGE_FAILURE = 18, /**< KeyExchange Failure. */
1873 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_PORT_DISABLED = 33, /**< Port Disabled. */
1874 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_POWER_FAILURE = 65, /**< Power Failure. */
1875 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_STATISTICS_ALARM = 129, /**< Statistics Alarm. */
1876 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_ONU_BUSY = 130, /**< ONU Busy. */
1877 BCMOLT_EPON_OAM_DPOE_ALARM_CODE_MAC_TABLE_OVERFLOW = 131 /**< Mac Table Overflow. */
1878} bcmolt_epon_oam_dpoe_alarm_code;
1879
1880/** DPoE Leaf Attribute.
1881 */
1882typedef enum bcmolt_epon_oam_dpoe_leaf_attribute
1883{
1884 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_SEQUENCE_NUMBER = 1, /**< Sequence Number. */
1885 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ONU_ID = 2, /**< ONU ID. */
1886 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FIRMWARE_INFO = 3, /**< Firmware Info. */
1887 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_CHIP_INFO = 4, /**< Chip Info. */
1888 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DATE_OF_MANUFACTURE = 5, /**< Date Of Manufacture. */
1889 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MANUFACTURER_INFO = 6, /**< Manufacturer Info. */
1890 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MAX_LOGICAL_LINKS = 7, /**< Max Logical Links. */
1891 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_NUM_EPON_PORTS = 8, /**< Num EPON Ports. */
1892 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_NUM_UNI_PORTS = 9, /**< Num UNI Ports. */
1893 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PACKET_BUFFER = 10, /**< Packet Buffer. */
1894 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_REPORT_THRESHOLDS = 11, /**< Report Thresholds. */
1895 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LINK_STATE = 12, /**< Link State. */
1896 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OAM_RATE = 13, /**< OAM Rate. */
1897 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MFR_NAME = 14, /**< Mfr Name. */
1898 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FWARE_MFG_TIME_VAR_CTRL = 15, /**< Fware Mfg Time Var Ctrl. */
1899 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DONU_PORT_TYPE = 16, /**< D-ONU Port Type. */
1900 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_VENDOR_NAME = 17, /**< Vendor Name. */
1901 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MODEL_NUMBER = 18, /**< Model Number. */
1902 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_HW_VERSION = 19, /**< Hw Version. */
1903 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LINE_RATE_MODE = 20, /**< Line Rate Mode. */
1904 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DYN_LEARN_TABLE_SIZE = 257, /**< Dyn Learn Table Size. */
1905 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DYN_LEARN_AGE_LIMIT = 258, /**< Dyn Learn Age Limit. */
1906 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DYN_MAC_TABLE = 259, /**< This attribute represents the dynamically learned MAC address rules of one Ethernet port. MAC address are repeated within a single attribute until that attribute is full (21 addresses = 126 bytes). If necessary, such attributes are repeated as an attribute list until the entire table has been reported. */
1907 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_STATIC_MAC_TABLE = 260, /**< This attribute represents the statically provisioned MAC address table. The data structure is the same as the Get Dynamic MAC Table attribute above. */
1908 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PORT_CAPABILITY = 261, /**< Port Capability. */
1909 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DYN_LEARN_MODE = 262, /**< Dyn Learn Mode. */
1910 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MIN_MAC_LIMIT = 263, /**< Min MAC Limit. */
1911 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MAX_MAC_ALLOWED = 264, /**< Max MAC Allowed. */
1912 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_AGG_MAC_LIMIT = 265, /**< Agg MAC Limit. */
1913 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LEN_ERR_DISCARD = 266, /**< Len Err Discard. */
1914 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FLOOD_UNKNOWN = 267, /**< Flood Unknown. */
1915 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LOCAL_SWITCHING = 268, /**< Local Switching. */
1916 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_CONFIG = 269, /**< Queue Config. */
1917 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FIRMWARE_FILENAME = 270, /**< Firmware Filename. */
1918 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_UNI_MAC_TABLE_FULL_BEHAVIOR = 271, /**< Uni Mac Table Full Behavior. */
1919 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ONU_MCAST_LLID = 272, /**< Onu Mcast LLID. */
1920 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_UNI_MAC_LEARNED = 273, /**< Uni Mac Learned. */
1921 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ONU_MAX_FRAME_SIZE_CAPABILITY = 274, /**< Onu Max Frame Size Capability. */
1922 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_UNI_MAX_FRAME_SIZE_LIMIT = 275, /**< Uni Max Frame Size Limit. */
1923 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_UNICAST_FRAMES = 513, /**< Rx Unicast Frames. */
1924 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_UNICAST_FRAMES = 514, /**< Tx Unicast Frames. */
1925 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME_TOO_SHORT = 515, /**< Rx Frame Too Short. */
1926 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME64 = 516, /**< Rx Frame 64. */
1927 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME65127 = 517, /**< Rx Frame 65_127. */
1928 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME128255 = 518, /**< Rx Frame 128_255. */
1929 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME256511 = 519, /**< Rx Frame 256_511. */
1930 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME5121023 = 520, /**< Rx Frame 512_1023. */
1931 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME10241518 = 521, /**< Rx Frame 1024_1518. */
1932 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME1519PLUS = 522, /**< Rx Frame 1519 Plus. */
1933 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME64 = 523, /**< Tx Frame 64. */
1934 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME65127 = 524, /**< Tx Frame 65_127. */
1935 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME128255 = 525, /**< Tx Frame 128_255. */
1936 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME256511 = 526, /**< Tx Frame 256_511. */
1937 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME5121023 = 527, /**< Tx Frame 512_1023. */
1938 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME10241518 = 528, /**< Tx Frame 1024_1518. */
1939 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAME1519PLUS = 529, /**< Tx Frame 1519 Plus. */
1940 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_DELAY_THRESH = 530, /**< Queue Delay Thresh. */
1941 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_DELAY = 531, /**< Queue Delay. */
1942 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FRAMES_DROPPED = 532, /**< Frames Dropped. */
1943 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_BYTES_DROPPED = 533, /**< Bytes Dropped. */
1944 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_BYTES_DELAYED = 534, /**< Bytes Delayed. */
1945 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_BYTES_UNUSED = 535, /**< Tx Bytes Unused. */
1946 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OPT_MON_TEMPERATURE = 541, /**< Opt Mon Temperature. */
1947 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OPT_MON_VCC = 542, /**< Opt Mon Vcc. */
1948 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OPT_MON_TX_BIAS = 543, /**< Opt Mon Tx Bias. */
1949 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OPT_MON_TX_POWER = 544, /**< Opt Mon Tx Power. */
1950 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_OPT_MON_RX_POWER = 545, /**< Opt Mon Rx Power. */
1951 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAMES_YELLOW = 546, /**< Rx Frames Yellow. */
1952 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAMES_YELLOW = 547, /**< Tx Frames Yellow. */
1953 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_BYTES_GREEN = 548, /**< Tx Bytes Green. */
1954 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_BYTES_YELLOW = 549, /**< Rx Bytes Yellow. */
1955 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_BYTES_GREEN = 550, /**< Rx Bytes Green. */
1956 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_BYTES_YELLOW = 551, /**< Tx Bytes Yellow. */
1957 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAMES_UNICAST = 552, /**< Tx Frames Unicast. */
1958 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAMES_MULTICAST = 553, /**< Tx Frames Multicast. */
1959 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_FRAMES_BROADCAST = 554, /**< Tx Frames Broadcast. */
1960 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAMES_UNICAST = 555, /**< Rx Frames Unicast. */
1961 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAMES_MULTICAST = 556, /**< Rx Frames Multicast. */
1962 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_FRAME_BROADCAST = 557, /**< Rx Frame Broadcast. */
1963 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_NUMBER_OF_PROGRAMMABLE_COUNTERS = 558, /**< Number Of Programmable Counters. */
1964 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_FRAMES_RX = 559, /**< L2CP Frames Rx. */
1965 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_OCTETS_RX = 560, /**< L2CP Octets Rx. */
1966 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_FRAMES_TX = 561, /**< L2CP Frames Tx. */
1967 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_OCTETS_TX = 562, /**< L2CP Octets Tx. */
1968 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_FRAMES_DISCARDED = 563, /**< L2CP Frames Discarded. */
1969 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_L2CP_OCTETS_DISCARDED = 564, /**< L2CP Octets Discarded. */
1970 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TX_L2ERRORS = 565, /**< Tx L2 Errors. */
1971 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RX_L2ERRORS = 566, /**< Rx L2 Errors. */
1972 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PORT_STAT_THRESH = 769, /**< Port Stat Thresh. */
1973 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LINK_STAT_THRESH = 770, /**< Link Stat Thresh. */
1974 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_SUSPEND_RESUME_ALARM_REPORTING = 771, /**< Suspend / Resume Alarm Reporting. */
1975 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_KEY_EXPIRY_TIME = 1025, /**< Key Expiry Time. */
1976 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ENCRYPT_MODE = 1026, /**< Encrypt Mode. */
1977 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PORT_INGRESS_RULE = 1281, /**< Port Ingress Rule. */
1978 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_LUE_FIELD = 1282, /**< LUE Field. */
1979 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ALT_CVLAN_ETHERTYPE = 1283, /**< Alt C VLAN Ethertype. */
1980 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ALT_SVLAN_ETHERTYPE = 1284, /**< Alt S VLAN Ethertype. */
1981 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_IPMC_FORWARDING_RULE_CONFIGURATION = 1285, /**< IPMC Forwarding Rule Configuration. */
1982 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ITPID = 1286, /**< I-TPID. */
1983 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_BTPID = 1287, /**< B-TPID. */
1984 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_BC_RATE_LIMIT = 1537, /**< Bc Rate Limit. */
1985 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_EGRESS_SHAPING = 1538, /**< Egress Shaping. */
1986 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_INGRESS_POLICING = 1539, /**< Ingress Policing. */
1987 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_CIR = 1540, /**< Queue CIR. */
1988 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_FEC_MODE = 1541, /**< FEC Mode. */
1989 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_EIR = 1542, /**< Queue EIR. */
1990 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_COLOR_MARKING = 1543, /**< Queue Color Marking. */
1991 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_QUEUE_RATE_LIMITER_CAPABILITIES = 1544, /**< Queue Rate Limiter Capabilities. */
1992 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_COUPLING_FLAG = 1545, /**< Coupling Flag. */
1993 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_CLOCK_TRANSPORT_CAPABILITIES = 1793, /**< Clock Transport Capabilities. */
1994 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ENABLE_CLOCK_TRANSPORT = 1794, /**< Enable Clock Transport. */
1995 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_TIME_TRANSFER = 1795, /**< Time Transfer. */
1996 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PROPAGATION_PARAMETERS = 1796, /**< Propagation Parameters. */
1997 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_RTT = 1797, /**< RTT. */
1998 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DAC_CONFIGURATION = 2048, /**< DAC Configuration. */
1999 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DAC_CONFIGURATION_FLAGS = 2049, /**< DAC Configuration Flags. */
2000 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DAC_PASSWORD_CHALLENGE = 2050, /**< DAC Password Challenge. */
2001 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_DAC_CONFIGURATION_ENABLE_DISABLE = 2051, /**< DAC Configuration Enable / Disable. */
2002 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ENERGY_EFFICIENT_ETHERNET_STATUS = 2080, /**< Energy Efficient Ethernet Status. */
2003 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_PWR_OVER_ETHERNET_STATUS = 2081, /**< Power Over Ethernet Status. */
2004 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_MEDIA_TYPE = 2082, /**< Media Type. */
2005 BCMOLT_EPON_OAM_DPOE_LEAF_ATTRIBUTE_ONU_PWR_SAVING_CAP = 65535U /**< Onu Power Saving Capabilities. */
2006} bcmolt_epon_oam_dpoe_leaf_attribute;
2007
2008/** DPoE Link State.
2009 */
2010typedef enum bcmolt_epon_oam_dpoe_link_state
2011{
2012 BCMOLT_EPON_OAM_DPOE_LINK_STATE_DISABLE = 0, /**< Disable. */
2013 BCMOLT_EPON_OAM_DPOE_LINK_STATE_ENABLE = 1 /**< Enable. */
2014} bcmolt_epon_oam_dpoe_link_state;
2015
2016/** DPoE Learning Mode.
2017 */
2018typedef enum bcmolt_epon_oam_dpoe_learning_mode
2019{
2020 BCMOLT_EPON_OAM_DPOE_LEARNING_MODE_DMODE = 0, /**< 802.1d Mode. */
2021 BCMOLT_EPON_OAM_DPOE_LEARNING_MODE_MAC_ACCESS_CONTROL_MODE = 1 /**< MAC Access Control Mode. */
2022} bcmolt_epon_oam_dpoe_learning_mode;
2023
2024/** DPoE Branch.
2025 */
2026typedef enum bcmolt_epon_oam_dpoe_branch
2027{
2028 BCMOLT_EPON_OAM_DPOE_BRANCH_END = 0, /**< End. */
2029 BCMOLT_EPON_OAM_DPOE_BRANCH_STANDARD_ATTRIBUTE = 7, /**< Standard Attribute. */
2030 BCMOLT_EPON_OAM_DPOE_BRANCH_STANDARD_ACTION = 9, /**< Standard Action. */
2031 BCMOLT_EPON_OAM_DPOE_BRANCH_OBJECT = 214, /**< Object. */
2032 BCMOLT_EPON_OAM_DPOE_BRANCH_EXTENDED_ATTRIBUTE = 215, /**< Extended Attribute. */
2033 BCMOLT_EPON_OAM_DPOE_BRANCH_PROGRAMMABLE_COUNTER = 216, /**< Programmable Counter. */
2034 BCMOLT_EPON_OAM_DPOE_BRANCH_EXTENDED_ACTION = 217 /**< Extended Action. */
2035} bcmolt_epon_oam_dpoe_branch;
2036
2037/** DPoE Object Type.
2038 */
2039typedef enum bcmolt_epon_oam_dpoe_object_type
2040{
2041 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_ONU = 0, /**< ONU. */
2042 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_NETWORK_PON = 1, /**< Network PON. */
2043 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_LINK = 2, /**< Link. */
2044 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_USER_PORT = 3, /**< User Port. */
2045 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_QUEUE = 4, /**< Queue. */
2046 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_MEP = 5, /**< MEP. */
2047 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_MCAST_LINK = 6, /**< Multicast Logical Link. */
2048 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_BRIDGE = 130, /**< Bridge. */
2049 BCMOLT_EPON_OAM_DPOE_OBJECT_TYPE_BRIDGE_PORT = 131 /**< Bridge Port. */
2050} bcmolt_epon_oam_dpoe_object_type;
2051
2052/** DPoE Encryption Mode.
2053 */
2054typedef enum bcmolt_epon_oam_dpoe_encryption_mode
2055{
2056 BCMOLT_EPON_OAM_DPOE_ENCRYPTION_MODE_NONE = 0, /**< None. */
2057 BCMOLT_EPON_OAM_DPOE_ENCRYPTION_MODE_ONE_DOWN = 1, /**< 1Down. */
2058 BCMOLT_EPON_OAM_DPOE_ENCRYPTION_MODE_TEN_DOWN = 2, /**< 10Down. */
2059 BCMOLT_EPON_OAM_DPOE_ENCRYPTION_MODE_TEN_BI = 3 /**< 10Bi. */
2060} bcmolt_epon_oam_dpoe_encryption_mode;
2061
2062/** Rule Type.
2063 */
2064typedef enum bcmolt_epon_oam_rule_type
2065{
2066 BCMOLT_EPON_OAM_RULE_TYPE_TERMINATOR = 0, /**< Terminator. */
2067 BCMOLT_EPON_OAM_RULE_TYPE_HEADER = 1, /**< Header. */
2068 BCMOLT_EPON_OAM_RULE_TYPE_CLAUSE = 2, /**< Clause. */
2069 BCMOLT_EPON_OAM_RULE_TYPE_RESULT = 3, /**< Result. */
2070 BCMOLT_EPON_OAM_RULE_TYPE_ENTRY = 4 /**< Entry. */
2071} bcmolt_epon_oam_rule_type;
2072
2073/** DPoE OAM field codes
2074 */
2075typedef enum bcmolt_epon_oam_dpoe_field_code
2076{
2077 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_LOGICAL_LINK_INDEX = 0, /**< Logical Link Index. */
2078 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_L2DA = 1, /**< L2 DA. */
2079 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_L2SA = 2, /**< L2 SA. */
2080 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_L2TYPE = 3, /**< L2 Type. */
2081 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_BDA = 4, /**< B-DA. */
2082 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_BSA = 5, /**< B-SA. */
2083 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_ITAG = 6, /**< I-Tag. */
2084 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_SVLAN = 7, /**< S-VLAN. */
2085 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CVLAN = 8, /**< C-VLAN. */
2086 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_MPLS = 9, /**< MPLS. */
2087 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV4TOS = 10, /**< IPv4 TOS. */
2088 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV4TTL = 11, /**< IPv4 TTL. */
2089 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IP_PROTOCOL_TYPE = 12, /**< IP Protocol Type. */
2090 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV4SA = 13, /**< IPv4 SA. */
2091 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV6SA = 14, /**< IPv6 SA. */
2092 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV4DA = 15, /**< IPv4 DA. */
2093 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV6DA = 16, /**< IPv6 DA. */
2094 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV6NEXT_HEADER = 17, /**< IPv 6 Next Header. */
2095 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_IPV6FLOW_LABEL = 18, /**< IPv 6 Flow Label. */
2096 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_TCP_UDP_SOURCE_PORT = 19, /**< TCP/UDP Source Port. */
2097 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_TCP_UDP_DEST_PORT = 20, /**< TCP/UDP Dest Port. */
2098 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_BTAG = 21, /**< B- Tag. */
2099 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM0 = 24, /**< Custom 0. */
2100 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM1 = 25, /**< Custom 1. */
2101 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM2 = 26, /**< Custom 2. */
2102 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM3 = 27, /**< Custom 3. */
2103 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM4 = 28, /**< Custom 4. */
2104 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM5 = 29, /**< Custom 5. */
2105 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM6 = 30, /**< Custom 6. */
2106 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_CUSTOM7 = 31, /**< Custom 7. */
2107 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_RESERVED = 32, /**< Reserved. */
2108 BCMOLT_EPON_OAM_DPOE_FIELD_CODE_LLID_VALUE = 33 /**< LLID Value. */
2109} bcmolt_epon_oam_dpoe_field_code;
2110
2111/** Rule Operator.
2112 */
2113typedef enum bcmolt_epon_oam_rule_operator
2114{
2115 BCMOLT_EPON_OAM_RULE_OPERATOR_NEVER_MATCH = 0, /**< Never Match. */
2116 BCMOLT_EPON_OAM_RULE_OPERATOR_EQUAL_TO = 1, /**< Equal To. */
2117 BCMOLT_EPON_OAM_RULE_OPERATOR_NOT_EQUAL_TO = 2, /**< Not Equal To. */
2118 BCMOLT_EPON_OAM_RULE_OPERATOR_LESS_THAN_OR_EQUAL_TO = 3, /**< Less Than Or Equal To. */
2119 BCMOLT_EPON_OAM_RULE_OPERATOR_GREATER_THAN_OR_EQUAL_TO = 4, /**< Greater Than Or Equal To. */
2120 BCMOLT_EPON_OAM_RULE_OPERATOR_EXISTS = 5, /**< Exists. */
2121 BCMOLT_EPON_OAM_RULE_OPERATOR_NOT_EXISTS = 6, /**< Not Exists. */
2122 BCMOLT_EPON_OAM_RULE_OPERATOR_ALWAYS_MATCH = 7 /**< Always Match. */
2123} bcmolt_epon_oam_rule_operator;
2124
2125/** DPoE OAM rule result
2126 */
2127typedef enum bcmolt_epon_oam_dpoe_result
2128{
2129 BCMOLT_EPON_OAM_DPOE_RESULT_NOP = 0, /**< NOP. */
2130 BCMOLT_EPON_OAM_DPOE_RESULT_DISCARD = 1, /**< Discard. */
2131 BCMOLT_EPON_OAM_DPOE_RESULT_FORWARD = 2, /**< Forward. */
2132 BCMOLT_EPON_OAM_DPOE_RESULT_QUEUE = 3, /**< Queue. */
2133 BCMOLT_EPON_OAM_DPOE_RESULT_SET = 4, /**< Set. */
2134 BCMOLT_EPON_OAM_DPOE_RESULT_COPY = 5, /**< Copy. */
2135 BCMOLT_EPON_OAM_DPOE_RESULT_DELETE = 6, /**< Delete. */
2136 BCMOLT_EPON_OAM_DPOE_RESULT_INSERT = 7, /**< Insert. */
2137 BCMOLT_EPON_OAM_DPOE_RESULT_REPLACE = 8, /**< Replace. */
2138 BCMOLT_EPON_OAM_DPOE_RESULT_CLEAR_DELETE = 9, /**< Clear Delete. */
2139 BCMOLT_EPON_OAM_DPOE_RESULT_CLEAR_INSERT = 10 /**< Clear Insert. */
2140} bcmolt_epon_oam_dpoe_result;
2141
2142/** DPoE Layer Select.
2143 */
2144typedef enum bcmolt_epon_oam_dpoe_layer_select
2145{
2146 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_PREAMBLE_L2 = 0, /**< Preamble/L2. */
2147 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_PREAMBLE8021AH = 1, /**< Preamble/802.1ah. */
2148 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_ETHERTYPE = 2, /**< EtherType. */
2149 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_SVLAN_TAGS = 3, /**< S-VLAN Tags. */
2150 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_CVLAN_TAGS = 4, /**< C-VLAN Tags. */
2151 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_MPLS_TAGS = 5, /**< MPLS Tags. */
2152 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_IPV4 = 6, /**< IPv4. */
2153 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_IPV6 = 7, /**< IPv6. */
2154 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_GENERIC_L3 = 8, /**< Generic L3. */
2155 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_TCP_UDP = 9, /**< TCP/UDP. */
2156 BCMOLT_EPON_OAM_DPOE_LAYER_SELECT_GENERIC_L4 = 10 /**< Generic L4. */
2157} bcmolt_epon_oam_dpoe_layer_select;
2158
2159/** Traffic Bitmap.
2160 */
2161typedef enum bcmolt_epon_oam_traffic_bitmap
2162{
2163 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_NONE = 0,
2164 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_BROADCAST = 0x0001, /**< Broadcast. */
2165 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_MULTICAST = 0x0002, /**< Multicast. */
2166 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_DRESERVED_GROUP = 0x0004, /**< 802.1d Reserved Group. */
2167 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_UNICAST = 0x0008, /**< Unicast. */
2168 BCMOLT_EPON_OAM_TRAFFIC_BITMAP_FLOODED_UNICAST = 0x0010 /**< Flooded Unicast. */
2169} bcmolt_epon_oam_traffic_bitmap;
2170
2171/** Rate Units.
2172 */
2173typedef enum bcmolt_epon_oam_rate_units
2174{
2175 BCMOLT_EPON_OAM_RATE_UNITS_KBPS = 0, /**< Kbps. */
2176 BCMOLT_EPON_OAM_RATE_UNITS_FRAMES_SECOND = 1 /**< Frames/second. */
2177} bcmolt_epon_oam_rate_units;
2178
2179/** DPoE FEC Mode.
2180 */
2181typedef enum bcmolt_epon_oam_dpoe_fec_mode
2182{
2183 BCMOLT_EPON_OAM_DPOE_FEC_MODE_OFF = 0, /**< No FEC */
2184 BCMOLT_EPON_OAM_DPOE_FEC_MODE_ON = 1, /**< FEC is ON for all links */
2185 BCMOLT_EPON_OAM_DPOE_FEC_MODE_PER_LINK = 2 /**< FEC is settable per link (with the Per Link message) */
2186} bcmolt_epon_oam_dpoe_fec_mode;
2187
2188/** DPoE Port Type.
2189 */
2190typedef enum bcmolt_epon_oam_dpoe_port_type
2191{
2192 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_UNSPECIFIED = 0, /**< Unspecified. */
2193 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_EMTA = 1, /**< EMTA. */
2194 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_ESTB_IP = 2, /**< ESTB-IP. */
2195 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_ESTB_DSG = 3, /**< ESTB-DSG. */
2196 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_ETEA = 4, /**< ETEA. */
2197 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_ESG = 5, /**< ESG. */
2198 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_EROUTER = 6, /**< E Router. */
2199 BCMOLT_EPON_OAM_DPOE_PORT_TYPE_EDVA = 7 /**< EDVA. */
2200} bcmolt_epon_oam_dpoe_port_type;
2201
2202/** Dpoe Ipmc Forwarding Flags.
2203 */
2204typedef enum bcmolt_epon_oam_dpoe_ipmc_forwarding_flags
2205{
2206 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_NONE = 0,
2207 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_LLID = 0x0001, /**< LLID. */
2208 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_L2DA = 0x0002, /**< L2 DA. */
2209 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_L2SA = 0x0004, /**< L2 SA. */
2210 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_IPDA = 0x0008, /**< IP DA. */
2211 BCMOLT_EPON_OAM_DPOE_IPMC_FORWARDING_FLAGS_IPSA = 0x0010 /**< IP SA. */
2212} bcmolt_epon_oam_dpoe_ipmc_forwarding_flags;
2213
2214/** DPoE Power Saving Mode.
2215 */
2216typedef enum bcmolt_epon_oam_dpoe_power_saving_mode
2217{
2218 BCMOLT_EPON_OAM_DPOE_POWER_SAVING_MODE_NONE = 0, /**< None. */
2219 BCMOLT_EPON_OAM_DPOE_POWER_SAVING_MODE_TX = 1, /**< Tx. */
2220 BCMOLT_EPON_OAM_DPOE_POWER_SAVING_MODE_TRX = 2, /**< Trx. */
2221 BCMOLT_EPON_OAM_DPOE_POWER_SAVING_MODE_TX_TRX = 3 /**< Tx_Trx. */
2222} bcmolt_epon_oam_dpoe_power_saving_mode;
2223
2224/** DPoE Error Code.
2225 */
2226typedef enum bcmolt_epon_oam_dpoe_error_code
2227{
2228 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_NO_ERROR = 128, /**< No Error. */
2229 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_TOO_LONG = 129, /**< Too Long. */
2230 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_BAD_PARAMS = 134, /**< Bad Params. */
2231 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_NO_RESOURCES = 135, /**< No Resources. */
2232 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_SYSTEM_BUSY = 136, /**< System Busy. */
2233 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_UNDETERMINED = 160, /**< Undetermined. */
2234 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_UNSUPPORTED = 161, /**< Unsupported. */
2235 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_CORRUPTED = 162, /**< Corrupted. */
2236 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_HW_FAILURE = 163, /**< Hw Failure. */
2237 BCMOLT_EPON_OAM_DPOE_ERROR_CODE_OVERFLOW = 164 /**< Overflow. */
2238} bcmolt_epon_oam_dpoe_error_code;
2239
2240/** DPoE File Transfer Opcode.
2241 */
2242typedef enum bcmolt_epon_oam_dpoe_file_transfer_opcode
2243{
2244 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_OPCODE_FILE_READ = 0, /**< File Read. */
2245 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_OPCODE_FILE_WRITE = 1, /**< File Write. */
2246 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_OPCODE_FILE_DATA = 2, /**< File Data. */
2247 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_OPCODE_FILE_ACK = 3 /**< File Ack. */
2248} bcmolt_epon_oam_dpoe_file_transfer_opcode;
2249
2250/** DPoE File Type.
2251 */
2252typedef enum bcmolt_epon_oam_dpoe_file_type
2253{
2254 BCMOLT_EPON_OAM_DPOE_FILE_TYPE_BOOT = 0, /**< Boot. */
2255 BCMOLT_EPON_OAM_DPOE_FILE_TYPE_APP = 1, /**< App. */
2256 BCMOLT_EPON_OAM_DPOE_FILE_TYPE_CONFIG = 2, /**< Config. */
2257 BCMOLT_EPON_OAM_DPOE_FILE_TYPE_DIAG = 3 /**< Diag. */
2258} bcmolt_epon_oam_dpoe_file_type;
2259
2260/** DPoE File Transfer Error.
2261 */
2262typedef enum bcmolt_epon_oam_dpoe_file_transfer_error
2263{
2264 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_OK = 0, /**< Ok. */
2265 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_UNDEFINED = 1, /**< Undefined. */
2266 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_NOT_FOUND = 2, /**< Not Found. */
2267 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_NO_ACCESS = 3, /**< No Access. */
2268 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_FULL = 4, /**< Full. */
2269 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_ILLEGAL_OP = 5, /**< Illegal Op. */
2270 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_UNKNOWN_ID = 6, /**< Unknown ID. */
2271 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_BAD_BLOCK = 7, /**< Bad Block. */
2272 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_TIMEOUT = 8, /**< Timeout. */
2273 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_BUSY = 9, /**< Busy. */
2274 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_INCOMPATIBLE = 10, /**< Incompatible. */
2275 BCMOLT_EPON_OAM_DPOE_FILE_TRANSFER_ERROR_CORRUPTED = 11 /**< Corrupted. */
2276} bcmolt_epon_oam_dpoe_file_transfer_error;
2277
2278/** DPoE Info TLV Type.
2279 */
2280typedef enum bcmolt_epon_oam_dpoe_info_tlv_type
2281{
2282 BCMOLT_EPON_OAM_DPOE_INFO_TLV_TYPE_DPOE_OAM_SUPPORT = 0 /**< DPoE OAM Support. */
2283} bcmolt_epon_oam_dpoe_info_tlv_type;
2284
2285/** DPoE Mcast Ctrl Action.
2286 */
2287typedef enum bcmolt_epon_oam_dpoe_mcast_ctrl_action
2288{
2289 BCMOLT_EPON_OAM_DPOE_MCAST_CTRL_ACTION_ADD = 0, /**< Add one entry */
2290 BCMOLT_EPON_OAM_DPOE_MCAST_CTRL_ACTION_REMOVE = 1, /**< Delete one entry */
2291 BCMOLT_EPON_OAM_DPOE_MCAST_CTRL_ACTION_CLEAR = 2 /**< Remove all entries */
2292} bcmolt_epon_oam_dpoe_mcast_ctrl_action;
2293
2294/** Dpoe Mcast Ctrl Resp Code.
2295 */
2296typedef enum bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code
2297{
2298 BCMOLT_EPON_OAM_DPOE_MCAST_CTRL_RESP_CODE_FAILURE = 0, /**< Failure. */
2299 BCMOLT_EPON_OAM_DPOE_MCAST_CTRL_RESP_CODE_SUCCESS = 1 /**< Success. */
2300} bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code;
2301
2302/** DPoE Mcast Reg Code.
2303 */
2304typedef enum bcmolt_epon_oam_dpoe_mcast_reg_code
2305{
2306 BCMOLT_EPON_OAM_DPOE_MCAST_REG_CODE_DEREGISTER = 2, /**< Deregister. */
2307 BCMOLT_EPON_OAM_DPOE_MCAST_REG_CODE_REG = 3 /**< Register. */
2308} bcmolt_epon_oam_dpoe_mcast_reg_code;
2309
2310/** Phy type -- corresponds to OamPhyType in Oam.h
2311 */
2312typedef enum bcmolt_epon_oam_std_phy_type
2313{
2314 BCMOLT_EPON_OAM_STD_PHY_TYPE_OTHER = 1, /**< Other. */
2315 BCMOLT_EPON_OAM_STD_PHY_TYPE_UNKNOWN = 2, /**< Unknown. */
2316 BCMOLT_EPON_OAM_STD_PHY_TYPE_NONE = 3, /**< None. */
2317 BCMOLT_EPON_OAM_STD_PHY_TYPE_TEN = 7, /**< 10. */
2318 BCMOLT_EPON_OAM_STD_PHY_TYPE_ONE_HUNDRED_T4 = 23, /**< 100 T4. */
2319 BCMOLT_EPON_OAM_STD_PHY_TYPE_ONE_HUNDRED_X = 24, /**< 100 X. */
2320 BCMOLT_EPON_OAM_STD_PHY_TYPE_ONE_HUNDRED_T2 = 32, /**< 100 T2. */
2321 BCMOLT_EPON_OAM_STD_PHY_TYPE_ONE_THOUSAND_X = 36, /**< 1000 X. */
2322 BCMOLT_EPON_OAM_STD_PHY_TYPE_ONE_THOUSAND_T = 40, /**< 1000 T. */
2323 BCMOLT_EPON_OAM_STD_PHY_TYPE_TEN_GX = 48, /**< 10G X. */
2324 BCMOLT_EPON_OAM_STD_PHY_TYPE_TEN_GR = 49, /**< 10G R. */
2325 BCMOLT_EPON_OAM_STD_PHY_TYPE_TEN_W = 50, /**< 10 W. */
2326 BCMOLT_EPON_OAM_STD_PHY_TYPE_TEN_GT = 55 /**< 10G T. */
2327} bcmolt_epon_oam_std_phy_type;
2328
2329/** OAM State.
2330 */
2331typedef enum bcmolt_epon_oam_oam_state
2332{
2333 BCMOLT_EPON_OAM_OAM_STATE_DISABLED = 1, /**< Disabled. */
2334 BCMOLT_EPON_OAM_OAM_STATE_ENABLED = 2 /**< Enabled. */
2335} bcmolt_epon_oam_oam_state;
2336
2337/** Mau Media Available.
2338 */
2339typedef enum bcmolt_epon_oam_mau_media_available
2340{
2341 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_OTHER = 1, /**< Other. */
2342 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_UNKNOWN = 2, /**< Unknown. */
2343 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_AVAILABLE = 3, /**< Available. */
2344 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_NOT_AVAILABLE = 4, /**< Not Available. */
2345 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_REMOTE_FAULT = 5, /**< Remote Fault. */
2346 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_INV_SIGNAL = 6, /**< Inv Signal. */
2347 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_REMOTE_JABBER = 7, /**< Remote Jabber. */
2348 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_REMOTE_LINK_LOSS = 8, /**< Remote Link Loss. */
2349 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_REMOTE_TEST = 9, /**< Remote Test. */
2350 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_OFFLINE = 10, /**< Offline. */
2351 BCMOLT_EPON_OAM_MAU_MEDIA_AVAILABLE_AUTO_NEG_ERROR = 11 /**< Auto Neg Error. */
2352} bcmolt_epon_oam_mau_media_available;
2353
2354/** Std Auto Negoitation Capability.
2355 */
2356typedef enum bcmolt_epon_oam_std_auto_negoitation_capability
2357{
2358 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_GLOBAL = 0, /**< Global. */
2359 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_OTHER = 1, /**< Other. */
2360 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_UNKNOWN = 2, /**< Unknown. */
2361 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_T = 14, /**< 10 T. */
2362 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_TFD = 142, /**< 10 TFD. */
2363 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_HUNDRED_T4 = 23, /**< 100 T4. */
2364 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_HUNDRED_TX = 25, /**< 100 TX. */
2365 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_HUNDRED_TXFD = 252, /**< 100 TXFD. */
2366 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_FDX_PAUSE = 312, /**< Fdx Pause. */
2367 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_FDX_APAUSE = 313, /**< Fdx A Pause. */
2368 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_FDX_SPAUSE = 314, /**< Fdx S Pause. */
2369 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_FDX_BPAUSE = 315, /**< Fdx B Pause. */
2370 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_HUNDRED_T2 = 32, /**< 100 T2. */
2371 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_HUNDRED_T2FD = 322, /**< 100 T2 FD. */
2372 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_THOUSAND_X = 36, /**< 1000 X. */
2373 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_THOUSAND_XFD = 362, /**< 1000 XFD. */
2374 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_THOUSAND_T = 40, /**< 1000 T. */
2375 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ONE_THOUSAND_TFD = 402, /**< 1000 TFD. */
2376 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_REM_FAULT1 = 37, /**< Rem Fault 1. */
2377 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_REM_FAULT2 = 372, /**< Rem Fault 2. */
2378 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_X = 48, /**< 10 G Base X. */
2379 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_LX4 = 481, /**< 10 G Base L X4. */
2380 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_R = 49, /**< 10 G Base R. */
2381 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_ER = 491, /**< 10 G Base ER. */
2382 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_LR = 492, /**< 10 G Base LR. */
2383 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_SR = 493, /**< 10 G Base SR. */
2384 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_W = 50, /**< 10 G Base W. */
2385 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_EW = 501, /**< 10 G Base EW. */
2386 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_LW = 502, /**< 10 G Base LW. */
2387 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_TEN_GBASE_SW = 503, /**< 10 G Base SW. */
2388 BCMOLT_EPON_OAM_STD_AUTO_NEGOITATION_CAPABILITY_ISO_ETHERNET = 8029 /**< Iso Ethernet. */
2389} bcmolt_epon_oam_std_auto_negoitation_capability;
2390
2391/** MAC Duplex Status.
2392 */
2393typedef enum bcmolt_epon_oam_mac_duplex_status
2394{
2395 BCMOLT_EPON_OAM_MAC_DUPLEX_STATUS_OAM_MAC_DUPLEX_HALF = 1, /**< OAM MAC Duplex Half. */
2396 BCMOLT_EPON_OAM_MAC_DUPLEX_STATUS_OAM_MAC_DUPLEX_FULL = 2, /**< OAM MAC Duplex Full. */
2397 BCMOLT_EPON_OAM_MAC_DUPLEX_STATUS_OAM_MAC_DUPLEX_UNKNOWN = 3 /**< OAM MAC Duplex Unknown. */
2398} bcmolt_epon_oam_mac_duplex_status;
2399
2400/** FEC Support.
2401 */
2402typedef enum bcmolt_epon_oam_fec_support
2403{
2404 BCMOLT_EPON_OAM_FEC_SUPPORT_UNKNOWN = 1, /**< Unknown. */
2405 BCMOLT_EPON_OAM_FEC_SUPPORT_SUPPORTED = 2, /**< Supported. */
2406 BCMOLT_EPON_OAM_FEC_SUPPORT_NOT_SUPPORTED = 3 /**< Not Supported. */
2407} bcmolt_epon_oam_fec_support;
2408
2409/** Std FEC Mode.
2410 */
2411typedef enum bcmolt_epon_oam_std_fec_mode
2412{
2413 BCMOLT_EPON_OAM_STD_FEC_MODE_UNKNOWN = 1, /**< Unknown. */
2414 BCMOLT_EPON_OAM_STD_FEC_MODE_ENABLED = 2, /**< Enabled. */
2415 BCMOLT_EPON_OAM_STD_FEC_MODE_DISABLED = 3 /**< Disabled. */
2416} bcmolt_epon_oam_std_fec_mode;
2417
2418/** DPoE Opcode.
2419 */
2420typedef enum bcmolt_epon_oam_dpoe_opcode
2421{
2422 BCMOLT_EPON_OAM_DPOE_OPCODE_RESERVED = 0, /**< Reserved. */
2423 BCMOLT_EPON_OAM_DPOE_OPCODE_GET_REQUEST = 1, /**< Get Request. */
2424 BCMOLT_EPON_OAM_DPOE_OPCODE_GET_RESPONSE = 2, /**< Get Response. */
2425 BCMOLT_EPON_OAM_DPOE_OPCODE_SET_REQUEST = 3, /**< Set Request. */
2426 BCMOLT_EPON_OAM_DPOE_OPCODE_SET_RESPONSE = 4, /**< Set Response. */
2427 BCMOLT_EPON_OAM_DPOE_OPCODE_DYNAMIC_IPMCAST_CTRL = 5, /**< Dynamic IP Multicast Control. */
2428 BCMOLT_EPON_OAM_DPOE_OPCODE_MCAST_REG = 6, /**< Mcast Reg. */
2429 BCMOLT_EPON_OAM_DPOE_OPCODE_MCAST_REG_RESP = 7, /**< Mcast Reg Resp. */
2430 BCMOLT_EPON_OAM_DPOE_OPCODE_KEY_EXCHANGE = 8, /**< Key Exchange. */
2431 BCMOLT_EPON_OAM_DPOE_OPCODE_FILE_TRANSFER = 9, /**< File Transfer. */
2432 BCMOLT_EPON_OAM_DPOE_OPCODE_DYNAMIC_IPMCAST_CTRL_RESP = 10, /**< Dynamic IP Multicast Control Response. */
2433 BCMOLT_EPON_OAM_DPOE_OPCODE_STATIC_IPMCAST_CTRL = 11, /**< Static IP Multicast Control. */
2434 BCMOLT_EPON_OAM_DPOE_OPCODE_STATIC_IPMCAST_CTRL_RESP = 12 /**< Static IP Multicast Control Response. */
2435} bcmolt_epon_oam_dpoe_opcode;
2436
2437/** DPoE Version.
2438 */
2439typedef enum bcmolt_epon_oam_dpoe_version
2440{
2441 BCMOLT_EPON_OAM_DPOE_VERSION_DPOE10 = 1, /**< DPoE 1.0. */
2442 BCMOLT_EPON_OAM_DPOE_VERSION_PRE_DPOE_WITHOUT_CERTIFICATE = 2, /**< Pre-DPoE Without Certificate. */
2443 BCMOLT_EPON_OAM_DPOE_VERSION_PRE_DPOE_WITH_CERTIFICATE = 3, /**< Pre-DPoE With Certificate. */
2444 BCMOLT_EPON_OAM_DPOE_VERSION_DPOE10I04 = 16, /**< DPoE 1.0 I04. */
2445 BCMOLT_EPON_OAM_DPOE_VERSION_DPOE10I05 = 17, /**< DPoE 1.0 I05. */
2446 BCMOLT_EPON_OAM_DPOE_VERSION_DPOE20 = 32 /**< DPoE 2.0. */
2447} bcmolt_epon_oam_dpoe_version;
2448
2449/** EAP Code.
2450 */
2451typedef enum bcmolt_epon_oam_eap_code
2452{
2453 BCMOLT_EPON_OAM_EAP_CODE_REQUEST = 1, /**< Request. */
2454 BCMOLT_EPON_OAM_EAP_CODE_RESPONSE = 2, /**< Response. */
2455 BCMOLT_EPON_OAM_EAP_CODE_SUCCESS = 3, /**< Success. */
2456 BCMOLT_EPON_OAM_EAP_CODE_FAILURE = 4 /**< Failure. */
2457} bcmolt_epon_oam_eap_code;
2458
2459/** TLS Subtype.
2460 */
2461typedef enum bcmolt_epon_oam_tls_subtype
2462{
2463 BCMOLT_EPON_OAM_TLS_SUBTYPE_AUTHENTICATION = 13 /**< Authentication. */
2464} bcmolt_epon_oam_tls_subtype;
2465
2466/** TLS Flags.
2467 */
2468typedef enum bcmolt_epon_oam_tls_flags
2469{
2470 BCMOLT_EPON_OAM_TLS_FLAGS_NONE = 0,
2471 BCMOLT_EPON_OAM_TLS_FLAGS_START = 0x0020, /**< Start. */
2472 BCMOLT_EPON_OAM_TLS_FLAGS_MORE = 0x0040, /**< More. */
2473 BCMOLT_EPON_OAM_TLS_FLAGS_LENGTH = 0x0080 /**< Length. */
2474} bcmolt_epon_oam_tls_flags;
2475
2476/** TLS Content Type.
2477 */
2478typedef enum bcmolt_epon_oam_tls_content_type
2479{
2480 BCMOLT_EPON_OAM_TLS_CONTENT_TYPE_CHANGE_CIPHER_SPEC = 20, /**< Change Cipher Spec. */
2481 BCMOLT_EPON_OAM_TLS_CONTENT_TYPE_ALERT = 21, /**< Alert. */
2482 BCMOLT_EPON_OAM_TLS_CONTENT_TYPE_HANDSHAKE = 22, /**< Handshake. */
2483 BCMOLT_EPON_OAM_TLS_CONTENT_TYPE_APPLICATION_DATA = 23 /**< Application Data. */
2484} bcmolt_epon_oam_tls_content_type;
2485
2486/** TLS Handshake Type.
2487 */
2488typedef enum bcmolt_epon_oam_tls_handshake_type
2489{
2490 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_HELLO_REQUEST = 0, /**< Hello Request. */
2491 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_CLIENT_HELLO = 1, /**< Client Hello. */
2492 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_SERVER_HELLO = 2, /**< Server Hello. */
2493 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_CERTIFICATE = 11, /**< Certificate. */
2494 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE = 12, /**< Server Key Exchange. */
2495 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST = 13, /**< Certificate Request. */
2496 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE = 14, /**< Server Hello Done. */
2497 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_CERTIFICATE_VERIFY = 15, /**< Certificate Verify. */
2498 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_CLIENT_KEY_EXCHANGE = 16, /**< Client Key Exchange. */
2499 BCMOLT_EPON_OAM_TLS_HANDSHAKE_TYPE_FINISHED = 20 /**< Finished. */
2500} bcmolt_epon_oam_tls_handshake_type;
2501
2502/** TLS Ciphersuite.
2503 */
2504typedef enum bcmolt_epon_oam_tls_ciphersuite
2505{
2506 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_NULL_WITH_NULL_NULL = 0, /**< TLS Null With Null Null. */
2507 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_NULL_MD5 = 1, /**< TLS RSA With Null MD5. */
2508 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_NULL_SHA = 2, /**< TLS RSA With Null SHA. */
2509 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_RC4128MD5 = 4, /**< TLS RSA With RC4 128 MD5. */
2510 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_RC4128SHA = 5, /**< TLS RSA With RC4 128 SHA. */
2511 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_IDEA_CBC_SHA = 7, /**< TLS RSA With IDEA CBC SHA. */
2512 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH_DES_CBC_SHA = 9, /**< TLS RSA With DES CBC SHA. */
2513 BCMOLT_EPON_OAM_TLS_CIPHERSUITE_TLS_RSA_WITH3DES_EDE_CBC_SHA = 10 /**< TLS RSA With 3DES EDE CBC SHA. */
2514} bcmolt_epon_oam_tls_ciphersuite;
2515
2516/** TLS Compression Method.
2517 */
2518typedef enum bcmolt_epon_oam_tls_compression_method
2519{
2520 BCMOLT_EPON_OAM_TLS_COMPRESSION_METHOD_NULL = 0 /**< Null. */
2521} bcmolt_epon_oam_tls_compression_method;
2522
2523/** TLS Certificate Type.
2524 */
2525typedef enum bcmolt_epon_oam_tls_certificate_type
2526{
2527 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_RSA_SIGN = 1, /**< RSA Sign. */
2528 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_DSS_SIGN = 2, /**< DSS Sign. */
2529 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_RSA_FIXED_DH = 3, /**< RSA Fixed DH. */
2530 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_DSS_FIXED_DH = 4, /**< DSS Fixed DH. */
2531 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_RSA_EPHEMERAL_DHRESERVED = 5, /**< RSA Ephemeral DH (RESERVED). */
2532 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_DSS_EPEHEMERAL_DHRESERVED = 6, /**< DSS Epehemeral DH (RESERVED). */
2533 BCMOLT_EPON_OAM_TLS_CERTIFICATE_TYPE_FORTEZZA_DMS_RESERVED = 20 /**< Fortezza DMS (RESERVED). */
2534} bcmolt_epon_oam_tls_certificate_type;
2535
2536/** EAPOL Type.
2537 */
2538typedef enum bcmolt_epon_oam_eapol_type
2539{
2540 BCMOLT_EPON_OAM_EAPOL_TYPE_PACKET = 0, /**< Packet. */
2541 BCMOLT_EPON_OAM_EAPOL_TYPE_START = 1, /**< Start. */
2542 BCMOLT_EPON_OAM_EAPOL_TYPE_LOGOFF = 2, /**< Logoff. */
2543 BCMOLT_EPON_OAM_EAPOL_TYPE_KEY = 3, /**< Key. */
2544 BCMOLT_EPON_OAM_EAPOL_TYPE_ASF_ALERT = 4, /**< ASF Alert. */
2545 BCMOLT_EPON_OAM_EAPOL_TYPE_MKA = 5 /**< MKA. */
2546} bcmolt_epon_oam_eapol_type;
2547
2548/** EAPOL Version.
2549 */
2550typedef enum bcmolt_epon_oam_eapol_version
2551{
2552 BCMOLT_EPON_OAM_EAPOL_VERSION_VERSION2 = 2 /**< Version 2. */
2553} bcmolt_epon_oam_eapol_version;
2554
2555/** EPOC CMC Stat Index.
2556 */
2557typedef enum bcmolt_epon_oam_epoc_cmc_stat_index
2558{
2559 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_UP_OK_SDM_FRAMES = 0, /**< Transmit packet from SDM upstream with good timestamp<StatInfo> */
2560 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_UP_OK_CMI_FRAMES = 1, /**< Transmit packet from CMI upstream with good timestamp<StatInfo> */
2561 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_UP_DROPPED_SDM_FRAMES = 2, /**< Statistic for dropping frame due to timestamp error */
2562 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_UP_DROPPED_CMI_FRAMES = 3, /**< Statistic for dropping frame due to timestamp error */
2563 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_DOWN_OK_FRAMES = 4, /**< Statistic recieving frame downstream */
2564 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_DOWN_DROPPED_CRC8FRAMES = 5, /**< Drop frame because of CRC 8 error */
2565 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_DOWN_DROPPED_LINECODE_FRAMES = 6, /**< Drop frame because of line coding error */
2566 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_TBM_DOWN_DROPPED_MAXSIZE_FRAMES = 7, /**< Drop frame for being too long */
2567 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_DOWN_TIME_UPDATE = 8, /**< Valid Timestamp Update */
2568 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_DOWN_GRANT_RECEIVED = 9, /**< Valid Grant Received */
2569 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_DOWN_DROPPED = 10, /**< <StatInfo> */
2570 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_GATE_DIF_PEAK = 11, /**< */
2571 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_GRT_PHY_DISC = 12, /**< <StatInfo> */
2572 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_GRT_DISC = 13, /**< <StatInfo> */
2573 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_GRT_DATA = 14, /**< <StatInfo> */
2574 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_GFI_GRT_TUNING = 15, /**< Statistic that counts discovery gates converted to tuning grants */
2575 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SDI_RX_PACKET_OVER_DROP = 16, /**< This indicates an down burst header with a good CRC 32. */
2576 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SDI_DOWN_CRC32DROPPED_HEADERS = 17, /**< This indicates an down burst header with a good CRC 32. */
2577 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SDI_DOWN_OK_HEADERS = 18, /**< Count good burst headers <StatInfo IsMirror="True"> */
2578 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FEC_UP_BAD_BLOCKS = 19, /**< <StatInfo IsMirror="True" IsRate="True"> */
2579 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FEC_UP_CORRECTED_BLOCKS = 20, /**< <StatInfo IsMirror="True" IsRate="True"> */
2580 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FEC_UP_OK_BLOCKS = 21, /**< <StatInfo IsMirror="True" IsRate="True"> */
2581 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FEC_UP_ERR_BYTES = 22, /**< <StatInfo IsMirror="True" IsRate="True"> */
2582 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FEC_UP_ERR_BITS = 23, /**< <StatInfo IsMirror="True" IsRate="True"> */
2583 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DEF_UP_CRC32FRAMES_DROPPED = 24, /**< We check the CRC 32 on upstream frames. This indicates a frame discard. */
2584 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DEF_UP_OK_FRAMES = 25, /**< Number of good packets in the upstream rx */
2585 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DEF_UP_CRC8FRAMES_DROPPED = 26, /**< Number of crc-8 errors in the upstream rx */
2586 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_CMI_UP_DROPPED_MAXSIZE_FRAMES = 27, /**< Drop frame for being too long */
2587 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_CMI_UP_OK_FRAMES = 28, /**< Statistic recieving frame upstream */
2588 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_CMI_UP_DROPPED_CRC8FRAMES = 29, /**< Drop frame because of CRC 8 error */
2589 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_CMI_UP_DROPPED_LINECODE_FRAMES = 30, /**< Drop frame because of line coding error */
2590 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_OK_MPCP_FRAMES = 31, /**< Enqueued MPCP frame */
2591 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_OK_OAM_FRAMES = 32, /**< Enqueued Oam Frame */
2592 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_OK_DATA_FRAMES = 33, /**< Enqueued Data frame */
2593 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_DROPPED_MPCP_FRAMES = 34, /**< Overrun MPCP fifo */
2594 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_DROPPED_OAM_FRAMES = 35, /**< Overrun Oam fifo */
2595 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_DFI_DOWN_DROPPED_DATA_FRAMES = 36, /**< Overrun data fifo */
2596 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SDM_DOWN_SYMBOL_COUNT = 37, /**< How many symbols have gone by */
2597 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SES_DOWN_SYMBOL_COLLECTED = 38, /**< How many symbols have we collected stats on ? */
2598 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_SES_DOWN_SYMBOL_BIT_ERRORS = 39, /**< Count of bit errors in collected symbols. Used to verify collector working */
2599 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FRA_GRANT_DROP = 40, /**< <StatInfo IsMirror="False" IsRate="False"> */
2600 BCMOLT_EPON_OAM_EPOC_CMC_STAT_INDEX_FRA_PKT_DROP = 41 /**< <StatInfo IsMirror="False" IsRate="False"> */
2601} bcmolt_epon_oam_epoc_cmc_stat_index;
2602
2603/** EPOC CNU Stat Index.
2604 */
2605typedef enum bcmolt_epon_oam_epoc_cnu_stat_index
2606{
2607 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_EMI_UP_DROPPED_LINECODE_FRAMES = 0, /**< Drop frame because of line coding error */
2608 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_EMI_UP_DROPPED_CRC8FRAMES = 1, /**< Drop frame because of CRC 8 error */
2609 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_EMI_UP_OK_FRAMES = 2, /**< Upstream good packet count */
2610 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_EMI_UP_DROPPED_MAXSIZE_FRAMES = 3, /**< Max Frame Size Packet Drop */
2611 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_DOWN_OAM_TIME_PEAK = 4, /**< Gpr Oam Time Peak */
2612 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_DOWN_MPCP_TIME_PEAK = 5, /**< Gpr Mpcp Time Peak */
2613 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_DOWN_DATA_TIME_PEAK = 6, /**< Gpr Data Time Peak */
2614 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_GRT_PHY_DISC = 7, /**< <StatInfo> */
2615 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_GRT_TUNING = 8, /**< <StatInfo> */
2616 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_GRT_DISC = 9, /**< <StatInfo> */
2617 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_GRT_DATA = 10, /**< <StatInfo> */
2618 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_MPCP_PEAK = 11, /**< Difference between local MPCP time reference and update to the ONU */
2619 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_GPR_GATE_DIFF_PEAK = 12, /**< Difference between local MPCP time reference and update to the ONU */
2620 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SDI_RX_NO_VLD_CNT_PEAK = 13, /**< SdiRxNoVldCntPeak. */
2621 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SDI_RX_PACKET_OVER_DROP = 14, /**< <StatInfo> */
2622 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SDI_DOWN_CRC32DROPPED_HEADERS = 15, /**< This indicates an down burst header with a good CRC 32. */
2623 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SDI_DOWN_OK_HEADERS = 16, /**< Count good burst headers <StatInfo IsMirror="True"> */
2624 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FEC_DOWN_BAD_BLOCKS = 17, /**< <StatInfo IsMirror="True" IsRate="True"> */
2625 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FEC_DOWN_CORRECTED_BLOCKS = 18, /**< <StatInfo IsMirror="True" IsRate="True"> */
2626 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FEC_DOWN_OK_BLOCKS = 19, /**< <StatInfo IsMirror="True" IsRate="True"> */
2627 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FEC_DOWN_ERR_BYTES = 20, /**< <StatInfo IsMirror="True" IsRate="True"> */
2628 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FEC_DOWN_ERR_BITS = 21, /**< <StatInfo IsMirror="True" IsRate="True"> */
2629 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DEF_DOWN_OK = 22, /**< Number of good packets in the upstream rx */
2630 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DEF_DOWN_CRC8FRAMES_DROPPED = 23, /**< Number of crc-8 errors in the upstream rx */
2631 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DEF_DOWN_CRC32FRAMES_DROPPED = 24, /**< CRC 32 Error */
2632 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_RPR_FRAMES = 25, /**< RprFrames. */
2633 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SDM_DOWN_SYMBOL_COUNT = 26, /**< How many symbols have gone by */
2634 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SES_DOWN_SYMBOL_COLLECTED = 27, /**< How many symbols have we collected stats on ? */
2635 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_SES_DOWN_SYMBOL_BIT_ERRORS = 28, /**< Count of bit errors in collected symbols. Used to verify collector working */
2636 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_OK_MPCP_FRAMES = 29, /**< Enqueued MPCP frame */
2637 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_OK_OAM_FRAMES = 30, /**< Enqueued Oam frame */
2638 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_OK_DATA_FRAMES = 31, /**< Enqueued data frame */
2639 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_DROPPED_MPCP_FRAMES = 32, /**< Overrun MPCP fifo */
2640 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_DROPPED_OAM_FRAMES = 33, /**< Overrun Oam fifo */
2641 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_DFO_DOWN_DROPPED_DATA_FRAMES = 34, /**< Overrun data fifo */
2642 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FRA_GRANT_DROP = 35, /**< <StatInfo IsMirror="False" IsRate="False"> */
2643 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_FRA_PKT_DROP = 36, /**< <StatInfo IsMirror="False" IsRate="False"> */
2644 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_UFO_UP_DROP = 37, /**< <StatInfo IsMirror="False" IsRate="False"> */
2645 BCMOLT_EPON_OAM_EPOC_CNU_STAT_INDEX_UFO_UP_FRAME = 38 /**< <StatInfo IsMirror="False" IsRate="False"> */
2646} bcmolt_epon_oam_epoc_cnu_stat_index;
2647
2648/** EPOC SDM 250 Stat Index.
2649 */
2650typedef enum bcmolt_epon_oam_epoc_sdm250stat_index
2651{
2652 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SLIDE_DIFF_CNT = 0, /**< SlideDiffCnt. */
2653 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_DAC_CLIP_I = 1, /**< DacClipI. */
2654 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_DAC_CLIP_Q = 2, /**< DacClipQ. */
2655 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_CLK_ERR_A = 3, /**< D2aClkErrA. */
2656 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_CLK_ERR_B = 4, /**< D2aClkErrB. */
2657 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_RX_DEM_SYNC_DET = 5, /**< Increments when the SDM sees a sync pulse */
2658 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_RX_DEM_NOT4SYNC_DET = 6, /**< Increments when the SDM sees a sync, but it is not followed by 4 other syncs within 32 us */
2659 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_JCPLL_UNLOCK = 7, /**< The JC PLL lock signal transitioned from high to low */
2660 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_RFPLL_UNLOCK = 8, /**< The RF PLL lock signal transitioned from high to low */
2661 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SDM_RX_BURST_END = 9, /**< The RF PLL lock signal transitioned from high to low */
2662 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SDM_TX_BURST_END = 10, /**< The RF PLL lock signal transitioned from high to low */
2663 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_A2D_MIN_PEAK = 11, /**< <StatInfo> */
2664 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_A2D_MAX_PEAK = 12, /**< <StatInfo> */
2665 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_IMAX_PEAK = 13, /**< <StatInfo> */
2666 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_IMIN_PEAK = 14, /**< <StatInfo> */
2667 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_QMAX_PEAK = 15, /**< <StatInfo> */
2668 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_D2A_QMIN_PEAK = 16, /**< <StatInfo> */
2669 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_QES_DOWN_SYMBOL_COLLECTED = 17, /**< How many symbols have we collected stats on ? */
2670 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_TX_START = 18, /**< <StatInfo> */
2671 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_RX_START = 19, /**< <StatInfo> */
2672 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_BURST_TYPE_NORMAL = 20, /**< <StatInfo> */
2673 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_BURST_TYPE_DISCOVERY = 21, /**< <StatInfo> */
2674 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_BURST_TYPE_TUNING = 22, /**< <StatInfo> */
2675 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_BURST_TYPE_RESERVED = 23, /**< <StatInfo> */
2676 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_MIF_BURST_LENGTH = 24, /**< <StatInfo> */
2677 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SLIDE_LOST = 25, /**< Slide was good, but then preamble bad happened */
2678 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SLIDE_TIMEOUT = 26, /**< While waiting for syncs on the next SF, didn't see them */
2679 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SLIDE_STEADY_FAIL = 27, /**< wasn't able to get rx slide good in rx slide wait time */
2680 BCMOLT_EPON_OAM_EPOC_SDM250STAT_INDEX_SLIDE_SYNC_WAIT_FAIL = 28 /**< When waiting for the next sync pulse (within a few symbols) we didn't see it. */
2681} bcmolt_epon_oam_epoc_sdm250stat_index;
2682
2683/** EPOC Stat Gather Modes.
2684 */
2685typedef enum bcmolt_epon_oam_epoc_stat_gather_modes
2686{
2687 BCMOLT_EPON_OAM_EPOC_STAT_GATHER_MODES_NONE = 0,
2688 BCMOLT_EPON_OAM_EPOC_STAT_GATHER_MODES_GET_COUNTER = 0x0001, /**< Get Counter. */
2689 BCMOLT_EPON_OAM_EPOC_STAT_GATHER_MODES_CLEAR_COUNTER = 0x0002, /**< Clear Counter. */
2690 BCMOLT_EPON_OAM_EPOC_STAT_GATHER_MODES_GET_RATE = 0x0004 /**< Get Rate. */
2691} bcmolt_epon_oam_epoc_stat_gather_modes;
2692
2693/** Protocol Type.
2694 */
2695typedef enum bcmolt_epon_oam_protocol_type
2696{
2697 BCMOLT_EPON_OAM_PROTOCOL_TYPE_ZERO = 0, /**< Zero. */
2698 BCMOLT_EPON_OAM_PROTOCOL_TYPE_IPV4 = 2048, /**< IPv4. */
2699 BCMOLT_EPON_OAM_PROTOCOL_TYPE_ARP = 2054, /**< ARP. */
2700 BCMOLT_EPON_OAM_PROTOCOL_TYPE_CVLAN = 33024U, /**< C-VLAN. */
2701 BCMOLT_EPON_OAM_PROTOCOL_TYPE_IPV6 = 34525U, /**< IPv6. */
2702 BCMOLT_EPON_OAM_PROTOCOL_TYPE_MPCP = 34824U, /**< MPCP. */
2703 BCMOLT_EPON_OAM_PROTOCOL_TYPE_SLOW_PROTOCOL = 34825U, /**< Slow Protocol. */
2704 BCMOLT_EPON_OAM_PROTOCOL_TYPE_SVLAN = 34984U, /**< S-VLAN. */
2705 BCMOLT_EPON_OAM_PROTOCOL_TYPE_EAPOL = 34958U, /**< EAPOL. */
2706 BCMOLT_EPON_OAM_PROTOCOL_TYPE_ITAG = 35047U, /**< I-Tag. */
2707 BCMOLT_EPON_OAM_PROTOCOL_TYPE_LOOPBACK = 36864U /**< Loopback. */
2708} bcmolt_epon_oam_protocol_type;
2709
2710/** Slow Protocol Subtype.
2711 */
2712typedef enum bcmolt_epon_oam_slow_protocol_subtype
2713{
2714 BCMOLT_EPON_OAM_SLOW_PROTOCOL_SUBTYPE_LACP = 1, /**< LACP. */
2715 BCMOLT_EPON_OAM_SLOW_PROTOCOL_SUBTYPE_LAMP = 2, /**< LAMP. */
2716 BCMOLT_EPON_OAM_SLOW_PROTOCOL_SUBTYPE_OAM = 3, /**< OAM. */
2717 BCMOLT_EPON_OAM_SLOW_PROTOCOL_SUBTYPE_ORGANIZATION_SPECIFIC = 10 /**< Organization Specific. */
2718} bcmolt_epon_oam_slow_protocol_subtype;
2719
2720/** OAM Flags.
2721 */
2722typedef enum bcmolt_epon_oam_oam_flags
2723{
2724 BCMOLT_EPON_OAM_OAM_FLAGS_NONE = 0,
2725 BCMOLT_EPON_OAM_OAM_FLAGS_LINK_FAULT = 0x0001, /**< Link Fault. */
2726 BCMOLT_EPON_OAM_OAM_FLAGS_DYING_GASP = 0x0002, /**< Dying Gasp. */
2727 BCMOLT_EPON_OAM_OAM_FLAGS_CRITICAL_EVENT = 0x0004, /**< Critical Event. */
2728 BCMOLT_EPON_OAM_OAM_FLAGS_LOCAL_EVALUATING = 0x0008, /**< Local Evaluating. */
2729 BCMOLT_EPON_OAM_OAM_FLAGS_LOCAL_STABLE = 0x0010, /**< Local Stable. */
2730 BCMOLT_EPON_OAM_OAM_FLAGS_REMOTE_EVALUATING = 0x0020, /**< Remote Evaluating. */
2731 BCMOLT_EPON_OAM_OAM_FLAGS_REMOTE_STABLE = 0x0040 /**< Remote Stable. */
2732} bcmolt_epon_oam_oam_flags;
2733
2734/** OAM Opcode.
2735 */
2736typedef enum bcmolt_epon_oam_oam_opcode
2737{
2738 BCMOLT_EPON_OAM_OAM_OPCODE_INFO = 0, /**< Information. */
2739 BCMOLT_EPON_OAM_OAM_OPCODE_EVENT_NOTIFICATION = 1, /**< Event Notification. */
2740 BCMOLT_EPON_OAM_OAM_OPCODE_VAR_REQUEST = 2, /**< Variable Request. */
2741 BCMOLT_EPON_OAM_OAM_OPCODE_VAR_RESPONSE = 3, /**< Variable Response. */
2742 BCMOLT_EPON_OAM_OAM_OPCODE_LOOPBACK_CONTROL = 4, /**< Loopback Control. */
2743 BCMOLT_EPON_OAM_OAM_OPCODE_ORGANIZATION_SPECIFIC = 254 /**< Organization Specific. */
2744} bcmolt_epon_oam_oam_opcode;
2745
2746/** Information TLV Type.
2747 */
2748typedef enum bcmolt_epon_oam_info_tlv_type
2749{
2750 BCMOLT_EPON_OAM_INFO_TLV_TYPE_END = 0, /**< End. */
2751 BCMOLT_EPON_OAM_INFO_TLV_TYPE_LOCAL = 1, /**< Local. */
2752 BCMOLT_EPON_OAM_INFO_TLV_TYPE_REMOTE = 2, /**< Remote. */
2753 BCMOLT_EPON_OAM_INFO_TLV_TYPE_ORGANIZATION_SPECIFIC = 254 /**< Organization Specific. */
2754} bcmolt_epon_oam_info_tlv_type;
2755
2756/** Tek Info TLV Type.
2757 */
2758typedef enum bcmolt_epon_oam_tek_info_tlv_type
2759{
2760 BCMOLT_EPON_OAM_TEK_INFO_TLV_TYPE_LINK = 0, /**< Link. */
2761 BCMOLT_EPON_OAM_TEK_INFO_TLV_TYPE_KEY = 1, /**< Key. */
2762 BCMOLT_EPON_OAM_TEK_INFO_TLV_TYPE_ALARM_REQUEST = 2, /**< Alarm Request. */
2763 BCMOLT_EPON_OAM_TEK_INFO_TLV_TYPE_EXTENSION_SUPPORT = 3 /**< Extension Support. */
2764} bcmolt_epon_oam_tek_info_tlv_type;
2765
2766/** Tek Report Modes.
2767 */
2768typedef enum bcmolt_epon_oam_tek_report_modes
2769{
2770 BCMOLT_EPON_OAM_TEK_REPORT_MODES_NONE = 0,
2771 BCMOLT_EPON_OAM_TEK_REPORT_MODES_SIMPLE = 0x0000, /**< Up to 4 queue sets, 1 priority value */
2772 BCMOLT_EPON_OAM_TEK_REPORT_MODES_TEKNOVUS = 0x0001, /**< Up to 4 queue sets, 1 priority value */
2773 BCMOLT_EPON_OAM_TEK_REPORT_MODES_CTC = 0x0002, /**< 1 queue set, 8 priority values */
2774 BCMOLT_EPON_OAM_TEK_REPORT_MODES_NTT = 0x0004, /**< NTT (2 queue sets, reversed, subtract granted data) */
2775 BCMOLT_EPON_OAM_TEK_REPORT_MODES_MANUAL = 0x0008, /**< As specified in ONU personality */
2776 BCMOLT_EPON_OAM_TEK_REPORT_MODES_TDM_NO_FORCE = 0x0010 /**< TDM No Force. */
2777} bcmolt_epon_oam_tek_report_modes;
2778
2779/** Local/Remote Info State.
2780 */
2781typedef enum bcmolt_epon_oam_local_remote_info_state
2782{
2783 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_STATE_NONE = 0,
2784 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_STATE_PARSER_ACTION0 = 0x0001, /**< Parser Action 0. */
2785 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_STATE_PARSER_ACTION1 = 0x0002, /**< Parser Action 1. */
2786 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_STATE_MULTIPLEXER_ACTION = 0x0004 /**< Multiplexer Action. */
2787} bcmolt_epon_oam_local_remote_info_state;
2788
2789/** Local/Remote Info Config.
2790 */
2791typedef enum bcmolt_epon_oam_local_remote_info_config
2792{
2793 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_NONE = 0,
2794 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_OAM_MODE = 0x0001, /**< OAM Mode. */
2795 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_UNIDIRECTIONAL_SUPPORT = 0x0002, /**< Unidirectional Support. */
2796 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_OAM_REMOTE_LOOPBACK_SUPPORT = 0x0004, /**< OAM Remote Loopback Support. */
2797 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_LINK_EVENTS = 0x0008, /**< Link Events. */
2798 BCMOLT_EPON_OAM_LOCAL_REMOTE_INFO_CONFIG_VARIABLE_RETRIEVAL = 0x0010 /**< Variable Retrieval. */
2799} bcmolt_epon_oam_local_remote_info_config;
2800
2801/** Link Event Type.
2802 */
2803typedef enum bcmolt_epon_oam_link_event_type
2804{
2805 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_END = 0, /**< End. */
2806 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_ERRORED_SYMBOL_PERIOD = 1, /**< Errored Symbol Period. */
2807 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_ERRORED_FRAME = 2, /**< Errored Frame. */
2808 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_ERRORED_FRAME_PERIOD = 3, /**< Errored Frame Period. */
2809 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_ERRORED_FRAME_SECONDS_SUMMARY = 4, /**< Errored Frame Seconds Summary. */
2810 BCMOLT_EPON_OAM_LINK_EVENT_TYPE_ORGANIZATION_SPECIFIC = 254 /**< Organization Specific. */
2811} bcmolt_epon_oam_link_event_type;
2812
2813/** Tek Alarm Code.
2814 */
2815typedef enum bcmolt_epon_oam_tek_alarm_code
2816{
2817 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LINK_FAULT = 16, /**< Link Fault. */
2818 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LOSS_OF_SIGNAL = 17, /**< Loss of Signal. */
2819 BCMOLT_EPON_OAM_TEK_ALARM_CODE_TX_FAIL = 18, /**< Tx Fail. */
2820 BCMOLT_EPON_OAM_TEK_ALARM_CODE_TRANSMIT_DEGRADE = 19, /**< Transmit Degrade. */
2821 BCMOLT_EPON_OAM_TEK_ALARM_CODE_QUEUE_OVERFLOW = 20, /**< Queue Overflow. */
2822 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LEARN_TABLE_OVERFLOW = 21, /**< Learn Table Overflow. */
2823 BCMOLT_EPON_OAM_TEK_ALARM_CODE_FLOW_CONTROL_TIMEOUT = 22, /**< Flow Control Timeout. */
2824 BCMOLT_EPON_OAM_TEK_ALARM_CODE_REPORT_FAIL = 23, /**< Report Fail. */
2825 BCMOLT_EPON_OAM_TEK_ALARM_CODE_GATE_TIMEOUT = 24, /**< Gate Timeout. */
2826 BCMOLT_EPON_OAM_TEK_ALARM_CODE_OAM_TIMEOUT = 25, /**< OAM Timeout. */
2827 BCMOLT_EPON_OAM_TEK_ALARM_CODE_KEY_EXCHANGE = 26, /**< Key Exchange. */
2828 BCMOLT_EPON_OAM_TEK_ALARM_CODE_AUTO_NEG_FAILURE = 27, /**< Auto Neg Failure. */
2829 BCMOLT_EPON_OAM_TEK_ALARM_CODE_GPIO_LINK_FAULT = 28, /**< Gpio Link Fault. */
2830 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LOOPBACK = 32, /**< Loopback. */
2831 BCMOLT_EPON_OAM_TEK_ALARM_CODE_PORT_DISABLED = 33, /**< Port Disabled. */
2832 BCMOLT_EPON_OAM_TEK_ALARM_CODE_DYING_GASP = 64, /**< Dying Gasp. */
2833 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER = 65, /**< Power. */
2834 BCMOLT_EPON_OAM_TEK_ALARM_CODE_GPIO_DYING_GASP = 66, /**< Gpio Dying Gasp. */
2835 BCMOLT_EPON_OAM_TEK_ALARM_CODE_CRITICAL_EVENT = 96, /**< Critical Event. */
2836 BCMOLT_EPON_OAM_TEK_ALARM_CODE_REG = 97, /**< Register. */
2837 BCMOLT_EPON_OAM_TEK_ALARM_CODE_GPIO_CRITICAL_EVENT = 98, /**< Gpio Critical Event. */
2838 BCMOLT_EPON_OAM_TEK_ALARM_CODE_SYSTEM = 128, /**< System. */
2839 BCMOLT_EPON_OAM_TEK_ALARM_CODE_TEMPERATURE = 129, /**< Temperature. */
2840 BCMOLT_EPON_OAM_TEK_ALARM_CODE_GPIO_OTHER = 130, /**< Gpio Other. */
2841 BCMOLT_EPON_OAM_TEK_ALARM_CODE_AUTH_UNAVAIL = 131, /**< Auth Unavail. */
2842 BCMOLT_EPON_OAM_TEK_ALARM_CODE_STAT_ALARM = 134, /**< Stat Alarm. */
2843 BCMOLT_EPON_OAM_TEK_ALARM_CODE_FLASH_BUSY = 135, /**< Flash Busy. */
2844 BCMOLT_EPON_OAM_TEK_ALARM_CODE_STANDBY_LOS = 136, /**< Standby Los. */
2845 BCMOLT_EPON_OAM_TEK_ALARM_CODE_PROT_SWITCH = 137, /**< Prot Switch. */
2846 BCMOLT_EPON_OAM_TEK_ALARM_CODE_CTC_ALARM = 144, /**< Ctc Alarm. */
2847 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LINK_OAM_DISC_COMPLETE = 145, /**< Link OAM Disc Complete. */
2848 BCMOLT_EPON_OAM_TEK_ALARM_CODE_IPN_LOS = 146, /**< Ipn Los. */
2849 BCMOLT_EPON_OAM_TEK_ALARM_CODE_DIAG_LOAD = 147, /**< Diag Load. */
2850 BCMOLT_EPON_OAM_TEK_ALARM_CODE_BOOT_INVALID = 160, /**< Boot Invalid. */
2851 BCMOLT_EPON_OAM_TEK_ALARM_CODE_ONU_READY = 176, /**< ONU Ready. */
2852 BCMOLT_EPON_OAM_TEK_ALARM_CODE_ONU_PON_DISABLE = 177, /**< ONU Pon Disable. */
2853 BCMOLT_EPON_OAM_TEK_ALARM_CODE_CTC_DISCOVER = 178, /**< Ctc Discover. */
2854 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LASER_ALWAYS_ON = 179, /**< Laser Always On. */
2855 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LINK_REG_START = 184, /**< Link Reg Start. */
2856 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LINK_REG_SUCCESS = 185, /**< Link Reg Success. */
2857 BCMOLT_EPON_OAM_TEK_ALARM_CODE_LINK_REG_FAIL = 186, /**< Link Reg Fail. */
2858 BCMOLT_EPON_OAM_TEK_ALARM_CODE_FAN_FAULT = 189, /**< Fan Fault. */
2859 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TEMP_HIGH = 190, /**< Power Mon Temperature High. */
2860 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TEMP_LOW = 191, /**< Power Mon Temperature Low. */
2861 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_VCC_HIGH = 192, /**< Power Mon Vcc High. */
2862 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_VCC_LOW = 193, /**< Power Mon Vcc Low. */
2863 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TX_BIAS_HIGH = 194, /**< Power Mon Tx Bias High. */
2864 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TX_BIAS_LOW = 195, /**< Power Mon Tx Bias Low. */
2865 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TX_POWER_HIGH = 196, /**< Power Mon Tx Power High. */
2866 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_TX_POWER_LOW = 197, /**< Power Mon Tx Power Low. */
2867 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_RX_POWER_HIGH = 198, /**< Power Mon Rx Power High. */
2868 BCMOLT_EPON_OAM_TEK_ALARM_CODE_POWER_MON_RX_POWER_LOW = 199 /**< Power Mon Rx Power Low. */
2869} bcmolt_epon_oam_tek_alarm_code;
2870
2871/** Tek Alarm Context.
2872 */
2873typedef enum bcmolt_epon_oam_tek_alarm_context
2874{
2875 BCMOLT_EPON_OAM_TEK_ALARM_CONTEXT_ONU = 0, /**< ONU. */
2876 BCMOLT_EPON_OAM_TEK_ALARM_CONTEXT_PORT = 1, /**< Port. */
2877 BCMOLT_EPON_OAM_TEK_ALARM_CONTEXT_LINK = 2, /**< Link. */
2878 BCMOLT_EPON_OAM_TEK_ALARM_CONTEXT_QUEUE = 3 /**< Queue. */
2879} bcmolt_epon_oam_tek_alarm_context;
2880
2881/** Var Branch.
2882 */
2883typedef enum bcmolt_epon_oam_var_branch
2884{
2885 BCMOLT_EPON_OAM_VAR_BRANCH_END = 0, /**< End. */
2886 BCMOLT_EPON_OAM_VAR_BRANCH_OBJECT = 3, /**< Object. */
2887 BCMOLT_EPON_OAM_VAR_BRANCH_PACKAGE = 4, /**< Package. */
2888 BCMOLT_EPON_OAM_VAR_BRANCH_NAME_BINDING = 6, /**< Name Binding. */
2889 BCMOLT_EPON_OAM_VAR_BRANCH_ATTRIBUTE = 7, /**< Attribute. */
2890 BCMOLT_EPON_OAM_VAR_BRANCH_ACTION = 9 /**< Action. */
2891} bcmolt_epon_oam_var_branch;
2892
2893/** Var Leaf Object.
2894 */
2895typedef enum bcmolt_epon_oam_var_leaf_object
2896{
2897 BCMOLT_EPON_OAM_VAR_LEAF_OBJECT_MAC_ENTITY = 1, /**< MAC Entity. */
2898 BCMOLT_EPON_OAM_VAR_LEAF_OBJECT_PHY_ENTITY = 2, /**< PHY Entity. */
2899 BCMOLT_EPON_OAM_VAR_LEAF_OBJECT_MAC_CTRL = 8 /**< MAC Ctrl. */
2900} bcmolt_epon_oam_var_leaf_object;
2901
2902/** Var Leaf Package.
2903 */
2904typedef enum bcmolt_epon_oam_var_leaf_package
2905{
2906 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_ILLEGAL = 0, /**< Illegal. */
2907 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_MANDATORY = 1, /**< MAC Mandatory. */
2908 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_RECOMMENDED = 2, /**< MAC Recommended. */
2909 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_OPTIONAL = 3, /**< MAC Optional. */
2910 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_ARRAY = 4, /**< MAC Array. */
2911 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_EXCESSIVE_DEFERRAL = 5, /**< MAC Excessive Deferral. */
2912 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_PHY_RECOMMENDED = 6, /**< PHY Recommended. */
2913 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_PHY_MULTIPLE_PHY = 7, /**< PHY Multiple PHY. */
2914 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_PHY100MPBS_MONITOR = 8, /**< PHY 100 Mpbs Monitor. */
2915 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_REPEATER_PERF_MONITOR = 9, /**< Repeater Perf Monitor. */
2916 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_PORT_PERF_MONITOR = 10, /**< Port Perf Monitor. */
2917 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_PORT_ADDR_TRACK = 11, /**< Port Addr Track. */
2918 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAU_CONTROL = 13, /**< MAU Control. */
2919 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MEDIA_LOW_TRACKING = 14, /**< Media Low Tracking. */
2920 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_BROADBAND_MAU = 15, /**< Broadband MAU. */
2921 BCMOLT_EPON_OAM_VAR_LEAF_PACKAGE_MAC_CONTROL_RECOMMENDED = 17 /**< MAC Control Recommended. */
2922} bcmolt_epon_oam_var_leaf_package;
2923
2924/** Var Leaf Name Binding.
2925 */
2926typedef enum bcmolt_epon_oam_var_leaf_name_binding
2927{
2928 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAC_NAME = 1, /**< MAC Name. */
2929 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAC_MONITOR = 2, /**< MAC Monitor. */
2930 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_PHY_NAME = 3, /**< PHY Name. */
2931 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_PHY_MONITOR = 4, /**< PHY Monitor. */
2932 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAC_CTRL_SYSTEM = 18, /**< MAC Ctrl System. */
2933 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAC_CTRL_MONITOR = 15, /**< MAC Ctrl Monitor. */
2934 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_REPEATER_NAME = 5, /**< Repeater Name. */
2935 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_REPEATER_MONITOR = 6, /**< Repeater Monitor. */
2936 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_GROUP_NAME = 7, /**< Group Name. */
2937 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_PORT_NAME = 8, /**< Port Name. */
2938 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAU_RPT_NAME = 9, /**< MAU Report Name. */
2939 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_MAU_DTE_NAME = 10, /**< MAU DTE Name. */
2940 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_RSRC_MAC = 12, /**< RSRC MAC. */
2941 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_RSRC_REPEATER = 13, /**< RSRC Repeater. */
2942 BCMOLT_EPON_OAM_VAR_LEAF_NAME_BINDING_RSRC_MAU = 14 /**< RSRC MAU. */
2943} bcmolt_epon_oam_var_leaf_name_binding;
2944
2945/** Remote Loopback Command.
2946 */
2947typedef enum bcmolt_epon_oam_remote_loopback_command
2948{
2949 BCMOLT_EPON_OAM_REMOTE_LOOPBACK_COMMAND_ENABLE = 1, /**< Enable. */
2950 BCMOLT_EPON_OAM_REMOTE_LOOPBACK_COMMAND_DISABLE = 2 /**< Disable. */
2951} bcmolt_epon_oam_remote_loopback_command;
2952
2953/** Tek Opcode.
2954 */
2955typedef enum bcmolt_epon_oam_tek_opcode
2956{
2957 BCMOLT_EPON_OAM_TEK_OPCODE_INFO = 0, /**< Info. */
2958 BCMOLT_EPON_OAM_TEK_OPCODE_GET_REQUEST = 1, /**< Get Request. */
2959 BCMOLT_EPON_OAM_TEK_OPCODE_GET_RESPONSE = 2, /**< Get Response. */
2960 BCMOLT_EPON_OAM_TEK_OPCODE_SET_REQUEST = 3, /**< Set Request. */
2961 BCMOLT_EPON_OAM_TEK_OPCODE_SET_RESPONSE = 4, /**< Set Response. */
2962 BCMOLT_EPON_OAM_TEK_OPCODE_MULTICAST_REQUEST = 5, /**< Multicast Request. */
2963 BCMOLT_EPON_OAM_TEK_OPCODE_MULTICAST_REGISTER = 6, /**< Multicast Register. */
2964 BCMOLT_EPON_OAM_TEK_OPCODE_MULTICAST_REGISTER_RESPONSE = 7, /**< Multicast Register Response. */
2965 BCMOLT_EPON_OAM_TEK_OPCODE_KEY_EXCHANGE = 8, /**< Key Exchange. */
2966 BCMOLT_EPON_OAM_TEK_OPCODE_FILE_READ_REQUEST = 9, /**< File Read Request. */
2967 BCMOLT_EPON_OAM_TEK_OPCODE_FILE_WRITE_REQUEST = 10, /**< File Write Request. */
2968 BCMOLT_EPON_OAM_TEK_OPCODE_FILE_DATA = 11, /**< File Data. */
2969 BCMOLT_EPON_OAM_TEK_OPCODE_FILE_ACK = 12, /**< File Ack. */
2970 BCMOLT_EPON_OAM_TEK_OPCODE_I2C_BSC_READ_REQUEST = 13, /**< I²C (BSC) Read Request. */
2971 BCMOLT_EPON_OAM_TEK_OPCODE_I2C_BSC_READ_RESPONSE = 14, /**< I²C (BSC) Read Response. */
2972 BCMOLT_EPON_OAM_TEK_OPCODE_I2C_BSC_WRITE_REQUEST = 15, /**< I²C (BSC) Write Request. */
2973 BCMOLT_EPON_OAM_TEK_OPCODE_I2C_BSC_WRITE_RESPONSE = 16, /**< I²C (BSC) Write Response. */
2974 BCMOLT_EPON_OAM_TEK_OPCODE_UNACKED_ACTION = 17, /**< UnAcked Action. */
2975 BCMOLT_EPON_OAM_TEK_OPCODE_LOOP_DETECT = 18 /**< Loop Detect. */
2976} bcmolt_epon_oam_tek_opcode;
2977
2978/** Tek Branch.
2979 */
2980typedef enum bcmolt_epon_oam_tek_branch
2981{
2982 BCMOLT_EPON_OAM_TEK_BRANCH_END = 0, /**< End. */
2983 BCMOLT_EPON_OAM_TEK_BRANCH_OBJECT = 3, /**< Object. */
2984 BCMOLT_EPON_OAM_TEK_BRANCH_PACKAGE = 4, /**< Package. */
2985 BCMOLT_EPON_OAM_TEK_BRANCH_NAME_BINDING = 6, /**< Name Binding. */
2986 BCMOLT_EPON_OAM_TEK_BRANCH_ATTRIBUTE = 7, /**< Attribute. */
2987 BCMOLT_EPON_OAM_TEK_BRANCH_ACTION = 9 /**< Action. */
2988} bcmolt_epon_oam_tek_branch;
2989
2990/** Tek Object Type.
2991 */
2992typedef enum bcmolt_epon_oam_tek_object_type
2993{
2994 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_LOGICAL_LINK = 1, /**< Logical Link. */
2995 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_QUEUE_NAME = 2, /**< Queue Name. */
2996 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_PORT = 3, /**< Port. */
2997 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_ALL_QUEUES = 4, /**< All Queues. */
2998 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_NETWORK_PON = 5, /**< Network PON. */
2999 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_USER_PON = 6, /**< User PON. */
3000 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_FLOW_DIRECTION = 7, /**< Flow Direction. */
3001 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_BRIDGE = 130, /**< Bridge. */
3002 BCMOLT_EPON_OAM_TEK_OBJECT_TYPE_BRIDGE_PORT = 131 /**< Bridge Port. */
3003} bcmolt_epon_oam_tek_object_type;
3004
3005/** Flow Direction.
3006 */
3007typedef enum bcmolt_epon_oam_flow_direction
3008{
3009 BCMOLT_EPON_OAM_FLOW_DIRECTION_INGRESS = 0, /**< Ingress. */
3010 BCMOLT_EPON_OAM_FLOW_DIRECTION_EGRESS = 1, /**< Egress. */
3011 BCMOLT_EPON_OAM_FLOW_DIRECTION_UPSTREAM = 2, /**< Upstream. */
3012 BCMOLT_EPON_OAM_FLOW_DIRECTION_DOWNSTREAM = 3, /**< Downstream. */
3013 BCMOLT_EPON_OAM_FLOW_DIRECTION_EGRESS_LOCAL = 4 /**< Egress Local. */
3014} bcmolt_epon_oam_flow_direction;
3015
3016/** Tek Leaf Attribute.
3017 */
3018typedef enum bcmolt_epon_oam_tek_leaf_attribute
3019{
3020 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LUE_FIELD_SELECT = 32746, /**< LUE Field Select. */
3021 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_ID = 1, /**< Std MAC ID. */
3022 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAMES_TX_OK = 2, /**< Std MAC Frames Tx Ok. */
3023 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_SINGLE_COLL_FRAMES = 3, /**< Std MAC Single Coll Frames. */
3024 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_MULTIPLE_COLL_FRAMES = 4, /**< Std MAC Multiple Coll Frames. */
3025 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAMES_RX_OK = 5, /**< Std MAC Frames Rx Ok. */
3026 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FCS_ERR = 6, /**< Std MAC FCS Err. */
3027 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_ALIGN_ERR = 7, /**< Std MAC Align Err. */
3028 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_OCTETS_TX_OK = 8, /**< Std MAC Octets Tx Ok. */
3029 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAMES_DEFERRED = 9, /**< Std MAC Frames Deferred. */
3030 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_LATE_COLLISIONS = 10, /**< Std MAC Late Collisions. */
3031 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_EXCESSIVE_COLLISIONS = 11, /**< Std MAC Excessive Collisions. */
3032 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAMES_LOST_MAC_TX_ERR = 12, /**< Std MAC Frames Lost MAC Tx Err. */
3033 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CARRIER_SENSE_ERR = 13, /**< Std MAC Carrier Sense Err. */
3034 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_OCTETS_RX_OK = 14, /**< Std MAC Octets Rx Ok. */
3035 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAMES_LOST_MAC_RX_ERR = 15, /**< Std MAC Frames Lost MAC Rx Err. */
3036 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_PROMISCUOUS_STATUS = 16, /**< Std MAC Promiscuous Status. */
3037 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_MCAST_ADDR_LIST = 17, /**< Std MAC Mcast Addr List. */
3038 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_MCAST_FRAMES_TX_OK = 18, /**< Std MAC Mcast Frames Tx Ok. */
3039 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_BCAST_FRAMES_TX_OK = 19, /**< Std MAC Bcast Frames Tx Ok. */
3040 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FR_EXCESSIVE_DEFERRAL = 20, /**< Std MAC Fr Excessive Deferral. */
3041 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_MCAST_FRAMES_RX_OK = 21, /**< Std MAC Mcast Frames Rx Ok. */
3042 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_BCAST_FRAMES_RX_OK = 22, /**< Std MAC Bcast Frames Rx Ok. */
3043 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_IN_RANGE_LEN_ERR = 23, /**< Std MAC In Range Len Err. */
3044 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_OUT_OF_RANGE_LEN_ERR = 24, /**< Std MAC Out Of Range Len Err. */
3045 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_FRAME_TOO_LONG = 25, /**< Std MAC Frame Too Long. */
3046 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_ENABLE_STATUS = 26, /**< Std MAC Enable Status. */
3047 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_TX_ENABLE = 27, /**< Std MAC Tx Enable. */
3048 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_MCAST_RX_STATUS = 28, /**< Std MAC Mcast Rx Status. */
3049 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_ADDR = 29, /**< Std MAC Addr. */
3050 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_COLLISION_FRAMES = 30, /**< Std MAC Collision Frames. */
3051 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_PHY_TYPE = 32, /**< Std PHY Type. */
3052 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_PHY_TYPE_LIST = 33, /**< Std PHY Type List. */
3053 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_PHY_SYMBOL_ERR_DURING_CARRIER = 35, /**< Std PHY Symbol Err During Carrier. */
3054 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_PHY_ADMIN_STATE = 37, /**< Std PHY Admin State. */
3055 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAU_MEDIA_AVAIL = 71, /**< Std MAU Media Avail. */
3056 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_ID = 78, /**< Std Auto Neg ID. */
3057 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_ADMIN_STATE = 79, /**< Std Auto Neg Admin State. */
3058 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_REMOTE_SIG = 80, /**< Std Auto Neg Remote Sig. */
3059 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_AUTO_CFG = 81, /**< Std Auto Neg Auto Cfg. */
3060 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_LOCAL_TECH = 82, /**< Std Auto Neg Local Tech. */
3061 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_AD_TECH = 83, /**< Std Auto Neg Ad Tech. */
3062 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_RX_TECH = 84, /**< Std Auto Neg Rx Tech. */
3063 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_LOCAL_SELECT_ABLE = 85, /**< Std Auto Neg Local Select Able. */
3064 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_AD_SELECT_ABLE = 86, /**< Std Auto Neg Ad Select Able. */
3065 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_AUTO_NEG_RX_SELECT_ABLE = 87, /**< Std Auto Neg Rx Select Able. */
3066 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CAPABILITIES = 89, /**< Std MAC Capabilities. */
3067 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_DUPLEX_STATUS = 90, /**< Std MAC Duplex Status. */
3068 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_ID = 92, /**< Std MAC Ctrl ID. */
3069 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_FUNCS_SUPPORTED = 93, /**< Std MAC Ctrl Funcs Supported. */
3070 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_FRAMES_TX = 94, /**< Std MAC Ctrl Frames Tx. */
3071 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_FRAMES_RX = 95, /**< Std MAC Ctrl Frames Rx. */
3072 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_UNSUPPORTED_OP_RX = 96, /**< Std MAC Ctrl Unsupported Op Rx. */
3073 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_PAUSE_DELAY = 97, /**< Std MAC Ctrl Pause Delay. */
3074 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_PAUSE_TX = 98, /**< Std MAC Ctrl Pause Tx. */
3075 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MAC_CTRL_PAUSE_RX = 99, /**< Std MAC Ctrl Pause Rx. */
3076 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_OAM_LOCAL_ERR_FRAME_SECS_EVENT = 233, /**< Std OAM Local Err Frame Secs Event. */
3077 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_OAM_EMUL_CRC8ERR = 249, /**< Std OAM Emul Crc8 Err. */
3078 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_MAC_CTRL_FRAMES_TX = 280, /**< Std MPCP MAC Ctrl Frames Tx. */
3079 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_MAC_CTRL_FRAMES_RX = 281, /**< Std MPCP MAC Ctrl Frames Rx. */
3080 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_DISCOVERY_WINDOW_TX = 288, /**< Std MPCP Discovery Window Tx. */
3081 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_DISCOVERY_TIMEOUT = 290, /**< Std MPCP Discovery Timeout. */
3082 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_FEC_CORRECTED_BLOCKS = 292, /**< Std FEC Corrected Blocks. */
3083 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_FEC_UNCORRECTABLE_BLOCKS = 293, /**< Std FEC Uncorrectable Blocks. */
3084 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_FEC_ABILITY = 313, /**< Std FEC Ability. */
3085 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_FEC_MODE = 314, /**< Std FEC Mode. */
3086 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_TX_GATE = 315, /**< Std MPCP Tx Gate. */
3087 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_TX_REG_ACK = 316, /**< Std MPCP Tx Reg Ack. */
3088 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_TX_REGISTER = 317, /**< Std MPCP Tx Register. */
3089 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_TX_REG_REQUEST = 318, /**< Std MPCP Tx Reg Request. */
3090 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_TX_REPORT = 319, /**< Std MPCP Tx Report. */
3091 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_RX_GATE = 320, /**< Std MPCP Rx Gate. */
3092 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_RX_REG_ACK = 321, /**< Std MPCP Rx Reg Ack. */
3093 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_RX_REGISTER = 322, /**< Std MPCP Rx Register. */
3094 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_RX_REG_REQUEST = 323, /**< Std MPCP Rx Reg Request. */
3095 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STD_MPCP_RX_REPORT = 324, /**< Std MPCP Rx Report. */
3096 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FIRMWARE_VER = 128, /**< Firmware Ver. */
3097 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EXTENDED_ID = 129, /**< Extended ID. */
3098 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DYN_LEARN_TBL_SIZE = 130, /**< Dyn Learn Tbl Size. */
3099 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DYN_LEARN_AGE_LIMIT = 131, /**< Dyn Learn Age Limit. */
3100 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_UNICAST_FRAMES = 132, /**< Rx Unicast Frames. */
3101 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_UNICAST_FRAMES = 133, /**< Tx Unicast Frames. */
3102 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME_TOO_SHORT = 134, /**< Rx Frame Too Short. */
3103 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME64 = 135, /**< Rx Frame 64. */
3104 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME65TO127 = 136, /**< Rx Frame 65–127. */
3105 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME128TO255 = 137, /**< Rx Frame 128–255. */
3106 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME256TO511 = 138, /**< Rx Frame 256–511. */
3107 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME512TO1023 = 139, /**< Rx Frame 512–1023. */
3108 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME1024TO1518 = 140, /**< Rx Frame 1024–1518. */
3109 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAME1519PLUS = 141, /**< Rx Frame 1519 Plus. */
3110 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME64 = 142, /**< Tx Frame 64. */
3111 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME65TO127 = 143, /**< Tx Frame 65–127. */
3112 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME128TO255 = 144, /**< Tx Frame 128–255. */
3113 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME256TO511 = 145, /**< Tx Frame 256–511. */
3114 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME512TO1023 = 146, /**< Tx Frame 512–1023. */
3115 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME1024TO1518 = 147, /**< Tx Frame 1024–1518. */
3116 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAME1519PLUS = 148, /**< Tx Frame 1519 Plus. */
3117 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_DELAY_THRESHOLD = 149, /**< Tx Delay Threshold. */
3118 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_DELAY = 150, /**< Tx Delay. */
3119 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_FRAMES_DROPPED = 151, /**< Tx Frames Dropped. */
3120 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_BYTES_DROPPED = 152, /**< Tx Bytes Dropped. */
3121 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_BYTES_DELAYED = 153, /**< Tx Bytes Delayed. */
3122 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TX_BYTES_UNUSED = 154, /**< Tx Bytes Unused. */
3123 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_DELAY_THRESHOLD = 155, /**< Rx Delay Threshold. */
3124 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_DELAY = 156, /**< Rx Delay. */
3125 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_FRAMES_DROPPED = 157, /**< Rx Frames Dropped. */
3126 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_BYTES_DROPPED = 158, /**< Rx Bytes Dropped. */
3127 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_RX_BYTES_DELAYED = 159, /**< Rx Bytes Delayed. */
3128 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_STAT_THRESHOLD = 160, /**< Port Stat Threshold. */
3129 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LINK_STAT_THRESHOLD = 161, /**< Link Stat Threshold. */
3130 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ENCRYPT_KEY_EXPIRY_TIME = 162, /**< Encrypt Key Expiry Time. */
3131 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LEN_ERROR_DISCARD = 163, /**< Len Error Discard. */
3132 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DYN_MAC_TBL = 164, /**< Dyn MAC Tbl. */
3133 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_STATIC_MAC_TBL = 165, /**< Static MAC Tbl. */
3134 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_UP_FILTER_TBL = 166, /**< Up Filter Tbl. */
3135 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DN_FILTER_TBL = 167, /**< Dn Filter Tbl. */
3136 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_REPORT_THRESHOLDS = 168, /**< Report Thresholds. */
3137 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_BCAST_RATE_LIMIT = 169, /**< Bcast Rate Limit. */
3138 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_VLAN_ETHERTYPE = 172, /**< VLAN Ethertype. */
3139 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_CAPABILITY = 174, /**< Port Capability. */
3140 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_CTL_VLAN_ID = 175, /**< Ctl VLAN I D. */
3141 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MDI_CROSSOVER = 176, /**< MDI Crossover. */
3142 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_NEW_DN_FILTER_TBL = 177, /**< New Dn Filter Tbl. */
3143 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_NEW_UP_FILTER_TBL = 178, /**< New Up Filter Tbl. */
3144 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_JEDEC_ID = 179, /**< JEDEC ID. */
3145 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_CHIP_ID = 180, /**< Chip ID. */
3146 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_CHIP_VERSION = 181, /**< Chip Version. */
3147 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MPCP_CLOCK = 182, /**< MPCP Clock. */
3148 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MPCP_CLOCK_COMPENSATE = 183, /**< MPCP Clock Compensate. */
3149 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EGRESS_SHAPING = 184, /**< Egress Shaping. */
3150 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_INGRESS_POLICING = 185, /**< Ingress Policing. */
3151 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_COS_TRANSLATION = 186, /**< CoS Translation. */
3152 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PRI_ENQUEUING = 187, /**< Pri Enqueuing. */
3153 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_VLAN_POLICY = 188, /**< Port VLAN Policy. */
3154 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_VLAN_MEMBERSHIP = 189, /**< Port VLAN Membership. */
3155 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ARP_REPLICATE_DEST = 190, /**< ARP Replicate Dest. */
3156 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LACP_DEST = 191, /**< LACP Dest. */
3157 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ONU_IGMP_VLAN = 196, /**< ONU IGMP VLAN. */
3158 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DYN_LEARNING_MODE = 208, /**< Dyn Learning Mode. */
3159 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MIN_MAC_LIMIT = 209, /**< Min MAC Limit. */
3160 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ONU_AGGREGATE_LIMIT = 210, /**< ONU Aggregate Limit. */
3161 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_NVS_SCRATCHPAD = 211, /**< NVS Scratchpad. */
3162 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FLOOD_UNKNOWN = 212, /**< Flood Unknown. */
3163 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LOCAL_SWITCHING = 213, /**< Local Switching. */
3164 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_DOWN_BURST_TOLL = 214, /**< Down Burst Toll. */
3165 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FEC_MODE = 215, /**< FEC Mode. */
3166 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LEARN_MODE_RULE_UPDATE = 218, /**< Learn Mode Rule Update. */
3167 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POWER_MON_TEMPERATURE = 219, /**< Power Mon Temperature. */
3168 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POWER_MON_VCC = 220, /**< Power Mon Vcc. */
3169 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POWER_MON_TX_BIAS = 221, /**< Power Mon Tx Bias. */
3170 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POWER_MON_TX_POWER = 222, /**< Power Mon Tx Power. */
3171 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POWER_MON_RX_POWER = 223, /**< Power Mon Rx Power. */
3172 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MCAST_DOMAIN_CONFIG = 224, /**< Mcast Domain Config. */
3173 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MCAST_GLOBAL_CONFIG = 225, /**< Mcast Global Config. */
3174 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MCAST_GROUP_INFO = 226, /**< Mcast Group Info. */
3175 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LINK_STATE = 227, /**< Link State. */
3176 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_IGMP_FRAME_RATE_LIMIT = 228, /**< IGMP Frame Rate Limit. */
3177 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ONU_HOLDOVER = 230, /**< ONU Holdover. */
3178 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_IPMC_UNKNOWN_LEAVE_FWD = 231, /**< IPMC Unknown Leave Fwd. */
3179 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_NETWORK_PON_MAP = 234, /**< Network PON Map. */
3180 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PSSTATE = 235, /**< PS State. */
3181 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_SLE_MODE = 236, /**< SLE Mode. */
3182 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LEARN_TABLE_MODE = 237, /**< Learn Table Mode. */
3183 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_VLAN_DESTINATIONS = 240, /**< VLAN Destinations. */
3184 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TRANSCEIVER_SIGNAL_DETECT = 242, /**< Transceiver Signal Detect. */
3185 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_CROSSBAR_CONFIG = 243, /**< Crossbar Config. */
3186 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_TRANSCEIVER_BURST_ACTIVITY = 244, /**< Transceiver Burst Activity. */
3187 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_CONTROL_PORT = 245, /**< Control Port. */
3188 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ENCRYPTION_MODE = 248, /**< Encryption Mode. */
3189 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_UNI_SHAPER = 32764, /**< UNI Shaper. */
3190 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_DYNAMIC_ENTRIES = 32747, /**< Port Dynamic Entries. */
3191 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_POLICER = 32765, /**< Policer. */
3192 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ONU_RULE = 32766, /**< ONU Rule. */
3193 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_INTERNAL_VERSION = 251, /**< Internal Version. */
3194 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FIRMWARE_TIMESTAMP = 252, /**< Firmware Timestamp. */
3195 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_BYPASS_SOFT_LEARN = 325, /**< Bypass Soft Learn. */
3196 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EXT_FIRMWARE_VERSION = 32761, /**< Ext Firmware Version. */
3197 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ENCRYPTION_KEY = 32760, /**< Encryption Key. */
3198 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FILE_INFO = 32759, /**< File Info. */
3199 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_SYSTEM_RULE_OPTIONS = 238, /**< System Rule Options. */
3200 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_MTU = 32758, /**< MTU. */
3201 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_NVS_STATE = 32757, /**< NVS State. */
3202 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_QUEUEPRIMAP = 32756, /**< Queueprimap. */
3203 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_SDM_AMPLITUDE = 250, /**< EPoC SDM Amplitude. */
3204 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_DOWN_BIT_LOADING = 253, /**< EPoC Down Bit Loading. */
3205 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UP_BIT_LOADING = 254, /**< EPoC Up Bit Loading. */
3206 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_SDM_PHASE = 255, /**< EPoC SDM Phase. */
3207 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_SDM_QUANTIZER = 239, /**< EPoC SDM Quantizer. */
3208 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UNUSED0 = 229, /**< EPoC Unused 0. */
3209 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UNUSED1 = 204, /**< EPoC Unused 1. */
3210 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UNUSED2 = 205, /**< EPoC Unused 2. */
3211 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UNUSED3 = 206, /**< EPoC Unused 3. */
3212 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_EPOC_UNUSED4 = 207, /**< EPoC Unused 4. */
3213 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FEATURE_SET = 32762, /**< Feature Set. */
3214 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LUE_FIELD_SELECT_LIST = 32745, /**< LUE Field Select List. */
3215 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_SEARCH_CONFIG = 32752, /**< Search Config. */
3216 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_SEQUENCE_NUMBER = 216, /**< Sequence Number. */
3217 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_QUEUE_CONFIG_V2 = 32753, /**< Queue Config V2. */
3218 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_ALARM_THRESHOLD = 32741, /**< Alarm Threshold. */
3219 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_FAILSAFE = 246, /**< Failsafe. */
3220 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_PORT_STATS_THRESHOLD_INTERVAL = 416, /**< Port Stats Threshold Interval. */
3221 BCMOLT_EPON_OAM_TEK_LEAF_ATTRIBUTE_LINK_STATS_THRESHOLD_INTERVAL = 417 /**< Link Stats Threshold Interval. */
3222} bcmolt_epon_oam_tek_leaf_attribute;
3223
3224/** Tek Leaf Action.
3225 */
3226typedef enum bcmolt_epon_oam_tek_leaf_action
3227{
3228 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAC_INIT = 1, /**< Std MAC Init. */
3229 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAC_ADD_GROUP_ADDR = 2, /**< Std MAC Add Group Addr. */
3230 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAC_DEL_GROUP_ADDR = 3, /**< Std MAC Del Group Addr. */
3231 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAC_SELF_TEST = 4, /**< Std MAC Self Test. */
3232 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_PHY_ADMIN_CONTROL = 5, /**< Std PHY Admin Control. */
3233 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_RPT_RESET = 6, /**< Std Report Reset. */
3234 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_RPT_IN_SERVICE_TEST = 7, /**< Std Report In Service Test. */
3235 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_PORT_ADMIN_CTRL = 8, /**< Std Port Admin Ctrl. */
3236 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAU_RESET = 9, /**< Std MAU Reset. */
3237 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_MAU_ADMIN_CTRL = 10, /**< Std MAU Admin Ctrl. */
3238 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_AUTO_RENEGOTIATE = 11, /**< Std Auto Renegotiate. */
3239 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_STD_AUTO_ADMIN_CTRL = 12, /**< Std Auto Admin Ctrl. */
3240 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_DYN_LEARN_TBL = 128, /**< Clear Dyn Learn Tbl. */
3241 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ADD_STATIC_ENTRY = 129, /**< Add Static Entry. */
3242 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DEL_STATIC_ENTRY = 130, /**< Del Static Entry. */
3243 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_UP_FILTER_TBL = 131, /**< Clear Up Filter Tbl. */
3244 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_DN_FILTER_TBL = 132, /**< Clear Dn Filter Tbl. */
3245 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ADD_RULE = 133, /**< Add Rule. */
3246 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DELETE_RULE = 134, /**< Delete Rule. */
3247 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_RESET_ONU = 135, /**< Reset ONU. */
3248 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_STATS = 136, /**< Clear Stats. */
3249 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_GPIO_CONFIG = 137, /**< Get GPIO Config. */
3250 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_GPIO_CONFIG = 138, /**< Set GPIO Config. */
3251 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_GPIO_VALUE = 139, /**< Get GPIO Value. */
3252 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_GPIO_VALUE = 140, /**< Set GPIO Value. */
3253 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_MDIO = 141, /**< Get MDIO. */
3254 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_MDIO = 142, /**< Set MDIO. */
3255 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_LOOPBACK_ENABLE = 143, /**< Loopback Enable. */
3256 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_LOOPBACK_DISABLE = 144, /**< Loopback Disable. */
3257 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLR_UP_CLASS = 145, /**< Clr Up Class. */
3258 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLR_DN_CLASS = 146, /**< Clr Dn Class. */
3259 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_QUEUE_CONFIG = 147, /**< Set Queue Config. */
3260 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_QUEUE_CONFIG = 148, /**< Get Queue Config. */
3261 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ERASE_NVS = 149, /**< Erase NVS. */
3262 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_IGMP_CONFIG = 150, /**< Set IGMP Config. */
3263 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_IGMP_CONFIG = 151, /**< Get IGMP Config. */
3264 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_IGMP_GROUP_INFO = 152, /**< Get IGMP Group Info. */
3265 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DEL_IGMP_GROUP = 153, /**< Del IGMP Group. */
3266 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ADD_IGMP_GROUP = 154, /**< Add IGMP Group. */
3267 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_QUEUE_RATE_CONTROL = 155, /**< Set Queue Rate Control. */
3268 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_QUEUE_RATE_CONTROL = 156, /**< Get Queue Rate Control. */
3269 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_PORT_RATE_CONTROL = 157, /**< Set Port Rate Control. */
3270 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_PORT_RATE_CONTROL = 158, /**< Get Port Rate Control. */
3271 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_PHY_ADDR_MDIO = 159, /**< Set PHY Addr MDIO. */
3272 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_PHY_ADDR_MDIO = 160, /**< Get PHY Addr MDIO. */
3273 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_NEW_ADD_RULE = 161, /**< New Add Rule. */
3274 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ONU_ENABLE_USER_TRAFFIC = 162, /**< ONU Enable User Traffic. */
3275 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ONU_DISABLE_USER_TRAFFIC = 163, /**< ONU Disable User Traffic. */
3276 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_DN_BCAST_QUEUE = 164, /**< Set Dn Bcast Queue. */
3277 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_DN_BCAST_QUEUE = 165, /**< Get Dn Bcast Queue. */
3278 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_OAM_RATE = 166, /**< Set OAM Rate. */
3279 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_OAM_RATE = 167, /**< Get OAM Rate. */
3280 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SET_LUE_FIELD = 168, /**< Set LUE Field. */
3281 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_LUE_FIELD = 169, /**< Get LUE Field. */
3282 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_LOAD_INFO = 170, /**< Get Load Info. */
3283 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_NEW_DEL_RULE = 171, /**< New Del Rule. */
3284 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_UP_USER_RULES = 172, /**< Clear Up User Rules. */
3285 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_DN_USER_RULES = 173, /**< Clear Dn User Rules. */
3286 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DELETE_MCAST_DOMAIN_CONFIG = 174, /**< Delete Mcast Domain Config. */
3287 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DELETE_MCAST_GROUP = 175, /**< Delete Mcast Group. */
3288 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_LASER_TX_POWER_OFF = 176, /**< Laser Tx Power Off. */
3289 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_BC_LASER_POWER_OFF = 177, /**< Bc Laser Power Off. */
3290 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_SLEEP = 178, /**< Sleep. */
3291 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_PROTECTION_SWITCH = 179, /**< Protection Switch. */
3292 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ADD_LUE_RULE = 181, /**< Add LUE Rule. */
3293 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DEL_LUE_RULE = 182, /**< Del LUE Rule. */
3294 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_ENABLE_POLICER = 183, /**< Enable Policer. */
3295 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_DISABLE_POLICER = 184, /**< Disable Policer. */
3296 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_EPOC_UNUSED0 = 202, /**< Epoc Unused 0. */
3297 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_EPOC_UNUSED1 = 203, /**< Epoc Unused 1. */
3298 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_FIND_LUE_RULE = 207, /**< Find LUE Rule. */
3299 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_CLEAR_LUE_RULE_TABLE = 208, /**< Clear LUE Rule Table. */
3300 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_EPOC_SDM_STATS = 209, /**< Get EPoC SDM Stats. */
3301 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_EPOC_CMC_STATS = 210, /**< Get EPoC CMC Stats. */
3302 BCMOLT_EPON_OAM_TEK_LEAF_ACTION_GET_EPOC_CNU_STATS = 211 /**< Get EPoC CNU Stats. */
3303} bcmolt_epon_oam_tek_leaf_action;
3304
3305/** Tek ONU Rule Flags.
3306 */
3307typedef enum bcmolt_epon_oam_tek_onu_rule_flags
3308{
3309 BCMOLT_EPON_OAM_TEK_ONU_RULE_FLAGS_NONE = 0,
3310 BCMOLT_EPON_OAM_TEK_ONU_RULE_FLAGS_VOLATILE = 0x0001 /**< Volatile. */
3311} bcmolt_epon_oam_tek_onu_rule_flags;
3312
3313/** Tek ONU Rule Action.
3314 */
3315typedef enum bcmolt_epon_oam_tek_onu_rule_action
3316{
3317 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_FORWARD_UNAFFECTED = 0, /**< Forward Unaffected. */
3318 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_RESERVED1 = 1, /**< Reserved1. */
3319 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_DESTINATION = 2, /**< Set Destination. */
3320 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_ADD_VLAN_TAG = 3, /**< Add VLAN Tag. */
3321 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_VLAN_TAG = 4, /**< Delete VLAN Tag. */
3322 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_VID_ADD_VLAN_TAG = 5, /**< Set VID Add VLAN Tag. */
3323 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_COS = 6, /**< Set CoS. */
3324 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_TAG_ADD_TAG = 7, /**< Delete Tag Add Tag. */
3325 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_TAG_ADD_TAG_SET_VID = 8, /**< Delete Tag Add Tag Set VID. */
3326 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_ADD_TAG = 9, /**< Clear Add Tag. */
3327 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_DEL_TAG = 10, /**< Clear Del Tag. */
3328 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_DEL_TAG_AND_ADD_TAG = 11, /**< Clear Del Tag And Add Tag. */
3329 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_COPY_FIELD_TO_COS = 12, /**< Copy Field To CoS. */
3330 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_COPY_FIELD_TO_VID = 13, /**< Copy Field To VID. */
3331 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DISCARD = 14, /**< Discard. */
3332 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_RESERVED2 = 15, /**< Reserved2. */
3333 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_FORWARD_CLEAR_DISCARD = 16, /**< Forward Clear Discard. */
3334 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_RESERVED3 = 17, /**< Reserved3. */
3335 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_DESTINATION_FORWARD = 18, /**< Set Destination Forward. */
3336 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_ADD_TAG_FORWARD = 19, /**< Add Tag Forward. */
3337 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_TAG_FORWARD = 20, /**< Delete Tag Forward. */
3338 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_VID_ADD_TAG_FORWARD = 21, /**< Set VID Add Tag Forward. */
3339 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_SET_COS_FORWARD = 22, /**< Set CoS Forward. */
3340 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_TAG_ADD_TAG_REPLACE_TAG_FORWARD = 23, /**< Delete Tag Add Tag Replace Tag Forward. */
3341 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_DELETE_TAG_ADD_TAG_SET_VID_FORWARD = 24, /**< Delete Tag Add Tag Set VID Forward. */
3342 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_ADD_TAG_FORWARD = 25, /**< Clear Add Tag Forward. */
3343 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_DEL_TAG_FORWARD = 26, /**< Clear Del Tag Forward. */
3344 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_CLEAR_DEL_TAG_AND_ADD_TAG_FORWARD = 27, /**< Clear Del Tag And Add Tag Forward. */
3345 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_COPY_FIELD_TO_COS_FORWARD = 28, /**< Copy Field To CoS Forward. */
3346 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_COPY_FIELD_TO_VID_FORWARD = 29, /**< Copy Field To VID Forward. */
3347 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_RESERVED4 = 30, /**< Reserved4. */
3348 BCMOLT_EPON_OAM_TEK_ONU_RULE_ACTION_RESERVED5 = 31 /**< Reserved5. */
3349} bcmolt_epon_oam_tek_onu_rule_action;
3350
3351/** Tek ONU Field Select.
3352 */
3353typedef enum bcmolt_epon_oam_tek_onu_field_select
3354{
3355 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_DA = 0, /**< DA. */
3356 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_SA = 1, /**< SA. */
3357 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_LLID = 2, /**< LLID. */
3358 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_ETHER_TYPE = 3, /**< EtherType. */
3359 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_VLAN = 4, /**< VLAN. */
3360 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_USER_FS = 5, /**< User FS. */
3361 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_IPPROTOCOL = 6, /**< IP Protocol. */
3362 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_CTC_ETH_COS = 10, /**< CTC Eth CoS. */
3363 BCMOLT_EPON_OAM_TEK_ONU_FIELD_SELECT_L3PROTOCOL_TYPE = 11 /**< L3 Protocol Type. */
3364} bcmolt_epon_oam_tek_onu_field_select;
3365
3366/** Tek ONU Rule Operator.
3367 */
3368typedef enum bcmolt_epon_oam_tek_onu_rule_operator
3369{
3370 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_NEVER_MATCH = 0, /**< Never Match. */
3371 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_EQUAL_TO = 1, /**< Equal To. */
3372 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_NOT_EQUAL_TO = 2, /**< Not Equal To. */
3373 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_LESS_THAN_OR_EQUAL_TO = 3, /**< Less Than Or Equal To. */
3374 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_GREATER_THAN_OR_EQUAL_TO = 4, /**< Greater Than Or Equal To. */
3375 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_EXISTS = 5, /**< Exists. */
3376 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_NOT_EXISTS = 6, /**< Not Exists. */
3377 BCMOLT_EPON_OAM_TEK_ONU_RULE_OPERATOR_ALWAYS_MATCH = 7 /**< Always Match. */
3378} bcmolt_epon_oam_tek_onu_rule_operator;
3379
3380/** ONU PS State.
3381 */
3382typedef enum bcmolt_epon_oam_onu_psstate
3383{
3384 BCMOLT_EPON_OAM_ONU_PSSTATE_NONE = 0,
3385 BCMOLT_EPON_OAM_ONU_PSSTATE_SWITCHED = 0x0001, /**< Switched. */
3386 BCMOLT_EPON_OAM_ONU_PSSTATE_SIGNAL_DETECT_A = 0x0002, /**< Signal Detect A. */
3387 BCMOLT_EPON_OAM_ONU_PSSTATE_SIGNAL_DETECT_B = 0x0004 /**< Signal Detect B. */
3388} bcmolt_epon_oam_onu_psstate;
3389
3390/** Tek Learn Table Mode.
3391 */
3392typedef enum bcmolt_epon_oam_tek_learn_table_mode
3393{
3394 BCMOLT_EPON_OAM_TEK_LEARN_TABLE_MODE_OVERFLOW = 0, /**< Overflow. */
3395 BCMOLT_EPON_OAM_TEK_LEARN_TABLE_MODE_OVERWRITE = 1 /**< Overwrite. */
3396} bcmolt_epon_oam_tek_learn_table_mode;
3397
3398/** Tek VLAN Destination Match Mode.
3399 */
3400typedef enum bcmolt_epon_oam_tek_vlan_destination_match_mode
3401{
3402 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_MATCH_MODE_DA = 0, /**< DA. */
3403 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_MATCH_MODE_VID = 1, /**< VID. */
3404 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_MATCH_MODE_COS = 2, /**< CoS. */
3405 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_MATCH_MODE_VID_COS = 3 /**< VID/CoS. */
3406} bcmolt_epon_oam_tek_vlan_destination_match_mode;
3407
3408/** Tek VLAN Destination Flags.
3409 */
3410typedef enum bcmolt_epon_oam_tek_vlan_destination_flags
3411{
3412 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_FLAGS_NONE = 0,
3413 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_FLAGS_DROP_UNTAGGED = 0x0001, /**< Drop Untagged. */
3414 BCMOLT_EPON_OAM_TEK_VLAN_DESTINATION_FLAGS_STRIP_VLAN_TAG = 0x0002 /**< Strip VLAN Tag. */
3415} bcmolt_epon_oam_tek_vlan_destination_flags;
3416
3417/** Tek Encryption Mode.
3418 */
3419typedef enum bcmolt_epon_oam_tek_encryption_mode
3420{
3421 BCMOLT_EPON_OAM_TEK_ENCRYPTION_MODE_DISABLED = 0, /**< Disabled. */
3422 BCMOLT_EPON_OAM_TEK_ENCRYPTION_MODE_AES = 1, /**< AES. */
3423 BCMOLT_EPON_OAM_TEK_ENCRYPTION_MODE_ZOH = 2, /**< ZOH. */
3424 BCMOLT_EPON_OAM_TEK_ENCRYPTION_MODE_CTC = 3 /**< CTC. */
3425} bcmolt_epon_oam_tek_encryption_mode;
3426
3427/** Tek Encryption Options.
3428 */
3429typedef enum bcmolt_epon_oam_tek_encryption_options
3430{
3431 BCMOLT_EPON_OAM_TEK_ENCRYPTION_OPTIONS_NONE = 0,
3432 BCMOLT_EPON_OAM_TEK_ENCRYPTION_OPTIONS_BI_DIRECTIONAL = 0x0001 /**< Bi-Directional. */
3433} bcmolt_epon_oam_tek_encryption_options;
3434
3435/** Rule Field Select.
3436 */
3437typedef enum bcmolt_epon_oam_rule_field_select
3438{
3439 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_L2DA = 0, /**< L2 DA. */
3440 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_L2SA = 1, /**< L2 SA. */
3441 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_L2TYPE = 2, /**< L2 Type. */
3442 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_L2SVLAN = 3, /**< L2 SVlan. */
3443 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_L2CVLAN = 4, /**< L2 CVlan. */
3444 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_UDP_TCP_SOURCE_PORT = 5, /**< Udp Tcp Source Port. */
3445 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_UDP_TCP_DESTINATION_PORT = 6, /**< Udp Tcp Destination Port. */
3446 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IP_PROTOCOL = 7, /**< Ip Protocol. */
3447 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV4TTL_IPV6HOP_LIMIT = 8, /**< IPV4 Ttl IPV6 Hop Limit. */
3448 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV4TOS_IPV6CLASS = 9, /**< IPV4 Tos IPV6 Class. */
3449 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV4IPV6DA = 10, /**< IPV4 IPV6 DA. */
3450 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV6DAHI = 11, /**< IPV6 DA Hi. */
3451 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV4IPV6SA = 12, /**< IPV4 IPV6 SA. */
3452 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV6SAHI = 13, /**< IPV6 SA Hi. */
3453 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_IPV6NEXT_HEADER_BIT = 14, /**< IPV6 Next Header Bit. */
3454 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_LLID_MAC_ID = 15, /**< LLID Mac Id. */
3455 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER16BIT_FIELD0 = 16, /**< User 16 Bit Field 0. */
3456 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER16BIT_FIELD1 = 17, /**< User 16 Bit Field 1. */
3457 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER16BIT_FIELD2 = 18, /**< User 16 Bit Field 2. */
3458 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER16BIT_FIELD3 = 19, /**< User 16 Bit Field 3. */
3459 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER16BIT_FIELD4 = 20, /**< User 16 Bit Field 4. */
3460 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER32BIT_FIELD5 = 21, /**< User 32 Bit Field 5. */
3461 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_USER32BIT_FIELD6 = 22, /**< User 32 Bit Field 6. */
3462 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_PTP_TIME_STAMP = 23, /**< PTP Time Stamp. */
3463 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_POLICER_ELEMENT = 24, /**< Policer Element. */
3464 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_QUEUE = 25, /**< Var Queue. */
3465 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_LEARNING_DOMAIN = 26, /**< Var Learning Domain. */
3466 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_PORT_DISCARD = 27, /**< Var Port Discard. */
3467 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_STATISTIC_POINTER = 28, /**< Var Statistic Pointer. */
3468 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_SWITCHING_DOMAIN = 29, /**< Var Switching Domain. */
3469 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_POLICER1 = 30, /**< Var Policer 1. */
3470 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_POLICER2 = 31, /**< Var Policer 2. */
3471 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_POLICER3 = 32, /**< Var Policer 3. */
3472 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_POLICER4 = 33, /**< Var Policer 4. */
3473 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_SSM_SOURCE_ID = 34, /**< Var Ssm Source Id. */
3474 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_VAR_INDEX_TABLE_POINTER = 35, /**< Var Index Table Pointer. */
3475 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_FRAME_LENGTH = 36, /**< Frame Length. */
3476 BCMOLT_EPON_OAM_RULE_FIELD_SELECT_FRAME_DISCARD = 37 /**< Frame Discard. */
3477} bcmolt_epon_oam_rule_field_select;
3478
3479/** Rule Action.
3480 */
3481typedef enum bcmolt_epon_oam_rule_action
3482{
3483 BCMOLT_EPON_OAM_RULE_ACTION_STOP = 0, /**< Stop. */
3484 BCMOLT_EPON_OAM_RULE_ACTION_NOP = 1, /**< Nop. */
3485 BCMOLT_EPON_OAM_RULE_ACTION_VLAN_ADD_SET = 2, /**< Vlan Add Set. */
3486 BCMOLT_EPON_OAM_RULE_ACTION_VLAN_ADD_CLEAR = 3, /**< Vlan Add Clear. */
3487 BCMOLT_EPON_OAM_RULE_ACTION_VLAN_DEL_SET = 4, /**< Vlan Del Set. */
3488 BCMOLT_EPON_OAM_RULE_ACTION_VLAN_DEL_CLEAR = 5, /**< Vlan Del Clear. */
3489 BCMOLT_EPON_OAM_RULE_ACTION_DISCARD_SET = 6, /**< Discard Set. */
3490 BCMOLT_EPON_OAM_RULE_ACTION_DISCARD_CLEAR = 7, /**< Discard Clear. */
3491 BCMOLT_EPON_OAM_RULE_ACTION_SET_QUEUE = 8, /**< Set Queue. */
3492 BCMOLT_EPON_OAM_RULE_ACTION_SET_LEARNING_DOMAIN = 9, /**< Set Learning Domain. */
3493 BCMOLT_EPON_OAM_RULE_ACTION_SET_PORT_DISCARD = 10, /**< Set Port Discard. */
3494 BCMOLT_EPON_OAM_RULE_ACTION_SET_STATISTIC_POINTER = 11, /**< Set Statistic Pointer. */
3495 BCMOLT_EPON_OAM_RULE_ACTION_SET_SWITCHING_DOMAIN = 12, /**< Set Switching Domain. */
3496 BCMOLT_EPON_OAM_RULE_ACTION_SET_POLICER1 = 13, /**< Set Policer 1. */
3497 BCMOLT_EPON_OAM_RULE_ACTION_SET_POLICER2 = 14, /**< Set Policer 2. */
3498 BCMOLT_EPON_OAM_RULE_ACTION_SET_POLICER3 = 15, /**< Set Policer 3. */
3499 BCMOLT_EPON_OAM_RULE_ACTION_SET_POLICER4 = 16, /**< Set Policer 4. */
3500 BCMOLT_EPON_OAM_RULE_ACTION_SET_SSM_SOURCE_ID = 17, /**< Set Ssm Source Id. */
3501 BCMOLT_EPON_OAM_RULE_ACTION_SET_INDEX_TABLE_POINTER = 18, /**< Set Index Table Pointer. */
3502 BCMOLT_EPON_OAM_RULE_ACTION_SET_VID_CFI = 19, /**< Set Vid Cfi. */
3503 BCMOLT_EPON_OAM_RULE_ACTION_SET_COS = 20, /**< Set Cos. */
3504 BCMOLT_EPON_OAM_RULE_ACTION_SET_TPID = 21, /**< Set Tpid. */
3505 BCMOLT_EPON_OAM_RULE_ACTION_OR_QUEUE = 22, /**< Or Queue. */
3506 BCMOLT_EPON_OAM_RULE_ACTION_OR_LEARNING_DOMAIN = 23, /**< Or Learning Domain. */
3507 BCMOLT_EPON_OAM_RULE_ACTION_OR_PORT_DISCARD = 24, /**< Or Port Discard. */
3508 BCMOLT_EPON_OAM_RULE_ACTION_OR_STATISTIC_POINTER = 25, /**< Or Statistic Pointer. */
3509 BCMOLT_EPON_OAM_RULE_ACTION_OR_SWITCHING_DOMAIN = 26, /**< Or Switching Domain. */
3510 BCMOLT_EPON_OAM_RULE_ACTION_OR_POLICER1 = 27, /**< Or Policer 1. */
3511 BCMOLT_EPON_OAM_RULE_ACTION_OR_POLICER2 = 28, /**< Or Policer 2. */
3512 BCMOLT_EPON_OAM_RULE_ACTION_OR_POLICER3 = 29, /**< Or Policer 3. */
3513 BCMOLT_EPON_OAM_RULE_ACTION_OR_POLICER4 = 30, /**< Or Policer 4. */
3514 BCMOLT_EPON_OAM_RULE_ACTION_OR_SSM_SOURCE_ID = 31, /**< Or Ssm Source Id. */
3515 BCMOLT_EPON_OAM_RULE_ACTION_OR_INDEX_TABLE_POINTER = 32, /**< Or Index Table Pointer. */
3516 BCMOLT_EPON_OAM_RULE_ACTION_OR_VID_CFI = 33, /**< Or Vid Cfi. */
3517 BCMOLT_EPON_OAM_RULE_ACTION_OR_COS = 34, /**< Or Cos. */
3518 BCMOLT_EPON_OAM_RULE_ACTION_OR_TPID = 35, /**< Or Tpid. */
3519 BCMOLT_EPON_OAM_RULE_ACTION_AND_QUEUE = 36, /**< And Queue. */
3520 BCMOLT_EPON_OAM_RULE_ACTION_AND_LEARNING_DOMAIN = 37, /**< And Learning Domain. */
3521 BCMOLT_EPON_OAM_RULE_ACTION_AND_PORT_DISCARD = 38, /**< And Port Discard. */
3522 BCMOLT_EPON_OAM_RULE_ACTION_AND_STATISTIC_POINTER = 39, /**< And Statistic Pointer. */
3523 BCMOLT_EPON_OAM_RULE_ACTION_AND_SWITCHING_DOMAIN = 40, /**< And Switching Domain. */
3524 BCMOLT_EPON_OAM_RULE_ACTION_AND_POLICER1 = 41, /**< And Policer 1. */
3525 BCMOLT_EPON_OAM_RULE_ACTION_AND_POLICER2 = 42, /**< And Policer 2. */
3526 BCMOLT_EPON_OAM_RULE_ACTION_AND_POLICER3 = 43, /**< And Policer 3. */
3527 BCMOLT_EPON_OAM_RULE_ACTION_AND_POLICER4 = 44, /**< And Policer 4. */
3528 BCMOLT_EPON_OAM_RULE_ACTION_AND_SSM_SOURCE_ID = 45, /**< And Ssm Source Id. */
3529 BCMOLT_EPON_OAM_RULE_ACTION_AND_INDEX_TABLE_POINTER = 46, /**< And Index Table Pointer. */
3530 BCMOLT_EPON_OAM_RULE_ACTION_AND_VID_CFI = 47, /**< And Vid Cfi. */
3531 BCMOLT_EPON_OAM_RULE_ACTION_AND_COS = 48, /**< And Cos. */
3532 BCMOLT_EPON_OAM_RULE_ACTION_AND_TPID = 49, /**< And Tpid. */
3533 BCMOLT_EPON_OAM_RULE_ACTION_ADDQUEUE = 50, /**< AddQueue. */
3534 BCMOLT_EPON_OAM_RULE_ACTION_ADD_LEARNING_DOMAIN = 51, /**< Add Learning Domain. */
3535 BCMOLT_EPON_OAM_RULE_ACTION_ADD_PORT_DISCARD = 52, /**< Add Port Discard. */
3536 BCMOLT_EPON_OAM_RULE_ACTION_ADD_STATISTIC_POINTER = 53, /**< Add Statistic Pointer. */
3537 BCMOLT_EPON_OAM_RULE_ACTION_ADD_SWITCHING_DOMAIN = 54, /**< Add Switching Domain. */
3538 BCMOLT_EPON_OAM_RULE_ACTION_ADD_POLICER1 = 55, /**< Add Policer 1. */
3539 BCMOLT_EPON_OAM_RULE_ACTION_ADD_POLICER2 = 56, /**< Add Policer 2. */
3540 BCMOLT_EPON_OAM_RULE_ACTION_ADD_POLICER3 = 57, /**< Add Policer 3. */
3541 BCMOLT_EPON_OAM_RULE_ACTION_ADD_POLICER4 = 58, /**< Add Policer 4. */
3542 BCMOLT_EPON_OAM_RULE_ACTION_ADD_SSM_SOURCE_ID = 59, /**< Add Ssm Source Id. */
3543 BCMOLT_EPON_OAM_RULE_ACTION_ADD_INDEX_TABLE_POINTER = 60, /**< Add Index Table Pointer. */
3544 BCMOLT_EPON_OAM_RULE_ACTION_ADD_VID_CFI = 61, /**< Add Vid Cfi. */
3545 BCMOLT_EPON_OAM_RULE_ACTION_ADD_COD = 62, /**< Add Cod. */
3546 BCMOLT_EPON_OAM_RULE_ACTION_ADD_TPID = 63, /**< Add Tpid. */
3547 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_QUEUE = 64, /**< Shift Queue. */
3548 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_LEARNING_DOMAIN = 65, /**< Shift Learning Domain. */
3549 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_PORT_DISCARD = 66, /**< Shift Port Discard. */
3550 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_STATISTIC_POINTER = 67, /**< Shift Statistic Pointer. */
3551 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_SWITCHING_DOMAIN = 68, /**< Shift Switching Domain. */
3552 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_POLICER1 = 69, /**< Shift Policer 1. */
3553 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_POLICER2 = 70, /**< Shift Policer 2. */
3554 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_POLICER3 = 71, /**< Shift Policer 3. */
3555 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_POLICER4 = 72, /**< Shift Policer 4. */
3556 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_SSM_SOURCE_ID = 73, /**< Shift Ssm Source Id. */
3557 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_INDEX_TABLE_POINTER = 74, /**< Shift Index Table Pointer. */
3558 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_VID_CFI = 75, /**< Shift Vid Cfi. */
3559 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_COD = 76, /**< Shift Cod. */
3560 BCMOLT_EPON_OAM_RULE_ACTION_SHIFT_TPID = 77, /**< Shift Tpid. */
3561 BCMOLT_EPON_OAM_RULE_ACTION_COPY_QUEUE = 78, /**< Copy Queue. */
3562 BCMOLT_EPON_OAM_RULE_ACTION_COPY_LEARNING_DOMAIN = 79, /**< Copy Learning Domain. */
3563 BCMOLT_EPON_OAM_RULE_ACTION_COPY_PORT_DISCARD = 80, /**< Copy Port Discard. */
3564 BCMOLT_EPON_OAM_RULE_ACTION_COPY_STATISTIC_POINTER = 81, /**< Copy Statistic Pointer. */
3565 BCMOLT_EPON_OAM_RULE_ACTION_COPY_SWITCHING_DOMAIN = 82, /**< Copy Switching Domain. */
3566 BCMOLT_EPON_OAM_RULE_ACTION_COPY_POLICER1 = 83, /**< Copy Policer 1. */
3567 BCMOLT_EPON_OAM_RULE_ACTION_COPY_POLICER2 = 84, /**< Copy Policer 2. */
3568 BCMOLT_EPON_OAM_RULE_ACTION_COPY_POLICER3 = 85, /**< Copy Policer 3. */
3569 BCMOLT_EPON_OAM_RULE_ACTION_COPY_POLICER4 = 86, /**< Copy Policer 4. */
3570 BCMOLT_EPON_OAM_RULE_ACTION_COPY_SSM_SOURCE_ID = 87, /**< Copy Ssm Source Id. */
3571 BCMOLT_EPON_OAM_RULE_ACTION_COPY_INDEX_TABLE_POINTER = 88, /**< Copy Index Table Pointer. */
3572 BCMOLT_EPON_OAM_RULE_ACTION_COPY_VID_CFI = 89, /**< Copy Vid Cfi. */
3573 BCMOLT_EPON_OAM_RULE_ACTION_COPY_COD = 90, /**< Copy Cod. */
3574 BCMOLT_EPON_OAM_RULE_ACTION_COPY_TPID = 91 /**< Copy Tpid. */
3575} bcmolt_epon_oam_rule_action;
3576
3577/** Version maturity
3578 */
3579typedef enum bcmolt_epon_oam_tek_maturity
3580{
3581 BCMOLT_EPON_OAM_TEK_MATURITY_RELEASE = 82, /**< Release. */
3582 BCMOLT_EPON_OAM_TEK_MATURITY_CUSTOM = 67, /**< Custom. */
3583 BCMOLT_EPON_OAM_TEK_MATURITY_BETA = 66, /**< Beta. */
3584 BCMOLT_EPON_OAM_TEK_MATURITY_ALPHA = 65, /**< Alpha. */
3585 BCMOLT_EPON_OAM_TEK_MATURITY_ENGINEERING = 69, /**< Engineering. */
3586 BCMOLT_EPON_OAM_TEK_MATURITY_DEVELOPMENT = 68 /**< Development. */
3587} bcmolt_epon_oam_tek_maturity;
3588
3589/** File Type.
3590 */
3591typedef enum bcmolt_epon_oam_file_type
3592{
3593 BCMOLT_EPON_OAM_FILE_TYPE_BOOT = 0, /**< Boot. */
3594 BCMOLT_EPON_OAM_FILE_TYPE_APP_MAIN = 1, /**< App Main. */
3595 BCMOLT_EPON_OAM_FILE_TYPE_APP_BACKUP = 2 /**< App Backup. */
3596} bcmolt_epon_oam_file_type;
3597
3598/** NVS State.
3599 */
3600typedef enum bcmolt_epon_oam_nvs_state
3601{
3602 BCMOLT_EPON_OAM_NVS_STATE_ENABLED = 0, /**< Enabled. */
3603 BCMOLT_EPON_OAM_NVS_STATE_DISABLED = 1 /**< Disabled. */
3604} bcmolt_epon_oam_nvs_state;
3605
3606/** Tek Queue Config V2 Subtype.
3607 */
3608typedef enum bcmolt_epon_oam_tek_queue_config_v2subtype
3609{
3610 BCMOLT_EPON_OAM_TEK_QUEUE_CONFIG_V2SUBTYPE_TERMINATOR = 0, /**< Used to end a queue config container chain */
3611 BCMOLT_EPON_OAM_TEK_QUEUE_CONFIG_V2SUBTYPE_HEADER = 1, /**< Used to start a queue config container chain */
3612 BCMOLT_EPON_OAM_TEK_QUEUE_CONFIG_V2SUBTYPE_LINK = 2, /**< Used to define a link queue config */
3613 BCMOLT_EPON_OAM_TEK_QUEUE_CONFIG_V2SUBTYPE_PORT = 3 /**< Used to define a port queue config */
3614} bcmolt_epon_oam_tek_queue_config_v2subtype;
3615
3616/** Tek Report Mode.
3617 */
3618typedef enum bcmolt_epon_oam_tek_report_mode
3619{
3620 BCMOLT_EPON_OAM_TEK_REPORT_MODE_FRAME_ALIGNED_SINGLE_PRIORITY = 1, /**< Frame Aligned (Single Priority). */
3621 BCMOLT_EPON_OAM_TEK_REPORT_MODE_MULTI_PRIORITY3 = 19, /**< Multi-priority 3. */
3622 BCMOLT_EPON_OAM_TEK_REPORT_MODE_MULTI_PRIORITY4 = 20, /**< Multi-priority 4. */
3623 BCMOLT_EPON_OAM_TEK_REPORT_MODE_MULTI_PRIORITY8 = 24 /**< Multi-priority 8. */
3624} bcmolt_epon_oam_tek_report_mode;
3625
3626/** Tek Feature Set.
3627 */
3628typedef enum bcmolt_epon_oam_tek_feature_set
3629{
3630 BCMOLT_EPON_OAM_TEK_FEATURE_SET_STANDARD = 0, /**< Standard. */
3631 BCMOLT_EPON_OAM_TEK_FEATURE_SET_DPOE = 1, /**< DPoE. */
3632 BCMOLT_EPON_OAM_TEK_FEATURE_SET_SDK = 2, /**< SDK. */
3633 BCMOLT_EPON_OAM_TEK_FEATURE_SET_ZTE = 3, /**< ZTE. */
3634 BCMOLT_EPON_OAM_TEK_FEATURE_SET_KOREA = 4 /**< Korea. */
3635} bcmolt_epon_oam_tek_feature_set;
3636
3637/** Mcast Snoop Mode.
3638 */
3639typedef enum bcmolt_epon_oam_mcast_snoop_mode
3640{
3641 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_IGMP_MODE = 1, /**< IGMP Mode. */
3642 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_IGMP_V3MODE = 2, /**< IGMP V3 Mode. */
3643 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_IGMP_COMPAT_MODE = 3, /**< IGMP Compat Mode. */
3644 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_IGMP_MLD_COMPAT_MODE = 4, /**< IGMP Mld Compat Mode. */
3645 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_MLD_MODE = 5, /**< Mld Mode. */
3646 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_MLD_V2MODE = 6, /**< Mld V2 Mode. */
3647 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_MLD_COMPAT_MODE = 7, /**< Mld Compat Mode. */
3648 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_SNOOP_MODE_DISABLED = 8, /**< Snoop Mode Disabled. */
3649 BCMOLT_EPON_OAM_MCAST_SNOOP_MODE_SNOOP_MODE_INVALID = 255 /**< Snoop Mode Invalid. */
3650} bcmolt_epon_oam_mcast_snoop_mode;
3651
3652/** IPMC Global Options.
3653 */
3654typedef enum bcmolt_epon_oam_ipmc_global_options
3655{
3656 BCMOLT_EPON_OAM_IPMC_GLOBAL_OPTIONS_IPMC_OPTION_NONE = 0, /**< Ipmc Option None. */
3657 BCMOLT_EPON_OAM_IPMC_GLOBAL_OPTIONS_IPMC_OPTION_DISCARD_UNKNOWN = 1, /**< Ipmc Option Discard Unknown. */
3658 BCMOLT_EPON_OAM_IPMC_GLOBAL_OPTIONS_IPMC_OPTION_ALLOW_NULL = 2, /**< Ipmc Option Allow Null. */
3659 BCMOLT_EPON_OAM_IPMC_GLOBAL_OPTIONS_IPMC_OPTION_ALLOW_ALL = 3 /**< Ipmc Option Allow All. */
3660} bcmolt_epon_oam_ipmc_global_options;
3661
3662/** Forward Qualifier.
3663 */
3664typedef enum bcmolt_epon_oam_forward_qualifier
3665{
3666 BCMOLT_EPON_OAM_FORWARD_QUALIFIER_QUAL_BY_L2DA = 1, /**< Qual By L2 Da. */
3667 BCMOLT_EPON_OAM_FORWARD_QUALIFIER_QUAL_BY_VID = 2, /**< Qual By Vid. */
3668 BCMOLT_EPON_OAM_FORWARD_QUALIFIER_QUAL_BY_IP_DA = 4, /**< Qual By IP Da. */
3669 BCMOLT_EPON_OAM_FORWARD_QUALIFIER_QUAL_BY_IP_SA = 8, /**< Qual By IP Sa. */
3670 BCMOLT_EPON_OAM_FORWARD_QUALIFIER_QUAL_BY_LLID = 16 /**< Qual By LLID. */
3671} bcmolt_epon_oam_forward_qualifier;
3672
3673/** Tek Holdover Flags.
3674 */
3675typedef enum bcmolt_epon_oam_tek_holdover_flags
3676{
3677 BCMOLT_EPON_OAM_TEK_HOLDOVER_FLAGS_NONE = 0,
3678 BCMOLT_EPON_OAM_TEK_HOLDOVER_FLAGS_RE_RANGE = 0x0001 /**< Send register request to re-range ONU. */
3679} bcmolt_epon_oam_tek_holdover_flags;
3680
3681/** MDI Mode
3682 */
3683typedef enum bcmolt_epon_oam_mdi_mode
3684{
3685 BCMOLT_EPON_OAM_MDI_MODE_NONE = 0, /**< None */
3686 BCMOLT_EPON_OAM_MDI_MODE_AUTO = 1, /**< Auto */
3687 BCMOLT_EPON_OAM_MDI_MODE_MANUAL = 2, /**< Manual */
3688 BCMOLT_EPON_OAM_MDI_MODE_CROSSOVER = 3 /**< Crossover */
3689} bcmolt_epon_oam_mdi_mode;
3690
3691/** Tek IGMP Forwarding Qualifer.
3692 */
3693typedef enum bcmolt_epon_oam_tek_igmp_forwarding_qualifer
3694{
3695 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_NONE = 0,
3696 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_L2DA = 0x0001, /**< L2 DA. */
3697 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_VID = 0x0002, /**< Vid. */
3698 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_IP_DA = 0x0004, /**< IP DA. */
3699 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_IP_SA = 0x0008, /**< IP SA. */
3700 BCMOLT_EPON_OAM_TEK_IGMP_FORWARDING_QUALIFER_LOGICAL_LINK = 0x0010 /**< Logical Link. */
3701} bcmolt_epon_oam_tek_igmp_forwarding_qualifer;
3702
3703/** Tek IGMP Snooping Options.
3704 */
3705typedef enum bcmolt_epon_oam_tek_igmp_snooping_options
3706{
3707 BCMOLT_EPON_OAM_TEK_IGMP_SNOOPING_OPTIONS_DISABLE_DOWNSTREAM = 1, /**< Disable Downstream. */
3708 BCMOLT_EPON_OAM_TEK_IGMP_SNOOPING_OPTIONS_DISABLE_UPSTREAM = 2 /**< Disable Upstream. */
3709} bcmolt_epon_oam_tek_igmp_snooping_options;
3710
3711/** Sleep Options.
3712 */
3713typedef enum bcmolt_epon_oam_sleep_options
3714{
3715 BCMOLT_EPON_OAM_SLEEP_OPTIONS_NONE = 0,
3716 BCMOLT_EPON_OAM_SLEEP_OPTIONS_TX_ONLY = 0x0001, /**< Tx Only. */
3717 BCMOLT_EPON_OAM_SLEEP_OPTIONS_RX_LASER = 0x0002, /**< Rx Laser. */
3718 BCMOLT_EPON_OAM_SLEEP_OPTIONS_SERDES = 0x0004 /**< SerDes. */
3719} bcmolt_epon_oam_sleep_options;
3720
3721/** Ieee Register Flags.
3722 */
3723typedef enum bcmolt_epon_oam_ieee_register_flags
3724{
3725 BCMOLT_EPON_OAM_IEEE_REGISTER_FLAGS_REREGISTER = 1, /**< Reregister. */
3726 BCMOLT_EPON_OAM_IEEE_REGISTER_FLAGS_DEREGISTER = 2, /**< Deregister. */
3727 BCMOLT_EPON_OAM_IEEE_REGISTER_FLAGS_ACK = 3, /**< Ack. */
3728 BCMOLT_EPON_OAM_IEEE_REGISTER_FLAGS_NACK = 4 /**< Nack. */
3729} bcmolt_epon_oam_ieee_register_flags;
3730
3731/** Ieee Register Ack Flags.
3732 */
3733typedef enum bcmolt_epon_oam_ieee_register_ack_flags
3734{
3735 BCMOLT_EPON_OAM_IEEE_REGISTER_ACK_FLAGS_NACK = 0, /**< Nack. */
3736 BCMOLT_EPON_OAM_IEEE_REGISTER_ACK_FLAGS_ACK = 1 /**< Ack. */
3737} bcmolt_epon_oam_ieee_register_ack_flags;
3738
3739/** Tek File Transfer Error.
3740 */
3741typedef enum bcmolt_epon_oam_tek_file_transfer_error
3742{
3743 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_OK = 0, /**< Ok. */
3744 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_UNDEFINED = 1, /**< Undefined. */
3745 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_NOT_FOUND = 2, /**< Not Found. */
3746 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_NO_ACCESS = 3, /**< No Access. */
3747 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_FULL = 4, /**< Full. */
3748 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_ILLEGAL_OP = 5, /**< Illegal Op. */
3749 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_UNKNOWN_ID = 6, /**< Unknown ID. */
3750 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_BAD_BLOCK = 7, /**< Bad Block. */
3751 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_TIMEOUT = 8, /**< Timeout. */
3752 BCMOLT_EPON_OAM_TEK_FILE_TRANSFER_ERROR_BUSY = 9 /**< Busy. */
3753} bcmolt_epon_oam_tek_file_transfer_error;
3754
3755/** Tek File Type.
3756 */
3757typedef enum bcmolt_epon_oam_tek_file_type
3758{
3759 BCMOLT_EPON_OAM_TEK_FILE_TYPE_BOOT = 0, /**< Boot. */
3760 BCMOLT_EPON_OAM_TEK_FILE_TYPE_APP = 1, /**< App. */
3761 BCMOLT_EPON_OAM_TEK_FILE_TYPE_CONFIG = 2, /**< Config. */
3762 BCMOLT_EPON_OAM_TEK_FILE_TYPE_DIAG = 3 /**< Diag. */
3763} bcmolt_epon_oam_tek_file_type;
3764
3765/** PMC Op Code.
3766 */
3767typedef enum bcmolt_epon_oam_pmc_op_code
3768{
3769 BCMOLT_EPON_OAM_PMC_OP_CODE_SET_ALARM_THRESHOLDS = 112, /**< Set Alarm Thresholds. */
3770 BCMOLT_EPON_OAM_PMC_OP_CODE_RE_REGISTER = 113, /**< Re Register. */
3771 BCMOLT_EPON_OAM_PMC_OP_CODE_FIRMWARE_UPDATE = 114, /**< Firmware Update. */
3772 BCMOLT_EPON_OAM_PMC_OP_CODE_GET_ONU_VERSIONS_REQUEST = 115, /**< Get ONU Versions Request. */
3773 BCMOLT_EPON_OAM_PMC_OP_CODE_GET_ONU_VERSIONS_RESPONSE = 116, /**< Get ONU Versions Response. */
3774 BCMOLT_EPON_OAM_PMC_OP_CODE_REMOTE_ACCESS = 117, /**< Remote Access. */
3775 BCMOLT_EPON_OAM_PMC_OP_CODE_ACKNOWLEDGE = 128, /**< Acknowledge. */
3776 BCMOLT_EPON_OAM_PMC_OP_CODE_AUTHENTICATE_ONU = 129, /**< Authenticate ONU. */
3777 BCMOLT_EPON_OAM_PMC_OP_CODE_TURN_ONU_IN_TO_OFF_MODE = 130, /**< Turn ONU In To Off Mode. */
3778 BCMOLT_EPON_OAM_PMC_OP_CODE_IGMP_SNOOPING_PACKETS = 131, /**< IGMP Snooping Packets. */
3779 BCMOLT_EPON_OAM_PMC_OP_CODE_UNI_PORT_STATUS_REQUEST = 132, /**< UNI Port Status Request. */
3780 BCMOLT_EPON_OAM_PMC_OP_CODE_UNI_PORT_STATUS_RESPONSE = 133, /**< UNI Port Status Response. */
3781 BCMOLT_EPON_OAM_PMC_OP_CODE_UNI_PORT_CONFIGURE = 134, /**< UNI Port Configure. */
3782 BCMOLT_EPON_OAM_PMC_OP_CODE_ENCRYPTION_ENABLE_DISABLE = 135, /**< Encryption Enable Disable. */
3783 BCMOLT_EPON_OAM_PMC_OP_CODE_ENCRYPTION_KEY = 136, /**< Encryption Key. */
3784 BCMOLT_EPON_OAM_PMC_OP_CODE_THRESHOLD_REPORT_VALUES = 137, /**< Threshold Report Values. */
3785 BCMOLT_EPON_OAM_PMC_OP_CODE_PHY_LOOP_BACK_CONTROL = 138, /**< PHY Loop Back Control. */
3786 BCMOLT_EPON_OAM_PMC_OP_CODE_PING_REQUEST = 139, /**< Ping Request. */
3787 BCMOLT_EPON_OAM_PMC_OP_CODE_PING_RESPONSE = 140, /**< Ping Response. */
3788 BCMOLT_EPON_OAM_PMC_OP_CODE_MAGIC_NUMBER = 255 /**< Magic Number. */
3789} bcmolt_epon_oam_pmc_op_code;
3790
3791/** PMC File Op.
3792 */
3793typedef enum bcmolt_epon_oam_pmc_file_op
3794{
3795 BCMOLT_EPON_OAM_PMC_FILE_OP_HEAD = 0, /**< Head. */
3796 BCMOLT_EPON_OAM_PMC_FILE_OP_DATA = 256, /**< Data. */
3797 BCMOLT_EPON_OAM_PMC_FILE_OP_END = 512, /**< End. */
3798 BCMOLT_EPON_OAM_PMC_FILE_OP_IDX = 768, /**< Index. */
3799 BCMOLT_EPON_OAM_PMC_FILE_OP_ACK = 29184 /**< Ack. */
3800} bcmolt_epon_oam_pmc_file_op;
3801
3802/** PMC Error Code.
3803 */
3804typedef enum bcmolt_epon_oam_pmc_error_code
3805{
3806 BCMOLT_EPON_OAM_PMC_ERROR_CODE_OK = 0, /**< OK. */
3807 BCMOLT_EPON_OAM_PMC_ERROR_CODE_BAD_SIZE = 1536, /**< Bad Size. */
3808 BCMOLT_EPON_OAM_PMC_ERROR_CODE_BAD_BLOCK_INDEX = 2048, /**< Bad Block Index. */
3809 BCMOLT_EPON_OAM_PMC_ERROR_CODE_BAD_CRC = 2304, /**< Bad CRC. */
3810 BCMOLT_EPON_OAM_PMC_ERROR_CODE_UNKNOWN_TYPE = 3584, /**< Unknown Type. */
3811 BCMOLT_EPON_OAM_PMC_ERROR_CODE_NO_HEADER_RECEIVE = 4352, /**< No Header Receive. */
3812 BCMOLT_EPON_OAM_PMC_ERROR_CODE_NOT_STARTED = 4608 /**< Not Started. */
3813} bcmolt_epon_oam_pmc_error_code;
3814
3815/** ONU Master Protocol.
3816 */
3817typedef enum bcmolt_epon_oam_onu_master_protocol
3818{
3819 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_PING = 0, /**< Ping. */
3820 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_ENCAPSULATED_FRAME = 1, /**< Encapsulated Frame. */
3821 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_OAM_CONTENT = 2, /**< OAM Content. */
3822 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_BROADCOM_SDK = 3, /**< Broadcom SDK. */
3823 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_REGISTERED_OAM = 4, /**< Registered OAM. */
3824 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_MASTER_COMMUNICATION = 5, /**< Master Communication. */
3825 BCMOLT_EPON_OAM_ONU_MASTER_PROTOCOL_MASTER_PROTOCOL_TEK_UNKNOWN = 32766 /**< Master Protocol Tek Unknown. */
3826} bcmolt_epon_oam_onu_master_protocol;
3827
3828/** ONU Master Ping Flags.
3829 */
3830typedef enum bcmolt_epon_oam_onu_master_ping_flags
3831{
3832 BCMOLT_EPON_OAM_ONU_MASTER_PING_FLAGS_NONE = 0,
3833 BCMOLT_EPON_OAM_ONU_MASTER_PING_FLAGS_SATISFIED = 0x0001, /**< Satisfied. */
3834 BCMOLT_EPON_OAM_ONU_MASTER_PING_FLAGS_PAUSE = 0x8000U /**< Pause. */
3835} bcmolt_epon_oam_onu_master_ping_flags;
3836
3837/** Master End Point Type.
3838 */
3839typedef enum bcmolt_epon_oam_master_end_point_type
3840{
3841 BCMOLT_EPON_OAM_MASTER_END_POINT_TYPE_ONU = 0, /**< ONU. */
3842 BCMOLT_EPON_OAM_MASTER_END_POINT_TYPE_ONU_MASTER = 1, /**< ONU Master. */
3843 BCMOLT_EPON_OAM_MASTER_END_POINT_TYPE_OLT = 2 /**< OLT. */
3844} bcmolt_epon_oam_master_end_point_type;
3845
3846/** ONU Master Communication Type.
3847 */
3848typedef enum bcmolt_epon_oam_onu_master_communication_type
3849{
3850 BCMOLT_EPON_OAM_ONU_MASTER_COMMUNICATION_TYPE_COMMAND = 0, /**< Command. */
3851 BCMOLT_EPON_OAM_ONU_MASTER_COMMUNICATION_TYPE_RESPONSE = 128 /**< Response. */
3852} bcmolt_epon_oam_onu_master_communication_type;
3853
3854/** ONU Master Command ID.
3855 */
3856typedef enum bcmolt_epon_oam_onu_master_command_id
3857{
3858 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_TERMINATOR = 0, /**< Terminator. */
3859 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_ENABLE_ONU = 1, /**< Enable ONU. */
3860 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_DISABLE_ONU = 2, /**< Disable ONU. */
3861 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_GET_ONU_STATE = 3, /**< Get ONU State. */
3862 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_GET_OAM_REGISTRATION = 257, /**< Get OAM Registration. */
3863 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_SET_OAM_REGISTRATION = 258, /**< Set OAM Registration. */
3864 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_GET_NEGOTIATED_OAM = 259, /**< Get Negotiated OAM. */
3865 BCMOLT_EPON_OAM_ONU_MASTER_COMMAND_ID_SET_NEGOTIATED_OAM = 260 /**< Set Negotiated OAM. */
3866} bcmolt_epon_oam_onu_master_command_id;
3867
3868/** OAM Registration Action.
3869 */
3870typedef enum bcmolt_epon_oam_oam_registration_action
3871{
3872 BCMOLT_EPON_OAM_OAM_REGISTRATION_ACTION_CONT = 0, /**< Do not modify the registration state; provide more qualifiers. */
3873 BCMOLT_EPON_OAM_OAM_REGISTRATION_ACTION_REG = 1, /**< Set the registration state to registered. */
3874 BCMOLT_EPON_OAM_OAM_REGISTRATION_ACTION_UNREGISTER = 2, /**< Set the registration state to not registered. */
3875 BCMOLT_EPON_OAM_OAM_REGISTRATION_ACTION_REGISTER_AND_CONTINUE = 129, /**< Set the registration state to registered, but allow for further qualifiers. */
3876 BCMOLT_EPON_OAM_OAM_REGISTRATION_ACTION_UNREGISTER_AND_CONTINUE = 130 /**< Set the registration state to not registered, but allow for further qualifiers. */
3877} bcmolt_epon_oam_oam_registration_action;
3878
3879/** OAM Reg Info Type.
3880 */
3881typedef enum bcmolt_epon_oam_oam_reg_info_type
3882{
3883 BCMOLT_EPON_OAM_OAM_REG_INFO_TYPE_VENDOR = 254 /**< Vendor. */
3884} bcmolt_epon_oam_oam_reg_info_type;
3885
3886/** Master Context Type.
3887 */
3888typedef enum bcmolt_epon_oam_master_context_type
3889{
3890 BCMOLT_EPON_OAM_MASTER_CONTEXT_TYPE_ONU = 0, /**< ONU. */
3891 BCMOLT_EPON_OAM_MASTER_CONTEXT_TYPE_NETWORK_PON = 1, /**< Network Pon. */
3892 BCMOLT_EPON_OAM_MASTER_CONTEXT_TYPE_LINK = 2, /**< Link. */
3893 BCMOLT_EPON_OAM_MASTER_CONTEXT_TYPE_USER_PORT = 3 /**< User Port. */
3894} bcmolt_epon_oam_master_context_type;
3895
3896/** CTC Version
3897 */
3898typedef enum bcmolt_epon_oam_ctc_version
3899{
3900 BCMOLT_EPON_OAM_CTC_VERSION_LATEST_VERSION = 0, /**< Latest Supported Version, currently, It's CTC 2.1. */
3901 BCMOLT_EPON_OAM_CTC_VERSION_CTC10 = 1, /**< CTC 1.0 */
3902 BCMOLT_EPON_OAM_CTC_VERSION_CTC13 = 19, /**< CTC 1.3 */
3903 BCMOLT_EPON_OAM_CTC_VERSION_CTC20 = 32, /**< CTC 2.0 */
3904 BCMOLT_EPON_OAM_CTC_VERSION_CTC21 = 33, /**< CTC 2.1 */
3905 BCMOLT_EPON_OAM_CTC_VERSION_CTC30 = 48, /**< CTC 3.0 */
3906 BCMOLT_EPON_OAM_CTC_VERSION_CUC10 = 193, /**< CUC 1.0 */
3907 BCMOLT_EPON_OAM_CTC_VERSION_CUC20 = 194, /**< CUC 2.0 */
3908 BCMOLT_EPON_OAM_CTC_VERSION_CUC30 = 195 /**< CUC 3.0 */
3909} bcmolt_epon_oam_ctc_version;
3910
3911/** ONU Master Response Code.
3912 */
3913typedef enum bcmolt_epon_oam_onu_master_response_code
3914{
3915 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_SUCCESS = 0, /**< Success. */
3916 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_NOT_SUPPORTED = 1, /**< Not Supported. */
3917 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_BAD_PARAMETERS = 2, /**< Bad Parameters. */
3918 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_NO_RESOURCES = 3, /**< No Resources. */
3919 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_HARDWARE_FAILURE = 4, /**< Hardware Failure. */
3920 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_BAD_ID = 5, /**< Bad ID. */
3921 BCMOLT_EPON_OAM_ONU_MASTER_RESPONSE_CODE_SYSTEM_BUSY = 6 /**< System Busy. */
3922} bcmolt_epon_oam_onu_master_response_code;
3923
3924/** ONU state.
3925 */
3926typedef enum bcmolt_epon_oam_onu_state
3927{
3928 BCMOLT_EPON_OAM_ONU_STATE_DISABLED = 0, /**< Disabled. */
3929 BCMOLT_EPON_OAM_ONU_STATE_ENABLED = 1 /**< Enabled. */
3930} bcmolt_epon_oam_onu_state;
3931
3932/** Mdi Crossover.
3933 */
3934typedef enum bcmolt_epon_oam_mdi_crossover
3935{
3936 BCMOLT_EPON_OAM_MDI_CROSSOVER_OAM_MDI_AUTO = 0, /**< OAM Mdi Auto. */
3937 BCMOLT_EPON_OAM_MDI_CROSSOVER_OAM_MDI = 1, /**< OAM Mdi. */
3938 BCMOLT_EPON_OAM_MDI_CROSSOVER_OAM_MDI_X = 2 /**< OAM Mdi X. */
3939} bcmolt_epon_oam_mdi_crossover;
3940
3941/** Sdm Stat.
3942 */
3943typedef enum bcmolt_epon_oam_sdm_stat
3944{
3945 BCMOLT_EPON_OAM_SDM_STAT_QUANTIZER = 0, /**< Quantizer. */
3946 BCMOLT_EPON_OAM_SDM_STAT_AMPLITUDE = 1, /**< Amplitude. */
3947 BCMOLT_EPON_OAM_SDM_STAT_PHASE = 2 /**< Phase. */
3948} bcmolt_epon_oam_sdm_stat;
3949
3950/** TLS Hash Algorithm.
3951 */
3952typedef enum bcmolt_epon_oam_tls_hash_algorithm
3953{
3954 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_NONE = 0, /**< None. */
3955 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_MD5 = 1, /**< MD5. */
3956 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_SHA1 = 2, /**< SHA1. */
3957 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_SHA224 = 3, /**< SHA224. */
3958 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_SHA256 = 4, /**< SHA256. */
3959 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_SHA384 = 5, /**< SHA384. */
3960 BCMOLT_EPON_OAM_TLS_HASH_ALGORITHM_SHA512 = 6 /**< SHA512. */
3961} bcmolt_epon_oam_tls_hash_algorithm;
3962
3963/** TLS Signature Algorithm.
3964 */
3965typedef enum bcmolt_epon_oam_tls_signature_algorithm
3966{
3967 BCMOLT_EPON_OAM_TLS_SIGNATURE_ALGORITHM_ANONYMOUS = 0, /**< Anonymous. */
3968 BCMOLT_EPON_OAM_TLS_SIGNATURE_ALGORITHM_RSA = 1, /**< RSA. */
3969 BCMOLT_EPON_OAM_TLS_SIGNATURE_ALGORITHM_DSA = 2, /**< DSA. */
3970 BCMOLT_EPON_OAM_TLS_SIGNATURE_ALGORITHM_ECDSA = 3 /**< ECDSA. */
3971} bcmolt_epon_oam_tls_signature_algorithm;
3972
3973/** Binary Entry CVID.
3974 */
3975typedef struct bcmolt_epon_oam_binary_entry_cvid
3976{
3977 uint16_t cvid; /**< CVID. */
3978} bcmolt_epon_oam_binary_entry_cvid;
3979
3980/** Binary Entry MAC.
3981 */
3982typedef struct bcmolt_epon_oam_binary_entry_mac
3983{
3984 uint16_t switching_domain; /**< Switching Domain. */
3985 bcmos_mac_address mac; /**< MAC. */
3986 uint8_t link_id; /**< Link Id. */
3987} bcmolt_epon_oam_binary_entry_mac;
3988
3989/** Binary Entry Programmable.
3990 */
3991typedef struct bcmolt_epon_oam_binary_entry_programmable
3992{
3993 uint32_t programmable_field0; /**< Programmable Field 0. */
3994 uint32_t programmable_field1; /**< Programmable Field 1. */
3995} bcmolt_epon_oam_binary_entry_programmable;
3996
3997/** Binary Entry SSM IP.
3998 */
3999typedef struct bcmolt_epon_oam_binary_entry_ssm_ip
4000{
4001 uint16_t switching_domain; /**< Switching Domain. */
4002 uint16_t ssm_source_id; /**< SSM Source ID. */
4003 bcmos_ipv4_address ipaddress; /**< IP Address. */
4004} bcmolt_epon_oam_binary_entry_ssm_ip;
4005
4006/** Binary Entry SVLAN + CVLAN.
4007 */
4008typedef struct bcmolt_epon_oam_binary_entry_svlan_plus_cvlan
4009{
4010 uint16_t svid; /**< SVID. */
4011 uint16_t cvid; /**< CVID. */
4012} bcmolt_epon_oam_binary_entry_svlan_plus_cvlan;
4013
4014/** Per-channel command option
4015 */
4016typedef struct bcmolt_epon_oam_brcm_channel_option
4017{
4018 uint8_t channel_id; /**< Channel index */
4019 bcmolt_epon_oam_brcm_cmc_request_option option_code; /**< Operation code */
4020} bcmolt_epon_oam_brcm_channel_option;
4021
4022/** Per-channel results
4023 */
4024typedef struct bcmolt_epon_oam_brcm_channel_result
4025{
4026 uint8_t channel_id; /**< Channel index */
4027 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Operation result code */
4028} bcmolt_epon_oam_brcm_channel_result;
4029
4030/** CMC Classifier configuration data format
4031 */
4032typedef struct bcmolt_epon_oam_brcm_cmc_classifier_config_data
4033{
4034 uint32_t svc_flow_id; /**< Service Flow ID */
4035 uint32_t classifier_id; /**< Classifier ID */
4036 uint8_t direction; /**< Classifier Direction (1 = Downstream, 2 = Upstream) */
4037 uint8_t state; /**< Classifier State (1 = Active, 2 = Inactive) */
4038 uint32_t priority; /**< Rule Priority (1..255) */
4039 uint8_t iptos_low; /**< Low value of IP ToS range */
4040 uint8_t iptos_high; /**< High value of IP ToS range */
4041 uint8_t iptos_mask; /**< IP ToS Mask value */
4042 uint32_t ipproto; /**< IP Protocol value */
4043 uint8_t ipaddr_type; /**< IP Address Type (0 = Unknown, 1 = IPv4, 2 = IPv6, 3 = IPv4z, 4 = IPv6z, 16 = DNS) */
4044 uint8_t ipsrc_addr_length; /**< Length of IP Source Address field */
4045 uint8_t *ipsrc_addr; /**< IP Source Address */
4046 uint8_t ipsrc_mask_length; /**< Length of IP Source Mask field */
4047 uint8_t *ipsrc_mask; /**< IP Source Mask */
4048 uint8_t ipdst_addr_length; /**< Length of IP Destination Address field */
4049 uint8_t *ipdst_addr; /**< IP Destination Address */
4050 uint8_t ipdst_mask_length; /**< Length of IP Destination Mask field */
4051 uint8_t *ipdst_mask; /**< IP Destination Mask */
4052 uint32_t src_port_start; /**< TCP/UDP Source Port range start */
4053 uint32_t src_port_end; /**< TCP/UDP Source Port range end */
4054 uint32_t dst_port_start; /**< TCP/UDP Destination Port range start */
4055 uint32_t dst_port_end; /**< TCP/UDP Destination Port range end */
4056 bcmos_mac_address dst_mac_addr; /**< Destination MAC Address */
4057 bcmos_mac_address dst_mac_mask; /**< Destination MAC Mask */
4058 bcmos_mac_address src_mac_addr; /**< Source MAC Address */
4059 uint8_t l2proto_type; /**< Type of L2 Protocol to classify on (0 = None, 1 = Ethertype, 2 = DSAP, 3 = MAC, 4 = All) */
4060 uint32_t l2proto_value; /**< L2 Protocol Value */
4061 uint32_t user_priority_low; /**< 802.1q COS range, low value */
4062 uint32_t user_priority_high; /**< 802.1q COS range, high value */
4063 uint32_t vlan_id; /**< 802.1q VLAN ID */
4064 uint24_t bitmap; /**< Bitmap indicating explicitly configured fields */
4065 uint32_t flow_label; /**< IPv6 Flow Label */
4066 uint32_t cmim; /**< Cable Modem Interface Mask */
4067 uint64_t pkt_matches; /**< Count of packets matching this classifier */
4068} bcmolt_epon_oam_brcm_cmc_classifier_config_data;
4069
4070/** CMC Interface Response format
4071 */
4072typedef struct bcmolt_epon_oam_brcm_cmc_interface_data
4073{
4074 uint16_t intf_index; /**< Unique interface index within CMC */
4075 uint8_t intf_description_length; /**< Length of Interface Description field */
4076 uint8_t *intf_description; /**< Interface Description */
4077 bcmolt_epon_oam_brcm_cmc_intf_type intf_type; /**< Interface Type */
4078 uint8_t intf_phy_addr_length; /**< Length of Interface Physical Address field */
4079 uint8_t *intf_phy_addr; /**< Interface Physical Address field */
4080 uint8_t intf_alias_name_length; /**< Length of Interface Alias Name */
4081 uint8_t *intf_alias_name; /**< Interface Alias Name */
4082} bcmolt_epon_oam_brcm_cmc_interface_data;
4083
4084/** CMC interface statistics data format
4085 */
4086typedef struct bcmolt_epon_oam_brcm_cmc_intf_stats_data
4087{
4088 uint16_t if_index; /**< ifIndex of network interface */
4089 uint16_t if_mtu; /**< ifMtu of network interface */
4090 uint32_t if_speed; /**< ifSpeed of network interface (in Mbps) */
4091 bcmolt_epon_oam_brcm_cmc_interface_status if_admin_status; /**< ifAdminStatus of network interface */
4092 bcmolt_epon_oam_brcm_cmc_interface_status if_oper_status; /**< ifOperStatus of network interface */
4093 uint32_t if_last_change; /**< ifLastChange of network interface */
4094 uint64_t if_hcin_octets; /**< Count of US Bytes Received */
4095 uint64_t if_hcin_ucast_pkts; /**< Count of US Unicast Pkts Received */
4096 uint64_t if_hcin_multicast_pkts; /**< Count of US Multicast Pkts Received */
4097 uint64_t if_hcin_broadcast_pkts; /**< Count of US Broadcast Pkts Received */
4098 uint32_t if_in_discards; /**< Count of US Pkts Discarded */
4099 uint32_t if_in_errors; /**< Count of US Pkts Received with Errors */
4100 uint32_t if_in_unknown_protos; /**< Count of US Pkts Received of Unknown Protocol Type */
4101 uint64_t if_hcout_octets; /**< Count of DS Bytes Transmitted */
4102 uint64_t if_hcout_ucast_pkts; /**< Count of DS Unicast Pkts Transmitted */
4103 uint64_t if_hcout_multicast_pkts; /**< Count of DS Multicast Pkts Transmitted */
4104 uint64_t if_hcout_broadcast_pkts; /**< Count of DS Broadcast Pkts Transmitted */
4105 uint32_t if_out_discards; /**< Count of DS Pkts Discarded */
4106 uint32_t if_out_errors; /**< Count of DS Pkts not transmitted due to Errors */
4107 uint8_t if_link_up_down_trap_enable; /**< Whether link up/down traps should be generated */
4108 uint8_t if_promiscuous_mode; /**< Whether interface is in promiscuous mode or not */
4109 uint8_t if_connector_present; /**< Whether physical connector exists on interface */
4110 uint32_t if_counter_discontinuity_time; /**< Time when any counter suffered a discontinuity */
4111} bcmolt_epon_oam_brcm_cmc_intf_stats_data;
4112
4113/** CMC Service Flow configuration data format
4114 */
4115typedef struct bcmolt_epon_oam_brcm_cmc_sf_config_data
4116{
4117 uint32_t svc_flow_id; /**< Service Flow ID */
4118 uint16_t sid; /**< Service Identifier (SID) */
4119 uint8_t direction; /**< Flow Direction (1 = Downstream, 2 = Upstream) */
4120 uint8_t flow_type; /**< Flow Type (1 = Primary, 2 = Secondary) */
4121 uint8_t qos_type; /**< Qos Set Type (0 = Active, 1 = Admitted, 2 = Provisioned) */
4122 uint32_t channel_set_id; /**< Channel set associated with the Service Flow */
4123 uint24_t dsid; /**< DSID associated with the Service Flow */
4124 uint8_t max_requests_per_sid_cluster; /**< Max requests before SID cluster must switch */
4125 uint32_t max_bytes_per_sid_cluster; /**< Max bytes that can be outstanding for SID cluster */
4126 uint32_t total_bytes_per_sid_cluster; /**< Total bytes that can be requested for SID cluster */
4127 uint16_t max_time_per_sid_cluster; /**< Max time (in msec) that can be used for SID cluster */
4128 uint8_t service_class_length; /**< Length of Service Class Name */
4129 uint8_t *service_class; /**< Service Class Name */
4130 uint8_t priority; /**< Traffic Priority (0..7) */
4131 uint8_t reseq_dsid_support; /**< DSID Support (1 = True, 2 = False, 3 = N/A) */
4132 uint32_t max_rate; /**< Maximum Sustained Traffic Rate in bps */
4133 uint32_t max_burst; /**< Maximum Traffic Burst in bytes */
4134 uint32_t min_rate; /**< Minimum Guaranteed Rate in bps */
4135 uint16_t min_pkt_size; /**< Assumed Minimum Packet size in bytes */
4136 uint16_t active_timeout; /**< Active Parameter Set timeout in seconds */
4137 uint16_t admitted_timeout; /**< Admitted Parameter Set timeout in seconds */
4138 uint16_t max_concat_burst; /**< Maximum Concatenated Burst in bytes */
4139 uint8_t scheduling_type; /**< Upstream Scheduling Type */
4140 uint32_t nom_poll_intvl; /**< Nominal Polling Interval in usec */
4141 uint32_t tol_poll_jitter; /**< Tolerated Poll Jitter in usec */
4142 uint16_t unsol_grant_size; /**< Unsolicited Grant Size in bytes */
4143 uint32_t nom_grant_intvl; /**< Nominal Grant Interval in usec */
4144 uint32_t tol_grant_jitter; /**< Tolerated Grant Jitter in usec */
4145 uint8_t tos_and_mask_length; /**< Length of ToS AND Mask */
4146 uint8_t *tos_and_mask; /**< ToS AND Mask */
4147 uint8_t tos_or_mask_length; /**< Length of ToS OR Mask */
4148 uint8_t *tos_or_mask; /**< ToS OR Mask */
4149 uint32_t max_latency; /**< Maximum Latency in usec */
4150 uint8_t req_trans_policy_length; /**< Length of Request/Transmission Policy */
4151 uint8_t *req_trans_policy; /**< Request/Transmission Policy */
4152 uint32_t bitmap; /**< Bitmap indicating explicitly configured fields */
4153 uint32_t reqd_attrib_mask; /**< Required attribute mask */
4154 uint32_t forbid_attrib_mask; /**< Forbidden attribute mask */
4155 uint32_t attrib_aggr_mask; /**< Attribute aggregation mask */
4156 uint8_t attrib_mask_success; /**< Indicates if channel adheres to masks (1 = True, 2 = False) */
4157 uint8_t application_idlength; /**< Length of Application Identifier */
4158 uint8_t *application_id; /**< Application Identifier */
4159 uint8_t cont_req_window_multi; /**< Multiplier for data contention request backoff */
4160 uint8_t bw_req_multi; /**< Multiplier for bandwidth request */
4161 uint32_t peak_rate; /**< Peak Traffic Rate in bps */
4162 uint32_t create_time; /**< Timestamp in ticks when Service Flow was created */
4163} bcmolt_epon_oam_brcm_cmc_sf_config_data;
4164
4165/** CNU Service Flow statistics data format
4166 */
4167typedef struct bcmolt_epon_oam_brcm_cmc_sf_stats_data
4168{
4169 uint32_t svc_flow_id; /**< Service Flow ID */
4170 uint64_t total_pkt_count; /**< Total Data Pkts Rx/Tx */
4171 uint64_t total_byte_count; /**< Count of all post-HCS bytes Rx/Tx */
4172 uint32_t active_time; /**< Time that flow's been active, in seconds */
4173 uint32_t invalid_phs_count; /**< Pkts Rx with invalid PHSI (upstream only) */
4174 uint32_t pkts_dropped; /**< Count of DS Pkts dropped */
4175 uint32_t pkts_delayed; /**< Count of DS Pkts delayed due to Rate Limiting */
4176} bcmolt_epon_oam_brcm_cmc_sf_stats_data;
4177
4178/** CNU MAC Address Range
4179 */
4180typedef struct bcmolt_epon_oam_brcm_cnu_mac_addr_range
4181{
4182 bcmos_mac_address cnu_mac_address_start; /**< Start of CNU Mac Address Range */
4183 bcmos_mac_address cnu_mac_address_end; /**< End of CNU Mac Address Range */
4184} bcmolt_epon_oam_brcm_cnu_mac_addr_range;
4185
4186/** CNU US Chan data format
4187 */
4188typedef struct bcmolt_epon_oam_brcm_cnu_us_chan_data
4189{
4190 uint8_t channel_id; /**< CNU's 1st Upstream Channel ID */
4191 uint16_t power_level; /**< Power Level in 1/10th dBmV */
4192 uint32_t high_res_timing_offset; /**< CNU timing offset in (6.25 usec / (64 * 256)) */
4193 uint8_t equalization_data_length; /**< Length of Equalization Data Field */
4194 uint8_t *equalization_data; /**< Equalization Data */
4195 uint64_t unerroreds; /**< Number of unerrored codewords */
4196 uint64_t correcteds; /**< Number of corrected codewords */
4197 uint64_t uncorrectables; /**< Number of uncorrectable codewords */
4198 uint32_t snr; /**< Signal to Noise Ratio in units of 1/10 dB */
4199 uint8_t micro_reflections; /**< Measured microreflections in units of dBc */
4200} bcmolt_epon_oam_brcm_cnu_us_chan_data;
4201
4202/** CNU Status Response format
4203 */
4204typedef struct bcmolt_epon_oam_brcm_cnu_status_data
4205{
4206 uint32_t idx; /**< Unique CNU index within CMC */
4207 bcmos_mac_address mac_address; /**< MAC Address of CNU */
4208 uint8_t uschan_count; /**< Number of CNUs active US Chans */
4209 bcmolt_epon_oam_brcm_cnu_us_chan_data *uschan_data; /**< CNU Per-US channel data */
4210 bcmolt_epon_oam_brcm_cnu_connectivity_state connectivity_state; /**< Connectivity State */
4211 bcmolt_epon_oam_brcm_cnu_docsis_version docsis_version; /**< Version of DOCSIS that CNU is operating in */
4212 bcmolt_epon_oam_brcm_cnu_ipaddr_type ipaddr_type; /**< Type of IP Addr */
4213 uint8_t ipaddr_length; /**< Length of IP Addr value field */
4214 uint8_t *ipaddr_value; /**< IPv4 or IPv6 Address */
4215 uint32_t timestamp; /**< Value of sysUptime when last updated */
4216 uint8_t sflow_count; /**< Number of Service Flows on CNU */
4217 uint32_t *sflow_id; /**< List of Service Flow IDs */
4218 uint8_t link_local_addr_length; /**< Length of Link Local Address */
4219 uint8_t *link_local_addr; /**< Link Local Address */
4220 uint16_t mac_domain_index; /**< CMC MAC index where CNU is registered */
4221 uint32_t service_group_id; /**< CMC MAC Domain Service Group Id */
4222 uint8_t rcp_idlength; /**< Length of RCP-ID */
4223 uint8_t *rcp_id; /**< RCP-ID Value */
4224 uint32_t rcc_id; /**< RCC-ID */
4225 uint32_t rcs_id; /**< RCS-ID */
4226 uint32_t tcs_id; /**< TCS-ID */
4227 uint32_t last_register_time; /**< Timestamp when CNU last registered */
4228 uint32_t addr_resolve_requests; /**< Number of requests received relating to IP resolution for CNU */
4229} bcmolt_epon_oam_brcm_cnu_status_data;
4230
4231/** Per-downstream channel properties
4232 */
4233typedef struct bcmolt_epon_oam_brcm_downstream_channel_properties
4234{
4235 uint8_t channel_id; /**< Downstream channel index */
4236 bcmos_bool is_enabled; /**< Whether or not the channel is enabled */
4237 uint32_t center_frequency; /**< Center frequency in Hz */
4238 bcmolt_epon_oam_brcm_cmc_modulation modulation; /**< Channel modulation type */
4239 bcmolt_epon_oam_brcm_cmc_annex annex; /**< Channel annex type */
4240 bcmolt_epon_oam_brcm_cmc_interleaver interleaver; /**< Channel interleaver depth value */
4241 uint16_t power_level; /**< Power level for channel in tenths dBmV */
4242 uint16_t interface_index; /**< Interface index on a get / reserved on a set */
4243} bcmolt_epon_oam_brcm_downstream_channel_properties;
4244
4245/** Per-upstream channel properties
4246 */
4247typedef struct bcmolt_epon_oam_brcm_upstream_channel_properties
4248{
4249 uint8_t channel_id; /**< Upstream channel index */
4250 bcmos_bool is_enabled; /**< Whether or not the channel is enabled */
4251 uint32_t center_frequency; /**< Center frequency in Hz */
4252 uint32_t channel_width; /**< Width of channel in Hz */
4253 bcmolt_epon_oam_brcm_cmc_us_profile_type channel_profile_type; /**< Channel profile type */
4254 bcmos_bool is_sac2sinc2enabled; /**< Whether or not Sac2Sinc2 mode is enabled */
4255 uint32_t minislot_size; /**< Channel Minislot Size in 6.25 usec tick units */
4256 uint32_t transmit_timing_offset; /**< Timing offset in 1/64th of 6.25 usec tick units */
4257 uint8_t initial_ranging_backoff; /**< Ranging Backoff Window Start */
4258 uint8_t final_ranging_backoff; /**< Ranging Backoff Window End */
4259 uint8_t initial_data_backoff; /**< Data Backoff Window Start */
4260 uint8_t final_data_backoff; /**< Data Backoff Window End */
4261 uint8_t active_scdma_codes; /**< Active SCDMA Codes */
4262 uint8_t codes_per_slot; /**< SCDMA Codes per Minislot */
4263 uint8_t scdma_frame_size; /**< SCDMA Frame Size in units of spreading intervals */
4264 uint16_t hopping_seed; /**< SCDMA Code Hopping Seed */
4265 bcmolt_epon_oam_brcm_cmc_us_modulation_type modulation_type; /**< Channel modulation type */
4266 uint8_t pre_equalization_setting; /**< Pre-Equalization Setting (1-on, 2-off) */
4267 uint16_t interface_index; /**< Interface index on a get / reserved on a set */
4268} bcmolt_epon_oam_brcm_upstream_channel_properties;
4269
4270/** Per-upstream channel signal quality info
4271 */
4272typedef struct bcmolt_epon_oam_brcm_upstream_signal_quality
4273{
4274 uint16_t interface_index; /**< Upstream channel ifIndex */
4275 uint8_t contention_intervals; /**< Are contention intervals included in counts (1=yes, 2=no) */
4276 uint64_t unerroreds; /**< Number of unerrored codewords */
4277 uint64_t correcteds; /**< Number of corrected codewords */
4278 uint64_t uncorrectables; /**< Number of uncorrectable codewords */
4279 uint32_t snr; /**< Signal to Noise Ratio in units of 1/10 dB */
4280 uint8_t micro_reflections; /**< Measured microreflections in units of dBc */
4281} bcmolt_epon_oam_brcm_upstream_signal_quality;
4282
4283/** Per-upstream channel power
4284 */
4285typedef struct bcmolt_epon_oam_brcm_upstream_channel_power
4286{
4287 uint8_t channel_id; /**< Upstream channel index */
4288 uint16_t input_power_level; /**< Input Power Level (in tenths dB) */
4289} bcmolt_epon_oam_brcm_upstream_channel_power;
4290
4291/** CMC OAM PDU base structure
4292 */
4293typedef struct bcmolt_epon_oam_brcm_oam_pdu_base
4294{
4295 uint8_t version; /**< Version number */
4296 uint16_t packet_id; /**< A unique identifier for the specific BRCM OAM transaction. */
4297 bcmolt_epon_oam_brcm_oam_pdu_opcode opcode; /**< The actual command\function being referenced by the OAM message */
4298 union
4299 {
4300 struct
4301 {
4302 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4303 bcmolt_epon_oam_brcm_downstream_channel_properties *downstream_channels; /**< Per downstream channel properties */
4304 } set_downstream_config_request;
4305
4306 struct
4307 {
4308 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4309 bcmolt_epon_oam_brcm_channel_result *downstream_channels; /**< Per downstream channel results */
4310 } set_downstream_config_response;
4311
4312 struct
4313 {
4314 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4315 uint8_t *downstream_channels; /**< Per downstream channel IDs to get */
4316 } get_downstream_config_request;
4317
4318 struct
4319 {
4320 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4321 bcmolt_epon_oam_brcm_downstream_channel_properties *downstream_channels; /**< Per downstream channel results */
4322 } get_downstream_config_response;
4323
4324 struct
4325 {
4326 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4327 bcmolt_epon_oam_brcm_upstream_channel_properties *upstream_channels; /**< Per upstream channel properties */
4328 } set_upstream_config_request;
4329
4330 struct
4331 {
4332 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4333 bcmolt_epon_oam_brcm_channel_result *upstream_channels; /**< Per upstream channel results */
4334 } set_upstream_config_response;
4335
4336 struct
4337 {
4338 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4339 uint8_t *upstream_channels; /**< Per upstream channel IDs to get */
4340 } get_upstream_config_request;
4341
4342 struct
4343 {
4344 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4345 bcmolt_epon_oam_brcm_upstream_channel_properties *upstream_channels; /**< Per upstream channel results */
4346 } get_upstream_config_response;
4347
4348 struct
4349 {
4350 uint8_t group_id; /**< Group Identifier */
4351 bcmolt_epon_oam_brcm_cmc_load_balance_method method; /**< Load Balancing Method */
4352 bcmolt_epon_oam_brcm_cmc_request_option request_option; /**< Request Option */
4353 } set_create_load_balancing_group_request;
4354
4355 struct
4356 {
4357 uint8_t group_id; /**< Group Identifier */
4358 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Result Code */
4359 } set_create_load_balancing_group_response;
4360
4361 struct
4362 {
4363 uint8_t group_id; /**< Group ID. */
4364 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4365 bcmolt_epon_oam_brcm_channel_option *downstream_channels; /**< Per downstream channel options */
4366 } set_add_downstreams_to_load_balancing_group_request;
4367
4368 struct
4369 {
4370 uint8_t group_id; /**< Group ID. */
4371 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4372 bcmolt_epon_oam_brcm_channel_result *downstream_channels; /**< Per downstream channel results */
4373 } set_add_downstreams_to_load_balancing_group_response;
4374
4375 struct
4376 {
4377 uint8_t group_id; /**< Group ID. */
4378 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4379 bcmolt_epon_oam_brcm_channel_option *upstream_channels; /**< Per upstream channel options */
4380 } set_add_upstreams_to_load_balancing_group_request;
4381
4382 struct
4383 {
4384 uint8_t group_id; /**< Group ID. */
4385 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4386 bcmolt_epon_oam_brcm_channel_result *upstream_channels; /**< Per upstream channel results */
4387 } set_add_upstreams_to_load_balancing_group_response;
4388
4389 struct
4390 {
4391 uint8_t upstream_interfaces_count; /**< Number of elements in Upstream Interfaces */
4392 uint16_t *upstream_interfaces; /**< Per upstream ifIndices to get */
4393 } get_signal_quality_request;
4394
4395 struct
4396 {
4397 uint8_t upstream_interfaces_count; /**< Number of elements in Upstream Interfaces */
4398 bcmolt_epon_oam_brcm_upstream_signal_quality *upstream_interfaces; /**< Per upstream ifIndices to get */
4399 } get_signal_quality_response;
4400
4401 struct
4402 {
4403 uint16_t cnu_count; /**< Number of CNUs to retrieve status from */
4404 bcmos_mac_address *cnu_mac_address; /**< List of CNU MAC Addresses */
4405 } get_cnu_status_request;
4406
4407 struct
4408 {
4409 uint16_t cnu_count; /**< Number of CNUs with info in the response */
4410 bcmolt_epon_oam_brcm_cnu_status_data *cnu_status_data; /**< List of CNU Status Data structures */
4411 } get_cnu_status_response;
4412
4413 struct
4414 {
4415 uint8_t svc_flow_idcount; /**< Number of Service Flow IDs in request */
4416 uint16_t *svc_flow_ids; /**< Service Flow ID List */
4417 } get_qos_service_flow_statistics_request;
4418
4419 struct
4420 {
4421 uint8_t svc_flow_idcount; /**< Number of Service Flows in response */
4422 bcmolt_epon_oam_brcm_cmc_sf_stats_data *svc_flow_data; /**< Service Flow data list */
4423 } get_qos_service_flow_statistics_response;
4424
4425 struct
4426 {
4427 uint16_t intf_count; /**< Number of CMC Interfaces with info in the response */
4428 uint32_t timestamp; /**< Timestamp when interfaces table was last modified */
4429 bcmolt_epon_oam_brcm_cmc_interface_data *cmc_interface_data; /**< List of CMC Interface Data structures */
4430 } get_cmc_interfaces_response;
4431
4432 struct
4433 {
4434 uint16_t interface_index; /**< MAC Domain ifIndex */
4435 uint32_t invalid_rng_reqs; /**< Count of invalid range requests received */
4436 uint32_t rng_aborts; /**< Count of ranging attempts aborted */
4437 uint32_t invalid_reg_reqs; /**< Count of invalid REG-REQ messages received */
4438 uint32_t failed_reg_reqs; /**< Count of failed registration attempts */
4439 uint32_t invalid_data_reqs; /**< Count of invalid data request messages received */
4440 uint32_t t5timeouts; /**< Count of T5 Timer expirations */
4441 } get_cmc_mac_statistics_response;
4442
4443 struct
4444 {
4445 uint8_t intf_count; /**< Number of CMC interfaces to retrieve status from */
4446 uint16_t *intf_index; /**< List of CMC interface ifIndices */
4447 } get_cmc_interfaces_statistics_request;
4448
4449 struct
4450 {
4451 uint8_t interfaces_count; /**< Number of elements in Network Interfaces */
4452 bcmolt_epon_oam_brcm_cmc_intf_stats_data *network_interfaces; /**< Per network interface stats data */
4453 } get_cmc_interfaces_statistics_response;
4454
4455 struct
4456 {
4457 uint8_t svc_flow_idcount; /**< Number of Service Flow IDs in request */
4458 uint16_t *svc_flow_ids; /**< Service Flow ID List */
4459 } get_qos_service_flow_config_request;
4460
4461 struct
4462 {
4463 uint8_t svc_flow_count; /**< Number of Service Flows in response */
4464 bcmolt_epon_oam_brcm_cmc_sf_config_data *svc_flow_data; /**< Service Flow confiiguration data list */
4465 } get_qos_service_flow_config_response;
4466
4467 struct
4468 {
4469 uint8_t svc_flow_idcount; /**< Number of Service Flow IDs in request */
4470 uint16_t *svc_flow_ids; /**< Service Flow ID List */
4471 } get_qos_packet_classifier_config_request;
4472
4473 struct
4474 {
4475 uint8_t classifier_count; /**< Number of Service Flow/Classifier pairs in response */
4476 bcmolt_epon_oam_brcm_cmc_classifier_config_data *classifier_data; /**< Service Flow/Classifier pair data list */
4477 } get_qos_packet_classifier_config_response;
4478
4479 struct
4480 {
4481 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4482 uint8_t *upstream_channels; /**< Per upstream channel IDs to get */
4483 } get_upstream_input_power_request;
4484
4485 struct
4486 {
4487 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4488 bcmolt_epon_oam_brcm_upstream_channel_power *upstream_channels; /**< Per upstream channel results */
4489 } get_upstream_input_power_response;
4490
4491 struct
4492 {
4493 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4494 bcmolt_epon_oam_brcm_upstream_channel_power *upstream_channels; /**< Per upstream channel results */
4495 } set_upstream_input_power_request;
4496
4497 struct
4498 {
4499 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Result of operation */
4500 uint16_t channel_one_power; /**< Input power level for US Channel 1 */
4501 uint16_t channel_two_power; /**< Input power level for US Channel 2 */
4502 uint16_t channel_three_power; /**< Input power level for US Channel 3 */
4503 uint16_t channel_four_power; /**< Input power level for US Channel 4 */
4504 } set_upstream_input_power_response;
4505
4506 struct
4507 {
4508 uint8_t group_id; /**< Group Identifier */
4509 bcmolt_epon_oam_brcm_cmc_request_option request_option; /**< Request Option */
4510 bcmolt_epon_oam_brcm_cnu_mac_addr_range cnu_mac_range; /**< CNU Mac Address Range */
4511 } set_add_cnus_to_load_balancing_group_request;
4512
4513 struct
4514 {
4515 uint8_t group_id; /**< Group Identifier */
4516 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Result Code */
4517 } set_add_cnus_to_load_balancing_group_response;
4518
4519 struct
4520 {
4521 bcmolt_epon_oam_brcm_cmc_request_option request_option; /**< Request Option */
4522 bcmos_mac_address cnu_mac_address_start; /**< Start of CNU Mac Address Range */
4523 bcmos_mac_address cnu_mac_address_end; /**< End of CNU Mac Address Range */
4524 } set_exclude_cnus_from_load_balancing_request;
4525
4526 struct
4527 {
4528 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Result Code */
4529 } set_exclude_cnus_from_load_balancing_response;
4530
4531 struct
4532 {
4533 uint8_t group_id; /**< Group Identifier */
4534 bcmolt_epon_oam_brcm_cmc_load_balance_method method; /**< Load Balancing Method */
4535 uint8_t downstream_channels_count; /**< Number of elements in Downstream Channels */
4536 uint8_t *downstream_channels; /**< List of Downstream Channel IDs */
4537 uint8_t upstream_channels_count; /**< Number of elements in Upstream Channels */
4538 uint8_t *upstream_channels; /**< List of Upstream Channel IDs */
4539 uint8_t restrictions_count; /**< Number of elements in Restrictions */
4540 bcmolt_epon_oam_brcm_cnu_mac_addr_range *restrictions; /**< List of Restriction ranges */
4541 } set_full_load_balancing_group_request;
4542
4543 struct
4544 {
4545 uint8_t group_id; /**< Group Identifier */
4546 bcmolt_epon_oam_brcm_cmc_result_code result_code; /**< Result Code */
4547 } set_full_load_balancing_group_response;
4548 } u;
4549} bcmolt_epon_oam_brcm_oam_pdu_base;
4550
4551/** Certificate.
4552 */
4553typedef struct bcmolt_epon_oam_certificate
4554{
4555 uint24_t size; /**< Size. */
4556 uint8_t *certificate_data; /**< Certificate Data. */
4557} bcmolt_epon_oam_certificate;
4558
4559/** CTC Action Value.
4560 */
4561typedef struct bcmolt_epon_oam_ctc_action_value
4562{
4563 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
4564 union
4565 {
4566 struct
4567 {
4568 uint8_t width; /**< Width. */
4569 bcmolt_epon_oam_ctc_enabled_state state; /**< State. */
4570 } phy_admin_control;
4571
4572 struct
4573 {
4574 uint8_t width; /**< Width. */
4575 bcmolt_epon_oam_ctc_enabled_state state; /**< State. */
4576 } auto_admin_control;
4577 } u;
4578} bcmolt_epon_oam_ctc_action_value;
4579
4580/** Ctc Alarm Entry.
4581 */
4582typedef struct bcmolt_epon_oam_ctc_alarm_entry
4583{
4584 bcmolt_epon_oam_ctc_leaf_management_object object_type; /**< Object Type. */
4585 uint32_t object_instance; /**< Object Instance. */
4586 bcmolt_epon_oam_ctc_onu_alarm_id alarm_id; /**< Alarm ID. */
4587 union
4588 {
4589 struct
4590 {
4591 uint16_t time_stamp; /**< Time Stamp. */
4592 uint8_t state; /**< 0x00 : Reporting Alarm */
4593 } def;
4594
4595 struct
4596 {
4597 uint16_t time_stamp; /**< Time Stamp. */
4598 uint8_t state; /**< 0x00 : Reporting Alarm */
4599 bcmolt_epon_oam_ctc_power_alarm_code alarm_code; /**< Alarm Code. */
4600 } onu_power_alarm;
4601
4602 struct
4603 {
4604 uint16_t time_stamp; /**< Time Stamp. */
4605 uint8_t state; /**< 0x00 : Reporting Alarm */
4606 bcmolt_epon_oam_ctc_pon_if_switch_code alarm_code; /**< Alarm Code. */
4607 } onu_pon_if_switch;
4608 } u;
4609} bcmolt_epon_oam_ctc_alarm_entry;
4610
4611/** CTC Attribute Value Base.
4612 */
4613typedef struct bcmolt_epon_oam_ctc_attribute_value_base
4614{
4615 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
4616 uint8_t width; /**< Width. */
4617 union
4618 {
4619 struct
4620 {
4621 bcmolt_epon_oam_ctc_enabled_state state; /**< State. */
4622 } phy_admin_state;
4623
4624 struct
4625 {
4626 bcmolt_epon_oam_ctc_enabled_state state; /**< State. */
4627 } auto_neg_admin_state;
4628
4629 struct
4630 {
4631 uint32_t technologies_count; /**< Number of elements in Technologies */
4632 uint32_t *technologies; /**< Auto-negotiation technology bitmaps (IEEE 802.3-2005 clause 40) */
4633 } auto_neg_local_tech_ability;
4634
4635 struct
4636 {
4637 uint32_t technologies_count; /**< Number of elements in Technologies */
4638 uint32_t *technologies; /**< Auto-negotiation technology bitmaps (IEEE 802.3-2005 clause 40) */
4639 } auto_neg_advertised_tech_ability;
4640
4641 struct
4642 {
4643 bcmolt_epon_oam_ctc_fec_support support; /**< Support. */
4644 } fec_ability;
4645
4646 struct
4647 {
4648 bcmolt_epon_oam_ctc_fec_state state; /**< State. */
4649 } fec_mode;
4650 } u;
4651} bcmolt_epon_oam_ctc_attribute_value_base;
4652
4653/** CTC Churning Prov Base.
4654 */
4655typedef struct bcmolt_epon_oam_ctc_churning_prov_base
4656{
4657 bcmolt_epon_oam_ctc_churning_op_code code; /**< Code. */
4658 union
4659 {
4660 struct
4661 {
4662 uint8_t in_use_key_index; /**< In-Use Key Index. */
4663 } new_key_request;
4664
4665 struct
4666 {
4667 uint8_t new_key_index; /**< New Key Index. */
4668 uint8_t churning_key0[3]; /**< 3-byte churning key 0. For 1G, this is the only key. For 10G, this is the first of 3 3-byte keys. */
4669 uint8_t churning_key1[3]; /**< 3-byte churning key 1. Only present in 10G. */
4670 uint8_t churning_key2[3]; /**< 3-byte churning key 2. Only present in 10G. */
4671 } new_churning_key;
4672 } u;
4673} bcmolt_epon_oam_ctc_churning_prov_base;
4674
4675/** CTC Commit Image Base.
4676 */
4677typedef struct bcmolt_epon_oam_ctc_commit_image_base
4678{
4679 bcmolt_epon_oam_ctc_commit_image_opcode opcode; /**< Opcode. */
4680 union
4681 {
4682 struct
4683 {
4684 bcmolt_epon_oam_ctc_commit_image_flag flag; /**< Flag. */
4685 } commit_image_request;
4686
4687 struct
4688 {
4689 bcmolt_epon_oam_ctc_commit_image_ack ack; /**< Ack. */
4690 } commit_image_response;
4691 } u;
4692} bcmolt_epon_oam_ctc_commit_image_base;
4693
4694/** CTC DBA reporting queue set.
4695 */
4696typedef struct bcmolt_epon_oam_ctc_dba_queue_set
4697{
4698 uint8_t report_bitmap; /**< Bitmap of which queues are present in the queue set. */
4699 uint16_t queue0; /**< Queue 0. */
4700 uint16_t queue1; /**< Queue 1. */
4701 uint16_t queue2; /**< Queue 2. */
4702 uint16_t queue3; /**< Queue 3. */
4703 uint16_t queue4; /**< Queue 4. */
4704 uint16_t queue5; /**< Queue 5. */
4705 uint16_t queue6; /**< Queue 6. */
4706 uint16_t queue7; /**< Queue 7. */
4707} bcmolt_epon_oam_ctc_dba_queue_set;
4708
4709/** CTC Dba Prov Base.
4710 */
4711typedef struct bcmolt_epon_oam_ctc_dba_prov_base
4712{
4713 bcmolt_epon_oam_ctc_dba_op_code dba_code; /**< DBA Code. */
4714 union
4715 {
4716 struct
4717 {
4718 uint8_t queue_sets_count; /**< Queue Sets Count. */
4719 bcmolt_epon_oam_ctc_dba_queue_set *queue_sets; /**< Queue Sets. */
4720 } get_response;
4721
4722 struct
4723 {
4724 uint8_t queue_sets_count; /**< Queue Sets Count. */
4725 bcmolt_epon_oam_ctc_dba_queue_set *queue_sets; /**< Queue Sets. */
4726 } set_request;
4727
4728 struct
4729 {
4730 uint8_t queue_sets_count; /**< Queue Sets Count. */
4731 bcmolt_epon_oam_ctc_dba_queue_set *queue_sets; /**< Queue Sets. */
4732 } set_response;
4733 } u;
4734} bcmolt_epon_oam_ctc_dba_prov_base;
4735
4736/** CTC Old Management Object Base.
4737 */
4738typedef struct bcmolt_epon_oam_ctc_old_management_object_base
4739{
4740 bcmolt_epon_oam_ctc_leaf_old_management_object leaf; /**< Leaf. */
4741 uint8_t length; /**< Length. */
4742 union
4743 {
4744 struct
4745 {
4746 uint8_t port; /**< Port. */
4747 } port;
4748 } u;
4749} bcmolt_epon_oam_ctc_old_management_object_base;
4750
4751/** CTC Management Object Base.
4752 */
4753typedef struct bcmolt_epon_oam_ctc_management_object_base
4754{
4755 bcmolt_epon_oam_ctc_leaf_management_object leaf; /**< Leaf. */
4756 uint8_t length; /**< Length. */
4757 union
4758 {
4759 struct
4760 {
4761 bcmolt_epon_oam_ctc_port_type port_type; /**< Port Type. */
4762 uint8_t cascade_slot_number; /**< Cascade / Slot Number. */
4763 uint16_t port_number; /**< Port Number. */
4764 } port;
4765
4766 struct
4767 {
4768 uint32_t card; /**< Card. */
4769 } card;
4770
4771 struct
4772 {
4773 uint32_t llid; /**< LLID. */
4774 } llid;
4775
4776 struct
4777 {
4778 uint32_t pon_if; /**< PON I/F. */
4779 } pon_if;
4780 } u;
4781} bcmolt_epon_oam_ctc_management_object_base;
4782
4783/** CTC Empty Var Container Base.
4784 */
4785typedef struct bcmolt_epon_oam_ctc_empty_var_container_base
4786{
4787 bcmolt_epon_oam_ctc_branch branch; /**< Branch. */
4788 union
4789 {
4790 struct
4791 {
4792 uint16_t leaf; /**< Leaf. */
4793 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4794 } def;
4795
4796 struct
4797 {
4798 uint32_t unknown_count; /**< Number of elements in unknown. */
4799 uint8_t *unknown; /**< Unknown. */
4800 } end;
4801
4802 struct
4803 {
4804 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
4805 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4806 } attribute;
4807
4808 struct
4809 {
4810 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
4811 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4812 } action;
4813
4814 struct
4815 {
4816 bcmolt_epon_oam_ctc_old_management_object_base object; /**< Object. */
4817 } old_management_object;
4818
4819 struct
4820 {
4821 bcmolt_epon_oam_ctc_management_object_base object; /**< Object. */
4822 } management_object;
4823
4824 struct
4825 {
4826 bcmolt_epon_oam_ctc_leaf_ext_attribute leaf; /**< Leaf. */
4827 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4828 } ext_attribute;
4829
4830 struct
4831 {
4832 bcmolt_epon_oam_ctc_leaf_ext_action leaf; /**< Leaf. */
4833 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4834 } ext_action;
4835
4836 struct
4837 {
4838 bcmolt_epon_oam_ktleaf_attribute leaf; /**< Leaf. */
4839 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4840 } ktattribute;
4841
4842 struct
4843 {
4844 bcmolt_epon_oam_ktleaf_attribute leaf; /**< Leaf. */
4845 bcmolt_epon_oam_oam_error_code error; /**< Error. */
4846 } ktaction;
4847 } u;
4848} bcmolt_epon_oam_ctc_empty_var_container_base;
4849
4850/** CTC Eth Port Policing Config Base.
4851 */
4852typedef struct bcmolt_epon_oam_ctc_eth_port_policing_config_base
4853{
4854 bcmolt_epon_oam_ctc_eth_port_policing_enable state; /**< State. */
4855 union
4856 {
4857 struct
4858 {
4859 uint32_t unknown_count; /**< Number of elements in unknown. */
4860 uint8_t *unknown; /**< Unknown. */
4861 } def;
4862
4863 struct
4864 {
4865 uint24_t cir; /**< CIR. */
4866 uint24_t bucket; /**< Bucket. */
4867 uint24_t extra_burst; /**< Extra Burst. */
4868 } enabled;
4869 } u;
4870} bcmolt_epon_oam_ctc_eth_port_policing_config_base;
4871
4872/** CTC Event Entry.
4873 */
4874typedef struct bcmolt_epon_oam_ctc_event_entry
4875{
4876 bcmolt_epon_oam_ctc_leaf_management_object object_type; /**< Object Type. */
4877 uint32_t object_instance; /**< Object Instance. */
4878 bcmolt_epon_oam_ctc_onu_alarm_id alarm_id; /**< Alarm ID. */
4879} bcmolt_epon_oam_ctc_event_entry;
4880
4881/** CTC Event Status Entry.
4882 */
4883typedef struct bcmolt_epon_oam_ctc_event_status_entry
4884{
4885 bcmolt_epon_oam_ctc_event_entry event_entry; /**< Event Entry. */
4886 bcmolt_epon_oam_ctc_event_status event_status; /**< Event Status. */
4887} bcmolt_epon_oam_ctc_event_status_entry;
4888
4889/** CTC Event Threshold Entry.
4890 */
4891typedef struct bcmolt_epon_oam_ctc_event_threshold_entry
4892{
4893 bcmolt_epon_oam_ctc_event_entry event_entry; /**< Event Entry. */
4894 uint32_t set_threshold; /**< Set Threshold. */
4895 uint32_t clear_threshold; /**< Clear Threshold. */
4896} bcmolt_epon_oam_ctc_event_threshold_entry;
4897
4898/** CTC Event Base.
4899 */
4900typedef struct bcmolt_epon_oam_ctc_event_base
4901{
4902 bcmolt_epon_oam_ctc_event_sub_type sub_type; /**< Sub Type. */
4903 union
4904 {
4905 struct
4906 {
4907 uint16_t entry_count; /**< Entry Count. */
4908 bcmolt_epon_oam_ctc_event_entry *entries; /**< Entries. */
4909 } status_request;
4910
4911 struct
4912 {
4913 uint16_t entry_count; /**< Entry Count. */
4914 bcmolt_epon_oam_ctc_event_status_entry *entries; /**< Entries. */
4915 } status_set;
4916
4917 struct
4918 {
4919 uint16_t entry_count; /**< Entry Count. */
4920 bcmolt_epon_oam_ctc_event_status_entry *entries; /**< Entries. */
4921 } status_response;
4922
4923 struct
4924 {
4925 uint16_t entry_count; /**< Entry Count. */
4926 bcmolt_epon_oam_ctc_event_entry *entries; /**< Entries. */
4927 } threshold_request;
4928
4929 struct
4930 {
4931 uint16_t entry_count; /**< Entry Count. */
4932 bcmolt_epon_oam_ctc_event_threshold_entry *entries; /**< Entries. */
4933 } threshold_set;
4934
4935 struct
4936 {
4937 uint16_t entry_count; /**< Entry Count. */
4938 bcmolt_epon_oam_ctc_event_threshold_entry *entries; /**< Entries. */
4939 } threshold_response;
4940 } u;
4941} bcmolt_epon_oam_ctc_event_base;
4942
4943/** CTC Ext Action Value Base.
4944 */
4945typedef struct bcmolt_epon_oam_ctc_ext_action_value_base
4946{
4947 bcmolt_epon_oam_ctc_leaf_ext_action leaf; /**< Leaf. */
4948 union
4949 {
4950 struct
4951 {
4952 uint8_t width; /**< Width. */
4953 } def;
4954
4955 struct
4956 {
4957 uint8_t width; /**< Width. */
4958 bcmolt_epon_oam_ctc_activation activate_fast_leave; /**< Activate Fast Leave. */
4959 } fast_leave_admin_control;
4960
4961 struct
4962 {
4963 uint8_t width; /**< Width. */
4964 uint32_t num_llids; /**< Number of LLIDs to Activate */
4965 } multi_llid_admin_control;
4966
4967 struct
4968 {
4969 uint8_t width; /**< Width. */
4970 uint32_t sleep_duration; /**< Sleep Duration (Unit: TQ) */
4971 uint32_t wake_duration; /**< Wake Duration (Unit: TQ) */
4972 bcmolt_epon_oam_ctc_onu_sleep_flag sleep_flag; /**< Sleep Flag. */
4973 bcmolt_epon_oam_ctc_onu_sleep_mode sleep_mode; /**< Sleep Mode. */
4974 } sleep_control;
4975 } u;
4976} bcmolt_epon_oam_ctc_ext_action_value_base;
4977
4978/** CTC 2.1 ONU Service SLA Table
4979 */
4980typedef struct bcmolt_epon_oam_ctc_onu_service_sla_table
4981{
4982 uint8_t queue_number; /**< Queue number of service */
4983 uint16_t fixed_packet_size; /**< Fixed Packet size of service */
4984 uint16_t fixed_bandwidth; /**< Fixed bandwidth of service */
4985 uint16_t guaranteed_bandwidth; /**< Guaranteed bandwidth of service */
4986 uint16_t best_effort_bandwidth; /**< Best effort bandwidth of service */
4987 uint8_t wrr_weight; /**< WRR weight of service */
4988} bcmolt_epon_oam_ctc_onu_service_sla_table;
4989
4990/** CTC ONU Service SLA Base.
4991 */
4992typedef struct bcmolt_epon_oam_ctc_onu_service_sla_base
4993{
4994 bcmolt_epon_oam_ctc_service_sla_operation operation_of_service_dba; /**< Operation of Service DBA */
4995 union
4996 {
4997 struct
4998 {
4999 uint32_t services_count; /**< Number of elements in services. */
5000 uint8_t *services; /**< Services. */
5001 } def;
5002
5003 struct
5004 {
5005 bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme scheme; /**< Best effort scheduling scheme */
5006 uint8_t priority; /**< High priority boundary */
5007 uint32_t cycle_length; /**< Cycle Length */
5008 uint8_t services_count; /**< Number of elements in Services */
5009 bcmolt_epon_oam_ctc_onu_service_sla_table *services; /**< Ctc Onu SLA Table */
5010 } activate;
5011 } u;
5012} bcmolt_epon_oam_ctc_onu_service_sla_base;
5013
5014/** CTC 2.1 ONU Interface
5015 */
5016typedef struct bcmolt_epon_oam_ctc_onu_interface
5017{
5018 bcmolt_epon_oam_ctc_onu_interface_type type; /**< CTC ONU Interface Type */
5019 uint16_t num_ports; /**< Number of Ports */
5020} bcmolt_epon_oam_ctc_onu_interface;
5021
5022/** CTC MxU Global Params Base.
5023 */
5024typedef struct bcmolt_epon_oam_ctc_mxu_global_params_base
5025{
5026 bcmolt_epon_oam_ctc_mxu_global_params_width width; /**< Width. */
5027 union
5028 {
5029 struct
5030 {
5031 bcmos_ipv4_address onu_ipaddress; /**< Management ONU IP Address */
5032 bcmos_ipv4_address onu_network_mask; /**< Management ONU Mask Address */
5033 bcmos_ipv4_address onu_default_gw; /**< Management ONU default Gateway */
5034 uint16_t data_cvlan; /**< Management Data Customer VLAN */
5035 uint16_t data_svlan; /**< Management Data Service VLAN */
5036 uint8_t data_priority; /**< Management Data Priority */
5037 } ipv4;
5038
5039 struct
5040 {
5041 bcmos_ipv6_address onu_ipaddress; /**< Management ONU IP Address */
5042 uint32_t ipv6prefix_length; /**< Management ONU IPv6 prefix length */
5043 bcmos_ipv6_address onu_default_gw; /**< Management ONU default Gateway */
5044 uint16_t data_cvlan; /**< Management Data Customer VLAN */
5045 uint16_t data_svlan; /**< Management Data Service VLAN */
5046 uint8_t data_priority; /**< Management Data Priority */
5047 } ipv6;
5048 } u;
5049} bcmolt_epon_oam_ctc_mxu_global_params_base;
5050
5051/** CTC MxU SNMP Params Base.
5052 */
5053typedef struct bcmolt_epon_oam_ctc_mxu_snmp_params_base
5054{
5055 bcmolt_epon_oam_ctc_mxu_snmp_params_width width; /**< Width. */
5056 union
5057 {
5058 struct
5059 {
5060 uint8_t snmp_version; /**< SNMP Version */
5061 bcmos_ipv4_address trap_host_ip; /**< Trap Host IP Address */
5062 uint16_t trap_port; /**< Trap Port */
5063 uint16_t snmp_port; /**< SNMP Port */
5064 uint8_t security_name[32]; /**< Security Name */
5065 uint8_t community_for_read[32]; /**< Community For Read */
5066 uint8_t community_for_write[32]; /**< Community For Write */
5067 } ipv4;
5068
5069 struct
5070 {
5071 uint8_t snmp_version; /**< SNMP Version */
5072 bcmos_ipv6_address trap_host_ip; /**< Trap Host IP Address */
5073 uint16_t trap_port; /**< Trap Port */
5074 uint16_t snmp_port; /**< SNMP Port */
5075 uint8_t security_name[32]; /**< Security Name */
5076 uint8_t community_for_read[32]; /**< Community For Read */
5077 uint8_t community_for_write[32]; /**< Community For Write */
5078 } ipv6;
5079 } u;
5080} bcmolt_epon_oam_ctc_mxu_snmp_params_base;
5081
5082/** CTC VLAN Element.
5083 */
5084typedef struct bcmolt_epon_oam_ctc_vlan_element
5085{
5086 uint16_t ether_type; /**< EtherType. */
5087 bcmos_vlan_tag vlan_tag; /**< VLAN Tag. */
5088} bcmolt_epon_oam_ctc_vlan_element;
5089
5090/** CTC VLAN Translation.
5091 */
5092typedef struct bcmolt_epon_oam_ctc_vlan_translation
5093{
5094 bcmolt_epon_oam_ctc_vlan_element old_vlan; /**< Old VLAN. */
5095 bcmolt_epon_oam_ctc_vlan_element new_vlan; /**< New VLAN. */
5096} bcmolt_epon_oam_ctc_vlan_translation;
5097
5098/** CTC VLAN Aggregate Table.
5099 */
5100typedef struct bcmolt_epon_oam_ctc_vlan_aggregate_table
5101{
5102 uint16_t vlans_count; /**< VLANs Count. */
5103 bcmolt_epon_oam_ctc_vlan_element svlan; /**< S-VLAN. */
5104 bcmolt_epon_oam_ctc_vlan_element *vlans; /**< VLANs. */
5105} bcmolt_epon_oam_ctc_vlan_aggregate_table;
5106
5107/** CTC Vlan Prov Base.
5108 */
5109typedef struct bcmolt_epon_oam_ctc_vlan_prov_base
5110{
5111 bcmolt_epon_oam_ctc_vlan_mode mode; /**< Mode. */
5112 union
5113 {
5114 struct
5115 {
5116 bcmolt_epon_oam_ctc_vlan_element vlan; /**< VLAN. */
5117 } tag;
5118
5119 struct
5120 {
5121 bcmolt_epon_oam_ctc_vlan_element default_vlan; /**< Default VLAN. */
5122 uint32_t translations_count; /**< Number of elements in translations. */
5123 bcmolt_epon_oam_ctc_vlan_translation *translations; /**< Translations. */
5124 } translation;
5125
5126 struct
5127 {
5128 bcmolt_epon_oam_ctc_vlan_element default_vlan; /**< Default VLAN. */
5129 uint32_t permitted_vlans_count; /**< Number of elements in permitted_vlans. */
5130 bcmolt_epon_oam_ctc_vlan_element *permitted_vlans; /**< Permitted VLANs. */
5131 } trunk;
5132
5133 struct
5134 {
5135 bcmolt_epon_oam_ctc_vlan_element default_vlan; /**< Default VLAN. */
5136 uint16_t tables_count; /**< Tables Count. */
5137 bcmolt_epon_oam_ctc_vlan_aggregate_table *tables; /**< Tables. */
5138 } aggregate;
5139
5140 struct
5141 {
5142 uint32_t permitted_vlans_count; /**< Number of elements in permitted_vlans. */
5143 bcmolt_epon_oam_ctc_vlan_element *permitted_vlans; /**< Permitted VLANs. */
5144 } trunk_mdu;
5145
5146 struct
5147 {
5148 bcmolt_epon_oam_ctc_vlan_element default_vlan; /**< Default VLAN. */
5149 uint32_t permitted_vlans_count; /**< Number of elements in permitted_vlans. */
5150 bcmolt_epon_oam_ctc_vlan_element *permitted_vlans; /**< Permitted VLANs. */
5151 } hybrid;
5152 } u;
5153} bcmolt_epon_oam_ctc_vlan_prov_base;
5154
5155/** Ctc ONU classification Field
5156 */
5157typedef struct bcmolt_epon_oam_ctc_onu_classif_clause_base
5158{
5159 bcmolt_epon_oam_ctc_onu_classif_field field; /**< CTC ONU Classification Field */
5160 union
5161 {
5162 struct
5163 {
5164 uint8_t val[16]; /**< The value to match */
5165 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5166 } def;
5167
5168 struct
5169 {
5170 bcmos_mac_address val; /**< The value to match */
5171 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5172 } da;
5173
5174 struct
5175 {
5176 bcmos_mac_address val; /**< The value to match */
5177 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5178 } sa;
5179
5180 struct
5181 {
5182 uint8_t reserved[5]; /**< Reserved bytes (set to 0) */
5183 uint8_t val; /**< The value to match */
5184 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5185 } vlan_pri;
5186
5187 struct
5188 {
5189 uint8_t reserved[4]; /**< Reserved bytes (set to 0) */
5190 uint16_t val; /**< The value to match */
5191 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5192 } vlan_id;
5193
5194 struct
5195 {
5196 uint8_t reserved[4]; /**< Reserved bytes (set to 0) */
5197 uint16_t val; /**< The value to match */
5198 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5199 } eth_type;
5200
5201 struct
5202 {
5203 uint8_t reserved[2]; /**< Reserved bytes (set to 0) */
5204 bcmos_ipv4_address val; /**< The value to match */
5205 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5206 } dest_ip;
5207
5208 struct
5209 {
5210 uint8_t reserved[2]; /**< Reserved bytes (set to 0) */
5211 bcmos_ipv4_address val; /**< The value to match */
5212 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5213 } source_ip;
5214
5215 struct
5216 {
5217 uint8_t reserved[5]; /**< Reserved bytes (set to 0) */
5218 uint8_t val; /**< The value to match */
5219 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5220 } ip_type;
5221
5222 struct
5223 {
5224 uint8_t reserved[5]; /**< Reserved bytes (set to 0) */
5225 uint8_t val; /**< The value to match */
5226 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5227 } ip_tos;
5228
5229 struct
5230 {
5231 uint8_t reserved[5]; /**< Reserved bytes (set to 0) */
5232 uint8_t val; /**< The value to match */
5233 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5234 } ip_prec;
5235
5236 struct
5237 {
5238 uint8_t reserved[4]; /**< Reserved bytes (set to 0) */
5239 uint16_t val; /**< The value to match */
5240 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5241 } source_port;
5242
5243 struct
5244 {
5245 uint8_t reserved[4]; /**< Reserved bytes (set to 0) */
5246 uint16_t val; /**< The value to match */
5247 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5248 } dest_port;
5249
5250 struct
5251 {
5252 uint8_t reserved[15]; /**< Reserved bytes (set to 0) */
5253 uint8_t val; /**< The value to match */
5254 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5255 } ip_ver;
5256
5257 struct
5258 {
5259 uint8_t reserved[12]; /**< Reserved bytes (set to 0) */
5260 uint32_t val; /**< The value to match */
5261 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5262 } ip_flow_label;
5263
5264 struct
5265 {
5266 bcmos_ipv6_address val; /**< The value to match */
5267 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5268 } dst_ipv6;
5269
5270 struct
5271 {
5272 bcmos_ipv6_address val; /**< The value to match */
5273 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5274 } src_ipv6;
5275
5276 struct
5277 {
5278 bcmos_ipv6_address val; /**< The value to match (the prefix length must be packed into the LSB) */
5279 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5280 } dst_ipv6pre;
5281
5282 struct
5283 {
5284 bcmos_ipv6_address val; /**< The value to match (the prefix length must be packed into the LSB) */
5285 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5286 } src_ipv6pre;
5287
5288 struct
5289 {
5290 uint8_t reserved[15]; /**< Reserved bytes (set to 0) */
5291 uint8_t val; /**< The value to match */
5292 bcmolt_epon_oam_ctc_onu_classif_operator op; /**< The operation to perform if matched */
5293 } nxt_hdr;
5294 } u;
5295} bcmolt_epon_oam_ctc_onu_classif_clause_base;
5296
5297/** CTC Rule.
5298 */
5299typedef struct bcmolt_epon_oam_ctc_rule
5300{
5301 uint8_t precedence; /**< Precedence. */
5302 uint8_t queue; /**< Queue. */
5303 uint8_t pri_marking; /**< Pri Marking. */
5304 uint8_t clauses_count; /**< Clauses Count. */
5305 bcmolt_epon_oam_ctc_onu_classif_clause_base *clauses; /**< Clauses. */
5306} bcmolt_epon_oam_ctc_rule;
5307
5308/** CTC Multicast VLAN Prov.
5309 */
5310typedef struct bcmolt_epon_oam_ctc_multicast_vlan_prov
5311{
5312 bcmolt_epon_oam_ctc_multicast_vlan_operation operation; /**< Operation. */
5313 union
5314 {
5315 struct
5316 {
5317 uint32_t multicast_vlans_count; /**< Number of elements in multicast_vlans. */
5318 bcmos_vlan_tag *multicast_vlans; /**< Multicast VLANs. */
5319 }
5320 delete;
5321
5322 struct
5323 {
5324 uint32_t multicast_vlans_count; /**< Number of elements in multicast_vlans. */
5325 bcmos_vlan_tag *multicast_vlans; /**< Multicast VLANs. */
5326 } add;
5327
5328 struct
5329 {
5330 uint32_t multicast_vlans_count; /**< Number of elements in multicast_vlans. */
5331 bcmos_vlan_tag *multicast_vlans; /**< Multicast VLANs. */
5332 } list;
5333 } u;
5334} bcmolt_epon_oam_ctc_multicast_vlan_prov;
5335
5336/** CTC IPTV VLAN Entry.
5337 */
5338typedef struct bcmolt_epon_oam_ctc_iptv_vlan_entry
5339{
5340 bcmos_vlan_tag multicast_vlan; /**< Multicast VLAN. */
5341 bcmos_vlan_tag iptv_user_vlan; /**< IPTV User VLAN. */
5342} bcmolt_epon_oam_ctc_iptv_vlan_entry;
5343
5344/** CTC Multicast Tag Operation Base.
5345 */
5346typedef struct bcmolt_epon_oam_ctc_multicast_tag_operation_base
5347{
5348 bcmolt_epon_oam_ctc_multicast_tag_mode tag_mode; /**< Tag Mode. */
5349 union
5350 {
5351 struct
5352 {
5353 uint8_t multicast_vlans_count; /**< Number of elements in Multicast VLANs */
5354 bcmolt_epon_oam_ctc_iptv_vlan_entry *multicast_vlans; /**< Multicast VLANs. */
5355 } strip_data_query_iptv;
5356 } u;
5357} bcmolt_epon_oam_ctc_multicast_tag_operation_base;
5358
5359/** CTC Multicast Control Entry GDA MAC Only.
5360 */
5361typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only
5362{
5363 uint16_t user_id; /**< User ID. */
5364 uint16_t reserved; /**< Reserved. */
5365 bcmos_mac_address group_mac_address; /**< Group MAC Address. */
5366} bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only;
5367
5368/** CTC Multicast Control Entry GDA MAC + VLAN ID.
5369 */
5370typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id
5371{
5372 uint16_t user_id; /**< User ID. */
5373 uint16_t multicast_vlan; /**< Multicast VLAN. */
5374 bcmos_mac_address group_mac_address; /**< Group MAC Address. */
5375} bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id;
5376
5377/** CTC Multicast Control Entry GDA MAC + IPv4 SA.
5378 */
5379typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa
5380{
5381 uint16_t user_id; /**< User ID. */
5382 bcmos_mac_address group_mac_address; /**< Group MAC Address. */
5383 bcmos_ipv4_address ipsource_address; /**< IP Source Address. */
5384} bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa;
5385
5386/** CTC Multicast Control Entry GDA IP + Mcast VLAN ID.
5387 */
5388typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id
5389{
5390 uint16_t user_id; /**< User ID. */
5391 uint16_t multicast_vlan; /**< Multicast VLAN. */
5392 uint16_t reserved; /**< Reserved. */
5393 bcmos_ipv4_address ipmulticast_address; /**< IP Multicast Address. */
5394} bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id;
5395
5396/** CTC Multicast Control Entry GDA IPv6 + Mcast VLAN ID.
5397 */
5398typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id
5399{
5400 uint16_t user_id; /**< User ID. */
5401 uint16_t multicast_vlan; /**< Multicast VLAN. */
5402 bcmos_ipv6_address ipv6multicast_address; /**< IPv6 Multicast Address. */
5403} bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id;
5404
5405/** CTC Multicast Control Entry GDA MAC + IPv6 SA.
5406 */
5407typedef struct bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa
5408{
5409 uint16_t user_id; /**< User ID. */
5410 bcmos_mac_address group_mac_address; /**< Group MAC Address. */
5411 bcmos_ipv6_address ipsource_address; /**< IP Source Address. */
5412} bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa;
5413
5414/** CTC Multicast Control.
5415 */
5416typedef struct bcmolt_epon_oam_ctc_multicast_control
5417{
5418 bcmolt_epon_oam_ctc_multicast_control_action action; /**< Action. */
5419 bcmolt_epon_oam_ctc_multicast_control_type type; /**< Type. */
5420 union
5421 {
5422 struct
5423 {
5424 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5425 uint32_t entries_count; /**< Number of elements in entries. */
5426 bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only *entries; /**< Entries. */
5427 } gda_mac_only;
5428
5429 struct
5430 {
5431 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5432 uint32_t entries_count; /**< Number of elements in entries. */
5433 bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id *entries; /**< Entries. */
5434 } gda_mac_plus_vlan_id;
5435
5436 struct
5437 {
5438 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5439 uint32_t entries_count; /**< Number of elements in entries. */
5440 bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa *entries; /**< Entries. */
5441 } gda_mac_plus_ipv4sa;
5442
5443 struct
5444 {
5445 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5446 uint32_t entries_count; /**< Number of elements in entries. */
5447 bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id *entries; /**< Entries. */
5448 } gda_ipplus_mcast_vlan_id;
5449
5450 struct
5451 {
5452 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5453 uint32_t entries_count; /**< Number of elements in entries. */
5454 bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id *entries; /**< Entries. */
5455 } gda_ipv6plus_mcast_vlan_id;
5456
5457 struct
5458 {
5459 uint8_t total_entries_count; /**< Number of remaining list elements in all remaining variable containers */
5460 uint32_t entries_count; /**< Number of elements in entries. */
5461 bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa *entries; /**< Entries. */
5462 } gda_mac_plus_ipv6sa;
5463 } u;
5464} bcmolt_epon_oam_ctc_multicast_control;
5465
5466/** CTC 2.1 ONU LLID/Queue
5467 */
5468typedef struct bcmolt_epon_oam_ctc_onu_llid_queue
5469{
5470 uint16_t queue_id; /**< ID of queue number for the LLID */
5471 uint16_t wrr_weight; /**< WRR Weight of queue number */
5472} bcmolt_epon_oam_ctc_onu_llid_queue;
5473
5474/** Zte Vlan Mac.
5475 */
5476typedef struct bcmolt_epon_oam_zte_vlan_mac
5477{
5478 bcmos_vlan_tag vlan_id; /**< Vlan ID. */
5479 bcmos_mac_address mac_filter; /**< Mac Filter. */
5480} bcmolt_epon_oam_zte_vlan_mac;
5481
5482/** CTC Ext Attribute Value Base.
5483 */
5484typedef struct bcmolt_epon_oam_ctc_ext_attribute_value_base
5485{
5486 bcmolt_epon_oam_ctc_leaf_ext_attribute leaf; /**< Leaf. */
5487 union
5488 {
5489 struct
5490 {
5491 uint8_t width; /**< Width. */
5492 bcmolt_epon_oam_pppo_etest_status status; /**< Status. */
5493 bcmolt_epon_oam_pppo_etest_fail_reason reason; /**< Reason. */
5494 } pppo_etest_result;
5495
5496 struct
5497 {
5498 uint8_t width; /**< Width. */
5499 bcmolt_epon_oam_start_or_stop_indication start_or_stop; /**< StartOrStop. */
5500 uint8_t user_name[64]; /**< UserName. */
5501 uint8_t password[32]; /**< Password. */
5502 bcmolt_epon_oam_pppo_eauth_mode mode; /**< Mode. */
5503 uint16_t vlan; /**< Vlan. */
5504 } pppo_etest_configuration;
5505
5506 struct
5507 {
5508 uint8_t width; /**< Width. */
5509 uint32_t unknown_count; /**< Number of elements in unknown. */
5510 uint8_t *unknown; /**< Unknown. */
5511 } def;
5512
5513 struct
5514 {
5515 uint8_t width; /**< Width. */
5516 uint32_t unknown_count; /**< Number of elements in unknown. */
5517 uint8_t *unknown; /**< Unknown. */
5518 } end;
5519
5520 struct
5521 {
5522 uint8_t width; /**< Width. */
5523 uint8_t vendor_id[4]; /**< Vendor ID. */
5524 uint32_t onu_model; /**< ONU Model. */
5525 bcmos_mac_address onu_mac; /**< ONU MAC. */
5526 uint8_t hwversion[8]; /**< HW Version. */
5527 uint8_t swversion[16]; /**< SW Version. */
5528 uint8_t ext_onu_model[16]; /**< Ext ONU Model. */
5529 } onu_serial_number;
5530
5531 struct
5532 {
5533 uint8_t width; /**< Width. */
5534 uint32_t firmware_version_count; /**< Number of elements in firmware_version. */
5535 uint8_t *firmware_version; /**< Firmware Version. */
5536 } firmware_version;
5537
5538 struct
5539 {
5540 uint8_t width; /**< Width. */
5541 uint16_t vendor_id; /**< Vendor ID. */
5542 uint16_t chip_model; /**< Chip Model. */
5543 uint8_t revision; /**< Revision. */
5544 uint8_t design_date[3]; /**< Design Date. */
5545 } chipset_id;
5546
5547 struct
5548 {
5549 uint8_t width; /**< Width. */
5550 bcmolt_epon_oam_ctc_supported_services services; /**< Services. */
5551 uint8_t num_geports; /**< Num GE Ports. */
5552 uint64_t gebitmap; /**< GE Bitmap. */
5553 uint8_t num_feports; /**< Num FE Ports. */
5554 uint64_t febitmap; /**< FE Bitmap. */
5555 uint8_t num_pots_ports; /**< Num POTS Ports. */
5556 uint8_t num_e1ports; /**< Num E1 Ports. */
5557 uint8_t num_upstream_queues; /**< Num Upstream Queues. */
5558 uint8_t max_queues_per_port_up; /**< Max Queues Per Port Up. */
5559 uint8_t num_downstream_queues; /**< Num Downstream Queues. */
5560 uint8_t max_queues_per_port_down; /**< Max Queues Per Port Down. */
5561 uint8_t battery_backup; /**< Battery Backup. */
5562 } onu_capabilities1;
5563
5564 struct
5565 {
5566 uint8_t width; /**< Width. */
5567 uint16_t transceiver_temperature; /**< Transceiver Temperature */
5568 uint16_t supply_vcc; /**< Supply Voltage (Vcc) */
5569 uint16_t tx_bias_cur; /**< Tx Bias Current */
5570 uint16_t tx_power_out; /**< Tx Power Output */
5571 uint16_t rx_power_in; /**< Rx Power Input */
5572 } optical_transceiver_diagnosis;
5573
5574 struct
5575 {
5576 uint8_t width; /**< Width. */
5577 bcmolt_epon_oam_ctc_onu_service_sla_base service_sla; /**< Service SLA */
5578 } service_sla;
5579
5580 struct
5581 {
5582 uint8_t width; /**< Width. */
5583 bcmolt_epon_oam_ctc_onu_type onu_type; /**< CTC ONU Type */
5584 uint8_t num_links; /**< Number of links the ONU supports */
5585 bcmolt_epon_oam_ctc_onu_protection_type protection_type; /**< CTC ONU Protection Type */
5586 uint8_t num_pon_ifs; /**< Number of PON Interfaces */
5587 uint8_t num_slots; /**< Number of Slot */
5588 uint8_t interfaces_count; /**< Number of elements in Interfaces */
5589 bcmolt_epon_oam_ctc_onu_interface *interfaces; /**< List of interfaces */
5590 bcmos_bool battery_backup; /**< Battery Backup */
5591 } onu_capabilities2;
5592
5593 struct
5594 {
5595 uint8_t width; /**< Width. */
5596 bcmolt_epon_oam_ctc_enabled_state holdover_state; /**< Current state of ONU holdover */
5597 uint32_t holdover_time; /**< ONU state holdover time, in ms */
5598 } holdover_config;
5599
5600 struct
5601 {
5602 bcmolt_epon_oam_ctc_mxu_global_params_base params; /**< Parameters */
5603 } mxu_manage_global_parameter;
5604
5605 struct
5606 {
5607 bcmolt_epon_oam_ctc_mxu_snmp_params_base params; /**< Parameters */
5608 } mxu_manage_snmp_parameter;
5609
5610 struct
5611 {
5612 uint8_t width; /**< Width. */
5613 uint8_t pon_number; /**< Active PON Port Number */
5614 } active_pon_ifadmin;
5615
5616 struct
5617 {
5618 uint8_t width; /**< Width. */
5619 bcmos_bool is_ipv6aware; /**< If this is set, IPv6 aware is supported */
5620 bcmolt_epon_oam_ctc_onu_power_supply_control_type power_control_type; /**< ONU Power Supply Control */
5621 uint8_t service_sla; /**< 0x01: Not support Service SLA. 0x02-0x08: The number of service supported */
5622 } onu_capabilities3;
5623
5624 struct
5625 {
5626 uint8_t width; /**< Width. */
5627 bcmos_bool link_state; /**< Link State. */
5628 } eth_link_state;
5629
5630 struct
5631 {
5632 uint8_t width; /**< Width. */
5633 bcmos_bool enabled; /**< Enabled. */
5634 } eth_port_pause;
5635
5636 struct
5637 {
5638 uint8_t width; /**< Width. */
5639 bcmolt_epon_oam_ctc_eth_port_policing_config_base config; /**< Config. */
5640 } eth_port_policing;
5641
5642 struct
5643 {
5644 uint8_t width; /**< Width. */
5645 bcmos_bool port_state; /**< Port State. */
5646 } voip_port;
5647
5648 struct
5649 {
5650 uint8_t width; /**< Width. */
5651 bcmos_bool port_state; /**< Port State. */
5652 } e1port;
5653
5654 struct
5655 {
5656 uint8_t width; /**< Width. */
5657 bcmos_bool rate_limiting_enabled; /**< Rate Limiting Enabled. */
5658 uint24_t cir; /**< Downstream Committed Information Rate in Kbps */
5659 uint24_t pir; /**< Downstream Peak Information Rate in Kbps */
5660 } eth_port_down_rate_limiting;
5661
5662 struct
5663 {
5664 uint8_t width; /**< Width. */
5665 bcmolt_epon_oam_ctc_enabled_state state; /**< State of the loopback detection feature */
5666 } port_loop_detect;
5667
5668 struct
5669 {
5670 uint8_t width; /**< Width. */
5671 bcmolt_epon_oam_ctc_vlan_prov_base vlan_info; /**< VLAN Info. */
5672 } vlan;
5673
5674 struct
5675 {
5676 uint8_t width; /**< Width. */
5677 bcmolt_epon_oam_ctc_classification_operation op; /**< Op. */
5678 uint8_t rules_count; /**< Rules Count. */
5679 bcmolt_epon_oam_ctc_rule *rules; /**< Rules. */
5680 } classification_and_marking;
5681
5682 struct
5683 {
5684 uint8_t width; /**< Width. */
5685 bcmolt_epon_oam_ctc_multicast_vlan_prov vlan_info; /**< VLAN Info. */
5686 } multicast_vlan;
5687
5688 struct
5689 {
5690 uint8_t width; /**< Width. */
5691 bcmolt_epon_oam_ctc_multicast_tag_operation_base tag_operation; /**< Tag Operation. */
5692 } multicast_tag_operation;
5693
5694 struct
5695 {
5696 uint8_t width; /**< Width. */
5697 bcmolt_epon_oam_ctc_multicast_switch_mode mode; /**< Mode. */
5698 } multicast_switch;
5699
5700 struct
5701 {
5702 uint8_t width; /**< Width. */
5703 bcmolt_epon_oam_ctc_multicast_control value; /**< Value. */
5704 } multicast_control;
5705
5706 struct
5707 {
5708 uint8_t width; /**< Width. */
5709 uint8_t max_groups; /**< Max Groups. */
5710 } group_max;
5711
5712 struct
5713 {
5714 uint8_t width; /**< Width. */
5715 uint32_t fast_leave_modes_count; /**< Number of elements in Fast Leave Modes */
5716 uint32_t *fast_leave_modes; /**< Bitmaps for each enumerated fast leave mode */
5717 } fast_leave_ability;
5718
5719 struct
5720 {
5721 uint8_t width; /**< Width. */
5722 bcmolt_epon_oam_ctc_enabled_state state; /**< State. */
5723 } fast_leave_admin_state;
5724
5725 struct
5726 {
5727 uint8_t width; /**< Width. */
5728 uint8_t llid_queue_table_count; /**< Number of elements in LLID/Queue Table */
5729 bcmolt_epon_oam_ctc_onu_llid_queue *llid_queue_table; /**< CTC 2.1 ONU LLID Queue Configuration Table */
5730 } llid_queue_config;
5731
5732 struct
5733 {
5734 uint8_t width; /**< Width. */
5735 bcmos_mac_address iad_mac; /**< IAD MAC Address */
5736 bcmolt_epon_oam_ctc_voip_protocol protocol_support; /**< Protocol Support */
5737 uint8_t iad_software_ver[32]; /**< IAD Software version */
5738 uint8_t iad_software_time[32]; /**< IAD software time, version time format uses:YYYYMMDDHHMMSS */
5739 uint8_t voip_user_count; /**< Indicate POTS number of IAD module */
5740 } iad_information;
5741
5742 struct
5743 {
5744 uint8_t width; /**< Width. */
5745 bcmolt_epon_oam_ctc_voice_ipmode voice_ipmode; /**< CTC Voice IP Mode */
5746 bcmos_ipv4_address iad_ipaddr; /**< IAD IP Address */
5747 bcmos_ipv4_address iad_net_mask; /**< IAD Net Mask Address */
5748 bcmos_ipv4_address iad_default_gw; /**< IAD Default Gateway */
5749 bcmolt_epon_oam_ctc_pppoe_mode pppoe_mode; /**< PPPoE Mode */
5750 uint8_t pppoe_username[32]; /**< PPPoE Username */
5751 uint8_t pppoe_password[32]; /**< PPPoE Password */
5752 bcmolt_epon_oam_ctc_voice_tagging_mode tagging_mode; /**< Tagging Mode */
5753 uint16_t voice_cvlan; /**< Voice CVLAN */
5754 uint16_t voice_svlan; /**< Voice SVLAN */
5755 uint8_t voice_pri; /**< Voice Priority */
5756 } voip_global_parameters;
5757
5758 struct
5759 {
5760 uint8_t width; /**< Width. */
5761 uint16_t mgport_number; /**< MG Port Number */
5762 bcmos_ipv4_address mgc_ip; /**< Activate softswitch platform IP address */
5763 uint16_t mgc_com_port; /**< Activate softswitch platform COM port number */
5764 bcmos_ipv4_address backup_mgc_ip; /**< Backup softswitch platform IP address. If it is 0x00000000, dual homing is not enable */
5765 uint16_t backup_mgc_com_port; /**< Backup softswitch platform COM port number, if it is 0, dual homing is not enabled */
5766 bcmos_bool use_active_mgc; /**< Should we use the active softswitch platform instead of the backup? */
5767 bcmolt_epon_oam_ctc_h248reg_mode reg_mode; /**< H248 Reg Mode */
5768 uint8_t mid[64]; /**< MID */
5769 bcmolt_epon_oam_ctc_h248heartbeat_mode heartbeat_mode; /**< Heartbeat Mode */
5770 uint16_t heartbeat_cycle; /**< Heartbeat Cycle */
5771 uint8_t heartbeat_count; /**< Heartbeat Count */
5772 } h248parameters;
5773
5774 struct
5775 {
5776 uint8_t width; /**< Width. */
5777 uint8_t name[32]; /**< User TID Name */
5778 } h248user_tid_information;
5779
5780 struct
5781 {
5782 uint8_t width; /**< Width. */
5783 uint8_t num_rtp_tids; /**< Number of RTP TIDs */
5784 uint8_t prefix[16]; /**< Prefix in ASCII */
5785 uint64_t digit_begin; /**< RTP TID digital portion start value */
5786 bcmolt_epon_oam_ctc_rtp_tid_mode rtp_tid_mode; /**< RTP TID Mode */
5787 uint8_t rtp_tid_length; /**< RTP TID Digit Length */
5788 } h248rtp_tid_configuration;
5789
5790 struct
5791 {
5792 uint8_t width; /**< Width. */
5793 uint8_t num_rtp_tids; /**< Number of RTP TIDs */
5794 uint8_t first_rtp_tid_name[32]; /**< Frist RTP TID Name */
5795 } h248rtp_tid_information;
5796
5797 struct
5798 {
5799 uint8_t width; /**< Width. */
5800 uint16_t mgport_number; /**< MG Port Number */
5801 bcmos_ipv4_address active_sip_ip; /**< Active SIP agent server IP address */
5802 uint16_t active_sip_com_port; /**< Active SIP agent server port number */
5803 bcmos_ipv4_address backup_sip_ip; /**< Backup SIP agent server IP address */
5804 uint16_t backup_sip_com_port; /**< Backup SIP Proxy Server Com Port Number */
5805 bcmos_ipv4_address active_sip_proxy_server; /**< Active SIP Proxy Server */
5806 bcmos_ipv4_address active_sip_registration_server_ip; /**< SIP Register Server IP */
5807 uint16_t active_sip_registration_server_com_port; /**< Active SIP registration server port number */
5808 bcmos_ipv4_address backup_sip_reg_ip; /**< Backup SIP Registration Server IP */
5809 uint16_t backup_sip_reg_com_port; /**< Backup SIP Registration Server Com Port Number */
5810 bcmos_ipv4_address outbound_server_ip; /**< Out Bound Server IP */
5811 uint16_t outbound_server_port; /**< Out Bound Server Port Number */
5812 uint32_t sip_registration_interval; /**< Registration refresh cycle, unit is second, and the default value is 3600s */
5813 bcmos_bool disable_heartbeat_switch; /**< Disable Heartbeat Switch Feature */
5814 uint16_t heartbeat_cycle; /**< Heartbeat Cycle */
5815 uint16_t heartbeat_count; /**< Heartbeat Count */
5816 } sip_parameters;
5817
5818 struct
5819 {
5820 uint8_t width; /**< Width. */
5821 uint8_t account[16]; /**< User account, User phone number, and should use ASCII code */
5822 uint8_t name[32]; /**< User name, SIP port username, and should use ASCII code */
5823 uint8_t password[16]; /**< User password, SIP port password, and should use ASCII code. */
5824 } sip_user_parameters;
5825
5826 struct
5827 {
5828 uint8_t width; /**< Width. */
5829 bcmolt_epon_oam_ctc_voice_t38mode voice_t38enable; /**< Ctc Voice T38 Enable Mode */
5830 bcmolt_epon_oam_ctc_voice_fax_modem_control_mode voice_fax_modem_control; /**< CTC Voice Fax Modem Control Mode */
5831 } fax_modem_configuration;
5832
5833 struct
5834 {
5835 uint8_t width; /**< Width. */
5836 bcmolt_epon_oam_ctc_iad_operation_status iad_operation_status; /**< CTC IAD Operation Status */
5837 } h248iad_operation_status;
5838
5839 struct
5840 {
5841 uint8_t width; /**< Width. */
5842 bcmolt_epon_oam_ctc_iad_port_status iad_port_status; /**< CTC IAD Port Status */
5843 bcmolt_epon_oam_ctc_iad_port_service_state iad_port_service_state; /**< CTC IAD Port Service State */
5844 bcmolt_epon_oam_ctc_iad_port_codec_mode iad_port_codec_mode; /**< CTC IAD Port Codec Mode */
5845 } pots_status;
5846
5847 struct
5848 {
5849 uint8_t width; /**< Width. */
5850 bcmolt_epon_oam_ctc_iad_operation iad_operation; /**< CTC IAD Operation */
5851 } iad_operation;
5852
5853 struct
5854 {
5855 uint8_t width; /**< Width. */
5856 uint16_t sip_digital_map_count; /**< Number of elements in SIP Digital Map */
5857 uint8_t *sip_digital_map; /**< SIP Protocol Digital Map, ASCII code type */
5858 } sip_digit_map;
5859
5860 struct
5861 {
5862 uint8_t width; /**< Width. */
5863 bcmolt_epon_oam_ctc_onu_alarm_id id; /**< Alarm ID */
5864 bcmolt_epon_oam_ctc_enabled_state config; /**< Alarm configuration state */
5865 } alarm_admin_state;
5866
5867 struct
5868 {
5869 uint8_t width; /**< Width. */
5870 bcmolt_epon_oam_ctc_onu_alarm_id id; /**< Alarm ID */
5871 uint32_t threshold; /**< Alarm Threshold */
5872 uint32_t clearing_threshold; /**< Clearing Alarm Threshold */
5873 } alarm_threshold;
5874
5875 struct
5876 {
5877 uint8_t width; /**< Width. */
5878 bcmos_ipv4_address ipaddress; /**< IP Address. */
5879 bcmos_ipv4_address ipmask; /**< IP Mask. */
5880 bcmos_ipv4_address gateway; /**< GateWay. */
5881 bcmos_vlan_tag vlan_id; /**< Vlan ID. */
5882 uint8_t user_name[8]; /**< User Name. */
5883 uint8_t password[8]; /**< Password. */
5884 uint8_t action; /**< Action. */
5885 uint8_t version_number; /**< Version Number. */
5886 uint8_t ver1name[16]; /**< Ver1 Name. */
5887 uint8_t ver2name[16]; /**< Ver2 Name. */
5888 uint8_t ver3name[16]; /**< Ver3 Name. */
5889 } version_server_para;
5890
5891 struct
5892 {
5893 uint8_t width; /**< Width. */
5894 uint16_t mac_limit_number; /**< Mac Limit Number. */
5895 } onu_mac_limit;
5896
5897 struct
5898 {
5899 uint8_t width; /**< Width. */
5900 uint32_t mac_aging_time; /**< Mac Aging Time. */
5901 } onu_mac_aging_time;
5902
5903 struct
5904 {
5905 uint8_t width; /**< Width. */
5906 bcmolt_epon_oam_zte_onu_port_mac_operation op; /**< Op. */
5907 uint8_t number_of_entries; /**< Number Of Entries. */
5908 bcmolt_epon_oam_zte_vlan_mac *clause; /**< Clause. */
5909 } onu_port_mac_filter;
5910
5911 struct
5912 {
5913 uint8_t width; /**< Width. */
5914 bcmolt_epon_oam_zte_onu_port_mac_operation op; /**< Op. */
5915 uint8_t number_of_entries; /**< Number Of Entries. */
5916 bcmolt_epon_oam_zte_vlan_mac *clause; /**< Clause. */
5917 } onu_port_mac_binding;
5918
5919 struct
5920 {
5921 uint8_t width; /**< Width. */
5922 bcmolt_epon_oam_zte_onu_port_mac_operation op; /**< Op. */
5923 uint8_t number_of_entries; /**< Number Of Entries. */
5924 bcmolt_epon_oam_zte_vlan_mac *clause; /**< Clause. */
5925 } onu_port_mac_static;
5926
5927 struct
5928 {
5929 uint8_t width; /**< Width. */
5930 uint64_t ifinoctets; /**< IfInOctets. */
5931 uint64_t ifinucastpkts; /**< IfInUcastPkts. */
5932 uint64_t ifinnucastpkts; /**< IfInNUcastPkts. */
5933 uint64_t ifindiscards; /**< IfInDiscards. */
5934 uint64_t ifinerrors; /**< IfInErrors. */
5935 uint64_t ifoutoctets; /**< IfOutOctets. */
5936 uint64_t ifoutucastpkts; /**< IfOutUcastPkts. */
5937 uint64_t ifoutnucastpkts; /**< IfOutNUcastPkts. */
5938 uint64_t ifoutdiscards; /**< IfOutDiscards. */
5939 uint64_t ifouterrors; /**< IfOutErrors. */
5940 uint64_t reserved1; /**< Reserved1. */
5941 uint64_t reserved2; /**< Reserved2. */
5942 uint64_t reserved3; /**< Reserved3. */
5943 uint64_t reserved4; /**< Reserved4. */
5944 } onu_performance_stat;
5945
5946 struct
5947 {
5948 uint8_t width; /**< Width. */
5949 bcmolt_epon_oam_zte_isolate_mode port_isolate; /**< Port Isolate. */
5950 } onu_port_isolate;
5951
5952 struct
5953 {
5954 uint8_t width; /**< Width. */
5955 } onu_mac_address_table_query;
5956
5957 struct
5958 {
5959 uint8_t width; /**< Width. */
5960 bcmos_bool ponmacdsratelimitingenable; /**< PonMacDSrateLimitingEnable. */
5961 uint24_t cir; /**< CIR. */
5962 uint24_t cbs; /**< CBS. */
5963 } onu_pon_mac_downstream_shaping;
5964
5965 struct
5966 {
5967 uint8_t width; /**< Width. */
5968 bcmolt_epon_oam_zte_buffer_manage_mode buffer_management_capability; /**< Buffer Management Capability. */
5969 uint24_t dsbuffer_size_minimum_value; /**< DS Buffer Size Minimum Value. */
5970 uint24_t dsbuffer_size_maximum_value; /**< DS Buffer Size Maximum Value. */
5971 uint24_t usbuffer_size_minimum_value; /**< US Buffer Size Minimum Value. */
5972 uint24_t usbuffer_size_maximum_value; /**< US Buffer Size Maximum Value. */
5973 } onu_pon_mac_usdsbuffer_capability_query;
5974
5975 struct
5976 {
5977 uint8_t width; /**< Width. */
5978 bcmos_bool buffer_management_indication; /**< Buffer Management Indication. */
5979 bcmolt_epon_oam_zte_dsbuf_direction direction; /**< Direction. */
5980 uint24_t buffer_size; /**< Buffer Size. */
5981 } onu_pon_mac_usdsbuffer;
5982
5983 struct
5984 {
5985 uint8_t width; /**< Width. */
5986 bcmolt_epon_oam_zte_statistics_action_mode statistics_action; /**< Statistics Action. */
5987 uint24_t statistics_interval; /**< Statistics Interval. */
5988 uint32_t statistics_duration_time; /**< Statistics Duration Time. */
5989 } onu_port_statistics_collect_control;
5990
5991 struct
5992 {
5993 uint8_t width; /**< Width. */
5994 bcmolt_epon_oam_zte_statistics_reset_mode statistics_reset; /**< Statistics Reset. */
5995 } onu_port_statistics_counter_reset;
5996
5997 struct
5998 {
5999 uint8_t width; /**< Width. */
6000 bcmolt_epon_oam_uni_flow_statistics_collect_control_mode uniflowstatisticscollectcontrolindication; /**< UniFlowStatisticsCollectControlIndication. */
6001 uint64_t ifinoctets; /**< IfInOctets. */
6002 uint64_t ifinucastpkts; /**< IfInUcastPkts. */
6003 uint64_t ifinnucastpkts; /**< IfInNUcastPkts. */
6004 uint64_t ifindiscards; /**< IfInDiscards. */
6005 uint64_t ifinerrors; /**< IfInErrors. */
6006 uint64_t ifoutoctets; /**< IfOutOctets. */
6007 uint64_t ifoutucastpkts; /**< IfOutUcastPkts. */
6008 uint64_t ifoutnucastpkts; /**< IfOutNUcastPkts. */
6009 uint64_t ifoutdiscards; /**< IfOutDiscards. */
6010 uint64_t ifouterrors; /**< IfOutErrors. */
6011 } onu_port_flux_statistics_counter;
6012
6013 struct
6014 {
6015 uint8_t width; /**< Width. */
6016 uint8_t ponportnumber; /**< PonPortNumber. */
6017 bcmolt_epon_oam_light_indication_mode main_light_indication; /**< Main Light Indication. */
6018 bcmolt_epon_oam_light_indication_mode reserve_light_indication; /**< Reserve Light Indication. */
6019 } onu_light_exception;
6020
6021 struct
6022 {
6023 uint8_t width; /**< Width. */
6024 bcmolt_epon_oam_match_mac_address_mode match_mac_address; /**< Match MAC Address. */
6025 bcmos_mac_address pon_mac_address; /**< Pon MAC Address. */
6026 bcmolt_epon_oam_zte_light_control_action_mode action; /**< Action. */
6027 uint16_t duration_time; /**< Duration Time. */
6028 } onu_light_control;
6029
6030 struct
6031 {
6032 uint8_t width; /**< Width. */
6033 uint64_t frames_transmittedok; /**< Frames TransmittedOK. */
6034 uint64_t octets_transmittedok; /**< Octets TransmittedOK. */
6035 uint64_t multicast_framesxmitted_ok; /**< Multicast FramesXmitted OK. */
6036 uint64_t broadcast_framesxmitted_ok; /**< Broadcast FramesXmitted OK. */
6037 uint64_t frames_received_ok; /**< Frames Received OK. */
6038 uint64_t octets_received_ok; /**< Octets Received OK. */
6039 uint64_t multicast_frames_received_ok; /**< Multicast Frames Received OK. */
6040 uint64_t broadcast_frames_received_ok; /**< Broadcast Frames Received OK. */
6041 } onu_pon_port_statistics_get1;
6042
6043 struct
6044 {
6045 uint8_t width; /**< Width. */
6046 uint64_t crc8errors; /**< CRC8 Errors. */
6047 uint64_t fec_corrected_blocks; /**< FEC Corrected Blocks. */
6048 uint64_t fec_uncorrectable_blocks; /**< FEC Uncorrectable Blocks. */
6049 uint64_t mpcp_mac_ctrl_frames_transmitted; /**< Mpcp Mac Ctrl Frames Transmitted. */
6050 uint64_t mpcp_mac_ctrl_frames_received; /**< Mpcp Mac Ctrl Frames Received. */
6051 uint64_t mpcp_tx_register; /**< Mpcp Tx Register. */
6052 uint64_t mpcp_tx_regrequest; /**< Mpcp Tx RegRequest. */
6053 uint64_t mpcp_tx_report; /**< Mpcp Tx Report. */
6054 uint64_t mpcp_rx_gate; /**< Mpcp Rx Gate. */
6055 uint64_t mpcp_rx_registe; /**< Mpcp Rx Registe. */
6056 } onu_pon_port_statistics_get2;
6057
6058 struct
6059 {
6060 uint8_t width; /**< Width. */
6061 bcmolt_epon_oam_alarm_config_mode alarm_config; /**< Alarm Config. */
6062 } alarm_config;
6063
6064 struct
6065 {
6066 uint8_t width; /**< Width. */
6067 bcmolt_epon_oam_onu_excl_ability ability; /**< Ability. */
6068 } rougue_onu_excl_ability;
6069
6070 struct
6071 {
6072 uint8_t width; /**< Width. */
6073 bcmolt_epon_oam_ctc_onu_sleep_mode sleep_mode_capability; /**< ONU Sleep Mode Capability */
6074 bcmolt_epon_oam_ctc_onu_early_wake_capability early_wake_up_capability; /**< ONU Early Wake-Up Capability */
6075 } onu_power_saving_capabilities;
6076
6077 struct
6078 {
6079 uint8_t width; /**< Width. */
6080 bcmolt_epon_oam_ctc_early_wake_up_mode early_wake_up; /**< 0x00: Enable; 0x01: Disable; 0xFF: Not Supported; Others: Reserved */
6081 uint8_t sleep_duration_max[6]; /**< Maximum refresh time in power saving (Unit: TQ) */
6082 } onu_power_saving_config;
6083
6084 struct
6085 {
6086 uint8_t width; /**< Width. */
6087 uint16_t optical_los_time; /**< Time of Optical LoS in Protection Switching (Unit: ms) */
6088 uint16_t mac_los_time; /**< Time of MAC LoS in Protection Switching (Unit: ms) */
6089 } onu_protection_parameters;
6090
6091 struct
6092 {
6093 uint8_t width; /**< Width. */
6094 bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state state; /**< Indicates whether disable port automatically when detecting the port loopback */
6095 } port_disable_on_loop_detected;
6096
6097 struct
6098 {
6099 uint8_t width; /**< Width. */
6100 uint32_t aging_time; /**< MAC Aging Time (Unit: s) */
6101 } mac_aging_time;
6102
6103 struct
6104 {
6105 uint8_t width; /**< Width. */
6106 bcmolt_epon_oam_ctc_monitoring_status monitoring_status; /**< Monitoring Status. */
6107 uint32_t monitoring_period; /**< Performance Monitoring Period (Unit: s) */
6108 } performance_monitoring_status;
6109
6110 struct
6111 {
6112 uint8_t width; /**< Width. */
6113 uint64_t stats_field1; /**< Downstream DropEvents, Downstream Fragments, Downstream Discards */
6114 uint64_t stats_field2; /**< Upstream DropEvents, Upstream Fragments, Upstream Discards */
6115 uint64_t stats_field3; /**< Downstream Octets, Downstream Jabbers, Downstream Erros */
6116 uint64_t stats_field4; /**< Upstream Octets, Upstream Jabbers, Upstream Errors */
6117 uint64_t stats_field5; /**< Downstream Frames, Downstream Frames 64 Octets, Status Change Times */
6118 uint64_t stats_field6; /**< Upstream Frames, Downstream Frames 65 to 127 Octets */
6119 uint64_t stats_field7; /**< Downstream Broadcast Frames, Downstream Frames 128 to 255 Octets */
6120 uint64_t stats_field8; /**< Upstream Broadcast Frames, Downstream Frames 256 to 511 Octets */
6121 uint64_t stats_field9; /**< Downstream Multicast Frames, Downstream Frames 512 to 1023 Octets */
6122 uint64_t stats_field10; /**< Upstream Multicast Frames, Downstream Frames 1024 to 1518 Octets */
6123 uint64_t stats_field11; /**< Downstream CRC Errored Frames, Upstream Frames 64 Octets */
6124 uint64_t stats_field12; /**< Upstream CRC Errored Frames, Upstream Frames 65 to 127 Octets */
6125 uint64_t stats_field13; /**< Downstream Undersize Frames, Upstream Frames 128 to 255 Octets */
6126 uint64_t stats_field14; /**< Upstream Undersize Frames, Upstream Frames 256 to 511 Octets */
6127 uint64_t stats_field15; /**< Downstream Oversize Frames, Upstream Frames 512 to 1023 Octets */
6128 uint64_t stats_field16; /**< Upstream Oversize Frames, Upstream Frames 1024 to 1518 Octets */
6129 } performance_monitoring_current_data;
6130
6131 struct
6132 {
6133 uint8_t width; /**< Width. */
6134 uint64_t stats_field1; /**< Downstream DropEvents, Downstream Fragments, Downstream Discards */
6135 uint64_t stats_field2; /**< Upstream DropEvents, Upstream Fragments, Upstream Discards */
6136 uint64_t stats_field3; /**< Downstream Octets, Downstream Jabbers, Downstream Erros */
6137 uint64_t stats_field4; /**< Upstream Octets, Upstream Jabbers, Upstream Errors */
6138 uint64_t stats_field5; /**< Downstream Frames, Downstream Frames 64 Octets, Status Change Times */
6139 uint64_t stats_field6; /**< Upstream Frames, Downstream Frames 65 to 127 Octets */
6140 uint64_t stats_field7; /**< Downstream Broadcast Frames, Downstream Frames 128 to 255 Octets */
6141 uint64_t stats_field8; /**< Upstream Broadcast Frames, Downstream Frames 256 to 511 Octets */
6142 uint64_t stats_field9; /**< Downstream Multicast Frames, Downstream Frames 512 to 1023 Octets */
6143 uint64_t stats_field10; /**< Upstream Multicast Frames, Downstream Frames 1024 to 1518 Octets */
6144 uint64_t stats_field11; /**< Downstream CRC Errored Frames, Upstream Frames 64 Octets */
6145 uint64_t stats_field12; /**< Upstream CRC Errored Frames, Upstream Frames 65 to 127 Octets */
6146 uint64_t stats_field13; /**< Downstream Undersize Frames, Upstream Frames 128 to 255 Octets */
6147 uint64_t stats_field14; /**< Upstream Undersize Frames, Upstream Frames 256 to 511 Octets */
6148 uint64_t stats_field15; /**< Downstream Oversize Frames, Upstream Frames 512 to 1023 Octets */
6149 uint64_t stats_field16; /**< Upstream Oversize Frames, Upstream Frames 1024 to 1518 Octets */
6150 } performance_monitoring_history_data;
6151
6152 struct
6153 {
6154 uint16_t action; /**< Action. */
6155 bcmos_mac_address onu_id; /**< Onu Id. */
6156 uint32_t opt_id; /**< Optical Transmitter Id. */
6157 } onu_tx_power_supply_control;
6158 } u;
6159} bcmolt_epon_oam_ctc_ext_attribute_value_base;
6160
6161/** CTC File Check Base.
6162 */
6163typedef struct bcmolt_epon_oam_ctc_file_check_base
6164{
6165 bcmolt_epon_oam_ctc_file_check_opcode opcode; /**< Opcode. */
6166 union
6167 {
6168 struct
6169 {
6170 uint32_t file_size; /**< File Size. */
6171 } end_download_request;
6172
6173 struct
6174 {
6175 bcmolt_epon_oam_ctc_rps_code rps_code; /**< RPS Code. */
6176 } end_download_response;
6177 } u;
6178} bcmolt_epon_oam_ctc_file_check_base;
6179
6180/** CTC OUI Version Pair.
6181 */
6182typedef struct bcmolt_epon_oam_ctc_oui_version_pair
6183{
6184 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
6185 uint8_t version; /**< Version. */
6186} bcmolt_epon_oam_ctc_oui_version_pair;
6187
6188/** CTC Performance Monitoring Data.
6189 */
6190typedef struct bcmolt_epon_oam_ctc_performance_monitoring_data
6191{
6192 uint64_t downstream_drop_events; /**< Downstream Drop Events. */
6193 uint64_t upstream_drop_events; /**< Upstream Drop Events. */
6194 uint64_t downstream_octets; /**< Downstream Octets. */
6195 uint64_t upstream_octets; /**< Upstream Octets. */
6196 uint64_t downstream_frames; /**< Downstream Frames. */
6197 uint64_t upstream_frames; /**< Upstream Frames. */
6198 uint64_t downstream_broadcast_frames; /**< Downstream Broadcast Frames. */
6199 uint64_t upstream_broadcast_frames; /**< Upstream Broadcast Frames. */
6200 uint64_t downstream_multicast_frames; /**< Downstream Multicast Frames. */
6201 uint64_t upstream_multicast_frames; /**< Upstream Multicast Frames. */
6202 uint64_t downstream_crc_errored_frames; /**< Downstream CRC Errored Frames. */
6203 uint64_t upstream_crc_errored_frames; /**< Upstream CRC Errored Frames. */
6204 uint64_t downstream_undersize_frames; /**< Downstream Undersize Frames. */
6205 uint64_t upstream_undersize_frames; /**< Upstream Undersize Frames. */
6206 uint64_t downstream_oversize_frames; /**< Downstream Oversize Frames. */
6207 uint64_t upstream_oversize_frames; /**< Upstream Oversize Frames. */
6208 uint64_t downstream_fragments; /**< Downstream Fragments. */
6209 uint64_t upstream_fragments; /**< Upstream Fragments. */
6210 uint64_t downstream_jabbers; /**< Downstream Jabbers. */
6211 uint64_t upstream_jabbers; /**< Upstream Jabbers. */
6212 uint64_t downstream_frames64octets; /**< Downstream Frames 64 Octets. */
6213 uint64_t downstream_frames65to127octets; /**< Downstream Frames 65 to 127 Octets. */
6214 uint64_t downstream_frames128to255octets; /**< Downstream Frames 128 to 255 Octets. */
6215 uint64_t downstream_frames256to511octets; /**< Downstream Frames 256 to 511 Octets. */
6216 uint64_t downstream_frames512to1023octets; /**< Downstream Frames 512 to 1023 Octets. */
6217 uint64_t downstream_frames1024to1518octets; /**< Downstream Frames 1024 to 1518 Octets. */
6218 uint64_t upstream_frames64octets; /**< Upstream Frames 64 Octets. */
6219 uint64_t upstream_frames65to127octets; /**< Upstream Frames 65 to 127 Octets. */
6220 uint64_t upstream_frames128to255octets; /**< Upstream Frames 128 to 255 Octets. */
6221 uint64_t upstream_frames256to511octets; /**< Upstream Frames 256 to 511 Octets. */
6222 uint64_t upstream_frames512to1023octets; /**< Upstream Frames 512 to 1023 Octets. */
6223 uint64_t upstream_frames1024to1518octets; /**< Upstream Frames 1024 to 1518 Octets. */
6224 uint64_t downstream_discards; /**< Downstream Discards. */
6225 uint64_t upstream_discards; /**< Upstream Discards. */
6226 uint64_t downstream_errors; /**< Downstream Errors. */
6227 uint64_t upstream_errors; /**< Upstream Errors. */
6228 uint64_t status_change_times; /**< Status Change Times. */
6229} bcmolt_epon_oam_ctc_performance_monitoring_data;
6230
6231/** CTC TFTP Base.
6232 */
6233typedef struct bcmolt_epon_oam_ctc_tftp_base
6234{
6235 bcmolt_epon_oam_ctc_tftp_op_code opcode; /**< Opcode. */
6236 union
6237 {
6238 struct
6239 {
6240 uint32_t filename_count; /**< Number of elements in filename. */
6241 uint8_t *filename; /**< Filename. */
6242 uint32_t mode_count; /**< Number of elements in mode. */
6243 uint8_t *mode; /**< Mode. */
6244 } write_request;
6245
6246 struct
6247 {
6248 uint16_t block_number; /**< Block Number. */
6249 uint32_t data_count; /**< Number of elements in data. */
6250 uint8_t *data; /**< Data. */
6251 } data;
6252
6253 struct
6254 {
6255 uint16_t block_number; /**< Block Number. */
6256 } ack;
6257
6258 struct
6259 {
6260 uint16_t code; /**< Code. */
6261 uint32_t message_count; /**< Number of elements in message. */
6262 uint8_t *message; /**< Message. */
6263 } error;
6264 } u;
6265} bcmolt_epon_oam_ctc_tftp_base;
6266
6267/** CTC S/W Mirror Base.
6268 */
6269typedef struct bcmolt_epon_oam_ctc_swmirror_base
6270{
6271 bcmolt_epon_oam_ctc_swmirror_opcode opcode; /**< Opcode. */
6272 union
6273 {
6274 struct
6275 {
6276 bcmolt_epon_oam_ctc_swmirror_activate_image_flag flag; /**< Flag. */
6277 } activate_image_request;
6278
6279 struct
6280 {
6281 bcmolt_epon_oam_ctc_swmirror_ack ack; /**< Ack. */
6282 } activate_image_response;
6283 } u;
6284} bcmolt_epon_oam_ctc_swmirror_base;
6285
6286/** CTC Software Download Prov Base.
6287 */
6288typedef struct bcmolt_epon_oam_ctc_software_download_prov_base
6289{
6290 bcmolt_epon_oam_ctc_software_download_data_type data_type; /**< Data Type. */
6291 union
6292 {
6293 struct
6294 {
6295 uint16_t tid; /**< TID. */
6296 bcmolt_epon_oam_ctc_tftp_base tftp; /**< TFTP. */
6297 } tftp;
6298
6299 struct
6300 {
6301 uint16_t tid; /**< TID. */
6302 bcmolt_epon_oam_ctc_file_check_base file_check; /**< File Check. */
6303 } data_checking;
6304
6305 struct
6306 {
6307 uint16_t tid; /**< TID. */
6308 bcmolt_epon_oam_ctc_swmirror_base swmirror; /**< S/W Mirror. */
6309 } swmirroring;
6310
6311 struct
6312 {
6313 uint16_t tid; /**< TID. */
6314 bcmolt_epon_oam_ctc_commit_image_base commit_image; /**< Commit Image. */
6315 } commit_image;
6316 } u;
6317} bcmolt_epon_oam_ctc_software_download_prov_base;
6318
6319/** KT Queue Drop Counter.
6320 */
6321typedef struct bcmolt_epon_oam_ktqueue_drop_counter
6322{
6323 uint32_t txbytes; /**< TX Bytes. */
6324 uint32_t dropped_frames; /**< Dropped Frames. */
6325} bcmolt_epon_oam_ktqueue_drop_counter;
6326
6327/** KT Attribute Value Base.
6328 */
6329typedef struct bcmolt_epon_oam_ktattribute_value_base
6330{
6331 bcmolt_epon_oam_ktleaf_attribute leaf; /**< Leaf. */
6332 uint8_t width; /**< Width. */
6333 union
6334 {
6335 struct
6336 {
6337 bcmos_bool is_activated; /**< Whether or not shaping is enabled */
6338 uint24_t rate; /**< Downstream shaping rate of the port in Kbps */
6339 } port_downstream_rate_shaping;
6340
6341 struct
6342 {
6343 bcmos_bool is_activated; /**< Whether or not this feature is enabled */
6344 uint8_t limit; /**< Max number of learned MACs */
6345 } onu_mac_limit;
6346
6347 struct
6348 {
6349 bcmos_bool block; /**< Whether or not to block user traffic */
6350 } block_unblock_onu_traffic;
6351
6352 struct
6353 {
6354 uint16_t optics_module_temperature; /**< Optics Module Temperature. */
6355 uint16_t txoptics_power; /**< TX Optics Power. */
6356 uint16_t rxoptics_power; /**< RX Optics Power. */
6357 } onu_diagnostics;
6358
6359 struct
6360 {
6361 uint8_t upstream_queues_count; /**< Number of elements in Upstream Queues */
6362 bcmolt_epon_oam_ktqueue_drop_counter *upstream_queues; /**< Upstream Queues. */
6363 } onu_queue_drop_counter;
6364
6365 struct
6366 {
6367 uint16_t counter_bit_mask; /**< Counter Bit Mask. */
6368 uint64_t txframes; /**< TX Frames. */
6369 uint64_t txbytes; /**< TX Bytes. */
6370 uint64_t txmulticast; /**< TX Multicast. */
6371 uint64_t txbroadcast; /**< TX Broadcast. */
6372 uint64_t txdropped; /**< TX Dropped. */
6373 uint64_t rxframes; /**< RX Frames. */
6374 uint64_t rxbytes; /**< RX Bytes. */
6375 uint64_t rxmulticast; /**< RX Multicast. */
6376 uint64_t rxbroadcast; /**< RX Broadcast. */
6377 uint64_t rxoversized; /**< RX Oversized. */
6378 uint64_t rxundersized; /**< RX Undersized. */
6379 uint64_t rxcrc_errors; /**< RX CRC Errors. */
6380 } ethernet_port_counter;
6381
6382 struct
6383 {
6384 bcmos_bool enabled; /**< Whether or not RSTP is enabled */
6385 } ethernet_port_rstp;
6386
6387 struct
6388 {
6389 bcmos_bool enabled; /**< Whether or not loop detect is enabled */
6390 uint8_t interval; /**< The sending interval of hello packet in seconds */
6391 uint8_t block_time; /**< The block time of the looped port in seconds (0 for permanent) */
6392 } loop_detect;
6393
6394 struct
6395 {
6396 uint16_t counter_bit_mask; /**< Counter Bit Mask. */
6397 uint64_t rxhec_errors; /**< RX HEC Errors. */
6398 uint64_t rxregister; /**< RX Register. */
6399 uint64_t txregister_ack; /**< TX Register ACK. */
6400 uint64_t rxgate_frames; /**< RX Gate Frames. */
6401 uint64_t txreport_frames; /**< TX Report Frames. */
6402 } onu_mpcp_counter;
6403
6404 struct
6405 {
6406 bcmos_bool enabled; /**< Whether or not optical power alarm is enabled */
6407 bcmolt_epon_oam_ktoptical_power_alarm_status alarm_status; /**< Alarm Status. */
6408 } optical_power_alarm_status;
6409
6410 struct
6411 {
6412 uint8_t macs_count; /**< Number of elements in Macs */
6413 bcmos_mac_address *macs; /**< Macs. */
6414 } static_mac;
6415 } u;
6416} bcmolt_epon_oam_ktattribute_value_base;
6417
6418/** KT Action Value Base.
6419 */
6420typedef struct bcmolt_epon_oam_ktaction_value_base
6421{
6422 bcmolt_epon_oam_ktleaf_action leaf; /**< Leaf. */
6423 union
6424 {
6425 struct
6426 {
6427 uint32_t unknown_count; /**< Number of elements in unknown. */
6428 uint8_t *unknown; /**< Unknown. */
6429 } restore_onu;
6430
6431 struct
6432 {
6433 uint8_t length; /**< The length of this structure */
6434 bcmos_bool is_power_off; /**< Whether or not the power should be off */
6435 uint8_t duration; /**< The length of time to power off for in seconds (0xFF for permanent) */
6436 } txpower_off;
6437 } u;
6438} bcmolt_epon_oam_ktaction_value_base;
6439
6440/** CTC Var Container Base.
6441 */
6442typedef struct bcmolt_epon_oam_ctc_var_container_base
6443{
6444 bcmolt_epon_oam_ctc_branch branch; /**< Branch. */
6445 union
6446 {
6447 struct
6448 {
6449 uint16_t leaf; /**< Leaf. */
6450 uint8_t length; /**< Length. */
6451 } def;
6452
6453 struct
6454 {
6455 uint32_t unknown_count; /**< Number of elements in unknown. */
6456 uint8_t *unknown; /**< Unknown. */
6457 } end;
6458
6459 struct
6460 {
6461 bcmolt_epon_oam_ctc_attribute_value_base attribute; /**< Attribute. */
6462 } attribute;
6463
6464 struct
6465 {
6466 bcmolt_epon_oam_ctc_action_value action; /**< Action. */
6467 } action;
6468
6469 struct
6470 {
6471 bcmolt_epon_oam_ctc_old_management_object_base object; /**< Object. */
6472 } old_management_object;
6473
6474 struct
6475 {
6476 bcmolt_epon_oam_ctc_management_object_base object; /**< Object. */
6477 } management_object;
6478
6479 struct
6480 {
6481 bcmolt_epon_oam_ctc_ext_attribute_value_base attribute; /**< Attribute. */
6482 } ext_attribute;
6483
6484 struct
6485 {
6486 bcmolt_epon_oam_ctc_ext_action_value_base attribute; /**< Attribute. */
6487 } ext_action;
6488
6489 struct
6490 {
6491 bcmolt_epon_oam_ktattribute_value_base attribute; /**< Attribute. */
6492 } ktattribute;
6493
6494 struct
6495 {
6496 bcmolt_epon_oam_ktaction_value_base attribute; /**< Attribute. */
6497 } ktaction;
6498 } u;
6499} bcmolt_epon_oam_ctc_var_container_base;
6500
6501/** CTC Var Descriptor.
6502 */
6503typedef struct bcmolt_epon_oam_ctc_var_descriptor
6504{
6505 bcmolt_epon_oam_ctc_branch branch; /**< Branch. */
6506 union
6507 {
6508 struct
6509 {
6510 uint16_t leaf; /**< Leaf. */
6511 } def;
6512
6513 struct
6514 {
6515 uint32_t unknown_count; /**< Number of elements in unknown. */
6516 uint8_t *unknown; /**< Unknown. */
6517 } end;
6518
6519 struct
6520 {
6521 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
6522 } attribute;
6523
6524 struct
6525 {
6526 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
6527 } action;
6528
6529 struct
6530 {
6531 bcmolt_epon_oam_ctc_old_management_object_base value; /**< Value. */
6532 } old_management_object;
6533
6534 struct
6535 {
6536 bcmolt_epon_oam_ctc_management_object_base value; /**< Value. */
6537 } management_object;
6538
6539 struct
6540 {
6541 bcmolt_epon_oam_ctc_leaf_ext_attribute leaf; /**< Leaf. */
6542 } ext_attribute;
6543
6544 struct
6545 {
6546 bcmolt_epon_oam_ctc_leaf_ext_action leaf; /**< Leaf. */
6547 } ext_action;
6548
6549 struct
6550 {
6551 bcmolt_epon_oam_ktleaf_attribute leaf; /**< Leaf. */
6552 } ktattribute;
6553
6554 struct
6555 {
6556 bcmolt_epon_oam_ktleaf_action leaf; /**< Leaf. */
6557 } ktaction;
6558 } u;
6559} bcmolt_epon_oam_ctc_var_descriptor;
6560
6561/** KT ONU Event Base.
6562 */
6563typedef struct bcmolt_epon_oam_ktonu_event_base
6564{
6565 bcmolt_epon_oam_ktonu_event_type type; /**< Type. */
6566 union
6567 {
6568 struct
6569 {
6570 bcmolt_epon_oam_ktloop_detect_event event; /**< Event. */
6571 } loop_detect;
6572
6573 struct
6574 {
6575 bcmolt_epon_oam_ktoptical_power_alarm_event event; /**< Event. */
6576 } optical_power_alarm;
6577 } u;
6578} bcmolt_epon_oam_ktonu_event_base;
6579
6580/** CTC Vendor Extended Base.
6581 */
6582typedef struct bcmolt_epon_oam_ctc_vendor_extended_base
6583{
6584 bcmolt_epon_oam_ctc_opcode op; /**< Op. */
6585 union
6586 {
6587 struct
6588 {
6589 uint32_t vars_count; /**< Number of elements in vars. */
6590 bcmolt_epon_oam_ctc_var_descriptor *vars; /**< Vars. */
6591 } get_request;
6592
6593 struct
6594 {
6595 uint32_t vars_count; /**< Number of elements in vars. */
6596 bcmolt_epon_oam_ctc_var_container_base *vars; /**< Vars. */
6597 } get_response;
6598
6599 struct
6600 {
6601 uint32_t vars_count; /**< Number of elements in vars. */
6602 bcmolt_epon_oam_ctc_var_container_base *vars; /**< Vars. */
6603 } set_request;
6604
6605 struct
6606 {
6607 uint32_t vars_count; /**< Number of elements in vars. */
6608 bcmolt_epon_oam_ctc_empty_var_container_base *vars; /**< Vars. */
6609 } set_response;
6610
6611 struct
6612 {
6613 uint32_t messages_count; /**< Number of elements in messages. */
6614 bcmolt_epon_oam_ctc_software_download_prov_base *messages; /**< Messages. */
6615 } software_download;
6616
6617 struct
6618 {
6619 bcmolt_epon_oam_ctc_onu_auth_code code; /**< Code. */
6620 uint16_t authentication_data_count; /**< Number of elements in Authentication Data */
6621 uint8_t *authentication_data; /**< Authentication Data. */
6622 } onu_authentication;
6623
6624 struct
6625 {
6626 bcmolt_epon_oam_ctc_churning_prov_base value; /**< Value. */
6627 } churning;
6628
6629 struct
6630 {
6631 bcmolt_epon_oam_ctc_dba_prov_base value; /**< Value. */
6632 } dba;
6633
6634 struct
6635 {
6636 uint32_t events_count; /**< Number of elements in events. */
6637 bcmolt_epon_oam_ktonu_event_base *events; /**< Events. */
6638 } ktonu_event;
6639
6640 struct
6641 {
6642 bcmolt_epon_oam_ctc_event_base events; /**< Events. */
6643 } event;
6644 } u;
6645} bcmolt_epon_oam_ctc_vendor_extended_base;
6646
6647/** Dasan Classifier Base.
6648 */
6649typedef struct bcmolt_epon_oam_dasan_classifier_base
6650{
6651 bcmolt_epon_oam_dasan_classifier_command command; /**< Command. */
6652 bcmolt_epon_oam_dasan_direction direction; /**< Direction. */
6653 union
6654 {
6655 struct
6656 {
6657 bcmolt_epon_oam_dasan_filter_field field; /**< Field. */
6658 uint16_t value; /**< Value. */
6659 bcmolt_epon_oam_dasan_filter_action action; /**< Action. */
6660 } add_filter;
6661
6662 struct
6663 {
6664 bcmolt_epon_oam_dasan_filter_field field; /**< Field. */
6665 uint16_t value; /**< Value. */
6666 bcmolt_epon_oam_dasan_filter_action action; /**< Action. */
6667 } remove_filter;
6668
6669 struct
6670 {
6671 bcmolt_epon_oam_dasan_pri_type pri_type; /**< Pri Type. */
6672 uint8_t in_priority; /**< In Priority. */
6673 uint8_t out_priority; /**< Out Priority. */
6674 } queue_map;
6675
6676 struct
6677 {
6678 bcmolt_epon_oam_dasan_filter_field field; /**< Field. */
6679 uint16_t value; /**< Value. */
6680 uint8_t pri_vlan; /**< Pri VLAN. */
6681 uint8_t pri_queue; /**< The queue id the frame will be to */
6682 } add_priority_for_vlan;
6683 } u;
6684} bcmolt_epon_oam_dasan_classifier_base;
6685
6686/** Dasan Port.
6687 */
6688typedef struct bcmolt_epon_oam_dasan_port
6689{
6690 uint16_t port_number; /**< Port Number. */
6691 bcmos_bool enabled; /**< Enabled. */
6692 bcmos_bool auto_negotiation_enabled; /**< Auto-Negotiation Enabled. */
6693 uint16_t speed; /**< Speed. */
6694 uint8_t reserved; /**< Reserved. */
6695 bcmos_bool is_full_duplex; /**< Is Full Duplex. */
6696 uint16_t learning_table_size; /**< Learning Table Size. */
6697} bcmolt_epon_oam_dasan_port;
6698
6699/** Dasan VLAN.
6700 */
6701typedef struct bcmolt_epon_oam_dasan_vlan
6702{
6703 uint8_t reserved; /**< Reserved. */
6704 bcmos_bool is_tagged; /**< Is Tagged. */
6705 uint16_t vlan_id; /**< VLAN ID. */
6706} bcmolt_epon_oam_dasan_vlan;
6707
6708/** Dasan VLAN Port.
6709 */
6710typedef struct bcmolt_epon_oam_dasan_vlan_port
6711{
6712 uint16_t port_number; /**< Port Number. */
6713 uint16_t vlans_count; /**< Number of elements in VLANs */
6714 bcmolt_epon_oam_dasan_vlan *vlans; /**< VLANs. */
6715 uint16_t pvid; /**< PVID. */
6716} bcmolt_epon_oam_dasan_vlan_port;
6717
6718/** Dasan Port Config.
6719 */
6720typedef struct bcmolt_epon_oam_dasan_port_config
6721{
6722 uint8_t port_number; /**< Port Number. */
6723 bcmos_bool is_linked; /**< Is Linked. */
6724 uint8_t speed; /**< Speed in Mbps */
6725 bcmos_bool is_full_duplex; /**< Is Full Duplex. */
6726} bcmolt_epon_oam_dasan_port_config;
6727
6728/** Dasan Port Stats.
6729 */
6730typedef struct bcmolt_epon_oam_dasan_port_stats
6731{
6732 uint64_t in_good_octets; /**< In Good Octets. */
6733 uint32_t in_good_frames; /**< In Good Frames. */
6734 uint32_t in_broadcast; /**< In Broadcast. */
6735 uint32_t in_multicast; /**< In Multicast. */
6736 uint64_t out_good_octets; /**< Out Good Octets. */
6737 uint32_t out_good_frames; /**< Out Good Frames. */
6738 uint32_t out_broadcast; /**< Out Broadcast. */
6739 uint32_t out_multicast; /**< Out Multicast. */
6740} bcmolt_epon_oam_dasan_port_stats;
6741
6742/** Dasan Port Error Stats.
6743 */
6744typedef struct bcmolt_epon_oam_dasan_port_error_stats
6745{
6746 uint32_t undersized; /**< Undersized. */
6747 uint32_t oversized; /**< Oversized. */
6748 uint32_t jabber; /**< Jabber. */
6749 uint32_t in_mac_receive_error; /**< In MAC Receive Error. */
6750 uint32_t in_fcs_error; /**< In FCS Error. */
6751} bcmolt_epon_oam_dasan_port_error_stats;
6752
6753/** Dasan Stats Seq Base.
6754 */
6755typedef struct bcmolt_epon_oam_dasan_stats_seq_base
6756{
6757 bcmolt_epon_oam_dasan_stats_seq_type type; /**< Type. */
6758 union
6759 {
6760 struct
6761 {
6762 bcmolt_epon_oam_dasan_port_stats port0; /**< Port 0. */
6763 bcmolt_epon_oam_dasan_port_stats port1; /**< Port 1. */
6764 } port0and1;
6765
6766 struct
6767 {
6768 bcmolt_epon_oam_dasan_port_stats port2; /**< Port 2. */
6769 bcmolt_epon_oam_dasan_port_stats port3; /**< Port 3. */
6770 } port2and3;
6771
6772 struct
6773 {
6774 bcmolt_epon_oam_dasan_port_error_stats port0; /**< Port 0. */
6775 bcmolt_epon_oam_dasan_port_error_stats port1; /**< Port 1. */
6776 bcmolt_epon_oam_dasan_port_error_stats port2; /**< Port 2. */
6777 bcmolt_epon_oam_dasan_port_error_stats port3; /**< Port 3. */
6778 } errors;
6779 } u;
6780} bcmolt_epon_oam_dasan_stats_seq_base;
6781
6782/** Dasan Stat Value.
6783 */
6784typedef struct bcmolt_epon_oam_dasan_stat_value
6785{
6786 bcmolt_epon_oam_dasan_stat_id id; /**< ID. */
6787 uint32_t value; /**< Value. */
6788} bcmolt_epon_oam_dasan_stat_value;
6789
6790/** Dasan Config Base.
6791 */
6792typedef struct bcmolt_epon_oam_dasan_config_base
6793{
6794 bcmolt_epon_oam_dasan_opcode opcode; /**< Opcode. */
6795 union
6796 {
6797 struct
6798 {
6799 uint16_t ports_count; /**< Number of elements in Ports */
6800 bcmolt_epon_oam_dasan_port *ports; /**< Ports. */
6801 } port_config;
6802
6803 struct
6804 {
6805 uint16_t ports_count; /**< Number of elements in Ports */
6806 bcmolt_epon_oam_dasan_vlan_port *ports; /**< Ports. */
6807 } set_vlan;
6808
6809 struct
6810 {
6811 uint16_t llid; /**< LLID. */
6812 uint64_t op; /**< Op. */
6813 uint16_t profile_op; /**< Profile Op. */
6814 uint16_t value_size; /**< Value Size. */
6815 uint8_t ports_count; /**< Number of elements in Ports */
6816 bcmolt_epon_oam_dasan_port_config *ports; /**< Ports. */
6817 } get_onu_config;
6818
6819 struct
6820 {
6821 uint8_t reserved; /**< Reserved. */
6822 bcmos_bool enable; /**< Enable. */
6823 uint16_t max_age; /**< The amount of time in seconds that the bridge spends in the Blocking state without receiving a BPDU before it transitions to the Listening state */
6824 uint16_t forward_delay; /**< The amount of time in seconds the bridge spends in the Listening and Learning states before forwarding packets */
6825 uint16_t hello_time; /**< The amount of time in seconds the Root Bridge waits between sending BPDUs */
6826 } set_stp;
6827
6828 struct
6829 {
6830 uint16_t enable_time; /**< Time in seconds to re-enable the TX */
6831 } set_txpower_off;
6832
6833 struct
6834 {
6835 uint64_t llid_bitmap; /**< LLID Bitmap. */
6836 bcmos_bool enable; /**< Enable. */
6837 uint8_t block_cap; /**< Block Cap. */
6838 uint8_t send_cap; /**< Send Cap. */
6839 uint8_t olt_mac_cap; /**< OLT MAC Cap. */
6840 uint32_t send_period; /**< Hello time in RSTP terms */
6841 uint32_t block_time; /**< Time to disable port if looped */
6842 bcmos_mac_address olt_mac; /**< OLT MAC. */
6843 } set_loop_detect;
6844
6845 struct
6846 {
6847 uint64_t llid_bitmap; /**< LLID Bitmap. */
6848 } set_loop_detect_unblock;
6849
6850 struct
6851 {
6852 bcmolt_epon_oam_dasan_classifier_base classifier; /**< Classifier. */
6853 } classifier;
6854
6855 struct
6856 {
6857 uint16_t llid; /**< LLID. */
6858 uint32_t op; /**< Op. */
6859 uint16_t info_count; /**< Number of elements in Info */
6860 uint8_t *info; /**< Info. */
6861 } onu_version;
6862
6863 struct
6864 {
6865 uint16_t llid; /**< LLID. */
6866 uint8_t boot_mode; /**< Boot Mode. */
6867 uint8_t active; /**< Active. */
6868 uint8_t image1string[16]; /**< Image 1 String. */
6869 uint8_t image2string[16]; /**< Image 2 String. */
6870 } onu_flash_firmware_version;
6871
6872 struct
6873 {
6874 uint16_t llid; /**< LLID. */
6875 uint8_t active; /**< Active. */
6876 uint64_t build_time; /**< Build Time. */
6877 } onu_active_image_time;
6878
6879 struct
6880 {
6881 uint16_t llid; /**< LLID. */
6882 uint64_t op; /**< Op. */
6883 uint32_t sequences_count; /**< Number of elements in sequences. */
6884 bcmolt_epon_oam_dasan_stats_seq_base *sequences; /**< Sequences. */
6885 } onu_statistic;
6886
6887 struct
6888 {
6889 uint16_t llid_bitmap; /**< LLID Bitmap. */
6890 uint8_t statistics_count; /**< Number of elements in Statistics */
6891 bcmolt_epon_oam_dasan_stat_value *statistics; /**< Statistics. */
6892 } onu_statistic_get;
6893
6894 struct
6895 {
6896 bcmos_bool enable; /**< Enable. */
6897 uint8_t max_groups; /**< Max Groups. */
6898 } onu_igmp_set;
6899
6900 struct
6901 {
6902 bcmos_bool enable; /**< Enable. */
6903 } onu_port_igmp_filter;
6904
6905 struct
6906 {
6907 uint8_t reserved; /**< Reserved. */
6908 bcmos_bool enable; /**< Enable. */
6909 uint32_t rate; /**< Data rate in kbps */
6910 } onu_shaping;
6911 } u;
6912} bcmolt_epon_oam_dasan_config_base;
6913
6914/** Distinguished Name.
6915 */
6916typedef struct bcmolt_epon_oam_distinguished_name
6917{
6918 uint8_t length; /**< Length. */
6919 uint8_t *name; /**< Name. */
6920} bcmolt_epon_oam_distinguished_name;
6921
6922/** Distinguished Name List.
6923 */
6924typedef struct bcmolt_epon_oam_distinguished_name_list
6925{
6926 uint32_t names_count; /**< Number of elements in names. */
6927 bcmolt_epon_oam_distinguished_name *names; /**< Names. */
6928} bcmolt_epon_oam_distinguished_name_list;
6929
6930/** A list of MAC addresses in DPoE OAM format
6931 */
6932typedef struct bcmolt_epon_oam_dpoe_mac_table
6933{
6934 uint32_t mac_address_count; /**< Number of elements in mac_address. */
6935 bcmos_mac_address *mac_address; /**< List of MAC addresses */
6936} bcmolt_epon_oam_dpoe_mac_table;
6937
6938/** DPoE Action Value Base.
6939 */
6940typedef struct bcmolt_epon_oam_dpoe_action_value_base
6941{
6942 bcmolt_epon_oam_dpoe_leaf_action leaf; /**< Leaf. */
6943 uint8_t width; /**< Width. */
6944 union
6945 {
6946 struct
6947 {
6948 bcmolt_epon_oam_dpoe_mac_table mac_addess; /**< MAC Addess. */
6949 } add_dyn_mac_addr;
6950
6951 struct
6952 {
6953 bcmolt_epon_oam_dpoe_mac_table mac_address; /**< MAC Address. */
6954 } del_dyn_mac_addr;
6955
6956 struct
6957 {
6958 bcmolt_epon_oam_dpoe_mac_table mac_address; /**< MAC Address. */
6959 } add_static_mac_addr;
6960
6961 struct
6962 {
6963 bcmolt_epon_oam_dpoe_mac_table mac_address; /**< MAC Address. */
6964 } del_static_mac_addr;
6965
6966 struct
6967 {
6968 bcmolt_epon_oam_dpoe_loopback_location location; /**< Location. */
6969 } loopback_enable;
6970
6971 struct
6972 {
6973 bcmolt_epon_oam_dpoe_loopback_location location; /**< Location. */
6974 } loopback_disable;
6975
6976 struct
6977 {
6978 uint16_t disable_time; /**< Units: seconds */
6979 } laser_tx_power_off;
6980
6981 struct
6982 {
6983 bcmolt_epon_oam_dpoe_llid_action llid_action; /**< LLID Action. */
6984 uint16_t llid_value; /**< LLID Value. */
6985 } configure_mcast_llid;
6986 } u;
6987} bcmolt_epon_oam_dpoe_action_value_base;
6988
6989/** DPoE Queue Set.
6990 */
6991typedef struct bcmolt_epon_oam_dpoe_queue_set
6992{
6993 uint8_t queue_count; /**< Queue Count. */
6994 uint8_t *queue_sizes; /**< Queue Sizes. */
6995} bcmolt_epon_oam_dpoe_queue_set;
6996
6997/** DPoE Queue.
6998 */
6999typedef struct bcmolt_epon_oam_dpoe_queue
7000{
7001 bcmolt_epon_oam_dpoe_object_type type; /**< Type. */
7002 uint8_t instance; /**< Instance. */
7003 uint8_t queue; /**< Queue. */
7004} bcmolt_epon_oam_dpoe_queue;
7005
7006/** DPoE Object Context Base.
7007 */
7008typedef struct bcmolt_epon_oam_dpoe_object_context_base
7009{
7010 bcmolt_epon_oam_dpoe_object_type object_type; /**< Object Type. */
7011 uint8_t length; /**< Length. */
7012 union
7013 {
7014 struct
7015 {
7016 uint8_t instance; /**< Instance. */
7017 } onu;
7018
7019 struct
7020 {
7021 uint32_t pon_count; /**< Number of elements in pon. */
7022 uint8_t *pon; /**< PON. */
7023 } network_pon;
7024
7025 struct
7026 {
7027 uint32_t link_count; /**< Number of elements in link. */
7028 uint8_t *link; /**< Link. */
7029 } link;
7030
7031 struct
7032 {
7033 uint32_t port_count; /**< Number of elements in port. */
7034 uint8_t *port; /**< Port. */
7035 } user_port;
7036
7037 struct
7038 {
7039 bcmolt_epon_oam_dpoe_queue queue; /**< Queue. */
7040 } queue;
7041
7042 struct
7043 {
7044 uint16_t mcast_llid; /**< Mcast LLID. */
7045 } mcast_link;
7046
7047 struct
7048 {
7049 uint32_t bridge_count; /**< Number of elements in bridge. */
7050 uint8_t *bridge; /**< Bridge. */
7051 } bridge;
7052
7053 struct
7054 {
7055 uint32_t port_count; /**< Number of elements in port. */
7056 uint8_t *port; /**< Port. */
7057 } bridge_port;
7058 } u;
7059} bcmolt_epon_oam_dpoe_object_context_base;
7060
7061/** DPoE Var Descriptor.
7062 */
7063typedef struct bcmolt_epon_oam_dpoe_var_descriptor
7064{
7065 bcmolt_epon_oam_dpoe_branch branch; /**< Branch. */
7066 union
7067 {
7068 struct
7069 {
7070 uint16_t leaf; /**< Leaf. */
7071 } def;
7072
7073 struct
7074 {
7075 uint32_t unknown_count; /**< Number of elements in unknown. */
7076 uint8_t *unknown; /**< Unknown. */
7077 } end;
7078
7079 struct
7080 {
7081 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
7082 } standard_attribute;
7083
7084 struct
7085 {
7086 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
7087 } standard_action;
7088
7089 struct
7090 {
7091 bcmolt_epon_oam_dpoe_object_context_base object_context; /**< Object Context. */
7092 } object;
7093
7094 struct
7095 {
7096 bcmolt_epon_oam_dpoe_leaf_attribute leaf; /**< Leaf. */
7097 } extended_attribute;
7098
7099 struct
7100 {
7101 bcmolt_epon_oam_dpoe_leaf_action leaf; /**< Leaf. */
7102 } extended_action;
7103 } u;
7104} bcmolt_epon_oam_dpoe_var_descriptor;
7105
7106/** DPoE Statistic Threshold.
7107 */
7108typedef struct bcmolt_epon_oam_dpoe_statistic_threshold
7109{
7110 bcmolt_epon_oam_dpoe_var_descriptor statistic; /**< Statistic. */
7111 uint32_t rising_threshold; /**< Threshold at which to set alarm (0 to disable) */
7112 uint32_t falling_threshold; /**< Threshold at which to clear alarm */
7113} bcmolt_epon_oam_dpoe_statistic_threshold;
7114
7115/** DPoE Field.
7116 */
7117typedef struct bcmolt_epon_oam_dpoe_field
7118{
7119 bcmolt_epon_oam_dpoe_field_code code; /**< Code. */
7120 uint8_t instance; /**< Instance. */
7121} bcmolt_epon_oam_dpoe_field;
7122
7123/** DPoE Rule Result Field V2.
7124 */
7125typedef struct bcmolt_epon_oam_dpoe_rule_result_field_v2
7126{
7127 bcmolt_epon_oam_dpoe_field field; /**< Field. */
7128 uint8_t msb_mask; /**< MSB Mask. */
7129 uint8_t lsb_mask; /**< LSB Mask. */
7130} bcmolt_epon_oam_dpoe_rule_result_field_v2;
7131
7132/** DPoE Rule Result Field.
7133 */
7134typedef struct bcmolt_epon_oam_dpoe_rule_result_field
7135{
7136 bcmolt_epon_oam_dpoe_field field; /**< Field. */
7137} bcmolt_epon_oam_dpoe_rule_result_field;
7138
7139/** A single result of the rule
7140 */
7141typedef struct bcmolt_epon_oam_dpoe_rule_result
7142{
7143 bcmolt_epon_oam_dpoe_result result; /**< Result of the rule */
7144 union
7145 {
7146 struct
7147 {
7148 bcmolt_epon_oam_dpoe_queue queue; /**< Target queue */
7149 } queue;
7150
7151 struct
7152 {
7153 bcmolt_epon_oam_dpoe_rule_result_field_v2 field; /**< Field to set */
7154 uint32_t value_count; /**< Number of elements in value. */
7155 uint8_t *value; /**< Value to set */
7156 } set;
7157
7158 struct
7159 {
7160 bcmolt_epon_oam_dpoe_rule_result_field_v2 field; /**< Field. */
7161 } copy;
7162
7163 struct
7164 {
7165 bcmolt_epon_oam_dpoe_rule_result_field field; /**< Field. */
7166 }
7167 delete;
7168
7169 struct
7170 {
7171 bcmolt_epon_oam_dpoe_rule_result_field field; /**< Field. */
7172 } insert;
7173
7174 struct
7175 {
7176 bcmolt_epon_oam_dpoe_rule_result_field field; /**< Field. */
7177 } replace;
7178
7179 struct
7180 {
7181 bcmolt_epon_oam_dpoe_rule_result_field field; /**< Field. */
7182 } clear_delete;
7183
7184 struct
7185 {
7186 bcmolt_epon_oam_dpoe_rule_result_field field; /**< Field. */
7187 } clear_insert;
7188 } u;
7189} bcmolt_epon_oam_dpoe_rule_result;
7190
7191/** Part of a DPoE OAM rule
7192 */
7193typedef struct bcmolt_epon_oam_dpoe_rule
7194{
7195 bcmolt_epon_oam_rule_type subtype; /**< The Subtype of this piece of the rule */
7196 union
7197 {
7198 struct
7199 {
7200 uint8_t precedence; /**< Precedence of the rule */
7201 } header;
7202
7203 struct
7204 {
7205 bcmolt_epon_oam_dpoe_field field_code; /**< The field to match */
7206 uint8_t msb_mask; /**< Left mask */
7207 uint8_t lsb_mask; /**< Right mask */
7208 bcmolt_epon_oam_rule_operator operator; /**< Match operation */
7209 uint8_t match_value_length; /**< Bytes in match value */
7210 uint8_t *match_value; /**< Value to match */
7211 } clause;
7212
7213 struct
7214 {
7215 bcmolt_epon_oam_dpoe_rule_result result; /**< Result. */
7216 } result;
7217 } u;
7218} bcmolt_epon_oam_dpoe_rule;
7219
7220/** DPoE Shaper.
7221 */
7222typedef struct bcmolt_epon_oam_dpoe_shaper
7223{
7224 uint8_t queue_bitmap; /**< Queue Bitmap. */
7225 uint32_t maximum_rate; /**< Maximum Rate. */
7226 uint16_t burst_size; /**< Burst Size. */
7227} bcmolt_epon_oam_dpoe_shaper;
7228
7229/** DPoE Rate Level.
7230 */
7231typedef struct bcmolt_epon_oam_dpoe_rate_level
7232{
7233 bcmolt_epon_oam_traffic_bitmap traffic_type; /**< Traffic Type. */
7234 uint32_t maximum_rate; /**< Maximum Rate. */
7235} bcmolt_epon_oam_dpoe_rate_level;
7236
7237/** DPoE Event Options.
7238 */
7239typedef struct bcmolt_epon_oam_dpoe_event_options
7240{
7241 uint8_t event_code; /**< Event Code. */
7242 uint8_t enabled_disabled; /**< Enabled / Disabled. */
7243} bcmolt_epon_oam_dpoe_event_options;
7244
7245/** Variable-length list of U16.
7246 */
7247typedef struct bcmolt_epon_oam_u16_list_u8
7248{
7249 uint8_t len; /**< List length. */
7250 uint16_t *val; /**< List contents. */
7251} bcmolt_epon_oam_u16_list_u8;
7252
7253/** DPoE Attribute Value Base.
7254 */
7255typedef struct bcmolt_epon_oam_dpoe_attribute_value_base
7256{
7257 bcmolt_epon_oam_dpoe_leaf_attribute leaf; /**< Leaf. */
7258 uint8_t width; /**< Width. */
7259 union
7260 {
7261 struct
7262 {
7263 uint32_t unknown_count; /**< Number of elements in unknown. */
7264 uint8_t *unknown; /**< Unknown. */
7265 } def;
7266
7267 struct
7268 {
7269 uint16_t sequnce_number; /**< Bit 15, when set, indicates that this is the last message of its sequence. */
7270 } sequence_number;
7271
7272 struct
7273 {
7274 bcmos_mac_address id; /**< The lowest (numerically smallest) MAC address among all MAC addresses associated with the TU interface port of a DPoE ONU */
7275 } onu_id;
7276
7277 struct
7278 {
7279 uint16_t boot_version; /**< Version of bootstrap loader (if any) */
7280 uint32_t boot_crc32; /**< CRC-32 of boot loader serves as additional unique identifier and verification */
7281 uint16_t application_version; /**< Version of main application software running on the DPoE ONU */
7282 uint32_t application_crc32; /**< CRC-32 of application software serves as unique ID and verification */
7283 } firmware_info;
7284
7285 struct
7286 {
7287 uint16_t jedec_id; /**< 16-bit chip manufacturer ID code as assigned by JEDEC */
7288 uint32_t chip_model; /**< Identifies the particular kind of EPN chip. Format defined by chipset vendor */
7289 uint32_t chip_version; /**< Identifies the version or stepping of the chip model. Format defined by chipset vendor */
7290 } chip_info;
7291
7292 struct
7293 {
7294 uint16_t year; /**< BCD */
7295 uint8_t month; /**< BCD */
7296 uint8_t day; /**< BCD */
7297 } date_of_manufacture;
7298
7299 struct
7300 {
7301 uint32_t def_count; /**< Number of elements in def. */
7302 uint8_t *def; /**< Format is defined by the ONU vendor. */
7303 } manufacturer_info;
7304
7305 struct
7306 {
7307 uint16_t bidirectional; /**< Maximum number of links which can both transmit and receive. */
7308 uint16_t downstream_only; /**< In addition to the bidirectional links, the maximum number of LLIDs which can receive data, but not transmit (unidirectional, downstream only) */
7309 } max_logical_links;
7310
7311 struct
7312 {
7313 uint16_t port_count; /**< The total number of TU interface ports on the ONU. */
7314 } num_epon_ports;
7315
7316 struct
7317 {
7318 uint16_t port_count; /**< The number of S1 interfaces on the DPoE ONU. */
7319 } num_uni_ports;
7320
7321 struct
7322 {
7323 uint8_t upstream_queues; /**< Total number of queues available to be assigned to logical links in the upstream direction */
7324 uint8_t up_queues_max_per_link; /**< Maximum number of queues which can be assigned to a single logical link in the upstream direction */
7325 uint8_t up_queue_increment; /**< The smallest allocatable increment of packet buffer memory in the upstream direction, in kilobytes. */
7326 uint8_t downstream_queues; /**< Total number of queues available to be assigned to logical links in the downstream direction */
7327 uint8_t dn_queues_max_per_port; /**< Maximum number of queues which can be assigned to a single UNI port in the downstream direction */
7328 uint8_t dn_queue_increment; /**< The smallest allocatable increment of packet buffer memory in the downstream direction, in kilobytes. */
7329 uint16_t total_packet_buffer; /**< Total packet buffer memory on the ONU (KB) */
7330 uint16_t upstream_packet_buffer; /**< Maximum amount of packet buffer memory which can be allocated to upstream queues */
7331 uint16_t downsream_packet_buffer; /**< Maximum amount of packet buffer memory which can be allocated to downstream queues */
7332 } packet_buffer;
7333
7334 struct
7335 {
7336 uint8_t number_of_queue_sets; /**< Number of Queue Sets */
7337 uint8_t report_values_per_queue_set; /**< Report Values Per Queue Set */
7338 uint16_t *queue_set0; /**< Report Thresholds for Queue Set 0 */
7339 uint16_t *queue_set1; /**< Report Thresholds for Queue Set 1 */
7340 uint16_t *queue_set2; /**< Report Thresholds for Queue Set 2 */
7341 uint16_t *queue_set3; /**< Report Thresholds for Queue Set 3 */
7342 } report_thresholds;
7343
7344 struct
7345 {
7346 bcmolt_epon_oam_dpoe_link_state link_state; /**< Link State. */
7347 } link_state;
7348
7349 struct
7350 {
7351 uint8_t maximum_oam_rate; /**< Maximum OAM Rate. */
7352 uint8_t minimum_oam_rate; /**< Minimum OAM Rate. */
7353 } oam_rate;
7354
7355 struct
7356 {
7357 uint16_t max_mac_allowed; /**< Maximum allowed limit */
7358 } dyn_learn_table_size;
7359
7360 struct
7361 {
7362 uint16_t dynamic_address_age_limit; /**< Units 8.75 ms */
7363 } dyn_learn_age_limit;
7364
7365 struct
7366 {
7367 bcmolt_epon_oam_dpoe_mac_table mac_address; /**< MAC Address. */
7368 } dyn_mac_table;
7369
7370 struct
7371 {
7372 bcmolt_epon_oam_dpoe_mac_table mac_address; /**< MAC Address. */
7373 } static_mac_table;
7374
7375 struct
7376 {
7377 bcmolt_epon_oam_auto_negotiation_capability maximum_capabilities; /**< Maximum Capabilities. */
7378 bcmolt_epon_oam_auto_negotiation_capability current_capabilities; /**< Current Capabilities. */
7379 } port_capability;
7380
7381 struct
7382 {
7383 bcmolt_epon_oam_dpoe_learning_mode learning_mode; /**< 802.1 learning mode always forwards frames. MAC access control mode forwards frames only if the SA of the frame is in the MAC address table for that port; that is, the address has been learned on that port, or provisioned on that port by management. A frame with the same SA attempting to ingress some other port would be discarded. */
7384 } dyn_learn_mode;
7385
7386 struct
7387 {
7388 uint16_t minimum_guaranteed_limit; /**< Minimum Guaranteed Limit. */
7389 } min_mac_limit;
7390
7391 struct
7392 {
7393 uint16_t max_allowed; /**< Max Allowed. */
7394 } max_mac_allowed;
7395
7396 struct
7397 {
7398 uint16_t aggregate_mac_limit; /**< The ONU aggregate dynamic MAC address limit */
7399 } agg_mac_limit;
7400
7401 struct
7402 {
7403 bcmos_bool len_error_discard; /**< If Length Error Discard Enable */
7404 } len_err_discard;
7405
7406 struct
7407 {
7408 bcmos_bool flood_unknown; /**< Flood Unknown DA option */
7409 } flood_unknown;
7410
7411 struct
7412 {
7413 bcmos_bool local_switching; /**< Local Switching option */
7414 } local_switching;
7415
7416 struct
7417 {
7418 uint8_t number_of_links; /**< The number of links to configure. */
7419 bcmolt_epon_oam_dpoe_queue_set *link_configuration; /**< Link Configuration. */
7420 uint8_t number_of_ports; /**< The number of Ports to configure. */
7421 bcmolt_epon_oam_dpoe_queue_set *port_configuration; /**< Port Configuration. */
7422 } queue_config;
7423
7424 struct
7425 {
7426 uint32_t firmware_filename_count; /**< Number of elements in firmware_filename. */
7427 uint8_t *firmware_filename; /**< The filename is a null-terminated ASCII string representing the name of the file as received from the OSS by the vCM. */
7428 } firmware_filename;
7429
7430 struct
7431 {
7432 bcmolt_epon_oam_dpoe_statistic_threshold stat_threshold; /**< Stat Threshold. */
7433 } port_stat_thresh;
7434
7435 struct
7436 {
7437 bcmolt_epon_oam_dpoe_statistic_threshold stat_threshold; /**< Stat Threshold. */
7438 } link_stat_thresh;
7439
7440 struct
7441 {
7442 uint16_t time; /**< Timeout value in sec */
7443 } key_expiry_time;
7444
7445 struct
7446 {
7447 bcmolt_epon_oam_dpoe_encryption_mode encryption_method; /**< Encryption Method. */
7448 } encrypt_mode;
7449
7450 struct
7451 {
7452 bcmolt_epon_oam_dpoe_rule rule; /**< Rule. */
7453 } port_ingress_rule;
7454
7455 struct
7456 {
7457 bcmolt_epon_oam_dpoe_field_code field_code; /**< Field Code. */
7458 bcmolt_epon_oam_dpoe_layer_select layer_select; /**< Layer Select. */
7459 uint8_t bit_word_offset; /**< 32-bit Word Offset. */
7460 uint8_t bit_offset; /**< Bit Offset. */
7461 uint8_t bit_width; /**< Bit Width. */
7462 uint8_t reference_count; /**< Reference Count. */
7463 } lue_field;
7464
7465 struct
7466 {
7467 uint16_t tpid; /**< Alternate C-VLAN TPID */
7468 bcmos_bool insert; /**< Use this TPID when inserting C-VLAN tags */
7469 } alt_cvlan_ethertype;
7470
7471 struct
7472 {
7473 uint16_t tpid; /**< Alternate S-VLAN TPID */
7474 bcmos_bool insert; /**< Use this TPID when inserting S-VLAN tags */
7475 } alt_svlan_ethertype;
7476
7477 struct
7478 {
7479 uint32_t limit; /**< The maximum number of broadcast packets allowed from Ethernet port 1 in 1 second. */
7480 } bc_rate_limit;
7481
7482 struct
7483 {
7484 bcmolt_epon_oam_traffic_bitmap traffic_types; /**< Traffic Types. */
7485 bcmolt_epon_oam_rate_units rate_units; /**< Rate Units. */
7486 uint8_t number_of_shapers; /**< Number of Shapers. */
7487 bcmolt_epon_oam_dpoe_shaper *shapers; /**< Shapers. */
7488 } egress_shaping;
7489
7490 struct
7491 {
7492 bcmolt_epon_oam_rate_units rate_units; /**< Rate Units. */
7493 uint8_t number_of_rate_levels; /**< Number of Rate Levels. */
7494 bcmolt_epon_oam_dpoe_rate_level *rate_levels; /**< Rate Levels. */
7495 } ingress_policing;
7496
7497 struct
7498 {
7499 bcmolt_epon_oam_dpoe_fec_mode rx_down; /**< Rx/Down. */
7500 bcmolt_epon_oam_dpoe_fec_mode tx_up; /**< Tx/Up. */
7501 } fec_mode;
7502
7503 struct
7504 {
7505 uint32_t man_name_count; /**< Number of elements in man_name. */
7506 uint8_t *man_name; /**< Man Name. */
7507 } mfr_name;
7508
7509 struct
7510 {
7511 uint8_t code_access_start[13]; /**< Code Access Start. */
7512 uint8_t cvc_access_start[13]; /**< CVC Access Start. */
7513 } fware_mfg_time_var_ctrl;
7514
7515 struct
7516 {
7517 uint32_t vendor_name_count; /**< Number of elements in vendor_name. */
7518 uint8_t *vendor_name; /**< ONU Vendor Name */
7519 } vendor_name;
7520
7521 struct
7522 {
7523 uint32_t model_number_count; /**< Number of elements in model_number. */
7524 uint8_t *model_number; /**< ONU Model Number */
7525 } model_number;
7526
7527 struct
7528 {
7529 uint32_t hw_version_count; /**< Number of elements in hw_version. */
7530 uint8_t *hw_version; /**< ONU Hardware Version */
7531 } hw_version;
7532
7533 struct
7534 {
7535 uint32_t current_temperature_count; /**< Number of elements in current_temperature. */
7536 uint16_t *current_temperature; /**< Current Temperature. */
7537 } opt_mon_temperature;
7538
7539 struct
7540 {
7541 uint32_t current_vcc_count; /**< Number of elements in current_vcc. */
7542 uint16_t *current_vcc; /**< Current Vcc. */
7543 } opt_mon_vcc;
7544
7545 struct
7546 {
7547 uint32_t current_tx_bias_count; /**< Number of elements in current_tx_bias. */
7548 uint16_t *current_tx_bias; /**< Current Tx Bias. */
7549 } opt_mon_tx_bias;
7550
7551 struct
7552 {
7553 uint32_t current_tx_power_count; /**< Number of elements in current_tx_power. */
7554 uint16_t *current_tx_power; /**< Current Tx Power. */
7555 } opt_mon_tx_power;
7556
7557 struct
7558 {
7559 uint32_t current_rx_power_count; /**< Number of elements in current_rx_power. */
7560 uint16_t *current_rx_power; /**< Current Rx Power. */
7561 } opt_mon_rx_power;
7562
7563 struct
7564 {
7565 uint64_t rx_unicast_frames; /**< Rx Unicast Frames. */
7566 } rx_unicast_frames;
7567
7568 struct
7569 {
7570 uint64_t tx_unicast_frames; /**< Tx Unicast Frames. */
7571 } tx_unicast_frames;
7572
7573 struct
7574 {
7575 uint64_t rx_frames_too_short; /**< Rx Frames Too Short. */
7576 } rx_frame_too_short;
7577
7578 struct
7579 {
7580 uint64_t rx_frames64; /**< Rx Frames 64. */
7581 } rx_frame64;
7582
7583 struct
7584 {
7585 uint64_t rx_frames65127; /**< Rx Frames 65_127. */
7586 } rx_frame65127;
7587
7588 struct
7589 {
7590 uint64_t rx_frames128255; /**< Rx Frames 128_255. */
7591 } rx_frame128255;
7592
7593 struct
7594 {
7595 uint64_t rx_frames256511; /**< Rx Frames 256_511. */
7596 } rx_frame256511;
7597
7598 struct
7599 {
7600 uint64_t rx_frames5121023; /**< Rx Frames 512_1023. */
7601 } rx_frame5121023;
7602
7603 struct
7604 {
7605 uint64_t rx_frames10241518; /**< Rx Frames 1024_1518. */
7606 } rx_frame10241518;
7607
7608 struct
7609 {
7610 uint64_t rx_frames1519plus; /**< Rx Frames 1519 Plus. */
7611 } rx_frame1519plus;
7612
7613 struct
7614 {
7615 uint64_t tx_frames64; /**< Tx Frames 64. */
7616 } tx_frame64;
7617
7618 struct
7619 {
7620 uint64_t tx_frames65127; /**< Tx Frames 65_127. */
7621 } tx_frame65127;
7622
7623 struct
7624 {
7625 uint64_t tx_frames128255; /**< Tx Frames 128_255. */
7626 } tx_frame128255;
7627
7628 struct
7629 {
7630 uint64_t tx_frames256511; /**< Tx Frames 256_511. */
7631 } tx_frame256511;
7632
7633 struct
7634 {
7635 uint64_t tx_frames5121023; /**< Tx Frames 512_1023. */
7636 } tx_frame5121023;
7637
7638 struct
7639 {
7640 uint64_t tx_frames10241518; /**< Tx Frames 1024_1518. */
7641 } tx_frame10241518;
7642
7643 struct
7644 {
7645 uint64_t tx_frames1519plus; /**< Tx Frames 1519 Plus. */
7646 } tx_frame1519plus;
7647
7648 struct
7649 {
7650 uint8_t queue_delay_threshold; /**< Queue Delay Threshold. */
7651 } queue_delay_thresh;
7652
7653 struct
7654 {
7655 uint64_t queue_delay; /**< Queue Delay . */
7656 } queue_delay;
7657
7658 struct
7659 {
7660 uint64_t frames_dropped; /**< Frames Dropped. */
7661 } frames_dropped;
7662
7663 struct
7664 {
7665 uint64_t bytes_dropped; /**< Bytes Dropped. */
7666 } bytes_dropped;
7667
7668 struct
7669 {
7670 uint64_t bytes_delayed; /**< Bytes Delayed. */
7671 } bytes_delayed;
7672
7673 struct
7674 {
7675 uint64_t tx_bytes_unused; /**< Tx Bytes Unused. */
7676 } tx_bytes_unused;
7677
7678 struct
7679 {
7680 uint32_t port_type_count; /**< Number of elements in port_type. */
7681 bcmolt_epon_oam_dpoe_port_type *port_type; /**< Port Type. */
7682 } donu_port_type;
7683
7684 struct
7685 {
7686 uint32_t def_count; /**< Number of elements in def. */
7687 bcmolt_epon_oam_dpoe_event_options *def; /**< Default. */
7688 } suspend_resume_alarm_reporting;
7689
7690 struct
7691 {
7692 bcmolt_epon_oam_dpoe_ipmc_forwarding_flags field_bitmap; /**< Field Bitmap. */
7693 } ipmc_forwarding_rule_configuration;
7694
7695 struct
7696 {
7697 uint16_t alternate_itpid; /**< Alternate I-TPID. */
7698 bcmos_bool insert_this_tpid; /**< Insert This TPID. */
7699 } itpid;
7700
7701 struct
7702 {
7703 uint16_t alternate_btpid; /**< Alternate B-TPID. */
7704 bcmos_bool insert_this_tpid; /**< Insert This TPID. */
7705 } btpid;
7706
7707 struct
7708 {
7709 uint16_t commited_burst_size; /**< 256 Bytes */
7710 uint32_t commited_information_rate; /**< 1 Kbps */
7711 } queue_cir;
7712
7713 struct
7714 {
7715 uint16_t excess_burst_size; /**< 256 Bytes */
7716 uint32_t queue_eir; /**< 1 Kbps */
7717 } queue_eir;
7718
7719 struct
7720 {
7721 bcmos_bool enable_color_marking; /**< Enable Color Marking. */
7722 uint8_t field_code; /**< Field Code. */
7723 uint8_t field_instance; /**< Field Instance. */
7724 uint8_t msb_mask; /**< MSB Mask. */
7725 uint8_t lsb_mask; /**< LSB Mask. */
7726 uint8_t green_value; /**< Green Value. */
7727 uint8_t yellow_value; /**< Yellow Value. */
7728 } queue_color_marking;
7729
7730 struct
7731 {
7732 uint16_t number_of_rate_limiters; /**< Number Of Rate Limiters. */
7733 uint16_t cbs_min_increment; /**< CBS Min Increment. */
7734 uint16_t cir_min_increment; /**< CIR Min Increment. */
7735 uint16_t ebs_min_increment; /**< EBS Min Increment. */
7736 uint16_t eir_min_increment; /**< EIR Min Increment. */
7737 uint8_t color_aware; /**< Color Aware. */
7738 uint8_t coupling_configurable; /**< Coupling Configurable. */
7739 uint8_t coupling_behaviro_default; /**< Coupling Behaviro Default. */
7740 uint8_t color_marking_support; /**< Color Marking Support. */
7741 uint8_t smart_color_drop; /**< Smart Color Drop. */
7742 } queue_rate_limiter_capabilities;
7743
7744 struct
7745 {
7746 uint8_t coupling_flag; /**< Coupling Flag. */
7747 } coupling_flag;
7748
7749 struct
7750 {
7751 bcmos_bool pps_pulse_support; /**< 1PPS Pulse Support. */
7752 bcmos_bool tod_string_support; /**< TOD String Support. */
7753 bcmos_bool v2frame_support; /**< [1588v2] Frame Support. */
7754 } clock_transport_capabilities;
7755
7756 struct
7757 {
7758 bcmos_bool pps_pulse_output; /**< 1 PPS Pulse Output. */
7759 bcmos_bool tod_string_output; /**< TOD String Output. */
7760 bcmos_bool v2frame_output; /**< [1588v2] Frame Output. */
7761 } enable_clock_transport;
7762
7763 struct
7764 {
7765 uint32_t mpcp_reference_point; /**< MPCP Reference Point. */
7766 uint32_t tod_string_count; /**< Number of elements in tod_string. */
7767 uint8_t *tod_string; /**< TOD String. */
7768 } time_transfer;
7769
7770 struct
7771 {
7772 uint32_t ndown; /**< Ndown. */
7773 uint32_t nup; /**< Nup. */
7774 } propagation_parameters;
7775
7776 struct
7777 {
7778 uint32_t rtt; /**< RTT. */
7779 } rtt;
7780
7781 struct
7782 {
7783 uint32_t stag; /**< S-TAG. */
7784 uint32_t ctag; /**< C-TAG. */
7785 } dac_configuration;
7786
7787 struct
7788 {
7789 bcmos_bool lldp_instance_status; /**< LLDP Instance Status. */
7790 } dac_configuration_enable_disable;
7791
7792 struct
7793 {
7794 uint64_t rx_broadcast_frames; /**< Rx Broadcast Frames. */
7795 } rx_frame_broadcast;
7796
7797 struct
7798 {
7799 uint64_t tx_broadcast_frames; /**< Tx Broadcast Frames. */
7800 } tx_frames_broadcast;
7801
7802 struct
7803 {
7804 uint64_t tx_multicast_frames; /**< Tx Multicast Frames. */
7805 } tx_frames_multicast;
7806
7807 struct
7808 {
7809 uint64_t rx_multicast_frames; /**< Rx Multicast Frames. */
7810 } rx_frames_multicast;
7811
7812 struct
7813 {
7814 uint64_t tx_bytes_green; /**< Tx Bytes Green. */
7815 } tx_bytes_green;
7816
7817 struct
7818 {
7819 uint64_t rx_bytes_green; /**< Rx Bytes Green. */
7820 } rx_bytes_green;
7821
7822 struct
7823 {
7824 bcmolt_epon_oam_u16_list_u8 llid_value; /**< LLID Value. */
7825 } onu_mcast_llid;
7826
7827 struct
7828 {
7829 bcmos_mac_address mac_address; /**< Mac Address. */
7830 uint8_t uni_port; /**< Uni Port. */
7831 } uni_mac_learned;
7832
7833 struct
7834 {
7835 bcmos_bool over_write; /**< 0: Discard; 1: Overwrite */
7836 } uni_mac_table_full_behavior;
7837
7838 struct
7839 {
7840 bcmolt_epon_oam_dpoe_power_saving_mode pwr_saving_mode; /**< Pwr Saving Mode. */
7841 bcmos_bool early_wake_up_support; /**< Early Wake Up Support. */
7842 uint8_t ven_spec_field_size; /**< Ven Spec Field Size. */
7843 uint8_t *ven_spec_field; /**< Ven Spec Field . */
7844 } onu_pwr_saving_cap;
7845 } u;
7846} bcmolt_epon_oam_dpoe_attribute_value_base;
7847
7848/** DPoE Attribute Value MAC Table.
7849 */
7850typedef struct bcmolt_epon_oam_dpoe_attribute_value_mac_table
7851{
7852 uint32_t mac_address_count; /**< Number of elements in mac_address. */
7853 bcmos_mac_address *mac_address; /**< MAC Address. */
7854} bcmolt_epon_oam_dpoe_attribute_value_mac_table;
7855
7856/** DPoE Event Base.
7857 */
7858typedef struct bcmolt_epon_oam_dpoe_event_base
7859{
7860 bcmolt_epon_oam_dpoe_alarm_code event_code; /**< Event Code. */
7861 union
7862 {
7863 struct
7864 {
7865 bcmos_bool raised; /**< Raised. */
7866 bcmolt_epon_oam_dpoe_object_type object_type; /**< Object Type. */
7867 uint16_t object_instance; /**< Object Instance. */
7868 } def;
7869
7870 struct
7871 {
7872 bcmos_bool raised; /**< Raised. */
7873 bcmolt_epon_oam_dpoe_object_type object_type; /**< Object Type. */
7874 uint16_t object_instance; /**< Object Instance. */
7875 uint8_t stat_branch; /**< Stat Branch. */
7876 uint16_t stat_leaf; /**< Stat Leaf. */
7877 } statistics_alarm;
7878 } u;
7879} bcmolt_epon_oam_dpoe_event_base;
7880
7881/** DPoE File Transfer Base.
7882 */
7883typedef struct bcmolt_epon_oam_dpoe_file_transfer_base
7884{
7885 bcmolt_epon_oam_dpoe_file_transfer_opcode opcode; /**< Opcode. */
7886 union
7887 {
7888 struct
7889 {
7890 bcmolt_epon_oam_dpoe_file_type file_type; /**< File Type. */
7891 } file_read;
7892
7893 struct
7894 {
7895 uint32_t filename_count; /**< Number of elements in filename. */
7896 uint8_t *filename; /**< Filename. */
7897 } file_write;
7898
7899 struct
7900 {
7901 uint16_t block; /**< Block. */
7902 uint16_t length; /**< Length. */
7903 uint8_t *data; /**< Data. */
7904 } file_data;
7905
7906 struct
7907 {
7908 uint16_t block; /**< Block. */
7909 bcmolt_epon_oam_dpoe_file_transfer_error error; /**< Error. */
7910 } file_ack;
7911 } u;
7912} bcmolt_epon_oam_dpoe_file_transfer_base;
7913
7914/** DPoE Info TLV.
7915 */
7916typedef struct bcmolt_epon_oam_dpoe_info_tlv
7917{
7918 bcmolt_epon_oam_dpoe_info_tlv_type type; /**< Type. */
7919 union
7920 {
7921 struct
7922 {
7923 uint8_t dpoe_oam_version; /**< DPoE OAM Version. */
7924 } dpoe_oam_support;
7925 } u;
7926} bcmolt_epon_oam_dpoe_info_tlv;
7927
7928/** A structure containing a numeric 8-bit value.
7929 */
7930typedef struct bcmolt_epon_oam_u8value
7931{
7932 uint8_t value; /**< An 8-bit numeric value. */
7933} bcmolt_epon_oam_u8value;
7934
7935/** A structure containing a numeric 64-bit value.
7936 */
7937typedef struct bcmolt_epon_oam_u64value
7938{
7939 uint64_t value; /**< A 64-bit numeric value. */
7940} bcmolt_epon_oam_u64value;
7941
7942/** Std Attribute Value.
7943 */
7944typedef struct bcmolt_epon_oam_std_attribute_value
7945{
7946 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
7947 uint8_t width; /**< Width. */
7948 union
7949 {
7950 struct
7951 {
7952 bcmolt_epon_oam_u8value value; /**< Value. */
7953 } mac_id;
7954
7955 struct
7956 {
7957 bcmolt_epon_oam_u64value value; /**< Value. */
7958 } mac_frames_tx_ok;
7959
7960 struct
7961 {
7962 bcmolt_epon_oam_u64value value; /**< Value. */
7963 } mac_single_coll_frames;
7964
7965 struct
7966 {
7967 bcmolt_epon_oam_u64value value; /**< Value. */
7968 } mac_multiple_coll_frames;
7969
7970 struct
7971 {
7972 bcmolt_epon_oam_u64value value; /**< Value. */
7973 } mac_frames_rx_ok;
7974
7975 struct
7976 {
7977 bcmolt_epon_oam_u64value value; /**< Value. */
7978 } mac_fcs_err;
7979
7980 struct
7981 {
7982 bcmolt_epon_oam_u64value value; /**< Value. */
7983 } mac_align_err;
7984
7985 struct
7986 {
7987 bcmolt_epon_oam_u64value value; /**< Value. */
7988 } mac_octets_tx_ok;
7989
7990 struct
7991 {
7992 bcmolt_epon_oam_u8value value; /**< Value. */
7993 } mac_frames_deferred;
7994
7995 struct
7996 {
7997 bcmolt_epon_oam_u64value value; /**< Value. */
7998 } mac_late_collisions;
7999
8000 struct
8001 {
8002 bcmolt_epon_oam_u64value value; /**< Value. */
8003 } mac_excessive_collisions;
8004
8005 struct
8006 {
8007 bcmolt_epon_oam_u64value value; /**< Value. */
8008 } mac_frames_lost_mac_tx_err;
8009
8010 struct
8011 {
8012 bcmolt_epon_oam_u8value value; /**< Value. */
8013 } mac_carrier_sense_err;
8014
8015 struct
8016 {
8017 bcmolt_epon_oam_u64value value; /**< Value. */
8018 } mac_octets_rx_ok;
8019
8020 struct
8021 {
8022 bcmolt_epon_oam_u64value value; /**< Value. */
8023 } mac_frames_lost_mac_rx_err;
8024
8025 struct
8026 {
8027 bcmolt_epon_oam_u64value value; /**< Value. */
8028 } mac_mcast_frames_tx_ok;
8029
8030 struct
8031 {
8032 bcmolt_epon_oam_u64value value; /**< Value. */
8033 } mac_bcast_frames_tx_ok;
8034
8035 struct
8036 {
8037 bcmolt_epon_oam_u8value value; /**< Value. */
8038 } mac_fr_excessive_deferral;
8039
8040 struct
8041 {
8042 bcmolt_epon_oam_u64value value; /**< Value. */
8043 } mac_mcast_frames_rx_ok;
8044
8045 struct
8046 {
8047 bcmolt_epon_oam_u64value value; /**< Value. */
8048 } mac_bcast_frames_rx_ok;
8049
8050 struct
8051 {
8052 bcmolt_epon_oam_u64value value; /**< Value. */
8053 } mac_in_range_len_err;
8054
8055 struct
8056 {
8057 bcmolt_epon_oam_u64value value; /**< Value. */
8058 } mac_out_of_range_len_err;
8059
8060 struct
8061 {
8062 bcmolt_epon_oam_u64value value; /**< Value. */
8063 } mac_frame_too_long;
8064
8065 struct
8066 {
8067 bcmos_bool status; /**< Status. */
8068 } mac_enable_status;
8069
8070 struct
8071 {
8072 bcmos_mac_address mac_address; /**< MAC Address. */
8073 } mac_addr;
8074
8075 struct
8076 {
8077 bcmolt_epon_oam_std_phy_type type; /**< Type. */
8078 } phy_type;
8079
8080 struct
8081 {
8082 bcmolt_epon_oam_u64value value; /**< Value. */
8083 } phy_symbol_err_during_carrier;
8084
8085 struct
8086 {
8087 bcmolt_epon_oam_oam_state state; /**< State. */
8088 } phy_admin_state;
8089
8090 struct
8091 {
8092 bcmolt_epon_oam_mau_media_available value; /**< Value. */
8093 } mau_media_avail;
8094
8095 struct
8096 {
8097 bcmolt_epon_oam_u8value value; /**< Value. */
8098 } auto_neg_id;
8099
8100 struct
8101 {
8102 bcmolt_epon_oam_autonegotiate_admin_state value; /**< Value. */
8103 } auto_neg_admin_state;
8104
8105 struct
8106 {
8107 bcmolt_epon_oam_auto_remote_sig value; /**< Value. */
8108 } auto_neg_remote_sig;
8109
8110 struct
8111 {
8112 bcmolt_epon_oam_auto_negotiation_auto_config value; /**< Value. */
8113 } auto_neg_auto_cfg;
8114
8115 struct
8116 {
8117 uint32_t capabilities_count; /**< Number of elements in capabilities. */
8118 bcmolt_epon_oam_std_auto_negoitation_capability *capabilities; /**< Capabilities. */
8119 } auto_neg_local_tech_ability;
8120
8121 struct
8122 {
8123 uint32_t capabilities_count; /**< Number of elements in capabilities. */
8124 bcmolt_epon_oam_std_auto_negoitation_capability *capabilities; /**< Capabilities. */
8125 } auto_neg_advertised_tech_ability;
8126
8127 struct
8128 {
8129 uint32_t capabilities_count; /**< Number of elements in capabilities. */
8130 bcmolt_epon_oam_std_auto_negoitation_capability *capabilities; /**< Capabilities. */
8131 } auto_neg_rx_tech;
8132
8133 struct
8134 {
8135 bcmolt_epon_oam_auto_selector value; /**< Value. */
8136 } auto_neg_local_select_able;
8137
8138 struct
8139 {
8140 bcmolt_epon_oam_auto_selector value; /**< Value. */
8141 } auto_neg_ad_select_able;
8142
8143 struct
8144 {
8145 bcmolt_epon_oam_auto_selector value; /**< Value. */
8146 } auto_neg_rx_select_able;
8147
8148 struct
8149 {
8150 bcmolt_epon_oam_mac_duplex_status value; /**< Value. */
8151 } mac_duplex_status;
8152
8153 struct
8154 {
8155 uint32_t functions_count; /**< Number of elements in functions. */
8156 uint16_t *functions; /**< Functions. */
8157 } mac_ctrl_funcs_supported;
8158
8159 struct
8160 {
8161 bcmolt_epon_oam_u64value value; /**< Value. */
8162 } mac_ctrl_frames_tx;
8163
8164 struct
8165 {
8166 bcmolt_epon_oam_u64value value; /**< Value. */
8167 } mac_ctrl_frames_rx;
8168
8169 struct
8170 {
8171 bcmolt_epon_oam_u64value value; /**< Value. */
8172 } mac_ctrl_unsupported_op_rx;
8173
8174 struct
8175 {
8176 bcmolt_epon_oam_u64value value; /**< Value. */
8177 } mac_ctrl_pause_delay;
8178
8179 struct
8180 {
8181 bcmolt_epon_oam_u64value value; /**< Value. */
8182 } mac_ctrl_pause_tx;
8183
8184 struct
8185 {
8186 bcmolt_epon_oam_u64value value; /**< Value. */
8187 } mac_ctrl_pause_rx;
8188
8189 struct
8190 {
8191 bcmolt_epon_oam_u64value value; /**< Value. */
8192 } oam_local_err_frame_secs_event;
8193
8194 struct
8195 {
8196 bcmolt_epon_oam_u64value value; /**< Value. */
8197 } oam_local_err_frame_period_event;
8198
8199 struct
8200 {
8201 bcmolt_epon_oam_u64value value; /**< Value. */
8202 } oam_local_err_fr_sec_sum_event;
8203
8204 struct
8205 {
8206 bcmolt_epon_oam_u64value value; /**< Value. */
8207 } oam_emul_crc8err;
8208
8209 struct
8210 {
8211 bcmolt_epon_oam_u64value value; /**< Value. */
8212 } mpcp_mac_ctrl_frames_tx;
8213
8214 struct
8215 {
8216 bcmolt_epon_oam_u64value value; /**< Value. */
8217 } mpcp_mac_ctrl_frames_rx;
8218
8219 struct
8220 {
8221 bcmolt_epon_oam_u64value value; /**< Value. */
8222 } mpcp_discovery_window_tx;
8223
8224 struct
8225 {
8226 bcmolt_epon_oam_u64value value; /**< Value. */
8227 } mpcp_discovery_timeout;
8228
8229 struct
8230 {
8231 uint32_t value; /**< Value. */
8232 } fec_corrected_blocks;
8233
8234 struct
8235 {
8236 uint32_t value; /**< Value. */
8237 } fec_uncorrectable_blocks;
8238
8239 struct
8240 {
8241 bcmolt_epon_oam_fec_support value; /**< Value. */
8242 } fec_ability;
8243
8244 struct
8245 {
8246 bcmolt_epon_oam_std_fec_mode value; /**< Value. */
8247 } fec_mode;
8248
8249 struct
8250 {
8251 bcmolt_epon_oam_u64value value; /**< Value. */
8252 } mpcp_tx_gate;
8253
8254 struct
8255 {
8256 bcmolt_epon_oam_u64value value; /**< Value. */
8257 } mpcp_tx_reg_ack;
8258
8259 struct
8260 {
8261 bcmolt_epon_oam_u64value value; /**< Value. */
8262 } mpcp_tx_register;
8263
8264 struct
8265 {
8266 bcmolt_epon_oam_u64value value; /**< Value. */
8267 } mpcp_tx_reg_request;
8268
8269 struct
8270 {
8271 bcmolt_epon_oam_u64value value; /**< Value. */
8272 } mpcp_tx_report;
8273
8274 struct
8275 {
8276 bcmolt_epon_oam_u64value value; /**< Value. */
8277 } mpcp_rx_gate;
8278
8279 struct
8280 {
8281 bcmolt_epon_oam_u64value value; /**< Value. */
8282 } mpcp_rx_reg_ack;
8283
8284 struct
8285 {
8286 bcmolt_epon_oam_u64value value; /**< Value. */
8287 } mpcp_rx_register;
8288
8289 struct
8290 {
8291 bcmolt_epon_oam_u64value value; /**< Value. */
8292 } mpcp_rx_reg_request;
8293
8294 struct
8295 {
8296 bcmolt_epon_oam_u64value value; /**< Value. */
8297 } mpcp_rx_report;
8298
8299 struct
8300 {
8301 uint64_t value; /**< Value. */
8302 } mac_collision_frames;
8303 } u;
8304} bcmolt_epon_oam_std_attribute_value;
8305
8306/** Std Action Value Base.
8307 */
8308typedef struct bcmolt_epon_oam_std_action_value_base
8309{
8310 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
8311 uint8_t width; /**< Width. */
8312} bcmolt_epon_oam_std_action_value_base;
8313
8314/** DPoE Var Container Base.
8315 */
8316typedef struct bcmolt_epon_oam_dpoe_var_container_base
8317{
8318 bcmolt_epon_oam_dpoe_branch branch; /**< Branch. */
8319 union
8320 {
8321 struct
8322 {
8323 uint16_t leaf; /**< Leaf. */
8324 uint8_t width; /**< Width. */
8325 } def;
8326
8327 struct
8328 {
8329 bcmolt_epon_oam_dpoe_object_context_base object_context; /**< Object Context. */
8330 } object;
8331
8332 struct
8333 {
8334 bcmolt_epon_oam_std_attribute_value attribute; /**< Attribute. */
8335 } standard_attribute;
8336
8337 struct
8338 {
8339 bcmolt_epon_oam_std_action_value_base action; /**< Action. */
8340 } standard_action;
8341
8342 struct
8343 {
8344 bcmolt_epon_oam_dpoe_attribute_value_base attribute; /**< Attribute. */
8345 } extended_attribute;
8346
8347 struct
8348 {
8349 bcmolt_epon_oam_dpoe_action_value_base action; /**< Action. */
8350 } extended_action;
8351
8352 struct
8353 {
8354 uint32_t unknown_count; /**< Number of elements in unknown. */
8355 uint8_t *unknown; /**< Unknown. */
8356 } end;
8357 } u;
8358} bcmolt_epon_oam_dpoe_var_container_base;
8359
8360/** DPoE Vendor Extended Base.
8361 */
8362typedef struct bcmolt_epon_oam_dpoe_vendor_extended_base
8363{
8364 bcmolt_epon_oam_dpoe_opcode op; /**< Op. */
8365 union
8366 {
8367 struct
8368 {
8369 uint32_t vars_count; /**< Number of elements in vars. */
8370 bcmolt_epon_oam_dpoe_var_descriptor *vars; /**< Vars. */
8371 } get_request;
8372
8373 struct
8374 {
8375 uint32_t vars_count; /**< Number of elements in vars. */
8376 bcmolt_epon_oam_dpoe_var_container_base *vars; /**< Vars. */
8377 } get_response;
8378
8379 struct
8380 {
8381 uint32_t vars_count; /**< Number of elements in vars. */
8382 bcmolt_epon_oam_dpoe_var_container_base *vars; /**< Vars. */
8383 } set_request;
8384
8385 struct
8386 {
8387 uint32_t vars_count; /**< Number of elements in vars. */
8388 bcmolt_epon_oam_dpoe_var_container_base *vars; /**< Vars. */
8389 } set_response;
8390
8391 struct
8392 {
8393 bcmolt_epon_oam_dpoe_mcast_reg_code action_code; /**< Action Code. */
8394 uint16_t multicast_llid; /**< Multicast LLID. */
8395 } mcast_reg;
8396
8397 struct
8398 {
8399 bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code status; /**< Status. */
8400 uint16_t multicast_llid; /**< Multicast LLID. */
8401 } mcast_reg_resp;
8402
8403 struct
8404 {
8405 uint8_t key_number; /**< Key Number. */
8406 uint8_t key_length; /**< Key Length. */
8407 uint8_t *key_data; /**< Key Data. */
8408 } key_exchange;
8409
8410 struct
8411 {
8412 bcmolt_epon_oam_dpoe_file_transfer_base file_transfer; /**< File Transfer. */
8413 } file_transfer;
8414
8415 struct
8416 {
8417 bcmolt_epon_oam_dpoe_mcast_ctrl_action action; /**< Action. */
8418 uint16_t llid; /**< LLID. */
8419 uint8_t ipsa[16]; /**< IP SA. */
8420 uint8_t ipda[16]; /**< IP DA. */
8421 bcmos_mac_address client_mac; /**< Client Mac. */
8422 } dynamic_ipmcast_ctrl;
8423
8424 struct
8425 {
8426 bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code result_code; /**< Result Code. */
8427 } dynamic_ipmcast_ctrl_resp;
8428
8429 struct
8430 {
8431 bcmolt_epon_oam_dpoe_mcast_ctrl_action action; /**< Action. */
8432 uint16_t llid; /**< LLID. */
8433 uint8_t ipsa[16]; /**< IP SA. */
8434 uint8_t ipda[16]; /**< IP DA. */
8435 uint8_t port; /**< Port. */
8436 } static_ipmcast_ctrl;
8437
8438 struct
8439 {
8440 bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code result_code; /**< Result Code. */
8441 } static_ipmcast_ctrl_resp;
8442 } u;
8443} bcmolt_epon_oam_dpoe_vendor_extended_base;
8444
8445/** TLS Version.
8446 */
8447typedef struct bcmolt_epon_oam_tls_version
8448{
8449 uint8_t major; /**< Major. */
8450 uint8_t minor; /**< Minor. */
8451} bcmolt_epon_oam_tls_version;
8452
8453/** TLS Random.
8454 */
8455typedef struct bcmolt_epon_oam_tls_random
8456{
8457 uint32_t unix_time; /**< Unix Time. */
8458 uint8_t random[28]; /**< Random. */
8459} bcmolt_epon_oam_tls_random;
8460
8461/** TLS Session ID.
8462 */
8463typedef struct bcmolt_epon_oam_tls_session_id
8464{
8465 uint8_t length; /**< Length. */
8466 uint8_t *session_id; /**< Session ID. */
8467} bcmolt_epon_oam_tls_session_id;
8468
8469/** TLS Ciphersuite List.
8470 */
8471typedef struct bcmolt_epon_oam_tls_ciphersuite_list
8472{
8473 uint16_t length; /**< Length. */
8474 bcmolt_epon_oam_tls_ciphersuite *ciphersuites; /**< Ciphersuites. */
8475} bcmolt_epon_oam_tls_ciphersuite_list;
8476
8477/** TLS Compression List.
8478 */
8479typedef struct bcmolt_epon_oam_tls_compression_list
8480{
8481 uint8_t length; /**< Length. */
8482 bcmolt_epon_oam_tls_compression_method *methods; /**< Methods. */
8483} bcmolt_epon_oam_tls_compression_list;
8484
8485/** TLS Certificate List.
8486 */
8487typedef struct bcmolt_epon_oam_tls_certificate_list
8488{
8489 uint32_t certificate_list_count; /**< Number of elements in certificate_list. */
8490 bcmolt_epon_oam_certificate *certificate_list; /**< Certificate List. */
8491} bcmolt_epon_oam_tls_certificate_list;
8492
8493/** TLS Certificate Type List.
8494 */
8495typedef struct bcmolt_epon_oam_tls_certificate_type_list
8496{
8497 uint8_t length; /**< Length. */
8498 bcmolt_epon_oam_tls_certificate_type *certificate_types; /**< Certificate Types. */
8499} bcmolt_epon_oam_tls_certificate_type_list;
8500
8501/** TLS Handshake.
8502 */
8503typedef struct bcmolt_epon_oam_tls_handshake
8504{
8505 bcmolt_epon_oam_tls_handshake_type id; /**< ID. */
8506 union
8507 {
8508 struct
8509 {
8510 bcmolt_epon_oam_tls_version version; /**< Version. */
8511 bcmolt_epon_oam_tls_random random; /**< Random. */
8512 bcmolt_epon_oam_tls_session_id session_id; /**< Session ID. */
8513 bcmolt_epon_oam_tls_ciphersuite_list cipher_suites; /**< Cipher Suites. */
8514 bcmolt_epon_oam_tls_compression_list compression_methods; /**< Compression Methods. */
8515 } client_hello;
8516
8517 struct
8518 {
8519 bcmolt_epon_oam_tls_version version; /**< Version. */
8520 bcmolt_epon_oam_tls_random random; /**< Random. */
8521 bcmolt_epon_oam_tls_session_id session_id; /**< Session ID. */
8522 bcmolt_epon_oam_tls_ciphersuite ciphersuite; /**< Ciphersuite. */
8523 bcmolt_epon_oam_tls_compression_method compression_method; /**< Compression Method. */
8524 } server_hello;
8525
8526 struct
8527 {
8528 bcmolt_epon_oam_tls_certificate_list value; /**< Value. */
8529 } certificate;
8530
8531 struct
8532 {
8533 bcmolt_epon_oam_tls_certificate_type_list certificate_types; /**< Certificate Types. */
8534 bcmolt_epon_oam_distinguished_name_list certificate_authorities; /**< Certificate Authorities. */
8535 } certificate_request;
8536
8537 struct
8538 {
8539 uint16_t hash_size; /**< Hash Size. */
8540 uint8_t *encrypted_hash; /**< Encrypted Hash. */
8541 } certificate_verify;
8542
8543 struct
8544 {
8545 uint16_t size; /**< Size. */
8546 uint8_t *encrypted_pre_master_secret; /**< Encrypted Pre Master Secret. */
8547 } client_key_exchange;
8548
8549 struct
8550 {
8551 uint32_t verify_data_count; /**< Number of elements in verify_data. */
8552 uint8_t *verify_data; /**< Verify Data. */
8553 } finished;
8554 } u;
8555} bcmolt_epon_oam_tls_handshake;
8556
8557/** TLS Record.
8558 */
8559typedef struct bcmolt_epon_oam_tls_record
8560{
8561 bcmolt_epon_oam_tls_content_type content_type; /**< Content Type. */
8562 bcmolt_epon_oam_tls_version version; /**< Version. */
8563 union
8564 {
8565 struct
8566 {
8567 uint32_t handshake_records_count; /**< Number of elements in handshake_records. */
8568 bcmolt_epon_oam_tls_handshake *handshake_records; /**< Handshake Records. */
8569 } handshake;
8570 } u;
8571} bcmolt_epon_oam_tls_record;
8572
8573/** EAP TLS Message.
8574 */
8575typedef struct bcmolt_epon_oam_eap_tls_message
8576{
8577 bcmolt_epon_oam_tls_flags flags; /**< Flags. */
8578 uint32_t length; /**< Length. */
8579 uint32_t tls_records_count; /**< Number of elements in tls_records. */
8580 bcmolt_epon_oam_tls_record *tls_records; /**< TLS Records. */
8581} bcmolt_epon_oam_eap_tls_message;
8582
8583/** EAP TLS Header.
8584 */
8585typedef struct bcmolt_epon_oam_eap_tls_header
8586{
8587 bcmolt_epon_oam_tls_subtype sub_type; /**< Sub Type. */
8588 union
8589 {
8590 struct
8591 {
8592 bcmolt_epon_oam_eap_tls_message value; /**< Value. */
8593 } authentication;
8594 } u;
8595} bcmolt_epon_oam_eap_tls_header;
8596
8597/** EAP Frame.
8598 */
8599typedef struct bcmolt_epon_oam_eap_frame
8600{
8601 bcmolt_epon_oam_eap_code code; /**< Code. */
8602 uint8_t id; /**< ID. */
8603 union
8604 {
8605 struct
8606 {
8607 bcmolt_epon_oam_eap_tls_header value; /**< Value. */
8608 } request;
8609
8610 struct
8611 {
8612 bcmolt_epon_oam_eap_tls_header value; /**< Value. */
8613 } response;
8614 } u;
8615} bcmolt_epon_oam_eap_frame;
8616
8617/** EAPOL PDU.
8618 */
8619typedef struct bcmolt_epon_oam_eapol_pdu
8620{
8621 bcmolt_epon_oam_eapol_type type; /**< Type. */
8622 union
8623 {
8624 struct
8625 {
8626 bcmolt_epon_oam_eap_frame value; /**< Value. */
8627 } packet;
8628 } u;
8629} bcmolt_epon_oam_eapol_pdu;
8630
8631/** EAPOL Protocol.
8632 */
8633typedef struct bcmolt_epon_oam_eapol_protocol
8634{
8635 bcmolt_epon_oam_eapol_version version; /**< Version. */
8636 union
8637 {
8638 struct
8639 {
8640 bcmolt_epon_oam_eapol_pdu value; /**< Value. */
8641 } def;
8642 } u;
8643} bcmolt_epon_oam_eapol_protocol;
8644
8645/** VLAN Value.
8646 */
8647typedef struct bcmolt_epon_oam_vlan_value
8648{
8649 uint8_t pcp; /**< PCP. */
8650 uint8_t cfi; /**< CFI. */
8651 uint16_t vid; /**< VID. */
8652} bcmolt_epon_oam_vlan_value;
8653
8654/** I-Tag Value.
8655 */
8656typedef struct bcmolt_epon_oam_itag_value
8657{
8658 uint8_t pcp; /**< PCP. */
8659 uint8_t dei; /**< DEI. */
8660 uint8_t uca; /**< UCA. */
8661 uint8_t res; /**< RES. */
8662 uint32_t isid; /**< I-SID. */
8663} bcmolt_epon_oam_itag_value;
8664
8665/** Tek Info TLV.
8666 */
8667typedef struct bcmolt_epon_oam_tek_info_tlv
8668{
8669 bcmolt_epon_oam_tek_info_tlv_type type; /**< Type. */
8670 union
8671 {
8672 struct
8673 {
8674 uint8_t version; /**< Version. */
8675 bcmolt_epon_oam_tek_report_modes report_mode; /**< For the OLT these are the supported modes */
8676 bcmolt_epon_oam_tek_report_modes preferred_report_mode; /**< Only sent by OLT */
8677 } extension_support;
8678 } u;
8679} bcmolt_epon_oam_tek_info_tlv;
8680
8681/** Organization Specific Info.
8682 */
8683typedef struct bcmolt_epon_oam_organization_specific_info
8684{
8685 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
8686 union
8687 {
8688 struct
8689 {
8690 bcmolt_epon_oam_tek_info_tlv tlvs; /**< TLVs. */
8691 } tek;
8692
8693 struct
8694 {
8695 uint8_t extension_support; /**< Extension Support. */
8696 uint8_t version; /**< Version. */
8697 uint32_t supp_version_count; /**< Number of elements in supp_version. */
8698 bcmolt_epon_oam_ctc_oui_version_pair *supp_version; /**< Supp Version. */
8699 } ctc;
8700
8701 struct
8702 {
8703 bcmolt_epon_oam_dpoe_info_tlv dpoe_info_tlv; /**< DPoE Info TLV. */
8704 } dpoe;
8705 } u;
8706} bcmolt_epon_oam_organization_specific_info;
8707
8708/** Local/Remote Information.
8709 */
8710typedef struct bcmolt_epon_oam_local_remote_info
8711{
8712 uint8_t oam_version; /**< OAM Version. */
8713 uint16_t revision; /**< Revision. */
8714 bcmolt_epon_oam_local_remote_info_state state; /**< State. */
8715 bcmolt_epon_oam_local_remote_info_config oam_config; /**< OAM Configuration. */
8716 uint16_t max_pdu_size; /**< Max PDU Size. */
8717 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
8718 uint8_t vendor_specific_information[4]; /**< Vendor Specific Information. */
8719} bcmolt_epon_oam_local_remote_info;
8720
8721/** Info TLV Base.
8722 */
8723typedef struct bcmolt_epon_oam_info_tlv_base
8724{
8725 bcmolt_epon_oam_info_tlv_type type; /**< Type. */
8726 union
8727 {
8728 struct
8729 {
8730 bcmolt_epon_oam_organization_specific_info value; /**< Value. */
8731 } organization_specific;
8732
8733 struct
8734 {
8735 uint32_t unknown_count; /**< Number of elements in unknown. */
8736 uint8_t *unknown; /**< Unknown. */
8737 } end;
8738
8739 struct
8740 {
8741 bcmolt_epon_oam_local_remote_info info; /**< Info. */
8742 } remote;
8743
8744 struct
8745 {
8746 bcmolt_epon_oam_local_remote_info info; /**< Info. */
8747 } local;
8748 } u;
8749} bcmolt_epon_oam_info_tlv_base;
8750
8751/** Organization Specific Link Event Base.
8752 */
8753typedef struct bcmolt_epon_oam_organization_specific_link_event_base
8754{
8755 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
8756 union
8757 {
8758 struct
8759 {
8760 bcmolt_epon_oam_tek_alarm_code alarm_code; /**< Alarm Code. */
8761 bcmos_bool raised; /**< Raised. */
8762 uint16_t port; /**< Port. */
8763 uint16_t link; /**< Link. */
8764 uint16_t queue; /**< Queue. */
8765 bcmolt_epon_oam_tek_alarm_context alarm_context; /**< Alarm Context. */
8766 } tek;
8767
8768 struct
8769 {
8770 bcmolt_epon_oam_dpoe_event_base value; /**< Value. */
8771 } dpoe;
8772
8773 struct
8774 {
8775 bcmolt_epon_oam_ctc_alarm_entry value; /**< Value. */
8776 } ctc;
8777 } u;
8778} bcmolt_epon_oam_organization_specific_link_event_base;
8779
8780/** Link Event TLV Base.
8781 */
8782typedef struct bcmolt_epon_oam_link_event_tlv_base
8783{
8784 bcmolt_epon_oam_link_event_type type; /**< Type. */
8785 union
8786 {
8787 struct
8788 {
8789 uint32_t unknown_count; /**< Number of elements in unknown. */
8790 uint8_t *unknown; /**< Unknown. */
8791 } end;
8792
8793 struct
8794 {
8795 bcmolt_epon_oam_organization_specific_link_event_base value; /**< Value. */
8796 } organization_specific;
8797 } u;
8798} bcmolt_epon_oam_link_event_tlv_base;
8799
8800/** Var Descriptor Base.
8801 */
8802typedef struct bcmolt_epon_oam_var_descriptor_base
8803{
8804 bcmolt_epon_oam_var_branch branch; /**< Branch. */
8805 union
8806 {
8807 struct
8808 {
8809 uint16_t leaf; /**< Leaf. */
8810 } def;
8811
8812 struct
8813 {
8814 uint32_t unknown_count; /**< Number of elements in unknown. */
8815 uint8_t *unknown; /**< Unknown. */
8816 } end;
8817
8818 struct
8819 {
8820 bcmolt_epon_oam_var_leaf_object leaf; /**< Leaf. */
8821 } object;
8822
8823 struct
8824 {
8825 bcmolt_epon_oam_var_leaf_package leaf; /**< Leaf. */
8826 } package;
8827
8828 struct
8829 {
8830 bcmolt_epon_oam_var_leaf_name_binding leaf; /**< Leaf. */
8831 } name_binding;
8832
8833 struct
8834 {
8835 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
8836 } attribute;
8837
8838 struct
8839 {
8840 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
8841 } action;
8842 } u;
8843} bcmolt_epon_oam_var_descriptor_base;
8844
8845/** Var Container Base.
8846 */
8847typedef struct bcmolt_epon_oam_var_container_base
8848{
8849 bcmolt_epon_oam_var_branch branch; /**< Branch. */
8850 union
8851 {
8852 struct
8853 {
8854 uint16_t leaf; /**< Leaf. */
8855 uint8_t width; /**< Width. */
8856 } def;
8857
8858 struct
8859 {
8860 uint32_t unknown_count; /**< Number of elements in unknown. */
8861 uint8_t *unknown; /**< Unknown. */
8862 } end;
8863
8864 struct
8865 {
8866 bcmolt_epon_oam_var_leaf_object leaf; /**< Leaf. */
8867 uint8_t width; /**< Width. */
8868 uint32_t value_count; /**< Number of elements in value. */
8869 uint8_t *value; /**< Value. */
8870 } object;
8871
8872 struct
8873 {
8874 bcmolt_epon_oam_var_leaf_package leaf; /**< Leaf. */
8875 uint8_t width; /**< Width. */
8876 uint32_t value_count; /**< Number of elements in value. */
8877 uint8_t *value; /**< Value. */
8878 } package;
8879
8880 struct
8881 {
8882 bcmolt_epon_oam_var_leaf_name_binding leaf; /**< Leaf. */
8883 uint8_t width; /**< Width. */
8884 uint32_t value_count; /**< Number of elements in value. */
8885 uint8_t *value; /**< Value. */
8886 } name_binding;
8887
8888 struct
8889 {
8890 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
8891 uint8_t width; /**< Width. */
8892 uint32_t value_count; /**< Number of elements in value. */
8893 uint8_t *value; /**< Value. */
8894 } attribute;
8895
8896 struct
8897 {
8898 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
8899 uint8_t width; /**< Width. */
8900 uint32_t value_count; /**< Number of elements in value. */
8901 uint8_t *value; /**< Value. */
8902 } action;
8903 } u;
8904} bcmolt_epon_oam_var_container_base;
8905
8906/** Tek Object Queue Name.
8907 */
8908typedef struct bcmolt_epon_oam_tek_object_queue_name
8909{
8910 uint16_t port_number; /**< Port Number. */
8911 uint16_t link_number; /**< Link Number. */
8912 uint16_t queue_number; /**< Queue Number. */
8913} bcmolt_epon_oam_tek_object_queue_name;
8914
8915/** Tek Object Context.
8916 */
8917typedef struct bcmolt_epon_oam_tek_object_context
8918{
8919 bcmolt_epon_oam_tek_object_type object_type; /**< Object Type. */
8920 uint8_t length; /**< Length. */
8921 union
8922 {
8923 struct
8924 {
8925 uint32_t link_number_count; /**< Number of elements in link_number. */
8926 uint8_t *link_number; /**< Link Number. */
8927 } logical_link;
8928
8929 struct
8930 {
8931 bcmolt_epon_oam_tek_object_queue_name value; /**< Value. */
8932 } queue_name;
8933
8934 struct
8935 {
8936 uint32_t port_number_count; /**< Number of elements in port_number. */
8937 uint8_t *port_number; /**< Port Number. */
8938 } port;
8939
8940 struct
8941 {
8942 bcmolt_epon_oam_tek_object_queue_name value; /**< Value. */
8943 } all_queues;
8944
8945 struct
8946 {
8947 uint32_t pon_number_count; /**< Number of elements in pon_number. */
8948 uint8_t *pon_number; /**< PON Number. */
8949 } network_pon;
8950
8951 struct
8952 {
8953 uint32_t pon_number_count; /**< Number of elements in pon_number. */
8954 uint8_t *pon_number; /**< PON Number. */
8955 } user_pon;
8956
8957 struct
8958 {
8959 bcmolt_epon_oam_flow_direction direction; /**< Direction. */
8960 } flow_direction;
8961
8962 struct
8963 {
8964 uint32_t bridge_number_count; /**< Number of elements in bridge_number. */
8965 uint8_t *bridge_number; /**< Bridge Number. */
8966 } bridge;
8967
8968 struct
8969 {
8970 uint32_t port_number_count; /**< Number of elements in port_number. */
8971 uint8_t *port_number; /**< Port Number. */
8972 } bridge_port;
8973 } u;
8974} bcmolt_epon_oam_tek_object_context;
8975
8976/** Tek Var Descriptor.
8977 */
8978typedef struct bcmolt_epon_oam_tek_var_descriptor
8979{
8980 bcmolt_epon_oam_tek_branch branch; /**< Branch. */
8981 union
8982 {
8983 struct
8984 {
8985 uint16_t leaf; /**< Leaf. */
8986 } def;
8987
8988 struct
8989 {
8990 uint32_t unknown_count; /**< Number of elements in unknown. */
8991 uint8_t *unknown; /**< Unknown. */
8992 } end;
8993
8994 struct
8995 {
8996 bcmolt_epon_oam_tek_object_context object_context; /**< Object Context. */
8997 } name_binding;
8998
8999 struct
9000 {
9001 bcmolt_epon_oam_tek_leaf_attribute leaf; /**< Leaf. */
9002 bcmolt_epon_oam_tek_alarm_code alarm_code; /**< Alarm Code. */
9003 } attribute;
9004
9005 struct
9006 {
9007 bcmolt_epon_oam_tek_leaf_action leaf; /**< Leaf. */
9008 } action;
9009 } u;
9010} bcmolt_epon_oam_tek_var_descriptor;
9011
9012/** LUE Field Select Entry.
9013 */
9014typedef struct bcmolt_epon_oam_lue_field_select_entry
9015{
9016 uint8_t layer_select; /**< Layer Select. */
9017 uint8_t dword_offset; /**< Dword offset. */
9018 uint8_t field_length; /**< Field Length. */
9019 uint8_t bit_offset; /**< Bit offset. */
9020} bcmolt_epon_oam_lue_field_select_entry;
9021
9022/** Tek ONU Rule Clause.
9023 */
9024typedef struct bcmolt_epon_oam_tek_onu_rule_clause
9025{
9026 bcmolt_epon_oam_tek_onu_field_select field_select; /**< Field Select. */
9027 uint64_t lookup_value; /**< Lookup Value. */
9028 bcmolt_epon_oam_tek_onu_rule_operator op; /**< Op. */
9029} bcmolt_epon_oam_tek_onu_rule_clause;
9030
9031/** Tek ONU Rule.
9032 */
9033typedef struct bcmolt_epon_oam_tek_onu_rule
9034{
9035 uint8_t direction; /**< Direction. */
9036 bcmolt_epon_oam_tek_onu_rule_flags flags; /**< Flags. */
9037 uint8_t port_link; /**< Port/Link. */
9038 uint8_t queue; /**< Queue. */
9039 uint16_t vid_cos; /**< VID/CoS. */
9040 uint8_t reserved; /**< Reserved. */
9041 uint8_t precedence; /**< Precedence. */
9042 bcmolt_epon_oam_tek_onu_rule_action action; /**< Action. */
9043 uint8_t clauses_count; /**< Clauses Count. */
9044 bcmolt_epon_oam_tek_onu_rule_clause *clauses; /**< Clauses. */
9045} bcmolt_epon_oam_tek_onu_rule;
9046
9047/** Tek ONU IGMP VLAN.
9048 */
9049typedef struct bcmolt_epon_oam_tek_onu_igmp_vlan
9050{
9051 bcmos_vlan_tag epon_vlan; /**< EPON VLAN. */
9052 bcmos_vlan_tag user_vlan; /**< User VLAN. */
9053 uint8_t max_allowed_groups; /**< Max Allowed Groups. */
9054} bcmolt_epon_oam_tek_onu_igmp_vlan;
9055
9056/** Tek VLAN Destination Mapping.
9057 */
9058typedef struct bcmolt_epon_oam_tek_vlan_destination_mapping
9059{
9060 bcmos_vlan_tag vlan_tag; /**< VLAN Tag. */
9061 uint8_t link_index; /**< Link Index. */
9062 uint8_t queue_index; /**< Queue Index. */
9063} bcmolt_epon_oam_tek_vlan_destination_mapping;
9064
9065/** Load Timestamp
9066 */
9067typedef struct bcmolt_epon_oam_tek_firmware_timestamp
9068{
9069 uint16_t year; /**< Year. */
9070 uint8_t month; /**< Month. */
9071 uint8_t day; /**< Day. */
9072 uint8_t hour; /**< Hour. */
9073 uint8_t min; /**< Min. */
9074 uint8_t sec; /**< Sec. */
9075} bcmolt_epon_oam_tek_firmware_timestamp;
9076
9077/** Rule Entry.
9078 */
9079typedef struct bcmolt_epon_oam_rule_entry
9080{
9081 uint16_t learning_domain; /**< Learning Domain. */
9082 uint8_t stat; /**< Static. */
9083 uint8_t right_mask; /**< Right Mask. */
9084 bcmolt_epon_oam_binary_field_select_type binselect; /**< BinSelect. */
9085 union
9086 {
9087 struct
9088 {
9089 bcmolt_epon_oam_binary_entry_mac value; /**< Value. */
9090 } sa;
9091
9092 struct
9093 {
9094 bcmolt_epon_oam_binary_entry_mac value; /**< Value. */
9095 } da;
9096
9097 struct
9098 {
9099 bcmolt_epon_oam_binary_entry_ssm_ip value; /**< Value. */
9100 } ssm_plus_ipda;
9101
9102 struct
9103 {
9104 bcmolt_epon_oam_binary_entry_programmable value; /**< Value. */
9105 } prog_field;
9106
9107 struct
9108 {
9109 bcmolt_epon_oam_binary_entry_cvid value; /**< Value. */
9110 } cvlan_vid;
9111
9112 struct
9113 {
9114 bcmolt_epon_oam_binary_entry_svlan_plus_cvlan value; /**< Value. */
9115 } svlan_vid_cvlan_vid;
9116 } u;
9117} bcmolt_epon_oam_rule_entry;
9118
9119/** Tek Attribute Value Rule.
9120 */
9121typedef struct bcmolt_epon_oam_tek_attribute_value_rule
9122{
9123 bcmolt_epon_oam_rule_type leaf; /**< Leaf. */
9124 union
9125 {
9126 struct
9127 {
9128 uint8_t priority; /**< Priority. */
9129 } header;
9130
9131 struct
9132 {
9133 bcmolt_epon_oam_rule_field_select field_select; /**< Field Select. */
9134 uint8_t field_instance; /**< Field Instance. */
9135 uint8_t msb_mask; /**< MSB Mask. */
9136 uint8_t lsb_mask; /**< LSB Mask. */
9137 bcmolt_epon_oam_rule_operator operator; /**< Operator. */
9138 uint32_t match_value_count; /**< Number of elements in match_value. */
9139 uint8_t *match_value; /**< Match Value. */
9140 } clause;
9141
9142 struct
9143 {
9144 bcmolt_epon_oam_rule_action result; /**< Result. */
9145 uint32_t parameter_count; /**< Number of elements in parameter. */
9146 uint8_t *parameter; /**< Parameter. */
9147 } result;
9148
9149 struct
9150 {
9151 bcmolt_epon_oam_rule_entry value; /**< Value. */
9152 } entry;
9153 } u;
9154} bcmolt_epon_oam_tek_attribute_value_rule;
9155
9156/** Uni Shaper.
9157 */
9158typedef struct bcmolt_epon_oam_uni_shaper
9159{
9160 uint32_t queue_bitmap; /**< Queue Bitmap. */
9161 uint32_t shape_rate; /**< Units 2 kbps */
9162 uint16_t burst_size; /**< Unit 256 bytes */
9163} bcmolt_epon_oam_uni_shaper;
9164
9165/** Detailed version number
9166 */
9167typedef struct bcmolt_epon_oam_extended_version_number
9168{
9169 uint8_t major; /**< Major version number */
9170 uint8_t minor; /**< Minor version number */
9171 uint16_t patch; /**< Patch revision number */
9172} bcmolt_epon_oam_extended_version_number;
9173
9174/** Extended Load Label.
9175 */
9176typedef struct bcmolt_epon_oam_extended_load_label
9177{
9178 bcmolt_epon_oam_tek_maturity maturity; /**< Maturity. */
9179 bcmolt_epon_oam_extended_version_number version; /**< Version. */
9180} bcmolt_epon_oam_extended_load_label;
9181
9182/** File Info Firmware.
9183 */
9184typedef struct bcmolt_epon_oam_file_info_firmware
9185{
9186 uint16_t legacy_version; /**< Legacy Version. */
9187 bcmolt_epon_oam_extended_load_label new_version; /**< New Version. */
9188 uint32_t stream; /**< Stream. */
9189 uint32_t revision; /**< Revision. */
9190 uint32_t crc; /**< CRC. */
9191 bcmolt_epon_oam_tek_firmware_timestamp timestamp; /**< Timestamp. */
9192} bcmolt_epon_oam_file_info_firmware;
9193
9194/** File Info Base.
9195 */
9196typedef struct bcmolt_epon_oam_file_info_base
9197{
9198 bcmolt_epon_oam_file_type file_type; /**< File Type. */
9199 union
9200 {
9201 struct
9202 {
9203 bcmolt_epon_oam_file_info_firmware info; /**< Info. */
9204 } boot;
9205
9206 struct
9207 {
9208 bcmolt_epon_oam_file_info_firmware info; /**< Info. */
9209 } app_main;
9210
9211 struct
9212 {
9213 bcmolt_epon_oam_file_info_firmware info; /**< Info. */
9214 } app_backup;
9215 } u;
9216} bcmolt_epon_oam_file_info_base;
9217
9218/** OAM EPoC Bit Load.
9219 */
9220typedef struct bcmolt_epon_oam_oam_epoc_bit_load
9221{
9222 uint8_t idx; /**< Band index */
9223 uint8_t value; /**< Loading Value */
9224} bcmolt_epon_oam_oam_epoc_bit_load;
9225
9226/** Oam Epoc Bit Loading.
9227 */
9228typedef struct bcmolt_epon_oam_oam_epoc_bit_loading
9229{
9230 bcmolt_epon_oam_oam_epoc_bit_load load[32]; /**< Load. */
9231} bcmolt_epon_oam_oam_epoc_bit_loading;
9232
9233/** Oam Epoc Stat.
9234 */
9235typedef struct bcmolt_epon_oam_oam_epoc_stat
9236{
9237 uint16_t idx; /**< Statistic index */
9238 uint32_t value_count; /**< Number of elements in value. */
9239 uint8_t *value; /**< Statistic value */
9240} bcmolt_epon_oam_oam_epoc_stat;
9241
9242/** Defines a link/port priority
9243 */
9244typedef struct bcmolt_epon_oam_tek_queue_config_v2priority
9245{
9246 uint8_t level; /**< Priority level of this priority */
9247 uint8_t weight; /**< Percentage weight of this priority (0 for SP) */
9248 uint8_t queue_count; /**< Number of queues at this priority */
9249 uint16_t *queue_sizes; /**< Queue sizes */
9250} bcmolt_epon_oam_tek_queue_config_v2priority;
9251
9252/** Tek Queue Config V2 Base.
9253 */
9254typedef struct bcmolt_epon_oam_tek_queue_config_v2base
9255{
9256 bcmolt_epon_oam_tek_queue_config_v2subtype subtype; /**< Type of data in this variable container */
9257 union
9258 {
9259 struct
9260 {
9261 bcmolt_epon_oam_tek_report_mode report_config; /**< Reporting mode for ONU */
9262 } header;
9263
9264 struct
9265 {
9266 uint8_t priority_count; /**< Number of priorities for this link */
9267 bcmolt_epon_oam_tek_queue_config_v2priority *priorities; /**< Definition of priorities */
9268 } link;
9269
9270 struct
9271 {
9272 uint8_t priority_count; /**< Number of priorities for this port */
9273 bcmolt_epon_oam_tek_queue_config_v2priority *priorities; /**< Definition of priorities */
9274 } port;
9275 } u;
9276} bcmolt_epon_oam_tek_queue_config_v2base;
9277
9278/** Tek Sequence Number.
9279 */
9280typedef struct bcmolt_epon_oam_tek_sequence_number
9281{
9282 bcmos_bool end_of_sequence; /**< End of sequence. */
9283 uint16_t sequence_number; /**< Sequence Number. */
9284} bcmolt_epon_oam_tek_sequence_number;
9285
9286/** ONU Clock Transport Config.
9287 */
9288typedef struct bcmolt_epon_oam_onu_clock_transport_config
9289{
9290 bcmolt_epon_oam_clock_transport_key key; /**< Key. */
9291 bcmos_bool re_init; /**< Re- Init. */
9292 bcmos_bool tod_enable; /**< TOD Enable. */
9293 bcmos_bool one_pps_enable; /**< 1PPS Enable. */
9294 int32_t one_pps_offset; /**< 1PPS Offset. */
9295 uint32_t round_trip_time; /**< Round Trip Time. */
9296 uint32_t one_pps_half_period; /**< 1PPS Half Period. */
9297} bcmolt_epon_oam_onu_clock_transport_config;
9298
9299/** OAM Mcast Domain Port Info.
9300 */
9301typedef struct bcmolt_epon_oam_oam_mcast_domain_port_info
9302{
9303 uint8_t port; /**< Port. */
9304 uint8_t group_limit; /**< Group Limit. */
9305 uint8_t fc_limit; /**< For later use */
9306 uint8_t action; /**< For later use */
9307 uint16_t up_epon_vid; /**< Up EPON Vid. */
9308 uint16_t up_uni_vid; /**< Up Uni Vid. */
9309 uint8_t up_link; /**< Not port relative */
9310 uint8_t dnq; /**< DnQ. */
9311 uint8_t upq; /**< UpQ. */
9312} bcmolt_epon_oam_oam_mcast_domain_port_info;
9313
9314/** Oam Mcast Domain Info.
9315 */
9316typedef struct bcmolt_epon_oam_oam_mcast_domain_info
9317{
9318 uint8_t id; /**< ID. */
9319 uint8_t dn_link; /**< Dn Link. */
9320 bcmolt_epon_oam_domain_option options; /**< Options. */
9321 bcmolt_epon_oam_forward_qualifier fwd_qual; /**< Fwd Qual. */
9322 uint8_t reserved; /**< Reserved. */
9323 uint8_t action; /**< Action. */
9324 uint16_t dn_epon_vid; /**< Dn EPON Vid. */
9325 uint16_t dn_uni_vid; /**< Dn Uni Vid. */
9326 uint8_t num_port; /**< Num Port. */
9327 bcmolt_epon_oam_oam_mcast_domain_port_info *port_info; /**< Port Info. */
9328} bcmolt_epon_oam_oam_mcast_domain_info;
9329
9330/** Oam Mcast Domain Record.
9331 */
9332typedef struct bcmolt_epon_oam_oam_mcast_domain_record
9333{
9334 uint8_t num_domains; /**< Num Domains. */
9335 bcmolt_epon_oam_oam_mcast_domain_info *domain; /**< Domain. */
9336} bcmolt_epon_oam_oam_mcast_domain_record;
9337
9338/** Tek Attribute Value.
9339 */
9340typedef struct bcmolt_epon_oam_tek_attribute_value
9341{
9342 bcmolt_epon_oam_tek_leaf_attribute leaf; /**< Leaf. */
9343 uint8_t width; /**< Width. */
9344 union
9345 {
9346 struct
9347 {
9348 uint8_t idx; /**< Index. */
9349 bcmolt_epon_oam_lue_field_select_entry def; /**< Default. */
9350 } lue_field_select;
9351
9352 struct
9353 {
9354 uint64_t value; /**< Value. */
9355 } std_mac_frames_tx_ok;
9356
9357 struct
9358 {
9359 uint64_t value; /**< Value. */
9360 } std_mac_single_coll_frames;
9361
9362 struct
9363 {
9364 uint64_t value; /**< Value. */
9365 } std_mac_multiple_coll_frames;
9366
9367 struct
9368 {
9369 uint64_t value; /**< Value. */
9370 } std_mac_frames_rx_ok;
9371
9372 struct
9373 {
9374 uint64_t value; /**< Value. */
9375 } std_mac_fcs_err;
9376
9377 struct
9378 {
9379 uint64_t value; /**< Value. */
9380 } std_mac_align_err;
9381
9382 struct
9383 {
9384 uint64_t value; /**< Value. */
9385 } std_mac_octets_tx_ok;
9386
9387 struct
9388 {
9389 uint64_t value; /**< Value. */
9390 } std_mac_late_collisions;
9391
9392 struct
9393 {
9394 uint64_t value; /**< Value. */
9395 } std_mac_excessive_collisions;
9396
9397 struct
9398 {
9399 uint64_t value; /**< Value. */
9400 } std_mac_octets_rx_ok;
9401
9402 struct
9403 {
9404 uint64_t value; /**< Value. */
9405 } std_mac_mcast_frames_tx_ok;
9406
9407 struct
9408 {
9409 uint64_t value; /**< Value. */
9410 } std_mac_bcast_frames_tx_ok;
9411
9412 struct
9413 {
9414 uint64_t value; /**< Value. */
9415 } std_mac_mcast_frames_rx_ok;
9416
9417 struct
9418 {
9419 uint64_t value; /**< Value. */
9420 } std_mac_bcast_frames_rx_ok;
9421
9422 struct
9423 {
9424 uint64_t value; /**< Value. */
9425 } std_mac_in_range_len_err;
9426
9427 struct
9428 {
9429 uint64_t value; /**< Value. */
9430 } std_mac_frame_too_long;
9431
9432 struct
9433 {
9434 uint8_t enabled; /**< Enabled. */
9435 } std_mac_enable_status;
9436
9437 struct
9438 {
9439 uint64_t value; /**< Value. */
9440 } std_phy_symbol_err_during_carrier;
9441
9442 struct
9443 {
9444 uint64_t value; /**< Value. */
9445 } std_mac_ctrl_pause_tx;
9446
9447 struct
9448 {
9449 uint64_t value; /**< Value. */
9450 } std_mac_ctrl_pause_rx;
9451
9452 struct
9453 {
9454 uint64_t value; /**< Value. */
9455 } std_oam_local_err_frame_secs_event;
9456
9457 struct
9458 {
9459 uint64_t value; /**< Value. */
9460 } std_oam_emul_crc8err;
9461
9462 struct
9463 {
9464 uint64_t value; /**< Value. */
9465 } std_mpcp_mac_ctrl_frames_tx;
9466
9467 struct
9468 {
9469 uint64_t value; /**< Value. */
9470 } std_mpcp_mac_ctrl_frames_rx;
9471
9472 struct
9473 {
9474 uint64_t value; /**< Value. */
9475 } std_mpcp_tx_reg_ack;
9476
9477 struct
9478 {
9479 uint64_t value; /**< Value. */
9480 } std_mpcp_tx_reg_request;
9481
9482 struct
9483 {
9484 uint64_t value; /**< Value. */
9485 } std_mpcp_tx_report;
9486
9487 struct
9488 {
9489 uint64_t value; /**< Value. */
9490 } std_mpcp_rx_gate;
9491
9492 struct
9493 {
9494 uint64_t value; /**< Value. */
9495 } std_mpcp_rx_register;
9496
9497 struct
9498 {
9499 uint16_t table_size; /**< Table Size. */
9500 } dyn_learn_tbl_size;
9501
9502 struct
9503 {
9504 uint16_t age_limit; /**< Age Limit. */
9505 } dyn_learn_age_limit;
9506
9507 struct
9508 {
9509 uint64_t value; /**< Value. */
9510 } rx_unicast_frames;
9511
9512 struct
9513 {
9514 uint64_t value; /**< Value. */
9515 } tx_unicast_frames;
9516
9517 struct
9518 {
9519 uint64_t value; /**< Value. */
9520 } rx_frame_too_short;
9521
9522 struct
9523 {
9524 uint64_t value; /**< Value. */
9525 } rx_frame64;
9526
9527 struct
9528 {
9529 uint64_t value; /**< Value. */
9530 } rx_frame65to127;
9531
9532 struct
9533 {
9534 uint64_t value; /**< Value. */
9535 } rx_frame128to255;
9536
9537 struct
9538 {
9539 uint64_t value; /**< Value. */
9540 } rx_frame256to511;
9541
9542 struct
9543 {
9544 uint64_t value; /**< Value. */
9545 } rx_frame512to1023;
9546
9547 struct
9548 {
9549 uint64_t value; /**< Value. */
9550 } rx_frame1024to1518;
9551
9552 struct
9553 {
9554 uint64_t value; /**< Value. */
9555 } rx_frame1519plus;
9556
9557 struct
9558 {
9559 uint64_t value; /**< Value. */
9560 } tx_frame64;
9561
9562 struct
9563 {
9564 uint64_t value; /**< Value. */
9565 } tx_frame65to127;
9566
9567 struct
9568 {
9569 uint64_t value; /**< Value. */
9570 } tx_frame128to255;
9571
9572 struct
9573 {
9574 uint64_t value; /**< Value. */
9575 } tx_frame256to511;
9576
9577 struct
9578 {
9579 uint64_t value; /**< Value. */
9580 } tx_frame512to1023;
9581
9582 struct
9583 {
9584 uint64_t value; /**< Value. */
9585 } tx_frame1024to1518;
9586
9587 struct
9588 {
9589 uint64_t value; /**< Value. */
9590 } tx_frame1519plus;
9591
9592 struct
9593 {
9594 uint8_t delay_threshold; /**< Delay Threshold. */
9595 } tx_delay_threshold;
9596
9597 struct
9598 {
9599 uint64_t delay; /**< Delay. */
9600 } tx_delay;
9601
9602 struct
9603 {
9604 uint64_t value; /**< Value. */
9605 } tx_frames_dropped;
9606
9607 struct
9608 {
9609 uint64_t value; /**< Value. */
9610 } tx_bytes_dropped;
9611
9612 struct
9613 {
9614 uint64_t value; /**< Value. */
9615 } tx_bytes_delayed;
9616
9617 struct
9618 {
9619 uint64_t value; /**< Value. */
9620 } tx_bytes_unused;
9621
9622 struct
9623 {
9624 uint8_t delay_threshold; /**< Delay Threshold. */
9625 } rx_delay_threshold;
9626
9627 struct
9628 {
9629 uint64_t delay; /**< Delay. */
9630 } rx_delay;
9631
9632 struct
9633 {
9634 uint64_t value; /**< Value. */
9635 } rx_frames_dropped;
9636
9637 struct
9638 {
9639 uint64_t value; /**< Value. */
9640 } rx_bytes_dropped;
9641
9642 struct
9643 {
9644 uint64_t value; /**< Value. */
9645 } rx_bytes_delayed;
9646
9647 struct
9648 {
9649 uint16_t statistic_id; /**< Statistic ID. */
9650 uint32_t rising_threshold; /**< Rising Threshold. */
9651 uint32_t falling_threshold; /**< Falling Threshold. */
9652 } port_stat_threshold;
9653
9654 struct
9655 {
9656 uint16_t statistic_id; /**< Statistic ID. */
9657 uint32_t rising_threshold; /**< Rising Threshold. */
9658 uint32_t falling_threshold; /**< Falling Threshold. */
9659 } link_stat_threshold;
9660
9661 struct
9662 {
9663 uint16_t time; /**< Time. */
9664 } encrypt_key_expiry_time;
9665
9666 struct
9667 {
9668 uint8_t len_error_discard; /**< Len Error Discard. */
9669 } len_error_discard;
9670
9671 struct
9672 {
9673 uint32_t thresholds_count; /**< Number of elements in thresholds. */
9674 uint16_t *thresholds; /**< Thresholds. */
9675 } report_thresholds;
9676
9677 struct
9678 {
9679 uint16_t vlan_ether_type; /**< Vlan EtherType. */
9680 bcmos_bool use_for_upstream; /**< Use For Upstream. */
9681 bcmos_bool use_for_downstream; /**< Use For Downstream. */
9682 } vlan_ethertype;
9683
9684 struct
9685 {
9686 uint16_t current_caps; /**< Current Caps. */
9687 uint16_t physical_caps; /**< Physical Caps. */
9688 } port_capability;
9689
9690 struct
9691 {
9692 uint32_t rules_count; /**< Number of elements in rules. */
9693 bcmolt_epon_oam_tek_onu_rule *rules; /**< Rules. */
9694 } new_dn_filter_tbl;
9695
9696 struct
9697 {
9698 uint32_t rules_count; /**< Number of elements in rules. */
9699 bcmolt_epon_oam_tek_onu_rule *rules; /**< Rules. */
9700 } new_up_filter_tbl;
9701
9702 struct
9703 {
9704 uint16_t destination_bitmap; /**< Destination Bitmap. */
9705 } arp_replicate_dest;
9706
9707 struct
9708 {
9709 uint16_t destination_bitmap; /**< Destination Bitmap. */
9710 } lacp_dest;
9711
9712 struct
9713 {
9714 uint8_t action_for_unman_grp; /**< Action For Unman Grp. */
9715 uint8_t vlans_count; /**< Vlans Count. */
9716 bcmolt_epon_oam_tek_onu_igmp_vlan *vlans; /**< Vlans. */
9717 } onu_igmp_vlan;
9718
9719 struct
9720 {
9721 uint8_t learning_mode; /**< Learning Mode. */
9722 } dyn_learning_mode;
9723
9724 struct
9725 {
9726 uint16_t limit; /**< Limit. */
9727 } min_mac_limit;
9728
9729 struct
9730 {
9731 uint8_t limit; /**< Limit. */
9732 } onu_aggregate_limit;
9733
9734 struct
9735 {
9736 uint32_t data_count; /**< Number of elements in data. */
9737 uint8_t *data; /**< Data. */
9738 } nvs_scratchpad;
9739
9740 struct
9741 {
9742 uint8_t flood_unknown_opt; /**< Flood Unknown Opt. */
9743 } flood_unknown;
9744
9745 struct
9746 {
9747 uint8_t local_switch_opt; /**< Local Switch Opt. */
9748 } local_switching;
9749
9750 struct
9751 {
9752 uint8_t down_burst_toll_opt; /**< Down Burst Toll Opt. */
9753 } down_burst_toll;
9754
9755 struct
9756 {
9757 uint8_t downstream_fec; /**< Downstream FEC. */
9758 uint8_t upstream_fec; /**< Upstream FEC. */
9759 } fec_mode;
9760
9761 struct
9762 {
9763 uint64_t temperature; /**< Temperature. */
9764 } power_mon_temperature;
9765
9766 struct
9767 {
9768 uint64_t vcc; /**< VCC. */
9769 } power_mon_vcc;
9770
9771 struct
9772 {
9773 uint64_t bias; /**< Bias. */
9774 } power_mon_tx_bias;
9775
9776 struct
9777 {
9778 uint64_t power; /**< Power. */
9779 } power_mon_tx_power;
9780
9781 struct
9782 {
9783 uint64_t power; /**< Power. */
9784 } power_mon_rx_power;
9785
9786 struct
9787 {
9788 uint8_t network_epon_ports_count; /**< Number of elements in Network EPON Ports */
9789 uint8_t *network_epon_ports; /**< Network EPON Ports. */
9790 } network_pon_map;
9791
9792 struct
9793 {
9794 bcmolt_epon_oam_onu_psstate state; /**< State. */
9795 } psstate;
9796
9797 struct
9798 {
9799 uint8_t field_select; /**< The field select to use for SLE (0 means disable) */
9800 } sle_mode;
9801
9802 struct
9803 {
9804 bcmolt_epon_oam_tek_learn_table_mode learn_table_mode; /**< Learn Table Mode. */
9805 } learn_table_mode;
9806
9807 struct
9808 {
9809 bcmos_bool signal_detect; /**< Whether or not signal is detected */
9810 } transceiver_signal_detect;
9811
9812 struct
9813 {
9814 uint8_t user_port_to_network_port_count; /**< Number of elements in User Port To Network Port */
9815 uint8_t *user_port_to_network_port; /**< Which network port each user port is currently connected to (0xFF for not connected) */
9816 } crossbar_config;
9817
9818 struct
9819 {
9820 bcmos_bool burst_activity; /**< Whether or not there is any burst activity (LoS) */
9821 } transceiver_burst_activity;
9822
9823 struct
9824 {
9825 uint8_t network_port; /**< Which network port the IPN should use for management */
9826 } control_port;
9827
9828 struct
9829 {
9830 bcmolt_epon_oam_tek_vlan_destination_match_mode match_mode; /**< Match Mode. */
9831 bcmolt_epon_oam_tek_vlan_destination_flags flags; /**< Flags. */
9832 uint8_t default_link_index; /**< Default Link Index. */
9833 uint8_t default_queue_index; /**< Default Queue Index. */
9834 uint8_t mappings_count; /**< Number of elements in Mappings */
9835 bcmolt_epon_oam_tek_vlan_destination_mapping *mappings; /**< Mappings. */
9836 } vlan_destinations;
9837
9838 struct
9839 {
9840 bcmolt_epon_oam_tek_encryption_mode mode; /**< Mode. */
9841 bcmolt_epon_oam_tek_encryption_options options; /**< Options. */
9842 } encryption_mode;
9843
9844 struct
9845 {
9846 uint32_t stream; /**< Stream. */
9847 uint32_t revision; /**< Revision. */
9848 } internal_version;
9849
9850 struct
9851 {
9852 bcmolt_epon_oam_tek_firmware_timestamp timestamp; /**< Timestamp. */
9853 } firmware_timestamp;
9854
9855 struct
9856 {
9857 bcmolt_epon_oam_tek_attribute_value_rule rule; /**< Rule. */
9858 } onu_rule;
9859
9860 struct
9861 {
9862 bcmolt_epon_oam_flow_direction direction; /**< Direction. */
9863 uint8_t policer_id; /**< Policer Id. */
9864 uint32_t burst_size; /**< Burst Size. */
9865 uint32_t traffic_rate; /**< Traffic Rate. */
9866 } policer;
9867
9868 struct
9869 {
9870 uint8_t number_of_shapers; /**< Number of Shapers. */
9871 bcmolt_epon_oam_uni_shaper *uni_shaper; /**< Uni Shaper. */
9872 } uni_shaper;
9873
9874 struct
9875 {
9876 bcmolt_epon_oam_extended_load_label version; /**< Maturity of frimware */
9877 } ext_firmware_version;
9878
9879 struct
9880 {
9881 bcmolt_epon_oam_direction direction; /**< Direction of key */
9882 uint8_t key_index; /**< Index of key */
9883 uint8_t key_length; /**< Byte count of key data */
9884 uint8_t *key_data; /**< Key data */
9885 } encryption_key;
9886
9887 struct
9888 {
9889 bcmolt_epon_oam_file_info_base file_info; /**< File Info. */
9890 } file_info;
9891
9892 struct
9893 {
9894 uint8_t system_rule_options; /**< Options for system rules */
9895 } system_rule_options;
9896
9897 struct
9898 {
9899 uint16_t mtu; /**< MTU. */
9900 } mtu;
9901
9902 struct
9903 {
9904 bcmolt_epon_oam_nvs_state state; /**< State. */
9905 } nvs_state;
9906
9907 struct
9908 {
9909 uint8_t priority_count; /**< Priority Count. */
9910 uint8_t *priority_map; /**< Priority Map. */
9911 } queueprimap;
9912
9913 struct
9914 {
9915 bcmolt_epon_oam_oam_epoc_bit_loading value; /**< Value. */
9916 } epoc_down_bit_loading;
9917
9918 struct
9919 {
9920 bcmolt_epon_oam_oam_epoc_bit_loading value; /**< Value. */
9921 } epoc_up_bit_loading;
9922
9923 struct
9924 {
9925 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9926 } epoc_sdm_phase;
9927
9928 struct
9929 {
9930 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9931 } epoc_sdm_amplitude;
9932
9933 struct
9934 {
9935 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9936 } epoc_sdm_quantizer;
9937
9938 struct
9939 {
9940 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9941 } epoc_unused0;
9942
9943 struct
9944 {
9945 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9946 } epoc_unused1;
9947
9948 struct
9949 {
9950 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9951 } epoc_unused2;
9952
9953 struct
9954 {
9955 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9956 } epoc_unused3;
9957
9958 struct
9959 {
9960 bcmolt_epon_oam_oam_epoc_stat value; /**< Value. */
9961 } epoc_unused4;
9962
9963 struct
9964 {
9965 bcmolt_epon_oam_tek_queue_config_v2base queue_config; /**< Queue Config. */
9966 } queue_config_v2;
9967
9968 struct
9969 {
9970 bcmolt_epon_oam_tek_feature_set feature_set; /**< Feature Set. */
9971 } feature_set;
9972
9973 struct
9974 {
9975 bcmolt_epon_oam_std_phy_type value; /**< Value. */
9976 } std_phy_type;
9977
9978 struct
9979 {
9980 bcmolt_epon_oam_tek_sequence_number value; /**< Value. */
9981 } sequence_number;
9982
9983 struct
9984 {
9985 uint32_t pulse_time; /**< MPCP time to pulse. */
9986 } mpcp_clock;
9987
9988 struct
9989 {
9990 bcmolt_epon_oam_onu_clock_transport_config value; /**< Value. */
9991 } mpcp_clock_compensate;
9992
9993 struct
9994 {
9995 uint8_t robustness_count; /**< Robustness Count. */
9996 uint8_t lmq_count; /**< LMQ Count. */
9997 bcmos_bool fast_leave_enable; /**< Fast Leave Enable. */
9998 bcmolt_epon_oam_mcast_snoop_mode mode; /**< Mode. */
9999 bcmolt_epon_oam_ipmc_global_options options; /**< Options. */
10000 } mcast_global_config;
10001
10002 struct
10003 {
10004 bcmolt_epon_oam_oam_mcast_domain_record value; /**< Value. */
10005 } mcast_domain_config;
10006
10007 struct
10008 {
10009 uint8_t time; /**< The amount of time the ONU should wait after loss of signal or loss of gate to reset the links in 10 ms increments. */
10010 bcmolt_epon_oam_tek_holdover_flags flags; /**< ONU holdover configuration flags. */
10011 } onu_holdover;
10012
10013 struct
10014 {
10015 bcmolt_epon_oam_tek_alarm_code alarm_code; /**< Alarm Code. */
10016 uint32_t raise_threshold; /**< Raise Threshold. */
10017 uint32_t clear_threshold; /**< Clear Threshold. */
10018 } alarm_threshold;
10019
10020 struct
10021 {
10022 uint8_t count_of_failsafe_mech; /**< Count Of Failsafe Mech. */
10023 bcmos_bool failsafe_state; /**< Failsafe State. */
10024 } failsafe;
10025
10026 struct
10027 {
10028 uint16_t statistic_id; /**< Statistic ID. */
10029 uint16_t interval; /**< Interval. */
10030 } port_stats_threshold_interval;
10031
10032 struct
10033 {
10034 uint16_t statistic_id; /**< Statistic ID. */
10035 uint16_t interval; /**< Interval. */
10036 } link_stats_threshold_interval;
10037
10038 struct
10039 {
10040 bcmolt_epon_oam_mac_duplex_status status; /**< Status. */
10041 } std_mac_duplex_status;
10042
10043 struct
10044 {
10045 bcmolt_epon_oam_autonegotiate_admin_state state; /**< State. */
10046 } std_auto_neg_admin_state;
10047
10048 struct
10049 {
10050 bcmolt_epon_oam_mau_media_available status; /**< Status. */
10051 } std_mau_media_avail;
10052
10053 struct
10054 {
10055 bcmolt_epon_oam_mdi_mode mode; /**< Mode. */
10056 } mdi_crossover;
10057
10058 struct
10059 {
10060 bcmos_mac_address address; /**< Address. */
10061 } std_mac_addr;
10062 } u;
10063} bcmolt_epon_oam_tek_attribute_value;
10064
10065/** Tek ONU Queue Config.
10066 */
10067typedef struct bcmolt_epon_oam_tek_onu_queue_config
10068{
10069 uint8_t queue_sizes_count; /**< Queue Sizes Count. */
10070 uint8_t *queue_sizes; /**< Queue Sizes. */
10071} bcmolt_epon_oam_tek_onu_queue_config;
10072
10073/** Tek IGMP Snooping Port Config.
10074 */
10075typedef struct bcmolt_epon_oam_tek_igmp_snooping_port_config
10076{
10077 uint8_t number_of_igmp_groups; /**< Number Of IGMP Groups. */
10078 uint8_t relative_queue_for_classification; /**< Relative Queue For Classification. */
10079} bcmolt_epon_oam_tek_igmp_snooping_port_config;
10080
10081/** Tek ONU IGMP Group No VID.
10082 */
10083typedef struct bcmolt_epon_oam_tek_onu_igmp_group_no_vid
10084{
10085 bcmos_ipv4_address group; /**< Group. */
10086 uint8_t ports; /**< Ports. */
10087} bcmolt_epon_oam_tek_onu_igmp_group_no_vid;
10088
10089/** Tek Action Value Base.
10090 */
10091typedef struct bcmolt_epon_oam_tek_action_value_base
10092{
10093 bcmolt_epon_oam_tek_leaf_action leaf; /**< Leaf. */
10094 uint8_t width; /**< Width. */
10095 union
10096 {
10097 struct
10098 {
10099 bcmos_mac_address mac; /**< MAC. */
10100 } add_static_entry;
10101
10102 struct
10103 {
10104 bcmos_mac_address mac; /**< MAC. */
10105 } del_static_entry;
10106
10107 struct
10108 {
10109 uint32_t rules_count; /**< Number of elements in rules. */
10110 bcmolt_epon_oam_tek_onu_rule *rules; /**< Rules. */
10111 } add_rule;
10112
10113 struct
10114 {
10115 bcmolt_epon_oam_tek_onu_rule rules; /**< Rules. */
10116 } new_add_rule;
10117
10118 struct
10119 {
10120 uint32_t rules_count; /**< Number of elements in rules. */
10121 bcmolt_epon_oam_tek_onu_rule *rules; /**< Rules. */
10122 } new_del_rule;
10123
10124 struct
10125 {
10126 uint32_t rules_count; /**< Number of elements in rules. */
10127 bcmolt_epon_oam_tek_onu_rule *rules; /**< Rules. */
10128 } delete_rule;
10129
10130 struct
10131 {
10132 uint32_t gpio_config; /**< GPIO Config. */
10133 } set_gpio_config;
10134
10135 struct
10136 {
10137 uint8_t links_count; /**< Links Count. */
10138 bcmolt_epon_oam_tek_onu_queue_config *links; /**< Links. */
10139 uint8_t ports_count; /**< Ports Count. */
10140 bcmolt_epon_oam_tek_onu_queue_config *ports; /**< Ports. */
10141 bcmolt_epon_oam_tek_onu_queue_config multicast; /**< Multicast. */
10142 } set_queue_config;
10143
10144 struct
10145 {
10146 uint8_t robustness_count; /**< Robustness Count. */
10147 uint8_t last_member_query_count; /**< Last Member Query Count. */
10148 uint8_t ports_count; /**< Ports Count. */
10149 bcmolt_epon_oam_tek_igmp_snooping_port_config *ports; /**< Ports. */
10150 bcmolt_epon_oam_tek_igmp_forwarding_qualifer grp_forward; /**< Grp Forward. */
10151 bcmolt_epon_oam_tek_igmp_snooping_options options; /**< Options. */
10152 } set_igmp_config;
10153
10154 struct
10155 {
10156 uint8_t groups_count; /**< Groups Count. */
10157 bcmolt_epon_oam_tek_onu_igmp_group_no_vid *groups; /**< Groups. */
10158 } add_igmp_group;
10159
10160 struct
10161 {
10162 uint8_t max_oam_rate; /**< Max OAM Rate. */
10163 uint8_t min_oam_rate; /**< Min OAM Rate. */
10164 } set_oam_rate;
10165
10166 struct
10167 {
10168 uint16_t off_time; /**< Off Time. */
10169 } bc_laser_power_off;
10170
10171 struct
10172 {
10173 uint16_t time; /**< Time. */
10174 bcmolt_epon_oam_sleep_options options; /**< Options. */
10175 } sleep;
10176
10177 struct
10178 {
10179 bcmolt_epon_oam_flow_direction direction; /**< Direction. */
10180 uint8_t policer_id; /**< Policer Id. */
10181 uint32_t burst_size; /**< Burst Size. */
10182 uint32_t traffic_rate; /**< Traffic Rate. */
10183 } enable_policer;
10184
10185 struct
10186 {
10187 bcmolt_epon_oam_flow_direction direction; /**< Direction. */
10188 uint8_t policer_id; /**< Policer Id. */
10189 } disable_policer;
10190
10191 struct
10192 {
10193 bcmolt_epon_oam_epoc_stat_gather_modes mode; /**< Mode. */
10194 bcmolt_epon_oam_epoc_sdm250stat_index stat_index; /**< Stat Index. */
10195 } get_epoc_sdm_stats;
10196
10197 struct
10198 {
10199 bcmolt_epon_oam_epoc_stat_gather_modes mode; /**< Mode. */
10200 bcmolt_epon_oam_epoc_cmc_stat_index stat_index; /**< Stat Index. */
10201 } get_epoc_cmc_stats;
10202
10203 struct
10204 {
10205 bcmolt_epon_oam_epoc_stat_gather_modes mode; /**< Mode. */
10206 bcmolt_epon_oam_epoc_cnu_stat_index stat_index; /**< Stat Index. */
10207 } get_epoc_cnu_stats;
10208
10209 struct
10210 {
10211 uint8_t port_count; /**< Number of UNI ports. */
10212 uint8_t *queue_per_port; /**< Which logical queue number to use, indexed by UNI port. */
10213 } set_dn_bcast_queue;
10214 } u;
10215} bcmolt_epon_oam_tek_action_value_base;
10216
10217/** Tek Var Container.
10218 */
10219typedef struct bcmolt_epon_oam_tek_var_container
10220{
10221 bcmolt_epon_oam_tek_branch branch; /**< Branch. */
10222 union
10223 {
10224 struct
10225 {
10226 uint16_t leaf; /**< Leaf. */
10227 uint8_t width; /**< Width. */
10228 } def;
10229
10230 struct
10231 {
10232 uint32_t unknown_count; /**< Number of elements in unknown. */
10233 uint8_t *unknown; /**< Unknown. */
10234 } end;
10235
10236 struct
10237 {
10238 bcmolt_epon_oam_tek_object_context object_context; /**< Object Context. */
10239 } name_binding;
10240
10241 struct
10242 {
10243 bcmolt_epon_oam_tek_attribute_value attribute; /**< Attribute. */
10244 } attribute;
10245
10246 struct
10247 {
10248 bcmolt_epon_oam_tek_action_value_base action; /**< Action. */
10249 } action;
10250 } u;
10251} bcmolt_epon_oam_tek_var_container;
10252
10253/** Tek Set Resp Action Value Base.
10254 */
10255typedef struct bcmolt_epon_oam_tek_set_resp_action_value_base
10256{
10257 bcmolt_epon_oam_tek_leaf_action leaf; /**< Leaf. */
10258 uint8_t width; /**< Width. */
10259 union
10260 {
10261 struct
10262 {
10263 uint32_t unknown_count; /**< Number of elements in unknown. */
10264 uint8_t *unknown; /**< Unknown. */
10265 } def;
10266
10267 struct
10268 {
10269 uint8_t links_count; /**< Links Count. */
10270 bcmolt_epon_oam_tek_onu_queue_config *links; /**< Links. */
10271 uint8_t ports_count; /**< Ports Count. */
10272 bcmolt_epon_oam_tek_onu_queue_config *ports; /**< Ports. */
10273 bcmolt_epon_oam_tek_onu_queue_config multicast; /**< Multicast. */
10274 } get_queue_config;
10275
10276 struct
10277 {
10278 uint8_t robustness_count; /**< Robustness Count. */
10279 uint8_t last_member_query_count; /**< Last Member Query Count. */
10280 uint8_t ports_count; /**< Ports Count. */
10281 bcmolt_epon_oam_tek_igmp_snooping_port_config *ports; /**< Ports. */
10282 bcmolt_epon_oam_tek_igmp_forwarding_qualifer grp_forward; /**< Grp Forward. */
10283 bcmolt_epon_oam_tek_igmp_snooping_options options; /**< Options. */
10284 } get_igmp_config;
10285
10286 struct
10287 {
10288 uint8_t groups_count; /**< Groups Count. */
10289 bcmolt_epon_oam_tek_onu_igmp_group_no_vid *groups; /**< Groups. */
10290 } get_igmp_group_info;
10291
10292 struct
10293 {
10294 uint8_t max_oam_rate; /**< Max OAM Rate. */
10295 uint8_t min_oam_rate; /**< Min OAM Rate. */
10296 } get_oam_rate;
10297
10298 struct
10299 {
10300 uint16_t boot_version; /**< Boot Version. */
10301 uint32_t boot_crc; /**< Boot CRC. */
10302 uint16_t personality_version; /**< Personality Version. */
10303 uint32_t personality_crc; /**< Personality CRC. */
10304 uint16_t app0version; /**< APP0 Version. */
10305 uint32_t app0crc; /**< APP0 CRC. */
10306 uint16_t app1version; /**< APP1 Version. */
10307 uint32_t app1crc; /**< APP1 CRC. */
10308 uint16_t diagnostic_version; /**< Diagnostic Version. */
10309 uint32_t diagnostic_crc; /**< Diagnostic CRC. */
10310 } get_load_info;
10311
10312 struct
10313 {
10314 bcmolt_epon_oam_epoc_sdm250stat_index stat_index; /**< Stat Index. */
10315 uint8_t counter_value_count; /**< Number of elements in Counter Value */
10316 uint8_t *counter_value; /**< Length of zero if not applicable */
10317 uint8_t rate_value_count; /**< Number of elements in Rate Value */
10318 uint8_t *rate_value; /**< Length of zero if not applicable */
10319 uint8_t rate_interval_count; /**< Number of elements in Rate Interval */
10320 uint8_t *rate_interval; /**< Length of zero if not applicable */
10321 } get_epoc_sdm_stats;
10322
10323 struct
10324 {
10325 bcmolt_epon_oam_epoc_cmc_stat_index stat_index; /**< Stat Index. */
10326 uint8_t counter_value_count; /**< Number of elements in Counter Value */
10327 uint8_t *counter_value; /**< Length of zero if not applicable */
10328 uint8_t rate_value_count; /**< Number of elements in Rate Value */
10329 uint8_t *rate_value; /**< Length of zero if not applicable */
10330 uint8_t rate_interval_count; /**< Number of elements in Rate Interval */
10331 uint8_t *rate_interval; /**< Length of zero if not applicable */
10332 } get_epoc_cmc_stats;
10333
10334 struct
10335 {
10336 bcmolt_epon_oam_epoc_cnu_stat_index stat_index; /**< Number of elements in Counter Value */
10337 uint8_t counter_value_count; /**< Number of elements in Counter Value */
10338 uint8_t *counter_value; /**< Length of zero if not applicable */
10339 uint8_t rate_value_count; /**< Number of elements in Rate Value */
10340 uint8_t *rate_value; /**< Length of zero if not applicable */
10341 uint8_t rate_interval_count; /**< Number of elements in Rate Interval */
10342 uint8_t *rate_interval; /**< Length of zero if not applicable */
10343 } get_epoc_cnu_stats;
10344
10345 struct
10346 {
10347 uint8_t port_count; /**< Number of UNI ports. */
10348 uint8_t *queue_per_port; /**< Which logical queue number to use, indexed by UNI port. */
10349 } get_dn_bcast_queue;
10350 } u;
10351} bcmolt_epon_oam_tek_set_resp_action_value_base;
10352
10353/** Tek Set Resp Var Container Base.
10354 */
10355typedef struct bcmolt_epon_oam_tek_set_resp_var_container_base
10356{
10357 bcmolt_epon_oam_tek_branch branch; /**< Branch. */
10358 union
10359 {
10360 struct
10361 {
10362 uint16_t leaf; /**< Leaf. */
10363 uint8_t width; /**< Width. */
10364 } def;
10365
10366 struct
10367 {
10368 uint32_t unknown_count; /**< Number of elements in unknown. */
10369 uint8_t *unknown; /**< Unknown. */
10370 } end;
10371
10372 struct
10373 {
10374 bcmolt_epon_oam_tek_object_context object_context; /**< Object Context. */
10375 } name_binding;
10376
10377 struct
10378 {
10379 bcmolt_epon_oam_tek_attribute_value attribute; /**< Attribute. */
10380 } attribute;
10381
10382 struct
10383 {
10384 bcmolt_epon_oam_tek_set_resp_action_value_base action; /**< Action. */
10385 } action;
10386 } u;
10387} bcmolt_epon_oam_tek_set_resp_var_container_base;
10388
10389/** Tek Vendor Extended.
10390 */
10391typedef struct bcmolt_epon_oam_tek_vendor_extended
10392{
10393 bcmolt_epon_oam_tek_opcode op; /**< Op. */
10394 union
10395 {
10396 struct
10397 {
10398 uint16_t firmware_version; /**< Firmware Version. */
10399 uint8_t oui[3]; /**< OUI. */
10400 uint16_t product_id; /**< Product ID. */
10401 uint16_t version; /**< Version. */
10402 uint8_t extended_id[64]; /**< Extended ID. */
10403 bcmos_mac_address base_mac; /**< Base MAC. */
10404 uint8_t max_links; /**< Max Links. */
10405 uint8_t num_ports; /**< Num Ports. */
10406 uint8_t num_assignable_upstream_queues; /**< Num Assignable Upstream Queues. */
10407 uint8_t max_queues_per_link_upstream; /**< Max Queues Per Link Upstream. */
10408 uint8_t queue_increment_upstream; /**< Queue Increment Upstream. */
10409 uint8_t num_assignable_downstream_queues; /**< Num Assignable Downstream Queues. */
10410 uint8_t max_queues_per_link_downstream; /**< Max Queues Per Link Downstream. */
10411 uint8_t queue_increment_downstream; /**< Queue Increment Downstream. */
10412 uint16_t upstream_buffer_available; /**< Upstream Buffer Available. */
10413 uint16_t downstream_buffer_available; /**< Downstream Buffer Available. */
10414 uint16_t jedec_manufacturer_id; /**< JEDEC Manufacturer ID. */
10415 uint16_t chip_id; /**< Chip ID. */
10416 uint32_t chip_version; /**< Chip Version. */
10417 } info;
10418
10419 struct
10420 {
10421 uint32_t vars_count; /**< Number of elements in vars. */
10422 bcmolt_epon_oam_tek_var_descriptor *vars; /**< Vars. */
10423 } get_request;
10424
10425 struct
10426 {
10427 uint32_t vars_count; /**< Number of elements in vars. */
10428 bcmolt_epon_oam_tek_var_container *vars; /**< Vars. */
10429 } get_response;
10430
10431 struct
10432 {
10433 uint32_t vars_count; /**< Number of elements in vars. */
10434 bcmolt_epon_oam_tek_var_container *vars; /**< Vars. */
10435 } set_request;
10436
10437 struct
10438 {
10439 uint32_t vars_count; /**< Number of elements in vars. */
10440 bcmolt_epon_oam_tek_set_resp_var_container_base *vars; /**< Vars. */
10441 } set_response;
10442
10443 struct
10444 {
10445 bcmolt_epon_oam_ieee_register_flags flags; /**< Flags. */
10446 uint16_t multicast_llid; /**< Multicast LLID. */
10447 uint16_t unicast_llid; /**< Unicast LLID. */
10448 } multicast_register;
10449
10450 struct
10451 {
10452 bcmolt_epon_oam_ieee_register_ack_flags flags; /**< Flags. */
10453 uint16_t multicast_llid; /**< Multicast LLID. */
10454 uint16_t unicast_llid; /**< Unicast LLID. */
10455 } multicast_register_response;
10456
10457 struct
10458 {
10459 uint8_t key_number; /**< Key Number. */
10460 uint8_t key_length; /**< Key Length. */
10461 uint8_t *key_data; /**< Key Data. */
10462 } key_exchange;
10463
10464 struct
10465 {
10466 uint16_t block; /**< Block. */
10467 bcmolt_epon_oam_tek_file_transfer_error error; /**< Error. */
10468 } file_ack;
10469
10470 struct
10471 {
10472 uint16_t block; /**< Block. */
10473 uint16_t length; /**< Length. */
10474 uint8_t *data; /**< Data. */
10475 } file_data;
10476
10477 struct
10478 {
10479 bcmolt_epon_oam_tek_file_type file_type; /**< File Type. */
10480 } file_read_request;
10481
10482 struct
10483 {
10484 bcmolt_epon_oam_tek_file_type file_type; /**< File Type. */
10485 } file_write_request;
10486
10487 struct
10488 {
10489 uint32_t variable_containers_count; /**< Number of elements in variable_containers. */
10490 bcmolt_epon_oam_tek_var_container *variable_containers; /**< Variable Containers. */
10491 } unacked_action;
10492 } u;
10493} bcmolt_epon_oam_tek_vendor_extended;
10494
10495/** PMC File Base.
10496 */
10497typedef struct bcmolt_epon_oam_pmc_file_base
10498{
10499 bcmolt_epon_oam_pmc_file_op file_op; /**< File Op. */
10500 union
10501 {
10502 struct
10503 {
10504 uint32_t file; /**< File. */
10505 uint32_t not_file; /**< Not File. */
10506 uint16_t crc; /**< Crc. */
10507 } head;
10508
10509 struct
10510 {
10511 uint16_t length; /**< Length. */
10512 uint16_t block; /**< Block. */
10513 uint32_t data_count; /**< Number of elements in data. */
10514 uint8_t *data; /**< Data. */
10515 } data;
10516
10517 struct
10518 {
10519 uint16_t idx; /**< Index. */
10520 } idx;
10521
10522 struct
10523 {
10524 bcmolt_epon_oam_pmc_file_op frame_type_ack; /**< Frame Type Ack. */
10525 bcmolt_epon_oam_pmc_error_code error_code; /**< Error Code. */
10526 uint16_t block_rx; /**< Block Rx. */
10527 } ack;
10528 } u;
10529} bcmolt_epon_oam_pmc_file_base;
10530
10531/** PMC Vendor Extended Base.
10532 */
10533typedef struct bcmolt_epon_oam_pmc_vendor_extended_base
10534{
10535 bcmolt_epon_oam_pmc_op_code op; /**< Op. */
10536 union
10537 {
10538 struct
10539 {
10540 bcmolt_epon_oam_pmc_file_base file_info; /**< File Info. */
10541 } firmware_update;
10542 } u;
10543} bcmolt_epon_oam_pmc_vendor_extended_base;
10544
10545/** Vendor Extended OAM Base.
10546 */
10547typedef struct bcmolt_epon_oam_vendor_extended_oam_base
10548{
10549 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
10550 union
10551 {
10552 struct
10553 {
10554 uint32_t unknown_count; /**< Number of elements in unknown. */
10555 uint8_t *unknown; /**< Unknown. */
10556 } def;
10557
10558 struct
10559 {
10560 bcmolt_epon_oam_ctc_vendor_extended_base value; /**< Value. */
10561 } ctc;
10562
10563 struct
10564 {
10565 bcmolt_epon_oam_tek_vendor_extended value; /**< Value. */
10566 } tek;
10567
10568 struct
10569 {
10570 bcmolt_epon_oam_pmc_vendor_extended_base value; /**< Value. */
10571 } pmc;
10572
10573 struct
10574 {
10575 bcmolt_epon_oam_dpoe_vendor_extended_base value; /**< Value. */
10576 } dpoe;
10577
10578 struct
10579 {
10580 bcmolt_epon_oam_ctc_vendor_extended_base value; /**< Value. */
10581 } kt;
10582
10583 struct
10584 {
10585 bcmolt_epon_oam_dasan_config_base config; /**< Config. */
10586 } dasan;
10587
10588 struct
10589 {
10590 uint8_t version; /**< Version number */
10591 uint16_t sequence_number; /**< Sequence number of the frame within the context of the OAM message */
10592 uint16_t num_total_expected_packets; /**< The number of packets required for the OAM message to be complete */
10593 bcmolt_epon_oam_brcm_oam_pdu_base pdu; /**< The BRCM OAM PDU data */
10594 } brcm;
10595
10596 struct
10597 {
10598 bcmolt_epon_oam_dpoe_vendor_extended_base value; /**< Value. */
10599 } siepon_a;
10600 } u;
10601} bcmolt_epon_oam_vendor_extended_oam_base;
10602
10603/** Root structure for OAM messages
10604 */
10605typedef struct bcmolt_epon_oam_oam_pdu_content
10606{
10607 bcmolt_epon_oam_oam_opcode code; /**< Code. */
10608 union
10609 {
10610 struct
10611 {
10612 uint32_t tlvs_count; /**< Number of elements in tlvs. */
10613 bcmolt_epon_oam_info_tlv_base *tlvs; /**< TLVs. */
10614 } info;
10615
10616 struct
10617 {
10618 uint16_t sequence_number; /**< Sequence Number. */
10619 uint32_t tlvs_count; /**< Number of elements in tlvs. */
10620 bcmolt_epon_oam_link_event_tlv_base *tlvs; /**< TLVs. */
10621 } event_notification;
10622
10623 struct
10624 {
10625 uint32_t vars_count; /**< Number of elements in vars. */
10626 bcmolt_epon_oam_var_descriptor_base *vars; /**< Vars. */
10627 } var_request;
10628
10629 struct
10630 {
10631 uint32_t vars_count; /**< Number of elements in vars. */
10632 bcmolt_epon_oam_var_container_base *vars; /**< Vars. */
10633 } var_response;
10634
10635 struct
10636 {
10637 bcmolt_epon_oam_remote_loopback_command command; /**< Command. */
10638 } loopback_control;
10639
10640 struct
10641 {
10642 bcmolt_epon_oam_vendor_extended_oam_base value; /**< Value. */
10643 } organization_specific;
10644 } u;
10645} bcmolt_epon_oam_oam_pdu_content;
10646
10647/** Master End Point.
10648 */
10649typedef struct bcmolt_epon_oam_master_end_point
10650{
10651 bcmolt_epon_oam_master_end_point_type type; /**< Type. */
10652 uint8_t id; /**< ID. */
10653} bcmolt_epon_oam_master_end_point;
10654
10655/** ONU Master OAM Content.
10656 */
10657typedef struct bcmolt_epon_oam_onu_master_oam_content
10658{
10659 uint16_t link; /**< Link. */
10660 bcmolt_epon_oam_oam_pdu_content oam_content; /**< OAM Content. */
10661} bcmolt_epon_oam_onu_master_oam_content;
10662
10663/** OAM Reg Info Vendor OUI.
10664 */
10665typedef struct bcmolt_epon_oam_oam_reg_info_vendor_oui
10666{
10667 uint24_t oui; /**< Vendor OUI to register */
10668 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for vendor OUI (MUST be Register or Unregister). */
10669 uint16_t length_reserved; /**< Number of bytes to follow */
10670} bcmolt_epon_oam_oam_reg_info_vendor_oui;
10671
10672/** OAM Reg Info Vendor.
10673 */
10674typedef struct bcmolt_epon_oam_oam_reg_info_vendor
10675{
10676 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for vendor specific Info TLVs. */
10677 union
10678 {
10679 struct
10680 {
10681 uint8_t vendor_oui_reg_count; /**< Number of vendor OUI registrations */
10682 bcmolt_epon_oam_oam_reg_info_vendor_oui *vendor_oui_reg; /**< Vendor OUI registrations */
10683 } cont;
10684 } u;
10685} bcmolt_epon_oam_oam_reg_info_vendor;
10686
10687/** OAM Reg Info TLV.
10688 */
10689typedef struct bcmolt_epon_oam_oam_reg_info_tlv
10690{
10691 bcmolt_epon_oam_oam_reg_info_type type; /**< Info TLV type to register */
10692 union
10693 {
10694 struct
10695 {
10696 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for Info TLV type. */
10697 uint16_t length_reserved; /**< Number of bytes to follow */
10698 } def;
10699
10700 struct
10701 {
10702 bcmolt_epon_oam_oam_reg_info_vendor value; /**< Value. */
10703 } vendor;
10704 } u;
10705} bcmolt_epon_oam_oam_reg_info_tlv;
10706
10707/** OAM Reg Info Cont.
10708 */
10709typedef struct bcmolt_epon_oam_oam_reg_info_cont
10710{
10711 uint8_t info_reg_count; /**< Number of Info TLV type registrations (maximum one registration per type). */
10712 bcmolt_epon_oam_oam_reg_info_tlv *info_reg; /**< Info TLV type registrations */
10713} bcmolt_epon_oam_oam_reg_info_cont;
10714
10715/** OAM Reg Info.
10716 */
10717typedef struct bcmolt_epon_oam_oam_reg_info
10718{
10719 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for info frames */
10720 union
10721 {
10722 struct
10723 {
10724 bcmolt_epon_oam_oam_reg_info_cont value; /**< Value. */
10725 } cont;
10726
10727 struct
10728 {
10729 bcmolt_epon_oam_oam_reg_info_cont value; /**< Value. */
10730 } register_and_continue;
10731
10732 struct
10733 {
10734 bcmolt_epon_oam_oam_reg_info_cont value; /**< Value. */
10735 } unregister_and_continue;
10736 } u;
10737} bcmolt_epon_oam_oam_reg_info;
10738
10739/** OAM Reg CTC Var Desc.
10740 */
10741typedef struct bcmolt_epon_oam_oam_reg_ctc_var_desc
10742{
10743 bcmolt_epon_oam_ctc_branch branch; /**< Branch. */
10744 union
10745 {
10746 struct
10747 {
10748 uint16_t leaf; /**< Leaf. */
10749 } def;
10750
10751 struct
10752 {
10753 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
10754 } attribute;
10755
10756 struct
10757 {
10758 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
10759 } action;
10760
10761 struct
10762 {
10763 bcmolt_epon_oam_ctc_leaf_ext_attribute leaf; /**< Leaf. */
10764 } ext_attribute;
10765
10766 struct
10767 {
10768 bcmolt_epon_oam_ctc_leaf_ext_action leaf; /**< Leaf. */
10769 } ext_action;
10770
10771 struct
10772 {
10773 bcmolt_epon_oam_ktleaf_attribute leaf; /**< Leaf. */
10774 } ktattribute;
10775
10776 struct
10777 {
10778 bcmolt_epon_oam_ktleaf_action leaf; /**< Leaf. */
10779 } ktaction;
10780 } u;
10781} bcmolt_epon_oam_oam_reg_ctc_var_desc;
10782
10783/** OAM Reg CTC Variable.
10784 */
10785typedef struct bcmolt_epon_oam_oam_reg_ctc_variable
10786{
10787 bcmolt_epon_oam_oam_reg_ctc_var_desc descriptor; /**< CTC variable descriptor */
10788 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for variable descriptor (MUST be Register or Unregister). */
10789 uint16_t length_reserved; /**< Number of bytes to follow */
10790} bcmolt_epon_oam_oam_reg_ctc_variable;
10791
10792/** OAM Reg CTC Variable List.
10793 */
10794typedef struct bcmolt_epon_oam_oam_reg_ctc_variable_list
10795{
10796 uint8_t variable_count; /**< Number of CTC variable registrations */
10797 bcmolt_epon_oam_oam_reg_ctc_variable *variables; /**< CTC variable registrations */
10798} bcmolt_epon_oam_oam_reg_ctc_variable_list;
10799
10800/** OAM Reg CTC Op Variable.
10801 */
10802typedef struct bcmolt_epon_oam_oam_reg_ctc_op_variable
10803{
10804 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for CTC variable requests. */
10805 union
10806 {
10807 struct
10808 {
10809 bcmolt_epon_oam_oam_reg_ctc_variable_list value; /**< Value. */
10810 } cont;
10811
10812 struct
10813 {
10814 bcmolt_epon_oam_oam_reg_ctc_variable_list value; /**< Value. */
10815 } register_and_continue;
10816
10817 struct
10818 {
10819 bcmolt_epon_oam_oam_reg_ctc_variable_list value; /**< Value. */
10820 } unregister_and_continue;
10821 } u;
10822} bcmolt_epon_oam_oam_reg_ctc_op_variable;
10823
10824/** OAM Reg CTC Opcode.
10825 */
10826typedef struct bcmolt_epon_oam_oam_reg_ctc_opcode
10827{
10828 bcmolt_epon_oam_ctc_opcode opcode; /**< Opcode to register */
10829 union
10830 {
10831 struct
10832 {
10833 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for CTC opcode */
10834 uint16_t length_reserved; /**< Number of bytes to follow */
10835 } def;
10836
10837 struct
10838 {
10839 bcmolt_epon_oam_oam_reg_ctc_op_variable value; /**< Value. */
10840 } get_request;
10841
10842 struct
10843 {
10844 bcmolt_epon_oam_oam_reg_ctc_op_variable value; /**< Value. */
10845 } set_request;
10846 } u;
10847} bcmolt_epon_oam_oam_reg_ctc_opcode;
10848
10849/** OAM Reg CTC Cont.
10850 */
10851typedef struct bcmolt_epon_oam_oam_reg_ctc_cont
10852{
10853 uint8_t opcode_count; /**< Number of CTC opcode registrations */
10854 bcmolt_epon_oam_oam_reg_ctc_opcode *opcodes; /**< CTC opcode registrations */
10855} bcmolt_epon_oam_oam_reg_ctc_cont;
10856
10857/** OAM Reg CTC.
10858 */
10859typedef struct bcmolt_epon_oam_oam_reg_ctc
10860{
10861 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for CTC OUI */
10862 union
10863 {
10864 struct
10865 {
10866 bcmolt_epon_oam_oam_reg_ctc_cont value; /**< Value. */
10867 } cont;
10868
10869 struct
10870 {
10871 bcmolt_epon_oam_oam_reg_ctc_cont value; /**< Value. */
10872 } register_and_continue;
10873
10874 struct
10875 {
10876 bcmolt_epon_oam_oam_reg_ctc_cont value; /**< Value. */
10877 } unregister_and_continue;
10878 } u;
10879} bcmolt_epon_oam_oam_reg_ctc;
10880
10881/** OAM Reg Tek Var Desc.
10882 */
10883typedef struct bcmolt_epon_oam_oam_reg_tek_var_desc
10884{
10885 bcmolt_epon_oam_tek_branch branch; /**< Branch. */
10886 union
10887 {
10888 struct
10889 {
10890 uint16_t leaf; /**< Leaf. */
10891 } def;
10892
10893 struct
10894 {
10895 bcmolt_epon_oam_tek_leaf_attribute leaf; /**< Leaf. */
10896 } attribute;
10897
10898 struct
10899 {
10900 bcmolt_epon_oam_tek_leaf_action leaf; /**< Leaf. */
10901 } action;
10902 } u;
10903} bcmolt_epon_oam_oam_reg_tek_var_desc;
10904
10905/** OAM Reg Tek Variable.
10906 */
10907typedef struct bcmolt_epon_oam_oam_reg_tek_variable
10908{
10909 bcmolt_epon_oam_oam_reg_tek_var_desc descriptor; /**< Tek variable descriptor */
10910 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for variable descriptor (MUST be Register or Unregister). */
10911 uint16_t length_reserved; /**< Number of bytes to follow */
10912} bcmolt_epon_oam_oam_reg_tek_variable;
10913
10914/** OAM Reg Tek Variable List.
10915 */
10916typedef struct bcmolt_epon_oam_oam_reg_tek_variable_list
10917{
10918 uint8_t variable_count; /**< Number of Tek variable registrations */
10919 bcmolt_epon_oam_oam_reg_tek_variable *variables; /**< Tek variable registrations */
10920} bcmolt_epon_oam_oam_reg_tek_variable_list;
10921
10922/** OAM Reg Tek Op Variable.
10923 */
10924typedef struct bcmolt_epon_oam_oam_reg_tek_op_variable
10925{
10926 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for Tek variable requests. */
10927 union
10928 {
10929 struct
10930 {
10931 bcmolt_epon_oam_oam_reg_tek_variable_list value; /**< Value. */
10932 } cont;
10933
10934 struct
10935 {
10936 bcmolt_epon_oam_oam_reg_tek_variable_list value; /**< Value. */
10937 } register_and_continue;
10938
10939 struct
10940 {
10941 bcmolt_epon_oam_oam_reg_tek_variable_list value; /**< Value. */
10942 } unregister_and_continue;
10943 } u;
10944} bcmolt_epon_oam_oam_reg_tek_op_variable;
10945
10946/** OAM Reg Tek Opcode.
10947 */
10948typedef struct bcmolt_epon_oam_oam_reg_tek_opcode
10949{
10950 bcmolt_epon_oam_tek_opcode opcode; /**< Opcode to register */
10951 union
10952 {
10953 struct
10954 {
10955 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for Tek opcode */
10956 uint16_t length_reserved; /**< Number of bytes to follow */
10957 } def;
10958
10959 struct
10960 {
10961 bcmolt_epon_oam_oam_reg_tek_op_variable value; /**< Value. */
10962 } get_request;
10963
10964 struct
10965 {
10966 bcmolt_epon_oam_oam_reg_tek_op_variable value; /**< Value. */
10967 } set_request;
10968 } u;
10969} bcmolt_epon_oam_oam_reg_tek_opcode;
10970
10971/** OAM Reg Tek Cont.
10972 */
10973typedef struct bcmolt_epon_oam_oam_reg_tek_cont
10974{
10975 uint8_t opcode_count; /**< Number of Tek opcode registrations */
10976 bcmolt_epon_oam_oam_reg_tek_opcode *opcodes; /**< Tek opcode registrations */
10977} bcmolt_epon_oam_oam_reg_tek_cont;
10978
10979/** OAM Reg Tek.
10980 */
10981typedef struct bcmolt_epon_oam_oam_reg_tek
10982{
10983 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for Tek OUI */
10984 union
10985 {
10986 struct
10987 {
10988 bcmolt_epon_oam_oam_reg_tek_cont value; /**< Value. */
10989 } cont;
10990
10991 struct
10992 {
10993 bcmolt_epon_oam_oam_reg_tek_cont value; /**< Value. */
10994 } register_and_continue;
10995
10996 struct
10997 {
10998 bcmolt_epon_oam_oam_reg_tek_cont value; /**< Value. */
10999 } unregister_and_continue;
11000 } u;
11001} bcmolt_epon_oam_oam_reg_tek;
11002
11003/** OAM Reg DPoE Var Desc.
11004 */
11005typedef struct bcmolt_epon_oam_oam_reg_dpoe_var_desc
11006{
11007 bcmolt_epon_oam_dpoe_branch branch; /**< Branch. */
11008 union
11009 {
11010 struct
11011 {
11012 uint16_t leaf; /**< Leaf. */
11013 } def;
11014
11015 struct
11016 {
11017 bcmolt_epon_oam_var_leaf_attribute leaf; /**< Leaf. */
11018 } standard_attribute;
11019
11020 struct
11021 {
11022 bcmolt_epon_oam_var_leaf_action leaf; /**< Leaf. */
11023 } standard_action;
11024
11025 struct
11026 {
11027 bcmolt_epon_oam_dpoe_leaf_attribute leaf; /**< Leaf. */
11028 } extended_attribute;
11029
11030 struct
11031 {
11032 bcmolt_epon_oam_dpoe_leaf_action leaf; /**< Leaf. */
11033 } extended_action;
11034 } u;
11035} bcmolt_epon_oam_oam_reg_dpoe_var_desc;
11036
11037/** OAM Reg DPoE Variable.
11038 */
11039typedef struct bcmolt_epon_oam_oam_reg_dpoe_variable
11040{
11041 bcmolt_epon_oam_oam_reg_dpoe_var_desc descriptor; /**< DPoE variable descriptor */
11042 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for variable descriptor (MUST be Register or Unregister). */
11043 uint16_t length_reserved; /**< Number of bytes to follow */
11044} bcmolt_epon_oam_oam_reg_dpoe_variable;
11045
11046/** OAM Reg DPoE Variable List.
11047 */
11048typedef struct bcmolt_epon_oam_oam_reg_dpoe_variable_list
11049{
11050 uint8_t variable_count; /**< Number of DPoE variable registrations */
11051 bcmolt_epon_oam_oam_reg_dpoe_variable *variables; /**< DPoE variable registrations */
11052} bcmolt_epon_oam_oam_reg_dpoe_variable_list;
11053
11054/** OAM Reg DPoE Op Variable.
11055 */
11056typedef struct bcmolt_epon_oam_oam_reg_dpoe_op_variable
11057{
11058 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for DPoE variable requests. */
11059 union
11060 {
11061 struct
11062 {
11063 bcmolt_epon_oam_oam_reg_dpoe_variable_list value; /**< Value. */
11064 } cont;
11065
11066 struct
11067 {
11068 bcmolt_epon_oam_oam_reg_dpoe_variable_list value; /**< Value. */
11069 } register_and_continue;
11070
11071 struct
11072 {
11073 bcmolt_epon_oam_oam_reg_dpoe_variable_list value; /**< Value. */
11074 } unregister_and_continue;
11075 } u;
11076} bcmolt_epon_oam_oam_reg_dpoe_op_variable;
11077
11078/** OAM Reg DPoE Opcode.
11079 */
11080typedef struct bcmolt_epon_oam_oam_reg_dpoe_opcode
11081{
11082 bcmolt_epon_oam_dpoe_opcode opcode; /**< Opcode to register */
11083 union
11084 {
11085 struct
11086 {
11087 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for DPoE opcode. */
11088 uint16_t length_reserved; /**< Number of bytes to follow */
11089 } def;
11090
11091 struct
11092 {
11093 bcmolt_epon_oam_oam_reg_dpoe_op_variable value; /**< Value. */
11094 } get_request;
11095
11096 struct
11097 {
11098 bcmolt_epon_oam_oam_reg_dpoe_op_variable value; /**< Value. */
11099 } set_request;
11100 } u;
11101} bcmolt_epon_oam_oam_reg_dpoe_opcode;
11102
11103/** OAM Reg DPoE Cont.
11104 */
11105typedef struct bcmolt_epon_oam_oam_reg_dpoe_cont
11106{
11107 uint8_t opcode_count; /**< Number of DPoE opcode registrations */
11108 bcmolt_epon_oam_oam_reg_dpoe_opcode *opcodes; /**< DPoE opcode registrations */
11109} bcmolt_epon_oam_oam_reg_dpoe_cont;
11110
11111/** OAM Reg DPoE.
11112 */
11113typedef struct bcmolt_epon_oam_oam_reg_dpoe
11114{
11115 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for DPoE OUI */
11116 union
11117 {
11118 struct
11119 {
11120 bcmolt_epon_oam_oam_reg_dpoe_cont value; /**< Value. */
11121 } cont;
11122
11123 struct
11124 {
11125 bcmolt_epon_oam_oam_reg_dpoe_cont value; /**< Value. */
11126 } register_and_continue;
11127
11128 struct
11129 {
11130 bcmolt_epon_oam_oam_reg_dpoe_cont value; /**< Value. */
11131 } unregister_and_continue;
11132 } u;
11133} bcmolt_epon_oam_oam_reg_dpoe;
11134
11135/** OAM Reg Vendor OUI.
11136 */
11137typedef struct bcmolt_epon_oam_oam_reg_vendor_oui
11138{
11139 bcmolt_epon_oam_well_known_oui oui; /**< Vendor OUI to register */
11140 union
11141 {
11142 struct
11143 {
11144 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for vendor OUI (MUST be Register or Unregister) */
11145 uint16_t length; /**< Number of bytes to follow */
11146 } def;
11147
11148 struct
11149 {
11150 bcmolt_epon_oam_oam_reg_ctc value; /**< Value. */
11151 } ctc;
11152
11153 struct
11154 {
11155 bcmolt_epon_oam_oam_reg_tek value; /**< Value. */
11156 } tek;
11157
11158 struct
11159 {
11160 bcmolt_epon_oam_oam_reg_dpoe value; /**< Value. */
11161 } dpoe;
11162 } u;
11163} bcmolt_epon_oam_oam_reg_vendor_oui;
11164
11165/** OAM Reg Vendor Cont.
11166 */
11167typedef struct bcmolt_epon_oam_oam_reg_vendor_cont
11168{
11169 uint8_t vendor_oui_reg_count; /**< Number of Vendor OUI registrations */
11170 bcmolt_epon_oam_oam_reg_vendor_oui *vendor_oui_reg; /**< Vendor OUI registrations */
11171} bcmolt_epon_oam_oam_reg_vendor_cont;
11172
11173/** OAM Reg Vendor.
11174 */
11175typedef struct bcmolt_epon_oam_oam_reg_vendor
11176{
11177 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for organization specific frames. */
11178 union
11179 {
11180 struct
11181 {
11182 bcmolt_epon_oam_oam_reg_vendor_cont value; /**< Value. */
11183 } cont;
11184
11185 struct
11186 {
11187 bcmolt_epon_oam_oam_reg_vendor_cont value; /**< Value. */
11188 } register_and_continue;
11189
11190 struct
11191 {
11192 bcmolt_epon_oam_oam_reg_vendor_cont value; /**< Value. */
11193 } unregister_and_continue;
11194 } u;
11195} bcmolt_epon_oam_oam_reg_vendor;
11196
11197/** OAM Reg Opcode.
11198 */
11199typedef struct bcmolt_epon_oam_oam_reg_opcode
11200{
11201 bcmolt_epon_oam_oam_opcode opcode; /**< IEEE OAM opcode to register */
11202 union
11203 {
11204 struct
11205 {
11206 bcmolt_epon_oam_oam_registration_action action; /**< Registration action to perform for opcode (MUST be Register or Unregister). */
11207 uint16_t length_reserved; /**< Number of bytes to follow */
11208 } def;
11209
11210 struct
11211 {
11212 bcmolt_epon_oam_oam_reg_info value; /**< Value. */
11213 } info;
11214
11215 struct
11216 {
11217 bcmolt_epon_oam_oam_reg_vendor value; /**< Value. */
11218 } organization_specific;
11219 } u;
11220} bcmolt_epon_oam_oam_reg_opcode;
11221
11222/** OAM Registration.
11223 */
11224typedef struct bcmolt_epon_oam_oam_registration
11225{
11226 uint8_t master_id; /**< The ID of the master that this registration applies to. */
11227 bcmolt_epon_oam_oam_registration_action action; /**< Reserved (must be Continue) */
11228 union
11229 {
11230 struct
11231 {
11232 uint8_t registration_count; /**< Number of OAM opcode registrations for this master (maximum one registration per opcode). */
11233 bcmolt_epon_oam_oam_reg_opcode *registration; /**< OAM opcode registrations */
11234 } cont;
11235 } u;
11236} bcmolt_epon_oam_oam_registration;
11237
11238/** This record is used in the case where the ONU Master does NOT have the OAM
11239 * Master option enabled. It can be used to indicate certain OAM messages that
11240 * the master wishes to process itself. Rather than processing these messages,
11241 * the ONU will send these messages to the master. By default all OAM frames
11242 * are considered Unregistered and will be processed by the ONU, unless this
11243 * record specifically contains a Register action for that type of frame. This
11244 * record is hierarchical allowing high level actions to be overridden by lower
11245 * level actions. For example, if you have the following three conditionals
11246 * (each successively nested under the previous): * If X Then Register And
11247 * Continue * If Y Then Unregister And Continue * If Z Then Register Then
11248 * frames which match only X or X, Y and Z would be forwarded, while frames
11249 * matching X and Y, but not Z would be processed by the ONU. Note that due to
11250 * the hierarchical organization of the structure it is logically impossible
11251 * for a frame to match Y or Z without matching X. Note that there are some
11252 * limitations when registering branch/leaf codes (Variables). For variables
11253 * that are read/write, it is necessary to register the variable under both the
11254 * get request and set request opcodes. A single get or set request can also
11255 * contain multiple variables which may have conflicting registration states. A
11256 * frame will be forwarded to the master if it was registered at a higher level
11257 * and contains no variables which were explicitly unregistered or if it
11258 * contains any variables that were explicitly registered.
11259 */
11260typedef struct bcmolt_epon_oam_oam_registration_list
11261{
11262 uint8_t registrations_count; /**< Number of ONU Master OAM registrations (maximum 1 per master). */
11263 bcmolt_epon_oam_oam_registration *registrations; /**< ONU Master OAM registrations */
11264} bcmolt_epon_oam_oam_registration_list;
11265
11266/** Master Context TLV.
11267 */
11268typedef struct bcmolt_epon_oam_master_context_tlv
11269{
11270 bcmolt_epon_oam_master_context_type type; /**< Type. */
11271 union
11272 {
11273 struct
11274 {
11275 uint8_t port_index; /**< Port Index. */
11276 } network_pon;
11277
11278 struct
11279 {
11280 uint8_t link_index; /**< Link Index. */
11281 } link;
11282
11283 struct
11284 {
11285 uint8_t port_index; /**< Port Index. */
11286 } user_port;
11287 } u;
11288} bcmolt_epon_oam_master_context_tlv;
11289
11290/** Negotiated OAM.
11291 */
11292typedef struct bcmolt_epon_oam_negotiated_oam
11293{
11294 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
11295 bcmos_bool negotiated; /**< Negotiated. */
11296 union
11297 {
11298 struct
11299 {
11300 bcmolt_epon_oam_ctc_version version; /**< Version. */
11301 } ctc;
11302
11303 struct
11304 {
11305 bcmolt_epon_oam_dpoe_version version; /**< Version. */
11306 } dpoe;
11307 } u;
11308} bcmolt_epon_oam_negotiated_oam;
11309
11310/** Negotiated OAM List.
11311 */
11312typedef struct bcmolt_epon_oam_negotiated_oam_list
11313{
11314 uint8_t count; /**< Count. */
11315 bcmolt_epon_oam_negotiated_oam *negotiated_oams; /**< Negotiated OAMs. */
11316} bcmolt_epon_oam_negotiated_oam_list;
11317
11318/** ONU Master Command.
11319 */
11320typedef struct bcmolt_epon_oam_onu_master_command
11321{
11322 bcmolt_epon_oam_onu_master_command_id command; /**< Command. */
11323 union
11324 {
11325 struct
11326 {
11327 bcmolt_epon_oam_oam_registration_list oam_registrations; /**< OAM Registrations. */
11328 } set_oam_registration;
11329
11330 struct
11331 {
11332 bcmolt_epon_oam_master_context_tlv link_context; /**< Link Context. */
11333 } get_negotiated_oam;
11334
11335 struct
11336 {
11337 bcmolt_epon_oam_master_context_tlv link_context; /**< Link Context. */
11338 bcmolt_epon_oam_negotiated_oam_list negotiated_oam; /**< Negotiated OAM. */
11339 } set_negotiated_oam;
11340 } u;
11341} bcmolt_epon_oam_onu_master_command;
11342
11343/** ONU Master Response.
11344 */
11345typedef struct bcmolt_epon_oam_onu_master_response
11346{
11347 bcmolt_epon_oam_onu_master_command_id command; /**< Command. */
11348 bcmolt_epon_oam_onu_master_response_code response_code; /**< Response Code. */
11349 union
11350 {
11351 struct
11352 {
11353 bcmolt_epon_oam_onu_state state; /**< State. */
11354 } get_onu_state;
11355
11356 struct
11357 {
11358 bcmolt_epon_oam_oam_registration_list oam_registrations; /**< OAM Registrations. */
11359 } get_oam_registration;
11360
11361 struct
11362 {
11363 bcmolt_epon_oam_master_context_tlv link_context; /**< Link Context. */
11364 bcmolt_epon_oam_negotiated_oam_list negotiated_oam; /**< Negotiated OAM. */
11365 } get_negotiated_oam;
11366
11367 struct
11368 {
11369 bcmolt_epon_oam_master_context_tlv link_context; /**< Link Context. */
11370 } set_negotiated_oam;
11371 } u;
11372} bcmolt_epon_oam_onu_master_response;
11373
11374/** ONU Master Communication.
11375 */
11376typedef struct bcmolt_epon_oam_onu_master_communication
11377{
11378 bcmolt_epon_oam_onu_master_communication_type type; /**< Type. */
11379 union
11380 {
11381 struct
11382 {
11383 bcmolt_epon_oam_onu_master_command value; /**< Value. */
11384 } command;
11385
11386 struct
11387 {
11388 bcmolt_epon_oam_onu_master_response value; /**< Value. */
11389 } response;
11390 } u;
11391} bcmolt_epon_oam_onu_master_communication;
11392
11393/** Master PDU Common.
11394 */
11395typedef struct bcmolt_epon_oam_master_pdu_common
11396{
11397 bcmolt_epon_oam_onu_master_protocol protocol; /**< Protocol. */
11398 uint16_t correlation_tag; /**< Correlation Tag. */
11399 union
11400 {
11401 struct
11402 {
11403 bcmolt_epon_oam_onu_master_ping_flags flags; /**< Flags. */
11404 } ping;
11405
11406 struct
11407 {
11408 bcmolt_epon_oam_master_end_point dmep; /**< DMEP. */
11409 bcmolt_epon_oam_master_end_point smep; /**< SMEP. */
11410 uint16_t frame_length; /**< Frame Length. */
11411 uint8_t *frame_data; /**< Frame Data. */
11412 } encapsulated_frame;
11413
11414 struct
11415 {
11416 bcmolt_epon_oam_onu_master_oam_content value; /**< Value. */
11417 } oam_content;
11418
11419 struct
11420 {
11421 bcmolt_epon_oam_onu_master_oam_content value; /**< Value. */
11422 } registered_oam;
11423
11424 struct
11425 {
11426 bcmolt_epon_oam_onu_master_communication value; /**< Value. */
11427 } master_communication;
11428 } u;
11429} bcmolt_epon_oam_master_pdu_common;
11430
11431/** Organization Specific Slow Protocol.
11432 */
11433typedef struct bcmolt_epon_oam_organization_specific_slow_protocol
11434{
11435 bcmolt_epon_oam_well_known_oui oui; /**< OUI. */
11436 union
11437 {
11438 struct
11439 {
11440 bcmolt_epon_oam_master_pdu_common value; /**< Value. */
11441 } tek;
11442 } u;
11443} bcmolt_epon_oam_organization_specific_slow_protocol;
11444
11445/** Slow Protocol.
11446 */
11447typedef struct bcmolt_epon_oam_slow_protocol
11448{
11449 bcmolt_epon_oam_slow_protocol_subtype subtype; /**< Subtype. */
11450 union
11451 {
11452 struct
11453 {
11454 bcmolt_epon_oam_oam_flags flags; /**< Flags. */
11455 bcmolt_epon_oam_oam_pdu_content content; /**< Content. */
11456 } oam;
11457
11458 struct
11459 {
11460 bcmolt_epon_oam_organization_specific_slow_protocol value; /**< Value. */
11461 } organization_specific;
11462 } u;
11463} bcmolt_epon_oam_slow_protocol;
11464
11465/** Ethernet Protocol.
11466 */
11467typedef struct bcmolt_epon_oam_ethernet_protocol
11468{
11469 bcmolt_epon_oam_protocol_type ethertype; /**< Ethertype. */
11470 union
11471 {
11472 struct
11473 {
11474 uint32_t unknown_count; /**< Number of elements in unknown. */
11475 uint8_t *unknown; /**< Unknown. */
11476 } def;
11477
11478 struct
11479 {
11480 uint32_t padding_count; /**< Number of elements in padding. */
11481 uint8_t *padding; /**< Padding. */
11482 } zero;
11483
11484 struct
11485 {
11486 bcmolt_epon_oam_vlan_value value; /**< Value. */
11487 } cvlan;
11488
11489 struct
11490 {
11491 bcmolt_epon_oam_vlan_value value; /**< Value. */
11492 } svlan;
11493
11494 struct
11495 {
11496 bcmolt_epon_oam_itag_value value; /**< Value. */
11497 } itag;
11498
11499 struct
11500 {
11501 bcmolt_epon_oam_slow_protocol value; /**< Value. */
11502 } slow_protocol;
11503
11504 struct
11505 {
11506 bcmolt_epon_oam_eapol_protocol value; /**< Value. */
11507 } eapol;
11508 } u;
11509} bcmolt_epon_oam_ethernet_protocol;
11510
11511/** Ethernet Frame.
11512 */
11513typedef struct bcmolt_epon_oam_ethernet_frame
11514{
11515 bcmos_mac_address da; /**< Destination Address. */
11516 bcmos_mac_address sa; /**< Source Address. */
11517 uint32_t protocols_count; /**< Number of elements in protocols. */
11518 bcmolt_epon_oam_ethernet_protocol *protocols; /**< Protocols. */
11519} bcmolt_epon_oam_ethernet_frame;
11520
11521/** OAM Pdu Base.
11522 */
11523typedef struct bcmolt_epon_oam_oam_pdu_base
11524{
11525 bcmos_mac_address da; /**< Destination Address. */
11526 bcmos_mac_address sa; /**< Source Address. */
11527 bcmolt_epon_oam_protocol_type protocol_type; /**< Protocol Type. */
11528 bcmolt_epon_oam_slow_protocol_subtype subtype; /**< Subtype. */
11529 bcmolt_epon_oam_oam_flags flags; /**< Flags. */
11530 bcmolt_epon_oam_oam_pdu_content content; /**< Content. */
11531} bcmolt_epon_oam_oam_pdu_base;
11532
11533/** OAM Tek Event GPIO.
11534 */
11535typedef struct bcmolt_epon_oam_oam_tek_event_gpio
11536{
11537 uint32_t reserved; /**< Reserved. */
11538 uint32_t gpio_state1g; /**< GPIO State (1G). */
11539 uint64_t gpio_state10g; /**< GPIO State (10G). */
11540} bcmolt_epon_oam_oam_tek_event_gpio;
11541
11542/** OAM Tek Event.
11543 */
11544typedef struct bcmolt_epon_oam_oam_tek_event
11545{
11546 bcmolt_epon_oam_tek_alarm_code alarm_code; /**< Alarm Code. */
11547 bcmos_bool raised; /**< Raised. */
11548 uint16_t port; /**< Port. */
11549 uint16_t link; /**< Link. */
11550 uint16_t queue; /**< Queue. */
11551 bcmolt_epon_oam_tek_alarm_context alarm_context; /**< Alarm Context. */
11552 union
11553 {
11554 struct
11555 {
11556 bcmolt_epon_oam_tek_leaf_attribute stat_id; /**< Stat ID. */
11557 } stat_alarm;
11558
11559 struct
11560 {
11561 bcmolt_epon_oam_oam_tek_event_gpio value; /**< Value. */
11562 } gpio_link_fault;
11563
11564 struct
11565 {
11566 bcmolt_epon_oam_oam_tek_event_gpio value; /**< Value. */
11567 } gpio_dying_gasp;
11568
11569 struct
11570 {
11571 bcmolt_epon_oam_oam_tek_event_gpio value; /**< Value. */
11572 } gpio_critical_event;
11573
11574 struct
11575 {
11576 bcmolt_epon_oam_oam_tek_event_gpio value; /**< Value. */
11577 } gpio_other;
11578 } u;
11579} bcmolt_epon_oam_oam_tek_event;
11580
11581/** Std MAC Address.
11582 */
11583typedef struct bcmolt_epon_oam_std_mac_address
11584{
11585 bcmos_mac_address address; /**< Address. */
11586} bcmolt_epon_oam_std_mac_address;
11587
11588/** Tek Var Desc Attr Base.
11589 */
11590typedef struct bcmolt_epon_oam_tek_var_desc_attr_base
11591{
11592 bcmolt_epon_oam_tek_leaf_attribute attribute; /**< Attribute. */
11593 union
11594 {
11595 struct
11596 {
11597 bcmolt_epon_oam_tek_leaf_attribute stat; /**< Stat. */
11598 } port_stat_threshold;
11599
11600 struct
11601 {
11602 bcmolt_epon_oam_tek_leaf_attribute stat; /**< Stat. */
11603 } link_stat_threshold;
11604 } u;
11605} bcmolt_epon_oam_tek_var_desc_attr_base;
11606
11607/** TLS Record Continued.
11608 */
11609typedef struct bcmolt_epon_oam_tls_record_continued
11610{
11611 bcmolt_epon_oam_tls_content_type content_type; /**< Content Type. */
11612 bcmolt_epon_oam_tls_version version; /**< Version. */
11613 union
11614 {
11615 struct
11616 {
11617 uint32_t data_count; /**< Number of elements in data. */
11618 uint8_t *data; /**< Data. */
11619 } def;
11620 } u;
11621} bcmolt_epon_oam_tls_record_continued;
11622
11623/** TLS Signature And Hash Algorithm.
11624 */
11625typedef struct bcmolt_epon_oam_tls_signature_and_hash_algorithm
11626{
11627 bcmolt_epon_oam_tls_hash_algorithm hash; /**< Hash. */
11628 bcmolt_epon_oam_tls_signature_algorithm signature; /**< Signature. */
11629} bcmolt_epon_oam_tls_signature_and_hash_algorithm;
11630
11631/** TLS Signature And Hash Algorithm List.
11632 */
11633typedef struct bcmolt_epon_oam_tls_signature_and_hash_algorithm_list
11634{
11635 uint32_t supported_signature_algorithms_count; /**< Number of elements in supported_signature_algorithms. */
11636 bcmolt_epon_oam_tls_signature_and_hash_algorithm *supported_signature_algorithms; /**< Supported Signature Algorithms. */
11637} bcmolt_epon_oam_tls_signature_and_hash_algorithm_list;
11638
11639/** @} */
11640
11641/** Packs a bcmolt_epon_oam_alarm_config_mode to bytes
11642 *
11643 * \param this The enumeration to pack
11644 * \param buf Pointer to the buffer to write to
11645 * \return Whether or not the pack was successful
11646 */
11647bcmos_bool bcmolt_epon_oam_alarm_config_mode_pack(bcmolt_epon_oam_alarm_config_mode this, bcmolt_epon_oam_buf *buf);
11648
11649/** Unpacks a bcmolt_epon_oam_alarm_config_mode from bytes
11650 *
11651 * \param this Pointer to the enumeration to unpack
11652 * \param buf Pointer to the buffer to write to
11653 * \return Whether or not the unpack was successful
11654 */
11655bcmos_bool bcmolt_epon_oam_alarm_config_mode_unpack(bcmolt_epon_oam_alarm_config_mode *this, bcmolt_epon_oam_buf *buf);
11656
11657/** Packs a bcmolt_epon_oam_autonegotiate_admin_state to bytes
11658 *
11659 * \param this The enumeration to pack
11660 * \param buf Pointer to the buffer to write to
11661 * \return Whether or not the pack was successful
11662 */
11663bcmos_bool bcmolt_epon_oam_autonegotiate_admin_state_pack(bcmolt_epon_oam_autonegotiate_admin_state this, bcmolt_epon_oam_buf *buf);
11664
11665/** Unpacks a bcmolt_epon_oam_autonegotiate_admin_state from bytes
11666 *
11667 * \param this Pointer to the enumeration to unpack
11668 * \param buf Pointer to the buffer to write to
11669 * \return Whether or not the unpack was successful
11670 */
11671bcmos_bool bcmolt_epon_oam_autonegotiate_admin_state_unpack(bcmolt_epon_oam_autonegotiate_admin_state *this, bcmolt_epon_oam_buf *buf);
11672
11673/** Packs a bcmolt_epon_oam_auto_negotiation_auto_config to bytes
11674 *
11675 * \param this The enumeration to pack
11676 * \param buf Pointer to the buffer to write to
11677 * \return Whether or not the pack was successful
11678 */
11679bcmos_bool bcmolt_epon_oam_auto_negotiation_auto_config_pack(bcmolt_epon_oam_auto_negotiation_auto_config this, bcmolt_epon_oam_buf *buf);
11680
11681/** Unpacks a bcmolt_epon_oam_auto_negotiation_auto_config from bytes
11682 *
11683 * \param this Pointer to the enumeration to unpack
11684 * \param buf Pointer to the buffer to write to
11685 * \return Whether or not the unpack was successful
11686 */
11687bcmos_bool bcmolt_epon_oam_auto_negotiation_auto_config_unpack(bcmolt_epon_oam_auto_negotiation_auto_config *this, bcmolt_epon_oam_buf *buf);
11688
11689/** Packs a bcmolt_epon_oam_auto_negotiation_capability to bytes
11690 *
11691 * \param this The enumeration to pack
11692 * \param buf Pointer to the buffer to write to
11693 * \return Whether or not the pack was successful
11694 */
11695bcmos_bool bcmolt_epon_oam_auto_negotiation_capability_pack(bcmolt_epon_oam_auto_negotiation_capability this, bcmolt_epon_oam_buf *buf);
11696
11697/** Unpacks a bcmolt_epon_oam_auto_negotiation_capability from bytes
11698 *
11699 * \param this Pointer to the enumeration to unpack
11700 * \param buf Pointer to the buffer to write to
11701 * \return Whether or not the unpack was successful
11702 */
11703bcmos_bool bcmolt_epon_oam_auto_negotiation_capability_unpack(bcmolt_epon_oam_auto_negotiation_capability *this, bcmolt_epon_oam_buf *buf);
11704
11705/** Packs a bcmolt_epon_oam_auto_remote_sig to bytes
11706 *
11707 * \param this The enumeration to pack
11708 * \param buf Pointer to the buffer to write to
11709 * \return Whether or not the pack was successful
11710 */
11711bcmos_bool bcmolt_epon_oam_auto_remote_sig_pack(bcmolt_epon_oam_auto_remote_sig this, bcmolt_epon_oam_buf *buf);
11712
11713/** Unpacks a bcmolt_epon_oam_auto_remote_sig from bytes
11714 *
11715 * \param this Pointer to the enumeration to unpack
11716 * \param buf Pointer to the buffer to write to
11717 * \return Whether or not the unpack was successful
11718 */
11719bcmos_bool bcmolt_epon_oam_auto_remote_sig_unpack(bcmolt_epon_oam_auto_remote_sig *this, bcmolt_epon_oam_buf *buf);
11720
11721/** Packs a bcmolt_epon_oam_auto_selector to bytes
11722 *
11723 * \param this The enumeration to pack
11724 * \param buf Pointer to the buffer to write to
11725 * \return Whether or not the pack was successful
11726 */
11727bcmos_bool bcmolt_epon_oam_auto_selector_pack(bcmolt_epon_oam_auto_selector this, bcmolt_epon_oam_buf *buf);
11728
11729/** Unpacks a bcmolt_epon_oam_auto_selector from bytes
11730 *
11731 * \param this Pointer to the enumeration to unpack
11732 * \param buf Pointer to the buffer to write to
11733 * \return Whether or not the unpack was successful
11734 */
11735bcmos_bool bcmolt_epon_oam_auto_selector_unpack(bcmolt_epon_oam_auto_selector *this, bcmolt_epon_oam_buf *buf);
11736
11737/** Packs a bcmolt_epon_oam_binary_field_select_type to bytes
11738 *
11739 * \param this The enumeration to pack
11740 * \param buf Pointer to the buffer to write to
11741 * \return Whether or not the pack was successful
11742 */
11743bcmos_bool bcmolt_epon_oam_binary_field_select_type_pack(bcmolt_epon_oam_binary_field_select_type this, bcmolt_epon_oam_buf *buf);
11744
11745/** Unpacks a bcmolt_epon_oam_binary_field_select_type from bytes
11746 *
11747 * \param this Pointer to the enumeration to unpack
11748 * \param buf Pointer to the buffer to write to
11749 * \return Whether or not the unpack was successful
11750 */
11751bcmos_bool bcmolt_epon_oam_binary_field_select_type_unpack(bcmolt_epon_oam_binary_field_select_type *this, bcmolt_epon_oam_buf *buf);
11752
11753/** Packs a bcmolt_epon_oam_brcm_cmc_request_option to bytes
11754 *
11755 * \param this The enumeration to pack
11756 * \param buf Pointer to the buffer to write to
11757 * \return Whether or not the pack was successful
11758 */
11759bcmos_bool bcmolt_epon_oam_brcm_cmc_request_option_pack(bcmolt_epon_oam_brcm_cmc_request_option this, bcmolt_epon_oam_buf *buf);
11760
11761/** Unpacks a bcmolt_epon_oam_brcm_cmc_request_option from bytes
11762 *
11763 * \param this Pointer to the enumeration to unpack
11764 * \param buf Pointer to the buffer to write to
11765 * \return Whether or not the unpack was successful
11766 */
11767bcmos_bool bcmolt_epon_oam_brcm_cmc_request_option_unpack(bcmolt_epon_oam_brcm_cmc_request_option *this, bcmolt_epon_oam_buf *buf);
11768
11769/** Packs a bcmolt_epon_oam_brcm_cmc_result_code to bytes
11770 *
11771 * \param this The enumeration to pack
11772 * \param buf Pointer to the buffer to write to
11773 * \return Whether or not the pack was successful
11774 */
11775bcmos_bool bcmolt_epon_oam_brcm_cmc_result_code_pack(bcmolt_epon_oam_brcm_cmc_result_code this, bcmolt_epon_oam_buf *buf);
11776
11777/** Unpacks a bcmolt_epon_oam_brcm_cmc_result_code from bytes
11778 *
11779 * \param this Pointer to the enumeration to unpack
11780 * \param buf Pointer to the buffer to write to
11781 * \return Whether or not the unpack was successful
11782 */
11783bcmos_bool bcmolt_epon_oam_brcm_cmc_result_code_unpack(bcmolt_epon_oam_brcm_cmc_result_code *this, bcmolt_epon_oam_buf *buf);
11784
11785/** Packs a bcmolt_epon_oam_brcm_cmc_annex to bytes
11786 *
11787 * \param this The enumeration to pack
11788 * \param buf Pointer to the buffer to write to
11789 * \return Whether or not the pack was successful
11790 */
11791bcmos_bool bcmolt_epon_oam_brcm_cmc_annex_pack(bcmolt_epon_oam_brcm_cmc_annex this, bcmolt_epon_oam_buf *buf);
11792
11793/** Unpacks a bcmolt_epon_oam_brcm_cmc_annex from bytes
11794 *
11795 * \param this Pointer to the enumeration to unpack
11796 * \param buf Pointer to the buffer to write to
11797 * \return Whether or not the unpack was successful
11798 */
11799bcmos_bool bcmolt_epon_oam_brcm_cmc_annex_unpack(bcmolt_epon_oam_brcm_cmc_annex *this, bcmolt_epon_oam_buf *buf);
11800
11801/** Packs a bcmolt_epon_oam_brcm_cmc_intf_type to bytes
11802 *
11803 * \param this The enumeration to pack
11804 * \param buf Pointer to the buffer to write to
11805 * \return Whether or not the pack was successful
11806 */
11807bcmos_bool bcmolt_epon_oam_brcm_cmc_intf_type_pack(bcmolt_epon_oam_brcm_cmc_intf_type this, bcmolt_epon_oam_buf *buf);
11808
11809/** Unpacks a bcmolt_epon_oam_brcm_cmc_intf_type from bytes
11810 *
11811 * \param this Pointer to the enumeration to unpack
11812 * \param buf Pointer to the buffer to write to
11813 * \return Whether or not the unpack was successful
11814 */
11815bcmos_bool bcmolt_epon_oam_brcm_cmc_intf_type_unpack(bcmolt_epon_oam_brcm_cmc_intf_type *this, bcmolt_epon_oam_buf *buf);
11816
11817/** Packs a bcmolt_epon_oam_brcm_cmc_interface_status to bytes
11818 *
11819 * \param this The enumeration to pack
11820 * \param buf Pointer to the buffer to write to
11821 * \return Whether or not the pack was successful
11822 */
11823bcmos_bool bcmolt_epon_oam_brcm_cmc_interface_status_pack(bcmolt_epon_oam_brcm_cmc_interface_status this, bcmolt_epon_oam_buf *buf);
11824
11825/** Unpacks a bcmolt_epon_oam_brcm_cmc_interface_status from bytes
11826 *
11827 * \param this Pointer to the enumeration to unpack
11828 * \param buf Pointer to the buffer to write to
11829 * \return Whether or not the unpack was successful
11830 */
11831bcmos_bool bcmolt_epon_oam_brcm_cmc_interface_status_unpack(bcmolt_epon_oam_brcm_cmc_interface_status *this, bcmolt_epon_oam_buf *buf);
11832
11833/** Packs a bcmolt_epon_oam_brcm_cmc_interleaver to bytes
11834 *
11835 * \param this The enumeration to pack
11836 * \param buf Pointer to the buffer to write to
11837 * \return Whether or not the pack was successful
11838 */
11839bcmos_bool bcmolt_epon_oam_brcm_cmc_interleaver_pack(bcmolt_epon_oam_brcm_cmc_interleaver this, bcmolt_epon_oam_buf *buf);
11840
11841/** Unpacks a bcmolt_epon_oam_brcm_cmc_interleaver from bytes
11842 *
11843 * \param this Pointer to the enumeration to unpack
11844 * \param buf Pointer to the buffer to write to
11845 * \return Whether or not the unpack was successful
11846 */
11847bcmos_bool bcmolt_epon_oam_brcm_cmc_interleaver_unpack(bcmolt_epon_oam_brcm_cmc_interleaver *this, bcmolt_epon_oam_buf *buf);
11848
11849/** Packs a bcmolt_epon_oam_brcm_cmc_load_balance_method to bytes
11850 *
11851 * \param this The enumeration to pack
11852 * \param buf Pointer to the buffer to write to
11853 * \return Whether or not the pack was successful
11854 */
11855bcmos_bool bcmolt_epon_oam_brcm_cmc_load_balance_method_pack(bcmolt_epon_oam_brcm_cmc_load_balance_method this, bcmolt_epon_oam_buf *buf);
11856
11857/** Unpacks a bcmolt_epon_oam_brcm_cmc_load_balance_method from bytes
11858 *
11859 * \param this Pointer to the enumeration to unpack
11860 * \param buf Pointer to the buffer to write to
11861 * \return Whether or not the unpack was successful
11862 */
11863bcmos_bool bcmolt_epon_oam_brcm_cmc_load_balance_method_unpack(bcmolt_epon_oam_brcm_cmc_load_balance_method *this, bcmolt_epon_oam_buf *buf);
11864
11865/** Packs a bcmolt_epon_oam_brcm_cmc_modulation to bytes
11866 *
11867 * \param this The enumeration to pack
11868 * \param buf Pointer to the buffer to write to
11869 * \return Whether or not the pack was successful
11870 */
11871bcmos_bool bcmolt_epon_oam_brcm_cmc_modulation_pack(bcmolt_epon_oam_brcm_cmc_modulation this, bcmolt_epon_oam_buf *buf);
11872
11873/** Unpacks a bcmolt_epon_oam_brcm_cmc_modulation from bytes
11874 *
11875 * \param this Pointer to the enumeration to unpack
11876 * \param buf Pointer to the buffer to write to
11877 * \return Whether or not the unpack was successful
11878 */
11879bcmos_bool bcmolt_epon_oam_brcm_cmc_modulation_unpack(bcmolt_epon_oam_brcm_cmc_modulation *this, bcmolt_epon_oam_buf *buf);
11880
11881/** Packs a bcmolt_epon_oam_brcm_cmc_us_modulation_type to bytes
11882 *
11883 * \param this The enumeration to pack
11884 * \param buf Pointer to the buffer to write to
11885 * \return Whether or not the pack was successful
11886 */
11887bcmos_bool bcmolt_epon_oam_brcm_cmc_us_modulation_type_pack(bcmolt_epon_oam_brcm_cmc_us_modulation_type this, bcmolt_epon_oam_buf *buf);
11888
11889/** Unpacks a bcmolt_epon_oam_brcm_cmc_us_modulation_type from bytes
11890 *
11891 * \param this Pointer to the enumeration to unpack
11892 * \param buf Pointer to the buffer to write to
11893 * \return Whether or not the unpack was successful
11894 */
11895bcmos_bool bcmolt_epon_oam_brcm_cmc_us_modulation_type_unpack(bcmolt_epon_oam_brcm_cmc_us_modulation_type *this, bcmolt_epon_oam_buf *buf);
11896
11897/** Packs a bcmolt_epon_oam_brcm_cmc_us_profile_type to bytes
11898 *
11899 * \param this The enumeration to pack
11900 * \param buf Pointer to the buffer to write to
11901 * \return Whether or not the pack was successful
11902 */
11903bcmos_bool bcmolt_epon_oam_brcm_cmc_us_profile_type_pack(bcmolt_epon_oam_brcm_cmc_us_profile_type this, bcmolt_epon_oam_buf *buf);
11904
11905/** Unpacks a bcmolt_epon_oam_brcm_cmc_us_profile_type from bytes
11906 *
11907 * \param this Pointer to the enumeration to unpack
11908 * \param buf Pointer to the buffer to write to
11909 * \return Whether or not the unpack was successful
11910 */
11911bcmos_bool bcmolt_epon_oam_brcm_cmc_us_profile_type_unpack(bcmolt_epon_oam_brcm_cmc_us_profile_type *this, bcmolt_epon_oam_buf *buf);
11912
11913/** Packs a bcmolt_epon_oam_brcm_cnu_connectivity_state to bytes
11914 *
11915 * \param this The enumeration to pack
11916 * \param buf Pointer to the buffer to write to
11917 * \return Whether or not the pack was successful
11918 */
11919bcmos_bool bcmolt_epon_oam_brcm_cnu_connectivity_state_pack(bcmolt_epon_oam_brcm_cnu_connectivity_state this, bcmolt_epon_oam_buf *buf);
11920
11921/** Unpacks a bcmolt_epon_oam_brcm_cnu_connectivity_state from bytes
11922 *
11923 * \param this Pointer to the enumeration to unpack
11924 * \param buf Pointer to the buffer to write to
11925 * \return Whether or not the unpack was successful
11926 */
11927bcmos_bool bcmolt_epon_oam_brcm_cnu_connectivity_state_unpack(bcmolt_epon_oam_brcm_cnu_connectivity_state *this, bcmolt_epon_oam_buf *buf);
11928
11929/** Packs a bcmolt_epon_oam_brcm_cnu_docsis_version to bytes
11930 *
11931 * \param this The enumeration to pack
11932 * \param buf Pointer to the buffer to write to
11933 * \return Whether or not the pack was successful
11934 */
11935bcmos_bool bcmolt_epon_oam_brcm_cnu_docsis_version_pack(bcmolt_epon_oam_brcm_cnu_docsis_version this, bcmolt_epon_oam_buf *buf);
11936
11937/** Unpacks a bcmolt_epon_oam_brcm_cnu_docsis_version from bytes
11938 *
11939 * \param this Pointer to the enumeration to unpack
11940 * \param buf Pointer to the buffer to write to
11941 * \return Whether or not the unpack was successful
11942 */
11943bcmos_bool bcmolt_epon_oam_brcm_cnu_docsis_version_unpack(bcmolt_epon_oam_brcm_cnu_docsis_version *this, bcmolt_epon_oam_buf *buf);
11944
11945/** Packs a bcmolt_epon_oam_brcm_cnu_ipaddr_type to bytes
11946 *
11947 * \param this The enumeration to pack
11948 * \param buf Pointer to the buffer to write to
11949 * \return Whether or not the pack was successful
11950 */
11951bcmos_bool bcmolt_epon_oam_brcm_cnu_ipaddr_type_pack(bcmolt_epon_oam_brcm_cnu_ipaddr_type this, bcmolt_epon_oam_buf *buf);
11952
11953/** Unpacks a bcmolt_epon_oam_brcm_cnu_ipaddr_type from bytes
11954 *
11955 * \param this Pointer to the enumeration to unpack
11956 * \param buf Pointer to the buffer to write to
11957 * \return Whether or not the unpack was successful
11958 */
11959bcmos_bool bcmolt_epon_oam_brcm_cnu_ipaddr_type_unpack(bcmolt_epon_oam_brcm_cnu_ipaddr_type *this, bcmolt_epon_oam_buf *buf);
11960
11961/** Packs a bcmolt_epon_oam_brcm_oam_pdu_opcode to bytes
11962 *
11963 * \param this The enumeration to pack
11964 * \param buf Pointer to the buffer to write to
11965 * \return Whether or not the pack was successful
11966 */
11967bcmos_bool bcmolt_epon_oam_brcm_oam_pdu_opcode_pack(bcmolt_epon_oam_brcm_oam_pdu_opcode this, bcmolt_epon_oam_buf *buf);
11968
11969/** Unpacks a bcmolt_epon_oam_brcm_oam_pdu_opcode from bytes
11970 *
11971 * \param this Pointer to the enumeration to unpack
11972 * \param buf Pointer to the buffer to write to
11973 * \return Whether or not the unpack was successful
11974 */
11975bcmos_bool bcmolt_epon_oam_brcm_oam_pdu_opcode_unpack(bcmolt_epon_oam_brcm_oam_pdu_opcode *this, bcmolt_epon_oam_buf *buf);
11976
11977/** Packs a bcmolt_epon_oam_clock_transport_key to bytes
11978 *
11979 * \param this The enumeration to pack
11980 * \param buf Pointer to the buffer to write to
11981 * \return Whether or not the pack was successful
11982 */
11983bcmos_bool bcmolt_epon_oam_clock_transport_key_pack(bcmolt_epon_oam_clock_transport_key this, bcmolt_epon_oam_buf *buf);
11984
11985/** Unpacks a bcmolt_epon_oam_clock_transport_key from bytes
11986 *
11987 * \param this Pointer to the enumeration to unpack
11988 * \param buf Pointer to the buffer to write to
11989 * \return Whether or not the unpack was successful
11990 */
11991bcmos_bool bcmolt_epon_oam_clock_transport_key_unpack(bcmolt_epon_oam_clock_transport_key *this, bcmolt_epon_oam_buf *buf);
11992
11993/** Packs a bcmolt_epon_oam_var_leaf_action to bytes
11994 *
11995 * \param this The enumeration to pack
11996 * \param buf Pointer to the buffer to write to
11997 * \return Whether or not the pack was successful
11998 */
11999bcmos_bool bcmolt_epon_oam_var_leaf_action_pack(bcmolt_epon_oam_var_leaf_action this, bcmolt_epon_oam_buf *buf);
12000
12001/** Unpacks a bcmolt_epon_oam_var_leaf_action from bytes
12002 *
12003 * \param this Pointer to the enumeration to unpack
12004 * \param buf Pointer to the buffer to write to
12005 * \return Whether or not the unpack was successful
12006 */
12007bcmos_bool bcmolt_epon_oam_var_leaf_action_unpack(bcmolt_epon_oam_var_leaf_action *this, bcmolt_epon_oam_buf *buf);
12008
12009/** Packs a bcmolt_epon_oam_ctc_enabled_state to bytes
12010 *
12011 * \param this The enumeration to pack
12012 * \param buf Pointer to the buffer to write to
12013 * \return Whether or not the pack was successful
12014 */
12015bcmos_bool bcmolt_epon_oam_ctc_enabled_state_pack(bcmolt_epon_oam_ctc_enabled_state this, bcmolt_epon_oam_buf *buf);
12016
12017/** Unpacks a bcmolt_epon_oam_ctc_enabled_state from bytes
12018 *
12019 * \param this Pointer to the enumeration to unpack
12020 * \param buf Pointer to the buffer to write to
12021 * \return Whether or not the unpack was successful
12022 */
12023bcmos_bool bcmolt_epon_oam_ctc_enabled_state_unpack(bcmolt_epon_oam_ctc_enabled_state *this, bcmolt_epon_oam_buf *buf);
12024
12025/** Packs a bcmolt_epon_oam_ctc_activation to bytes
12026 *
12027 * \param this The enumeration to pack
12028 * \param buf Pointer to the buffer to write to
12029 * \return Whether or not the pack was successful
12030 */
12031bcmos_bool bcmolt_epon_oam_ctc_activation_pack(bcmolt_epon_oam_ctc_activation this, bcmolt_epon_oam_buf *buf);
12032
12033/** Unpacks a bcmolt_epon_oam_ctc_activation from bytes
12034 *
12035 * \param this Pointer to the enumeration to unpack
12036 * \param buf Pointer to the buffer to write to
12037 * \return Whether or not the unpack was successful
12038 */
12039bcmos_bool bcmolt_epon_oam_ctc_activation_unpack(bcmolt_epon_oam_ctc_activation *this, bcmolt_epon_oam_buf *buf);
12040
12041/** Packs a bcmolt_epon_oam_ctc_leaf_management_object to bytes
12042 *
12043 * \param this The enumeration to pack
12044 * \param buf Pointer to the buffer to write to
12045 * \return Whether or not the pack was successful
12046 */
12047bcmos_bool bcmolt_epon_oam_ctc_leaf_management_object_pack(bcmolt_epon_oam_ctc_leaf_management_object this, bcmolt_epon_oam_buf *buf);
12048
12049/** Unpacks a bcmolt_epon_oam_ctc_leaf_management_object from bytes
12050 *
12051 * \param this Pointer to the enumeration to unpack
12052 * \param buf Pointer to the buffer to write to
12053 * \return Whether or not the unpack was successful
12054 */
12055bcmos_bool bcmolt_epon_oam_ctc_leaf_management_object_unpack(bcmolt_epon_oam_ctc_leaf_management_object *this, bcmolt_epon_oam_buf *buf);
12056
12057/** Packs a bcmolt_epon_oam_ctc_onu_alarm_id to bytes
12058 *
12059 * \param this The enumeration to pack
12060 * \param buf Pointer to the buffer to write to
12061 * \return Whether or not the pack was successful
12062 */
12063bcmos_bool bcmolt_epon_oam_ctc_onu_alarm_id_pack(bcmolt_epon_oam_ctc_onu_alarm_id this, bcmolt_epon_oam_buf *buf);
12064
12065/** Unpacks a bcmolt_epon_oam_ctc_onu_alarm_id from bytes
12066 *
12067 * \param this Pointer to the enumeration to unpack
12068 * \param buf Pointer to the buffer to write to
12069 * \return Whether or not the unpack was successful
12070 */
12071bcmos_bool bcmolt_epon_oam_ctc_onu_alarm_id_unpack(bcmolt_epon_oam_ctc_onu_alarm_id *this, bcmolt_epon_oam_buf *buf);
12072
12073/** Packs a bcmolt_epon_oam_ctc_power_alarm_code to bytes
12074 *
12075 * \param this The enumeration to pack
12076 * \param buf Pointer to the buffer to write to
12077 * \return Whether or not the pack was successful
12078 */
12079bcmos_bool bcmolt_epon_oam_ctc_power_alarm_code_pack(bcmolt_epon_oam_ctc_power_alarm_code this, bcmolt_epon_oam_buf *buf);
12080
12081/** Unpacks a bcmolt_epon_oam_ctc_power_alarm_code from bytes
12082 *
12083 * \param this Pointer to the enumeration to unpack
12084 * \param buf Pointer to the buffer to write to
12085 * \return Whether or not the unpack was successful
12086 */
12087bcmos_bool bcmolt_epon_oam_ctc_power_alarm_code_unpack(bcmolt_epon_oam_ctc_power_alarm_code *this, bcmolt_epon_oam_buf *buf);
12088
12089/** Packs a bcmolt_epon_oam_ctc_pon_if_switch_code to bytes
12090 *
12091 * \param this The enumeration to pack
12092 * \param buf Pointer to the buffer to write to
12093 * \return Whether or not the pack was successful
12094 */
12095bcmos_bool bcmolt_epon_oam_ctc_pon_if_switch_code_pack(bcmolt_epon_oam_ctc_pon_if_switch_code this, bcmolt_epon_oam_buf *buf);
12096
12097/** Unpacks a bcmolt_epon_oam_ctc_pon_if_switch_code from bytes
12098 *
12099 * \param this Pointer to the enumeration to unpack
12100 * \param buf Pointer to the buffer to write to
12101 * \return Whether or not the unpack was successful
12102 */
12103bcmos_bool bcmolt_epon_oam_ctc_pon_if_switch_code_unpack(bcmolt_epon_oam_ctc_pon_if_switch_code *this, bcmolt_epon_oam_buf *buf);
12104
12105/** Packs a bcmolt_epon_oam_var_leaf_attribute to bytes
12106 *
12107 * \param this The enumeration to pack
12108 * \param buf Pointer to the buffer to write to
12109 * \return Whether or not the pack was successful
12110 */
12111bcmos_bool bcmolt_epon_oam_var_leaf_attribute_pack(bcmolt_epon_oam_var_leaf_attribute this, bcmolt_epon_oam_buf *buf);
12112
12113/** Unpacks a bcmolt_epon_oam_var_leaf_attribute from bytes
12114 *
12115 * \param this Pointer to the enumeration to unpack
12116 * \param buf Pointer to the buffer to write to
12117 * \return Whether or not the unpack was successful
12118 */
12119bcmos_bool bcmolt_epon_oam_var_leaf_attribute_unpack(bcmolt_epon_oam_var_leaf_attribute *this, bcmolt_epon_oam_buf *buf);
12120
12121/** Packs a bcmolt_epon_oam_ctc_fec_support to bytes
12122 *
12123 * \param this The enumeration to pack
12124 * \param buf Pointer to the buffer to write to
12125 * \return Whether or not the pack was successful
12126 */
12127bcmos_bool bcmolt_epon_oam_ctc_fec_support_pack(bcmolt_epon_oam_ctc_fec_support this, bcmolt_epon_oam_buf *buf);
12128
12129/** Unpacks a bcmolt_epon_oam_ctc_fec_support from bytes
12130 *
12131 * \param this Pointer to the enumeration to unpack
12132 * \param buf Pointer to the buffer to write to
12133 * \return Whether or not the unpack was successful
12134 */
12135bcmos_bool bcmolt_epon_oam_ctc_fec_support_unpack(bcmolt_epon_oam_ctc_fec_support *this, bcmolt_epon_oam_buf *buf);
12136
12137/** Packs a bcmolt_epon_oam_ctc_fec_state to bytes
12138 *
12139 * \param this The enumeration to pack
12140 * \param buf Pointer to the buffer to write to
12141 * \return Whether or not the pack was successful
12142 */
12143bcmos_bool bcmolt_epon_oam_ctc_fec_state_pack(bcmolt_epon_oam_ctc_fec_state this, bcmolt_epon_oam_buf *buf);
12144
12145/** Unpacks a bcmolt_epon_oam_ctc_fec_state from bytes
12146 *
12147 * \param this Pointer to the enumeration to unpack
12148 * \param buf Pointer to the buffer to write to
12149 * \return Whether or not the unpack was successful
12150 */
12151bcmos_bool bcmolt_epon_oam_ctc_fec_state_unpack(bcmolt_epon_oam_ctc_fec_state *this, bcmolt_epon_oam_buf *buf);
12152
12153/** Packs a bcmolt_epon_oam_ctc_churning_op_code to bytes
12154 *
12155 * \param this The enumeration to pack
12156 * \param buf Pointer to the buffer to write to
12157 * \return Whether or not the pack was successful
12158 */
12159bcmos_bool bcmolt_epon_oam_ctc_churning_op_code_pack(bcmolt_epon_oam_ctc_churning_op_code this, bcmolt_epon_oam_buf *buf);
12160
12161/** Unpacks a bcmolt_epon_oam_ctc_churning_op_code from bytes
12162 *
12163 * \param this Pointer to the enumeration to unpack
12164 * \param buf Pointer to the buffer to write to
12165 * \return Whether or not the unpack was successful
12166 */
12167bcmos_bool bcmolt_epon_oam_ctc_churning_op_code_unpack(bcmolt_epon_oam_ctc_churning_op_code *this, bcmolt_epon_oam_buf *buf);
12168
12169/** Packs a bcmolt_epon_oam_ctc_classification_operation to bytes
12170 *
12171 * \param this The enumeration to pack
12172 * \param buf Pointer to the buffer to write to
12173 * \return Whether or not the pack was successful
12174 */
12175bcmos_bool bcmolt_epon_oam_ctc_classification_operation_pack(bcmolt_epon_oam_ctc_classification_operation this, bcmolt_epon_oam_buf *buf);
12176
12177/** Unpacks a bcmolt_epon_oam_ctc_classification_operation from bytes
12178 *
12179 * \param this Pointer to the enumeration to unpack
12180 * \param buf Pointer to the buffer to write to
12181 * \return Whether or not the unpack was successful
12182 */
12183bcmos_bool bcmolt_epon_oam_ctc_classification_operation_unpack(bcmolt_epon_oam_ctc_classification_operation *this, bcmolt_epon_oam_buf *buf);
12184
12185/** Packs a bcmolt_epon_oam_ctc_commit_image_ack to bytes
12186 *
12187 * \param this The enumeration to pack
12188 * \param buf Pointer to the buffer to write to
12189 * \return Whether or not the pack was successful
12190 */
12191bcmos_bool bcmolt_epon_oam_ctc_commit_image_ack_pack(bcmolt_epon_oam_ctc_commit_image_ack this, bcmolt_epon_oam_buf *buf);
12192
12193/** Unpacks a bcmolt_epon_oam_ctc_commit_image_ack from bytes
12194 *
12195 * \param this Pointer to the enumeration to unpack
12196 * \param buf Pointer to the buffer to write to
12197 * \return Whether or not the unpack was successful
12198 */
12199bcmos_bool bcmolt_epon_oam_ctc_commit_image_ack_unpack(bcmolt_epon_oam_ctc_commit_image_ack *this, bcmolt_epon_oam_buf *buf);
12200
12201/** Packs a bcmolt_epon_oam_ctc_commit_image_opcode to bytes
12202 *
12203 * \param this The enumeration to pack
12204 * \param buf Pointer to the buffer to write to
12205 * \return Whether or not the pack was successful
12206 */
12207bcmos_bool bcmolt_epon_oam_ctc_commit_image_opcode_pack(bcmolt_epon_oam_ctc_commit_image_opcode this, bcmolt_epon_oam_buf *buf);
12208
12209/** Unpacks a bcmolt_epon_oam_ctc_commit_image_opcode from bytes
12210 *
12211 * \param this Pointer to the enumeration to unpack
12212 * \param buf Pointer to the buffer to write to
12213 * \return Whether or not the unpack was successful
12214 */
12215bcmos_bool bcmolt_epon_oam_ctc_commit_image_opcode_unpack(bcmolt_epon_oam_ctc_commit_image_opcode *this, bcmolt_epon_oam_buf *buf);
12216
12217/** Packs a bcmolt_epon_oam_ctc_commit_image_flag to bytes
12218 *
12219 * \param this The enumeration to pack
12220 * \param buf Pointer to the buffer to write to
12221 * \return Whether or not the pack was successful
12222 */
12223bcmos_bool bcmolt_epon_oam_ctc_commit_image_flag_pack(bcmolt_epon_oam_ctc_commit_image_flag this, bcmolt_epon_oam_buf *buf);
12224
12225/** Unpacks a bcmolt_epon_oam_ctc_commit_image_flag from bytes
12226 *
12227 * \param this Pointer to the enumeration to unpack
12228 * \param buf Pointer to the buffer to write to
12229 * \return Whether or not the unpack was successful
12230 */
12231bcmos_bool bcmolt_epon_oam_ctc_commit_image_flag_unpack(bcmolt_epon_oam_ctc_commit_image_flag *this, bcmolt_epon_oam_buf *buf);
12232
12233/** Packs a bcmolt_epon_oam_ctc_dba_op_code to bytes
12234 *
12235 * \param this The enumeration to pack
12236 * \param buf Pointer to the buffer to write to
12237 * \return Whether or not the pack was successful
12238 */
12239bcmos_bool bcmolt_epon_oam_ctc_dba_op_code_pack(bcmolt_epon_oam_ctc_dba_op_code this, bcmolt_epon_oam_buf *buf);
12240
12241/** Unpacks a bcmolt_epon_oam_ctc_dba_op_code from bytes
12242 *
12243 * \param this Pointer to the enumeration to unpack
12244 * \param buf Pointer to the buffer to write to
12245 * \return Whether or not the unpack was successful
12246 */
12247bcmos_bool bcmolt_epon_oam_ctc_dba_op_code_unpack(bcmolt_epon_oam_ctc_dba_op_code *this, bcmolt_epon_oam_buf *buf);
12248
12249/** Packs a bcmolt_epon_oam_ctc_early_wake_up_mode to bytes
12250 *
12251 * \param this The enumeration to pack
12252 * \param buf Pointer to the buffer to write to
12253 * \return Whether or not the pack was successful
12254 */
12255bcmos_bool bcmolt_epon_oam_ctc_early_wake_up_mode_pack(bcmolt_epon_oam_ctc_early_wake_up_mode this, bcmolt_epon_oam_buf *buf);
12256
12257/** Unpacks a bcmolt_epon_oam_ctc_early_wake_up_mode from bytes
12258 *
12259 * \param this Pointer to the enumeration to unpack
12260 * \param buf Pointer to the buffer to write to
12261 * \return Whether or not the unpack was successful
12262 */
12263bcmos_bool bcmolt_epon_oam_ctc_early_wake_up_mode_unpack(bcmolt_epon_oam_ctc_early_wake_up_mode *this, bcmolt_epon_oam_buf *buf);
12264
12265/** Packs a bcmolt_epon_oam_ctc_branch to bytes
12266 *
12267 * \param this The enumeration to pack
12268 * \param buf Pointer to the buffer to write to
12269 * \return Whether or not the pack was successful
12270 */
12271bcmos_bool bcmolt_epon_oam_ctc_branch_pack(bcmolt_epon_oam_ctc_branch this, bcmolt_epon_oam_buf *buf);
12272
12273/** Unpacks a bcmolt_epon_oam_ctc_branch from bytes
12274 *
12275 * \param this Pointer to the enumeration to unpack
12276 * \param buf Pointer to the buffer to write to
12277 * \return Whether or not the unpack was successful
12278 */
12279bcmos_bool bcmolt_epon_oam_ctc_branch_unpack(bcmolt_epon_oam_ctc_branch *this, bcmolt_epon_oam_buf *buf);
12280
12281/** Packs a bcmolt_epon_oam_oam_error_code to bytes
12282 *
12283 * \param this The enumeration to pack
12284 * \param buf Pointer to the buffer to write to
12285 * \return Whether or not the pack was successful
12286 */
12287bcmos_bool bcmolt_epon_oam_oam_error_code_pack(bcmolt_epon_oam_oam_error_code this, bcmolt_epon_oam_buf *buf);
12288
12289/** Unpacks a bcmolt_epon_oam_oam_error_code from bytes
12290 *
12291 * \param this Pointer to the enumeration to unpack
12292 * \param buf Pointer to the buffer to write to
12293 * \return Whether or not the unpack was successful
12294 */
12295bcmos_bool bcmolt_epon_oam_oam_error_code_unpack(bcmolt_epon_oam_oam_error_code *this, bcmolt_epon_oam_buf *buf);
12296
12297/** Packs a bcmolt_epon_oam_ctc_leaf_old_management_object to bytes
12298 *
12299 * \param this The enumeration to pack
12300 * \param buf Pointer to the buffer to write to
12301 * \return Whether or not the pack was successful
12302 */
12303bcmos_bool bcmolt_epon_oam_ctc_leaf_old_management_object_pack(bcmolt_epon_oam_ctc_leaf_old_management_object this, bcmolt_epon_oam_buf *buf);
12304
12305/** Unpacks a bcmolt_epon_oam_ctc_leaf_old_management_object from bytes
12306 *
12307 * \param this Pointer to the enumeration to unpack
12308 * \param buf Pointer to the buffer to write to
12309 * \return Whether or not the unpack was successful
12310 */
12311bcmos_bool bcmolt_epon_oam_ctc_leaf_old_management_object_unpack(bcmolt_epon_oam_ctc_leaf_old_management_object *this, bcmolt_epon_oam_buf *buf);
12312
12313/** Packs a bcmolt_epon_oam_ctc_port_type to bytes
12314 *
12315 * \param this The enumeration to pack
12316 * \param buf Pointer to the buffer to write to
12317 * \return Whether or not the pack was successful
12318 */
12319bcmos_bool bcmolt_epon_oam_ctc_port_type_pack(bcmolt_epon_oam_ctc_port_type this, bcmolt_epon_oam_buf *buf);
12320
12321/** Unpacks a bcmolt_epon_oam_ctc_port_type from bytes
12322 *
12323 * \param this Pointer to the enumeration to unpack
12324 * \param buf Pointer to the buffer to write to
12325 * \return Whether or not the unpack was successful
12326 */
12327bcmos_bool bcmolt_epon_oam_ctc_port_type_unpack(bcmolt_epon_oam_ctc_port_type *this, bcmolt_epon_oam_buf *buf);
12328
12329/** Packs a bcmolt_epon_oam_ctc_leaf_ext_attribute to bytes
12330 *
12331 * \param this The enumeration to pack
12332 * \param buf Pointer to the buffer to write to
12333 * \return Whether or not the pack was successful
12334 */
12335bcmos_bool bcmolt_epon_oam_ctc_leaf_ext_attribute_pack(bcmolt_epon_oam_ctc_leaf_ext_attribute this, bcmolt_epon_oam_buf *buf);
12336
12337/** Unpacks a bcmolt_epon_oam_ctc_leaf_ext_attribute from bytes
12338 *
12339 * \param this Pointer to the enumeration to unpack
12340 * \param buf Pointer to the buffer to write to
12341 * \return Whether or not the unpack was successful
12342 */
12343bcmos_bool bcmolt_epon_oam_ctc_leaf_ext_attribute_unpack(bcmolt_epon_oam_ctc_leaf_ext_attribute *this, bcmolt_epon_oam_buf *buf);
12344
12345/** Packs a bcmolt_epon_oam_ctc_leaf_ext_action to bytes
12346 *
12347 * \param this The enumeration to pack
12348 * \param buf Pointer to the buffer to write to
12349 * \return Whether or not the pack was successful
12350 */
12351bcmos_bool bcmolt_epon_oam_ctc_leaf_ext_action_pack(bcmolt_epon_oam_ctc_leaf_ext_action this, bcmolt_epon_oam_buf *buf);
12352
12353/** Unpacks a bcmolt_epon_oam_ctc_leaf_ext_action from bytes
12354 *
12355 * \param this Pointer to the enumeration to unpack
12356 * \param buf Pointer to the buffer to write to
12357 * \return Whether or not the unpack was successful
12358 */
12359bcmos_bool bcmolt_epon_oam_ctc_leaf_ext_action_unpack(bcmolt_epon_oam_ctc_leaf_ext_action *this, bcmolt_epon_oam_buf *buf);
12360
12361/** Packs a bcmolt_epon_oam_ktleaf_attribute to bytes
12362 *
12363 * \param this The enumeration to pack
12364 * \param buf Pointer to the buffer to write to
12365 * \return Whether or not the pack was successful
12366 */
12367bcmos_bool bcmolt_epon_oam_ktleaf_attribute_pack(bcmolt_epon_oam_ktleaf_attribute this, bcmolt_epon_oam_buf *buf);
12368
12369/** Unpacks a bcmolt_epon_oam_ktleaf_attribute from bytes
12370 *
12371 * \param this Pointer to the enumeration to unpack
12372 * \param buf Pointer to the buffer to write to
12373 * \return Whether or not the unpack was successful
12374 */
12375bcmos_bool bcmolt_epon_oam_ktleaf_attribute_unpack(bcmolt_epon_oam_ktleaf_attribute *this, bcmolt_epon_oam_buf *buf);
12376
12377/** Packs a bcmolt_epon_oam_ctc_eth_port_policing_enable to bytes
12378 *
12379 * \param this The enumeration to pack
12380 * \param buf Pointer to the buffer to write to
12381 * \return Whether or not the pack was successful
12382 */
12383bcmos_bool bcmolt_epon_oam_ctc_eth_port_policing_enable_pack(bcmolt_epon_oam_ctc_eth_port_policing_enable this, bcmolt_epon_oam_buf *buf);
12384
12385/** Unpacks a bcmolt_epon_oam_ctc_eth_port_policing_enable from bytes
12386 *
12387 * \param this Pointer to the enumeration to unpack
12388 * \param buf Pointer to the buffer to write to
12389 * \return Whether or not the unpack was successful
12390 */
12391bcmos_bool bcmolt_epon_oam_ctc_eth_port_policing_enable_unpack(bcmolt_epon_oam_ctc_eth_port_policing_enable *this, bcmolt_epon_oam_buf *buf);
12392
12393/** Packs a bcmolt_epon_oam_ctc_event_sub_type to bytes
12394 *
12395 * \param this The enumeration to pack
12396 * \param buf Pointer to the buffer to write to
12397 * \return Whether or not the pack was successful
12398 */
12399bcmos_bool bcmolt_epon_oam_ctc_event_sub_type_pack(bcmolt_epon_oam_ctc_event_sub_type this, bcmolt_epon_oam_buf *buf);
12400
12401/** Unpacks a bcmolt_epon_oam_ctc_event_sub_type from bytes
12402 *
12403 * \param this Pointer to the enumeration to unpack
12404 * \param buf Pointer to the buffer to write to
12405 * \return Whether or not the unpack was successful
12406 */
12407bcmos_bool bcmolt_epon_oam_ctc_event_sub_type_unpack(bcmolt_epon_oam_ctc_event_sub_type *this, bcmolt_epon_oam_buf *buf);
12408
12409/** Packs a bcmolt_epon_oam_ctc_event_status to bytes
12410 *
12411 * \param this The enumeration to pack
12412 * \param buf Pointer to the buffer to write to
12413 * \return Whether or not the pack was successful
12414 */
12415bcmos_bool bcmolt_epon_oam_ctc_event_status_pack(bcmolt_epon_oam_ctc_event_status this, bcmolt_epon_oam_buf *buf);
12416
12417/** Unpacks a bcmolt_epon_oam_ctc_event_status from bytes
12418 *
12419 * \param this Pointer to the enumeration to unpack
12420 * \param buf Pointer to the buffer to write to
12421 * \return Whether or not the unpack was successful
12422 */
12423bcmos_bool bcmolt_epon_oam_ctc_event_status_unpack(bcmolt_epon_oam_ctc_event_status *this, bcmolt_epon_oam_buf *buf);
12424
12425/** Packs a bcmolt_epon_oam_ctc_onu_sleep_flag to bytes
12426 *
12427 * \param this The enumeration to pack
12428 * \param buf Pointer to the buffer to write to
12429 * \return Whether or not the pack was successful
12430 */
12431bcmos_bool bcmolt_epon_oam_ctc_onu_sleep_flag_pack(bcmolt_epon_oam_ctc_onu_sleep_flag this, bcmolt_epon_oam_buf *buf);
12432
12433/** Unpacks a bcmolt_epon_oam_ctc_onu_sleep_flag from bytes
12434 *
12435 * \param this Pointer to the enumeration to unpack
12436 * \param buf Pointer to the buffer to write to
12437 * \return Whether or not the unpack was successful
12438 */
12439bcmos_bool bcmolt_epon_oam_ctc_onu_sleep_flag_unpack(bcmolt_epon_oam_ctc_onu_sleep_flag *this, bcmolt_epon_oam_buf *buf);
12440
12441/** Packs a bcmolt_epon_oam_ctc_onu_sleep_mode to bytes
12442 *
12443 * \param this The enumeration to pack
12444 * \param buf Pointer to the buffer to write to
12445 * \return Whether or not the pack was successful
12446 */
12447bcmos_bool bcmolt_epon_oam_ctc_onu_sleep_mode_pack(bcmolt_epon_oam_ctc_onu_sleep_mode this, bcmolt_epon_oam_buf *buf);
12448
12449/** Unpacks a bcmolt_epon_oam_ctc_onu_sleep_mode from bytes
12450 *
12451 * \param this Pointer to the enumeration to unpack
12452 * \param buf Pointer to the buffer to write to
12453 * \return Whether or not the unpack was successful
12454 */
12455bcmos_bool bcmolt_epon_oam_ctc_onu_sleep_mode_unpack(bcmolt_epon_oam_ctc_onu_sleep_mode *this, bcmolt_epon_oam_buf *buf);
12456
12457/** Packs a bcmolt_epon_oam_pppo_etest_status to bytes
12458 *
12459 * \param this The enumeration to pack
12460 * \param buf Pointer to the buffer to write to
12461 * \return Whether or not the pack was successful
12462 */
12463bcmos_bool bcmolt_epon_oam_pppo_etest_status_pack(bcmolt_epon_oam_pppo_etest_status this, bcmolt_epon_oam_buf *buf);
12464
12465/** Unpacks a bcmolt_epon_oam_pppo_etest_status from bytes
12466 *
12467 * \param this Pointer to the enumeration to unpack
12468 * \param buf Pointer to the buffer to write to
12469 * \return Whether or not the unpack was successful
12470 */
12471bcmos_bool bcmolt_epon_oam_pppo_etest_status_unpack(bcmolt_epon_oam_pppo_etest_status *this, bcmolt_epon_oam_buf *buf);
12472
12473/** Packs a bcmolt_epon_oam_pppo_etest_fail_reason to bytes
12474 *
12475 * \param this The enumeration to pack
12476 * \param buf Pointer to the buffer to write to
12477 * \return Whether or not the pack was successful
12478 */
12479bcmos_bool bcmolt_epon_oam_pppo_etest_fail_reason_pack(bcmolt_epon_oam_pppo_etest_fail_reason this, bcmolt_epon_oam_buf *buf);
12480
12481/** Unpacks a bcmolt_epon_oam_pppo_etest_fail_reason from bytes
12482 *
12483 * \param this Pointer to the enumeration to unpack
12484 * \param buf Pointer to the buffer to write to
12485 * \return Whether or not the unpack was successful
12486 */
12487bcmos_bool bcmolt_epon_oam_pppo_etest_fail_reason_unpack(bcmolt_epon_oam_pppo_etest_fail_reason *this, bcmolt_epon_oam_buf *buf);
12488
12489/** Packs a bcmolt_epon_oam_start_or_stop_indication to bytes
12490 *
12491 * \param this The enumeration to pack
12492 * \param buf Pointer to the buffer to write to
12493 * \return Whether or not the pack was successful
12494 */
12495bcmos_bool bcmolt_epon_oam_start_or_stop_indication_pack(bcmolt_epon_oam_start_or_stop_indication this, bcmolt_epon_oam_buf *buf);
12496
12497/** Unpacks a bcmolt_epon_oam_start_or_stop_indication from bytes
12498 *
12499 * \param this Pointer to the enumeration to unpack
12500 * \param buf Pointer to the buffer to write to
12501 * \return Whether or not the unpack was successful
12502 */
12503bcmos_bool bcmolt_epon_oam_start_or_stop_indication_unpack(bcmolt_epon_oam_start_or_stop_indication *this, bcmolt_epon_oam_buf *buf);
12504
12505/** Packs a bcmolt_epon_oam_pppo_eauth_mode to bytes
12506 *
12507 * \param this The enumeration to pack
12508 * \param buf Pointer to the buffer to write to
12509 * \return Whether or not the pack was successful
12510 */
12511bcmos_bool bcmolt_epon_oam_pppo_eauth_mode_pack(bcmolt_epon_oam_pppo_eauth_mode this, bcmolt_epon_oam_buf *buf);
12512
12513/** Unpacks a bcmolt_epon_oam_pppo_eauth_mode from bytes
12514 *
12515 * \param this Pointer to the enumeration to unpack
12516 * \param buf Pointer to the buffer to write to
12517 * \return Whether or not the unpack was successful
12518 */
12519bcmos_bool bcmolt_epon_oam_pppo_eauth_mode_unpack(bcmolt_epon_oam_pppo_eauth_mode *this, bcmolt_epon_oam_buf *buf);
12520
12521/** Packs a bcmolt_epon_oam_ctc_supported_services to bytes
12522 *
12523 * \param this The enumeration to pack
12524 * \param buf Pointer to the buffer to write to
12525 * \return Whether or not the pack was successful
12526 */
12527bcmos_bool bcmolt_epon_oam_ctc_supported_services_pack(bcmolt_epon_oam_ctc_supported_services this, bcmolt_epon_oam_buf *buf);
12528
12529/** Unpacks a bcmolt_epon_oam_ctc_supported_services from bytes
12530 *
12531 * \param this Pointer to the enumeration to unpack
12532 * \param buf Pointer to the buffer to write to
12533 * \return Whether or not the unpack was successful
12534 */
12535bcmos_bool bcmolt_epon_oam_ctc_supported_services_unpack(bcmolt_epon_oam_ctc_supported_services *this, bcmolt_epon_oam_buf *buf);
12536
12537/** Packs a bcmolt_epon_oam_ctc_service_sla_operation to bytes
12538 *
12539 * \param this The enumeration to pack
12540 * \param buf Pointer to the buffer to write to
12541 * \return Whether or not the pack was successful
12542 */
12543bcmos_bool bcmolt_epon_oam_ctc_service_sla_operation_pack(bcmolt_epon_oam_ctc_service_sla_operation this, bcmolt_epon_oam_buf *buf);
12544
12545/** Unpacks a bcmolt_epon_oam_ctc_service_sla_operation from bytes
12546 *
12547 * \param this Pointer to the enumeration to unpack
12548 * \param buf Pointer to the buffer to write to
12549 * \return Whether or not the unpack was successful
12550 */
12551bcmos_bool bcmolt_epon_oam_ctc_service_sla_operation_unpack(bcmolt_epon_oam_ctc_service_sla_operation *this, bcmolt_epon_oam_buf *buf);
12552
12553/** Packs a bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme to bytes
12554 *
12555 * \param this The enumeration to pack
12556 * \param buf Pointer to the buffer to write to
12557 * \return Whether or not the pack was successful
12558 */
12559bcmos_bool bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme_pack(bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme this, bcmolt_epon_oam_buf *buf);
12560
12561/** Unpacks a bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme from bytes
12562 *
12563 * \param this Pointer to the enumeration to unpack
12564 * \param buf Pointer to the buffer to write to
12565 * \return Whether or not the unpack was successful
12566 */
12567bcmos_bool bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme_unpack(bcmolt_epon_oam_ctc_onu_dba_scheduling_scheme *this, bcmolt_epon_oam_buf *buf);
12568
12569/** Packs a bcmolt_epon_oam_ctc_onu_type to bytes
12570 *
12571 * \param this The enumeration to pack
12572 * \param buf Pointer to the buffer to write to
12573 * \return Whether or not the pack was successful
12574 */
12575bcmos_bool bcmolt_epon_oam_ctc_onu_type_pack(bcmolt_epon_oam_ctc_onu_type this, bcmolt_epon_oam_buf *buf);
12576
12577/** Unpacks a bcmolt_epon_oam_ctc_onu_type from bytes
12578 *
12579 * \param this Pointer to the enumeration to unpack
12580 * \param buf Pointer to the buffer to write to
12581 * \return Whether or not the unpack was successful
12582 */
12583bcmos_bool bcmolt_epon_oam_ctc_onu_type_unpack(bcmolt_epon_oam_ctc_onu_type *this, bcmolt_epon_oam_buf *buf);
12584
12585/** Packs a bcmolt_epon_oam_ctc_onu_protection_type to bytes
12586 *
12587 * \param this The enumeration to pack
12588 * \param buf Pointer to the buffer to write to
12589 * \return Whether or not the pack was successful
12590 */
12591bcmos_bool bcmolt_epon_oam_ctc_onu_protection_type_pack(bcmolt_epon_oam_ctc_onu_protection_type this, bcmolt_epon_oam_buf *buf);
12592
12593/** Unpacks a bcmolt_epon_oam_ctc_onu_protection_type from bytes
12594 *
12595 * \param this Pointer to the enumeration to unpack
12596 * \param buf Pointer to the buffer to write to
12597 * \return Whether or not the unpack was successful
12598 */
12599bcmos_bool bcmolt_epon_oam_ctc_onu_protection_type_unpack(bcmolt_epon_oam_ctc_onu_protection_type *this, bcmolt_epon_oam_buf *buf);
12600
12601/** Packs a bcmolt_epon_oam_ctc_onu_interface_type to bytes
12602 *
12603 * \param this The enumeration to pack
12604 * \param buf Pointer to the buffer to write to
12605 * \return Whether or not the pack was successful
12606 */
12607bcmos_bool bcmolt_epon_oam_ctc_onu_interface_type_pack(bcmolt_epon_oam_ctc_onu_interface_type this, bcmolt_epon_oam_buf *buf);
12608
12609/** Unpacks a bcmolt_epon_oam_ctc_onu_interface_type from bytes
12610 *
12611 * \param this Pointer to the enumeration to unpack
12612 * \param buf Pointer to the buffer to write to
12613 * \return Whether or not the unpack was successful
12614 */
12615bcmos_bool bcmolt_epon_oam_ctc_onu_interface_type_unpack(bcmolt_epon_oam_ctc_onu_interface_type *this, bcmolt_epon_oam_buf *buf);
12616
12617/** Packs a bcmolt_epon_oam_ctc_mxu_global_params_width to bytes
12618 *
12619 * \param this The enumeration to pack
12620 * \param buf Pointer to the buffer to write to
12621 * \return Whether or not the pack was successful
12622 */
12623bcmos_bool bcmolt_epon_oam_ctc_mxu_global_params_width_pack(bcmolt_epon_oam_ctc_mxu_global_params_width this, bcmolt_epon_oam_buf *buf);
12624
12625/** Unpacks a bcmolt_epon_oam_ctc_mxu_global_params_width from bytes
12626 *
12627 * \param this Pointer to the enumeration to unpack
12628 * \param buf Pointer to the buffer to write to
12629 * \return Whether or not the unpack was successful
12630 */
12631bcmos_bool bcmolt_epon_oam_ctc_mxu_global_params_width_unpack(bcmolt_epon_oam_ctc_mxu_global_params_width *this, bcmolt_epon_oam_buf *buf);
12632
12633/** Packs a bcmolt_epon_oam_ctc_mxu_snmp_params_width to bytes
12634 *
12635 * \param this The enumeration to pack
12636 * \param buf Pointer to the buffer to write to
12637 * \return Whether or not the pack was successful
12638 */
12639bcmos_bool bcmolt_epon_oam_ctc_mxu_snmp_params_width_pack(bcmolt_epon_oam_ctc_mxu_snmp_params_width this, bcmolt_epon_oam_buf *buf);
12640
12641/** Unpacks a bcmolt_epon_oam_ctc_mxu_snmp_params_width from bytes
12642 *
12643 * \param this Pointer to the enumeration to unpack
12644 * \param buf Pointer to the buffer to write to
12645 * \return Whether or not the unpack was successful
12646 */
12647bcmos_bool bcmolt_epon_oam_ctc_mxu_snmp_params_width_unpack(bcmolt_epon_oam_ctc_mxu_snmp_params_width *this, bcmolt_epon_oam_buf *buf);
12648
12649/** Packs a bcmolt_epon_oam_ctc_onu_power_supply_control_type to bytes
12650 *
12651 * \param this The enumeration to pack
12652 * \param buf Pointer to the buffer to write to
12653 * \return Whether or not the pack was successful
12654 */
12655bcmos_bool bcmolt_epon_oam_ctc_onu_power_supply_control_type_pack(bcmolt_epon_oam_ctc_onu_power_supply_control_type this, bcmolt_epon_oam_buf *buf);
12656
12657/** Unpacks a bcmolt_epon_oam_ctc_onu_power_supply_control_type from bytes
12658 *
12659 * \param this Pointer to the enumeration to unpack
12660 * \param buf Pointer to the buffer to write to
12661 * \return Whether or not the unpack was successful
12662 */
12663bcmos_bool bcmolt_epon_oam_ctc_onu_power_supply_control_type_unpack(bcmolt_epon_oam_ctc_onu_power_supply_control_type *this, bcmolt_epon_oam_buf *buf);
12664
12665/** Packs a bcmolt_epon_oam_ctc_vlan_mode to bytes
12666 *
12667 * \param this The enumeration to pack
12668 * \param buf Pointer to the buffer to write to
12669 * \return Whether or not the pack was successful
12670 */
12671bcmos_bool bcmolt_epon_oam_ctc_vlan_mode_pack(bcmolt_epon_oam_ctc_vlan_mode this, bcmolt_epon_oam_buf *buf);
12672
12673/** Unpacks a bcmolt_epon_oam_ctc_vlan_mode from bytes
12674 *
12675 * \param this Pointer to the enumeration to unpack
12676 * \param buf Pointer to the buffer to write to
12677 * \return Whether or not the unpack was successful
12678 */
12679bcmos_bool bcmolt_epon_oam_ctc_vlan_mode_unpack(bcmolt_epon_oam_ctc_vlan_mode *this, bcmolt_epon_oam_buf *buf);
12680
12681/** Packs a bcmolt_epon_oam_ctc_onu_classif_field to bytes
12682 *
12683 * \param this The enumeration to pack
12684 * \param buf Pointer to the buffer to write to
12685 * \return Whether or not the pack was successful
12686 */
12687bcmos_bool bcmolt_epon_oam_ctc_onu_classif_field_pack(bcmolt_epon_oam_ctc_onu_classif_field this, bcmolt_epon_oam_buf *buf);
12688
12689/** Unpacks a bcmolt_epon_oam_ctc_onu_classif_field from bytes
12690 *
12691 * \param this Pointer to the enumeration to unpack
12692 * \param buf Pointer to the buffer to write to
12693 * \return Whether or not the unpack was successful
12694 */
12695bcmos_bool bcmolt_epon_oam_ctc_onu_classif_field_unpack(bcmolt_epon_oam_ctc_onu_classif_field *this, bcmolt_epon_oam_buf *buf);
12696
12697/** Packs a bcmolt_epon_oam_ctc_onu_classif_operator to bytes
12698 *
12699 * \param this The enumeration to pack
12700 * \param buf Pointer to the buffer to write to
12701 * \return Whether or not the pack was successful
12702 */
12703bcmos_bool bcmolt_epon_oam_ctc_onu_classif_operator_pack(bcmolt_epon_oam_ctc_onu_classif_operator this, bcmolt_epon_oam_buf *buf);
12704
12705/** Unpacks a bcmolt_epon_oam_ctc_onu_classif_operator from bytes
12706 *
12707 * \param this Pointer to the enumeration to unpack
12708 * \param buf Pointer to the buffer to write to
12709 * \return Whether or not the unpack was successful
12710 */
12711bcmos_bool bcmolt_epon_oam_ctc_onu_classif_operator_unpack(bcmolt_epon_oam_ctc_onu_classif_operator *this, bcmolt_epon_oam_buf *buf);
12712
12713/** Packs a bcmolt_epon_oam_ctc_multicast_vlan_operation to bytes
12714 *
12715 * \param this The enumeration to pack
12716 * \param buf Pointer to the buffer to write to
12717 * \return Whether or not the pack was successful
12718 */
12719bcmos_bool bcmolt_epon_oam_ctc_multicast_vlan_operation_pack(bcmolt_epon_oam_ctc_multicast_vlan_operation this, bcmolt_epon_oam_buf *buf);
12720
12721/** Unpacks a bcmolt_epon_oam_ctc_multicast_vlan_operation from bytes
12722 *
12723 * \param this Pointer to the enumeration to unpack
12724 * \param buf Pointer to the buffer to write to
12725 * \return Whether or not the unpack was successful
12726 */
12727bcmos_bool bcmolt_epon_oam_ctc_multicast_vlan_operation_unpack(bcmolt_epon_oam_ctc_multicast_vlan_operation *this, bcmolt_epon_oam_buf *buf);
12728
12729/** Packs a bcmolt_epon_oam_ctc_multicast_tag_mode to bytes
12730 *
12731 * \param this The enumeration to pack
12732 * \param buf Pointer to the buffer to write to
12733 * \return Whether or not the pack was successful
12734 */
12735bcmos_bool bcmolt_epon_oam_ctc_multicast_tag_mode_pack(bcmolt_epon_oam_ctc_multicast_tag_mode this, bcmolt_epon_oam_buf *buf);
12736
12737/** Unpacks a bcmolt_epon_oam_ctc_multicast_tag_mode from bytes
12738 *
12739 * \param this Pointer to the enumeration to unpack
12740 * \param buf Pointer to the buffer to write to
12741 * \return Whether or not the unpack was successful
12742 */
12743bcmos_bool bcmolt_epon_oam_ctc_multicast_tag_mode_unpack(bcmolt_epon_oam_ctc_multicast_tag_mode *this, bcmolt_epon_oam_buf *buf);
12744
12745/** Packs a bcmolt_epon_oam_ctc_multicast_switch_mode to bytes
12746 *
12747 * \param this The enumeration to pack
12748 * \param buf Pointer to the buffer to write to
12749 * \return Whether or not the pack was successful
12750 */
12751bcmos_bool bcmolt_epon_oam_ctc_multicast_switch_mode_pack(bcmolt_epon_oam_ctc_multicast_switch_mode this, bcmolt_epon_oam_buf *buf);
12752
12753/** Unpacks a bcmolt_epon_oam_ctc_multicast_switch_mode from bytes
12754 *
12755 * \param this Pointer to the enumeration to unpack
12756 * \param buf Pointer to the buffer to write to
12757 * \return Whether or not the unpack was successful
12758 */
12759bcmos_bool bcmolt_epon_oam_ctc_multicast_switch_mode_unpack(bcmolt_epon_oam_ctc_multicast_switch_mode *this, bcmolt_epon_oam_buf *buf);
12760
12761/** Packs a bcmolt_epon_oam_ctc_multicast_control_action to bytes
12762 *
12763 * \param this The enumeration to pack
12764 * \param buf Pointer to the buffer to write to
12765 * \return Whether or not the pack was successful
12766 */
12767bcmos_bool bcmolt_epon_oam_ctc_multicast_control_action_pack(bcmolt_epon_oam_ctc_multicast_control_action this, bcmolt_epon_oam_buf *buf);
12768
12769/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_action from bytes
12770 *
12771 * \param this Pointer to the enumeration to unpack
12772 * \param buf Pointer to the buffer to write to
12773 * \return Whether or not the unpack was successful
12774 */
12775bcmos_bool bcmolt_epon_oam_ctc_multicast_control_action_unpack(bcmolt_epon_oam_ctc_multicast_control_action *this, bcmolt_epon_oam_buf *buf);
12776
12777/** Packs a bcmolt_epon_oam_ctc_multicast_control_type to bytes
12778 *
12779 * \param this The enumeration to pack
12780 * \param buf Pointer to the buffer to write to
12781 * \return Whether or not the pack was successful
12782 */
12783bcmos_bool bcmolt_epon_oam_ctc_multicast_control_type_pack(bcmolt_epon_oam_ctc_multicast_control_type this, bcmolt_epon_oam_buf *buf);
12784
12785/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_type from bytes
12786 *
12787 * \param this Pointer to the enumeration to unpack
12788 * \param buf Pointer to the buffer to write to
12789 * \return Whether or not the unpack was successful
12790 */
12791bcmos_bool bcmolt_epon_oam_ctc_multicast_control_type_unpack(bcmolt_epon_oam_ctc_multicast_control_type *this, bcmolt_epon_oam_buf *buf);
12792
12793/** Packs a bcmolt_epon_oam_ctc_voip_protocol to bytes
12794 *
12795 * \param this The enumeration to pack
12796 * \param buf Pointer to the buffer to write to
12797 * \return Whether or not the pack was successful
12798 */
12799bcmos_bool bcmolt_epon_oam_ctc_voip_protocol_pack(bcmolt_epon_oam_ctc_voip_protocol this, bcmolt_epon_oam_buf *buf);
12800
12801/** Unpacks a bcmolt_epon_oam_ctc_voip_protocol from bytes
12802 *
12803 * \param this Pointer to the enumeration to unpack
12804 * \param buf Pointer to the buffer to write to
12805 * \return Whether or not the unpack was successful
12806 */
12807bcmos_bool bcmolt_epon_oam_ctc_voip_protocol_unpack(bcmolt_epon_oam_ctc_voip_protocol *this, bcmolt_epon_oam_buf *buf);
12808
12809/** Packs a bcmolt_epon_oam_ctc_voice_ipmode to bytes
12810 *
12811 * \param this The enumeration to pack
12812 * \param buf Pointer to the buffer to write to
12813 * \return Whether or not the pack was successful
12814 */
12815bcmos_bool bcmolt_epon_oam_ctc_voice_ipmode_pack(bcmolt_epon_oam_ctc_voice_ipmode this, bcmolt_epon_oam_buf *buf);
12816
12817/** Unpacks a bcmolt_epon_oam_ctc_voice_ipmode from bytes
12818 *
12819 * \param this Pointer to the enumeration to unpack
12820 * \param buf Pointer to the buffer to write to
12821 * \return Whether or not the unpack was successful
12822 */
12823bcmos_bool bcmolt_epon_oam_ctc_voice_ipmode_unpack(bcmolt_epon_oam_ctc_voice_ipmode *this, bcmolt_epon_oam_buf *buf);
12824
12825/** Packs a bcmolt_epon_oam_ctc_pppoe_mode to bytes
12826 *
12827 * \param this The enumeration to pack
12828 * \param buf Pointer to the buffer to write to
12829 * \return Whether or not the pack was successful
12830 */
12831bcmos_bool bcmolt_epon_oam_ctc_pppoe_mode_pack(bcmolt_epon_oam_ctc_pppoe_mode this, bcmolt_epon_oam_buf *buf);
12832
12833/** Unpacks a bcmolt_epon_oam_ctc_pppoe_mode from bytes
12834 *
12835 * \param this Pointer to the enumeration to unpack
12836 * \param buf Pointer to the buffer to write to
12837 * \return Whether or not the unpack was successful
12838 */
12839bcmos_bool bcmolt_epon_oam_ctc_pppoe_mode_unpack(bcmolt_epon_oam_ctc_pppoe_mode *this, bcmolt_epon_oam_buf *buf);
12840
12841/** Packs a bcmolt_epon_oam_ctc_voice_tagging_mode to bytes
12842 *
12843 * \param this The enumeration to pack
12844 * \param buf Pointer to the buffer to write to
12845 * \return Whether or not the pack was successful
12846 */
12847bcmos_bool bcmolt_epon_oam_ctc_voice_tagging_mode_pack(bcmolt_epon_oam_ctc_voice_tagging_mode this, bcmolt_epon_oam_buf *buf);
12848
12849/** Unpacks a bcmolt_epon_oam_ctc_voice_tagging_mode from bytes
12850 *
12851 * \param this Pointer to the enumeration to unpack
12852 * \param buf Pointer to the buffer to write to
12853 * \return Whether or not the unpack was successful
12854 */
12855bcmos_bool bcmolt_epon_oam_ctc_voice_tagging_mode_unpack(bcmolt_epon_oam_ctc_voice_tagging_mode *this, bcmolt_epon_oam_buf *buf);
12856
12857/** Packs a bcmolt_epon_oam_ctc_h248reg_mode to bytes
12858 *
12859 * \param this The enumeration to pack
12860 * \param buf Pointer to the buffer to write to
12861 * \return Whether or not the pack was successful
12862 */
12863bcmos_bool bcmolt_epon_oam_ctc_h248reg_mode_pack(bcmolt_epon_oam_ctc_h248reg_mode this, bcmolt_epon_oam_buf *buf);
12864
12865/** Unpacks a bcmolt_epon_oam_ctc_h248reg_mode from bytes
12866 *
12867 * \param this Pointer to the enumeration to unpack
12868 * \param buf Pointer to the buffer to write to
12869 * \return Whether or not the unpack was successful
12870 */
12871bcmos_bool bcmolt_epon_oam_ctc_h248reg_mode_unpack(bcmolt_epon_oam_ctc_h248reg_mode *this, bcmolt_epon_oam_buf *buf);
12872
12873/** Packs a bcmolt_epon_oam_ctc_h248heartbeat_mode to bytes
12874 *
12875 * \param this The enumeration to pack
12876 * \param buf Pointer to the buffer to write to
12877 * \return Whether or not the pack was successful
12878 */
12879bcmos_bool bcmolt_epon_oam_ctc_h248heartbeat_mode_pack(bcmolt_epon_oam_ctc_h248heartbeat_mode this, bcmolt_epon_oam_buf *buf);
12880
12881/** Unpacks a bcmolt_epon_oam_ctc_h248heartbeat_mode from bytes
12882 *
12883 * \param this Pointer to the enumeration to unpack
12884 * \param buf Pointer to the buffer to write to
12885 * \return Whether or not the unpack was successful
12886 */
12887bcmos_bool bcmolt_epon_oam_ctc_h248heartbeat_mode_unpack(bcmolt_epon_oam_ctc_h248heartbeat_mode *this, bcmolt_epon_oam_buf *buf);
12888
12889/** Packs a bcmolt_epon_oam_ctc_rtp_tid_mode to bytes
12890 *
12891 * \param this The enumeration to pack
12892 * \param buf Pointer to the buffer to write to
12893 * \return Whether or not the pack was successful
12894 */
12895bcmos_bool bcmolt_epon_oam_ctc_rtp_tid_mode_pack(bcmolt_epon_oam_ctc_rtp_tid_mode this, bcmolt_epon_oam_buf *buf);
12896
12897/** Unpacks a bcmolt_epon_oam_ctc_rtp_tid_mode from bytes
12898 *
12899 * \param this Pointer to the enumeration to unpack
12900 * \param buf Pointer to the buffer to write to
12901 * \return Whether or not the unpack was successful
12902 */
12903bcmos_bool bcmolt_epon_oam_ctc_rtp_tid_mode_unpack(bcmolt_epon_oam_ctc_rtp_tid_mode *this, bcmolt_epon_oam_buf *buf);
12904
12905/** Packs a bcmolt_epon_oam_ctc_voice_t38mode to bytes
12906 *
12907 * \param this The enumeration to pack
12908 * \param buf Pointer to the buffer to write to
12909 * \return Whether or not the pack was successful
12910 */
12911bcmos_bool bcmolt_epon_oam_ctc_voice_t38mode_pack(bcmolt_epon_oam_ctc_voice_t38mode this, bcmolt_epon_oam_buf *buf);
12912
12913/** Unpacks a bcmolt_epon_oam_ctc_voice_t38mode from bytes
12914 *
12915 * \param this Pointer to the enumeration to unpack
12916 * \param buf Pointer to the buffer to write to
12917 * \return Whether or not the unpack was successful
12918 */
12919bcmos_bool bcmolt_epon_oam_ctc_voice_t38mode_unpack(bcmolt_epon_oam_ctc_voice_t38mode *this, bcmolt_epon_oam_buf *buf);
12920
12921/** Packs a bcmolt_epon_oam_ctc_voice_fax_modem_control_mode to bytes
12922 *
12923 * \param this The enumeration to pack
12924 * \param buf Pointer to the buffer to write to
12925 * \return Whether or not the pack was successful
12926 */
12927bcmos_bool bcmolt_epon_oam_ctc_voice_fax_modem_control_mode_pack(bcmolt_epon_oam_ctc_voice_fax_modem_control_mode this, bcmolt_epon_oam_buf *buf);
12928
12929/** Unpacks a bcmolt_epon_oam_ctc_voice_fax_modem_control_mode from bytes
12930 *
12931 * \param this Pointer to the enumeration to unpack
12932 * \param buf Pointer to the buffer to write to
12933 * \return Whether or not the unpack was successful
12934 */
12935bcmos_bool bcmolt_epon_oam_ctc_voice_fax_modem_control_mode_unpack(bcmolt_epon_oam_ctc_voice_fax_modem_control_mode *this, bcmolt_epon_oam_buf *buf);
12936
12937/** Packs a bcmolt_epon_oam_ctc_iad_operation_status to bytes
12938 *
12939 * \param this The enumeration to pack
12940 * \param buf Pointer to the buffer to write to
12941 * \return Whether or not the pack was successful
12942 */
12943bcmos_bool bcmolt_epon_oam_ctc_iad_operation_status_pack(bcmolt_epon_oam_ctc_iad_operation_status this, bcmolt_epon_oam_buf *buf);
12944
12945/** Unpacks a bcmolt_epon_oam_ctc_iad_operation_status from bytes
12946 *
12947 * \param this Pointer to the enumeration to unpack
12948 * \param buf Pointer to the buffer to write to
12949 * \return Whether or not the unpack was successful
12950 */
12951bcmos_bool bcmolt_epon_oam_ctc_iad_operation_status_unpack(bcmolt_epon_oam_ctc_iad_operation_status *this, bcmolt_epon_oam_buf *buf);
12952
12953/** Packs a bcmolt_epon_oam_ctc_iad_port_status to bytes
12954 *
12955 * \param this The enumeration to pack
12956 * \param buf Pointer to the buffer to write to
12957 * \return Whether or not the pack was successful
12958 */
12959bcmos_bool bcmolt_epon_oam_ctc_iad_port_status_pack(bcmolt_epon_oam_ctc_iad_port_status this, bcmolt_epon_oam_buf *buf);
12960
12961/** Unpacks a bcmolt_epon_oam_ctc_iad_port_status from bytes
12962 *
12963 * \param this Pointer to the enumeration to unpack
12964 * \param buf Pointer to the buffer to write to
12965 * \return Whether or not the unpack was successful
12966 */
12967bcmos_bool bcmolt_epon_oam_ctc_iad_port_status_unpack(bcmolt_epon_oam_ctc_iad_port_status *this, bcmolt_epon_oam_buf *buf);
12968
12969/** Packs a bcmolt_epon_oam_ctc_iad_port_service_state to bytes
12970 *
12971 * \param this The enumeration to pack
12972 * \param buf Pointer to the buffer to write to
12973 * \return Whether or not the pack was successful
12974 */
12975bcmos_bool bcmolt_epon_oam_ctc_iad_port_service_state_pack(bcmolt_epon_oam_ctc_iad_port_service_state this, bcmolt_epon_oam_buf *buf);
12976
12977/** Unpacks a bcmolt_epon_oam_ctc_iad_port_service_state from bytes
12978 *
12979 * \param this Pointer to the enumeration to unpack
12980 * \param buf Pointer to the buffer to write to
12981 * \return Whether or not the unpack was successful
12982 */
12983bcmos_bool bcmolt_epon_oam_ctc_iad_port_service_state_unpack(bcmolt_epon_oam_ctc_iad_port_service_state *this, bcmolt_epon_oam_buf *buf);
12984
12985/** Packs a bcmolt_epon_oam_ctc_iad_port_codec_mode to bytes
12986 *
12987 * \param this The enumeration to pack
12988 * \param buf Pointer to the buffer to write to
12989 * \return Whether or not the pack was successful
12990 */
12991bcmos_bool bcmolt_epon_oam_ctc_iad_port_codec_mode_pack(bcmolt_epon_oam_ctc_iad_port_codec_mode this, bcmolt_epon_oam_buf *buf);
12992
12993/** Unpacks a bcmolt_epon_oam_ctc_iad_port_codec_mode from bytes
12994 *
12995 * \param this Pointer to the enumeration to unpack
12996 * \param buf Pointer to the buffer to write to
12997 * \return Whether or not the unpack was successful
12998 */
12999bcmos_bool bcmolt_epon_oam_ctc_iad_port_codec_mode_unpack(bcmolt_epon_oam_ctc_iad_port_codec_mode *this, bcmolt_epon_oam_buf *buf);
13000
13001/** Packs a bcmolt_epon_oam_ctc_iad_operation to bytes
13002 *
13003 * \param this The enumeration to pack
13004 * \param buf Pointer to the buffer to write to
13005 * \return Whether or not the pack was successful
13006 */
13007bcmos_bool bcmolt_epon_oam_ctc_iad_operation_pack(bcmolt_epon_oam_ctc_iad_operation this, bcmolt_epon_oam_buf *buf);
13008
13009/** Unpacks a bcmolt_epon_oam_ctc_iad_operation from bytes
13010 *
13011 * \param this Pointer to the enumeration to unpack
13012 * \param buf Pointer to the buffer to write to
13013 * \return Whether or not the unpack was successful
13014 */
13015bcmos_bool bcmolt_epon_oam_ctc_iad_operation_unpack(bcmolt_epon_oam_ctc_iad_operation *this, bcmolt_epon_oam_buf *buf);
13016
13017/** Packs a bcmolt_epon_oam_zte_onu_port_mac_operation to bytes
13018 *
13019 * \param this The enumeration to pack
13020 * \param buf Pointer to the buffer to write to
13021 * \return Whether or not the pack was successful
13022 */
13023bcmos_bool bcmolt_epon_oam_zte_onu_port_mac_operation_pack(bcmolt_epon_oam_zte_onu_port_mac_operation this, bcmolt_epon_oam_buf *buf);
13024
13025/** Unpacks a bcmolt_epon_oam_zte_onu_port_mac_operation from bytes
13026 *
13027 * \param this Pointer to the enumeration to unpack
13028 * \param buf Pointer to the buffer to write to
13029 * \return Whether or not the unpack was successful
13030 */
13031bcmos_bool bcmolt_epon_oam_zte_onu_port_mac_operation_unpack(bcmolt_epon_oam_zte_onu_port_mac_operation *this, bcmolt_epon_oam_buf *buf);
13032
13033/** Packs a bcmolt_epon_oam_zte_isolate_mode to bytes
13034 *
13035 * \param this The enumeration to pack
13036 * \param buf Pointer to the buffer to write to
13037 * \return Whether or not the pack was successful
13038 */
13039bcmos_bool bcmolt_epon_oam_zte_isolate_mode_pack(bcmolt_epon_oam_zte_isolate_mode this, bcmolt_epon_oam_buf *buf);
13040
13041/** Unpacks a bcmolt_epon_oam_zte_isolate_mode from bytes
13042 *
13043 * \param this Pointer to the enumeration to unpack
13044 * \param buf Pointer to the buffer to write to
13045 * \return Whether or not the unpack was successful
13046 */
13047bcmos_bool bcmolt_epon_oam_zte_isolate_mode_unpack(bcmolt_epon_oam_zte_isolate_mode *this, bcmolt_epon_oam_buf *buf);
13048
13049/** Packs a bcmolt_epon_oam_zte_buffer_manage_mode to bytes
13050 *
13051 * \param this The enumeration to pack
13052 * \param buf Pointer to the buffer to write to
13053 * \return Whether or not the pack was successful
13054 */
13055bcmos_bool bcmolt_epon_oam_zte_buffer_manage_mode_pack(bcmolt_epon_oam_zte_buffer_manage_mode this, bcmolt_epon_oam_buf *buf);
13056
13057/** Unpacks a bcmolt_epon_oam_zte_buffer_manage_mode from bytes
13058 *
13059 * \param this Pointer to the enumeration to unpack
13060 * \param buf Pointer to the buffer to write to
13061 * \return Whether or not the unpack was successful
13062 */
13063bcmos_bool bcmolt_epon_oam_zte_buffer_manage_mode_unpack(bcmolt_epon_oam_zte_buffer_manage_mode *this, bcmolt_epon_oam_buf *buf);
13064
13065/** Packs a bcmolt_epon_oam_zte_dsbuf_direction to bytes
13066 *
13067 * \param this The enumeration to pack
13068 * \param buf Pointer to the buffer to write to
13069 * \return Whether or not the pack was successful
13070 */
13071bcmos_bool bcmolt_epon_oam_zte_dsbuf_direction_pack(bcmolt_epon_oam_zte_dsbuf_direction this, bcmolt_epon_oam_buf *buf);
13072
13073/** Unpacks a bcmolt_epon_oam_zte_dsbuf_direction from bytes
13074 *
13075 * \param this Pointer to the enumeration to unpack
13076 * \param buf Pointer to the buffer to write to
13077 * \return Whether or not the unpack was successful
13078 */
13079bcmos_bool bcmolt_epon_oam_zte_dsbuf_direction_unpack(bcmolt_epon_oam_zte_dsbuf_direction *this, bcmolt_epon_oam_buf *buf);
13080
13081/** Packs a bcmolt_epon_oam_zte_statistics_action_mode to bytes
13082 *
13083 * \param this The enumeration to pack
13084 * \param buf Pointer to the buffer to write to
13085 * \return Whether or not the pack was successful
13086 */
13087bcmos_bool bcmolt_epon_oam_zte_statistics_action_mode_pack(bcmolt_epon_oam_zte_statistics_action_mode this, bcmolt_epon_oam_buf *buf);
13088
13089/** Unpacks a bcmolt_epon_oam_zte_statistics_action_mode from bytes
13090 *
13091 * \param this Pointer to the enumeration to unpack
13092 * \param buf Pointer to the buffer to write to
13093 * \return Whether or not the unpack was successful
13094 */
13095bcmos_bool bcmolt_epon_oam_zte_statistics_action_mode_unpack(bcmolt_epon_oam_zte_statistics_action_mode *this, bcmolt_epon_oam_buf *buf);
13096
13097/** Packs a bcmolt_epon_oam_zte_statistics_reset_mode to bytes
13098 *
13099 * \param this The enumeration to pack
13100 * \param buf Pointer to the buffer to write to
13101 * \return Whether or not the pack was successful
13102 */
13103bcmos_bool bcmolt_epon_oam_zte_statistics_reset_mode_pack(bcmolt_epon_oam_zte_statistics_reset_mode this, bcmolt_epon_oam_buf *buf);
13104
13105/** Unpacks a bcmolt_epon_oam_zte_statistics_reset_mode from bytes
13106 *
13107 * \param this Pointer to the enumeration to unpack
13108 * \param buf Pointer to the buffer to write to
13109 * \return Whether or not the unpack was successful
13110 */
13111bcmos_bool bcmolt_epon_oam_zte_statistics_reset_mode_unpack(bcmolt_epon_oam_zte_statistics_reset_mode *this, bcmolt_epon_oam_buf *buf);
13112
13113/** Packs a bcmolt_epon_oam_uni_flow_statistics_collect_control_mode to bytes
13114 *
13115 * \param this The enumeration to pack
13116 * \param buf Pointer to the buffer to write to
13117 * \return Whether or not the pack was successful
13118 */
13119bcmos_bool bcmolt_epon_oam_uni_flow_statistics_collect_control_mode_pack(bcmolt_epon_oam_uni_flow_statistics_collect_control_mode this, bcmolt_epon_oam_buf *buf);
13120
13121/** Unpacks a bcmolt_epon_oam_uni_flow_statistics_collect_control_mode from
13122 * bytes
13123 *
13124 * \param this Pointer to the enumeration to unpack
13125 * \param buf Pointer to the buffer to write to
13126 * \return Whether or not the unpack was successful
13127 */
13128bcmos_bool bcmolt_epon_oam_uni_flow_statistics_collect_control_mode_unpack(bcmolt_epon_oam_uni_flow_statistics_collect_control_mode *this, bcmolt_epon_oam_buf *buf);
13129
13130/** Packs a bcmolt_epon_oam_light_indication_mode to bytes
13131 *
13132 * \param this The enumeration to pack
13133 * \param buf Pointer to the buffer to write to
13134 * \return Whether or not the pack was successful
13135 */
13136bcmos_bool bcmolt_epon_oam_light_indication_mode_pack(bcmolt_epon_oam_light_indication_mode this, bcmolt_epon_oam_buf *buf);
13137
13138/** Unpacks a bcmolt_epon_oam_light_indication_mode from bytes
13139 *
13140 * \param this Pointer to the enumeration to unpack
13141 * \param buf Pointer to the buffer to write to
13142 * \return Whether or not the unpack was successful
13143 */
13144bcmos_bool bcmolt_epon_oam_light_indication_mode_unpack(bcmolt_epon_oam_light_indication_mode *this, bcmolt_epon_oam_buf *buf);
13145
13146/** Packs a bcmolt_epon_oam_match_mac_address_mode to bytes
13147 *
13148 * \param this The enumeration to pack
13149 * \param buf Pointer to the buffer to write to
13150 * \return Whether or not the pack was successful
13151 */
13152bcmos_bool bcmolt_epon_oam_match_mac_address_mode_pack(bcmolt_epon_oam_match_mac_address_mode this, bcmolt_epon_oam_buf *buf);
13153
13154/** Unpacks a bcmolt_epon_oam_match_mac_address_mode from bytes
13155 *
13156 * \param this Pointer to the enumeration to unpack
13157 * \param buf Pointer to the buffer to write to
13158 * \return Whether or not the unpack was successful
13159 */
13160bcmos_bool bcmolt_epon_oam_match_mac_address_mode_unpack(bcmolt_epon_oam_match_mac_address_mode *this, bcmolt_epon_oam_buf *buf);
13161
13162/** Packs a bcmolt_epon_oam_zte_light_control_action_mode to bytes
13163 *
13164 * \param this The enumeration to pack
13165 * \param buf Pointer to the buffer to write to
13166 * \return Whether or not the pack was successful
13167 */
13168bcmos_bool bcmolt_epon_oam_zte_light_control_action_mode_pack(bcmolt_epon_oam_zte_light_control_action_mode this, bcmolt_epon_oam_buf *buf);
13169
13170/** Unpacks a bcmolt_epon_oam_zte_light_control_action_mode from bytes
13171 *
13172 * \param this Pointer to the enumeration to unpack
13173 * \param buf Pointer to the buffer to write to
13174 * \return Whether or not the unpack was successful
13175 */
13176bcmos_bool bcmolt_epon_oam_zte_light_control_action_mode_unpack(bcmolt_epon_oam_zte_light_control_action_mode *this, bcmolt_epon_oam_buf *buf);
13177
13178/** Packs a bcmolt_epon_oam_onu_excl_ability to bytes
13179 *
13180 * \param this The enumeration to pack
13181 * \param buf Pointer to the buffer to write to
13182 * \return Whether or not the pack was successful
13183 */
13184bcmos_bool bcmolt_epon_oam_onu_excl_ability_pack(bcmolt_epon_oam_onu_excl_ability this, bcmolt_epon_oam_buf *buf);
13185
13186/** Unpacks a bcmolt_epon_oam_onu_excl_ability from bytes
13187 *
13188 * \param this Pointer to the enumeration to unpack
13189 * \param buf Pointer to the buffer to write to
13190 * \return Whether or not the unpack was successful
13191 */
13192bcmos_bool bcmolt_epon_oam_onu_excl_ability_unpack(bcmolt_epon_oam_onu_excl_ability *this, bcmolt_epon_oam_buf *buf);
13193
13194/** Packs a bcmolt_epon_oam_ctc_onu_early_wake_capability to bytes
13195 *
13196 * \param this The enumeration to pack
13197 * \param buf Pointer to the buffer to write to
13198 * \return Whether or not the pack was successful
13199 */
13200bcmos_bool bcmolt_epon_oam_ctc_onu_early_wake_capability_pack(bcmolt_epon_oam_ctc_onu_early_wake_capability this, bcmolt_epon_oam_buf *buf);
13201
13202/** Unpacks a bcmolt_epon_oam_ctc_onu_early_wake_capability from bytes
13203 *
13204 * \param this Pointer to the enumeration to unpack
13205 * \param buf Pointer to the buffer to write to
13206 * \return Whether or not the unpack was successful
13207 */
13208bcmos_bool bcmolt_epon_oam_ctc_onu_early_wake_capability_unpack(bcmolt_epon_oam_ctc_onu_early_wake_capability *this, bcmolt_epon_oam_buf *buf);
13209
13210/** Packs a bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state to bytes
13211 *
13212 * \param this The enumeration to pack
13213 * \param buf Pointer to the buffer to write to
13214 * \return Whether or not the pack was successful
13215 */
13216bcmos_bool bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state_pack(bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state this, bcmolt_epon_oam_buf *buf);
13217
13218/** Unpacks a bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state from bytes
13219 *
13220 * \param this Pointer to the enumeration to unpack
13221 * \param buf Pointer to the buffer to write to
13222 * \return Whether or not the unpack was successful
13223 */
13224bcmos_bool bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state_unpack(bcmolt_epon_oam_ctc_port_disable_on_loop_detected_state *this, bcmolt_epon_oam_buf *buf);
13225
13226/** Packs a bcmolt_epon_oam_ctc_monitoring_status to bytes
13227 *
13228 * \param this The enumeration to pack
13229 * \param buf Pointer to the buffer to write to
13230 * \return Whether or not the pack was successful
13231 */
13232bcmos_bool bcmolt_epon_oam_ctc_monitoring_status_pack(bcmolt_epon_oam_ctc_monitoring_status this, bcmolt_epon_oam_buf *buf);
13233
13234/** Unpacks a bcmolt_epon_oam_ctc_monitoring_status from bytes
13235 *
13236 * \param this Pointer to the enumeration to unpack
13237 * \param buf Pointer to the buffer to write to
13238 * \return Whether or not the unpack was successful
13239 */
13240bcmos_bool bcmolt_epon_oam_ctc_monitoring_status_unpack(bcmolt_epon_oam_ctc_monitoring_status *this, bcmolt_epon_oam_buf *buf);
13241
13242/** Packs a bcmolt_epon_oam_ctc_file_check_opcode to bytes
13243 *
13244 * \param this The enumeration to pack
13245 * \param buf Pointer to the buffer to write to
13246 * \return Whether or not the pack was successful
13247 */
13248bcmos_bool bcmolt_epon_oam_ctc_file_check_opcode_pack(bcmolt_epon_oam_ctc_file_check_opcode this, bcmolt_epon_oam_buf *buf);
13249
13250/** Unpacks a bcmolt_epon_oam_ctc_file_check_opcode from bytes
13251 *
13252 * \param this Pointer to the enumeration to unpack
13253 * \param buf Pointer to the buffer to write to
13254 * \return Whether or not the unpack was successful
13255 */
13256bcmos_bool bcmolt_epon_oam_ctc_file_check_opcode_unpack(bcmolt_epon_oam_ctc_file_check_opcode *this, bcmolt_epon_oam_buf *buf);
13257
13258/** Packs a bcmolt_epon_oam_ctc_rps_code to bytes
13259 *
13260 * \param this The enumeration to pack
13261 * \param buf Pointer to the buffer to write to
13262 * \return Whether or not the pack was successful
13263 */
13264bcmos_bool bcmolt_epon_oam_ctc_rps_code_pack(bcmolt_epon_oam_ctc_rps_code this, bcmolt_epon_oam_buf *buf);
13265
13266/** Unpacks a bcmolt_epon_oam_ctc_rps_code from bytes
13267 *
13268 * \param this Pointer to the enumeration to unpack
13269 * \param buf Pointer to the buffer to write to
13270 * \return Whether or not the unpack was successful
13271 */
13272bcmos_bool bcmolt_epon_oam_ctc_rps_code_unpack(bcmolt_epon_oam_ctc_rps_code *this, bcmolt_epon_oam_buf *buf);
13273
13274/** Packs a bcmolt_epon_oam_ctc_onu_auth_code to bytes
13275 *
13276 * \param this The enumeration to pack
13277 * \param buf Pointer to the buffer to write to
13278 * \return Whether or not the pack was successful
13279 */
13280bcmos_bool bcmolt_epon_oam_ctc_onu_auth_code_pack(bcmolt_epon_oam_ctc_onu_auth_code this, bcmolt_epon_oam_buf *buf);
13281
13282/** Unpacks a bcmolt_epon_oam_ctc_onu_auth_code from bytes
13283 *
13284 * \param this Pointer to the enumeration to unpack
13285 * \param buf Pointer to the buffer to write to
13286 * \return Whether or not the unpack was successful
13287 */
13288bcmos_bool bcmolt_epon_oam_ctc_onu_auth_code_unpack(bcmolt_epon_oam_ctc_onu_auth_code *this, bcmolt_epon_oam_buf *buf);
13289
13290/** Packs a bcmolt_epon_oam_well_known_oui to bytes
13291 *
13292 * \param this The enumeration to pack
13293 * \param buf Pointer to the buffer to write to
13294 * \return Whether or not the pack was successful
13295 */
13296bcmos_bool bcmolt_epon_oam_well_known_oui_pack(bcmolt_epon_oam_well_known_oui this, bcmolt_epon_oam_buf *buf);
13297
13298/** Unpacks a bcmolt_epon_oam_well_known_oui from bytes
13299 *
13300 * \param this Pointer to the enumeration to unpack
13301 * \param buf Pointer to the buffer to write to
13302 * \return Whether or not the unpack was successful
13303 */
13304bcmos_bool bcmolt_epon_oam_well_known_oui_unpack(bcmolt_epon_oam_well_known_oui *this, bcmolt_epon_oam_buf *buf);
13305
13306/** Packs a bcmolt_epon_oam_ctc_rule_operator to bytes
13307 *
13308 * \param this The enumeration to pack
13309 * \param buf Pointer to the buffer to write to
13310 * \return Whether or not the pack was successful
13311 */
13312bcmos_bool bcmolt_epon_oam_ctc_rule_operator_pack(bcmolt_epon_oam_ctc_rule_operator this, bcmolt_epon_oam_buf *buf);
13313
13314/** Unpacks a bcmolt_epon_oam_ctc_rule_operator from bytes
13315 *
13316 * \param this Pointer to the enumeration to unpack
13317 * \param buf Pointer to the buffer to write to
13318 * \return Whether or not the unpack was successful
13319 */
13320bcmos_bool bcmolt_epon_oam_ctc_rule_operator_unpack(bcmolt_epon_oam_ctc_rule_operator *this, bcmolt_epon_oam_buf *buf);
13321
13322/** Packs a bcmolt_epon_oam_ctc_software_download_data_type to bytes
13323 *
13324 * \param this The enumeration to pack
13325 * \param buf Pointer to the buffer to write to
13326 * \return Whether or not the pack was successful
13327 */
13328bcmos_bool bcmolt_epon_oam_ctc_software_download_data_type_pack(bcmolt_epon_oam_ctc_software_download_data_type this, bcmolt_epon_oam_buf *buf);
13329
13330/** Unpacks a bcmolt_epon_oam_ctc_software_download_data_type from bytes
13331 *
13332 * \param this Pointer to the enumeration to unpack
13333 * \param buf Pointer to the buffer to write to
13334 * \return Whether or not the unpack was successful
13335 */
13336bcmos_bool bcmolt_epon_oam_ctc_software_download_data_type_unpack(bcmolt_epon_oam_ctc_software_download_data_type *this, bcmolt_epon_oam_buf *buf);
13337
13338/** Packs a bcmolt_epon_oam_ctc_tftp_op_code to bytes
13339 *
13340 * \param this The enumeration to pack
13341 * \param buf Pointer to the buffer to write to
13342 * \return Whether or not the pack was successful
13343 */
13344bcmos_bool bcmolt_epon_oam_ctc_tftp_op_code_pack(bcmolt_epon_oam_ctc_tftp_op_code this, bcmolt_epon_oam_buf *buf);
13345
13346/** Unpacks a bcmolt_epon_oam_ctc_tftp_op_code from bytes
13347 *
13348 * \param this Pointer to the enumeration to unpack
13349 * \param buf Pointer to the buffer to write to
13350 * \return Whether or not the unpack was successful
13351 */
13352bcmos_bool bcmolt_epon_oam_ctc_tftp_op_code_unpack(bcmolt_epon_oam_ctc_tftp_op_code *this, bcmolt_epon_oam_buf *buf);
13353
13354/** Packs a bcmolt_epon_oam_ctc_swmirror_opcode to bytes
13355 *
13356 * \param this The enumeration to pack
13357 * \param buf Pointer to the buffer to write to
13358 * \return Whether or not the pack was successful
13359 */
13360bcmos_bool bcmolt_epon_oam_ctc_swmirror_opcode_pack(bcmolt_epon_oam_ctc_swmirror_opcode this, bcmolt_epon_oam_buf *buf);
13361
13362/** Unpacks a bcmolt_epon_oam_ctc_swmirror_opcode from bytes
13363 *
13364 * \param this Pointer to the enumeration to unpack
13365 * \param buf Pointer to the buffer to write to
13366 * \return Whether or not the unpack was successful
13367 */
13368bcmos_bool bcmolt_epon_oam_ctc_swmirror_opcode_unpack(bcmolt_epon_oam_ctc_swmirror_opcode *this, bcmolt_epon_oam_buf *buf);
13369
13370/** Packs a bcmolt_epon_oam_ctc_swmirror_activate_image_flag to bytes
13371 *
13372 * \param this The enumeration to pack
13373 * \param buf Pointer to the buffer to write to
13374 * \return Whether or not the pack was successful
13375 */
13376bcmos_bool bcmolt_epon_oam_ctc_swmirror_activate_image_flag_pack(bcmolt_epon_oam_ctc_swmirror_activate_image_flag this, bcmolt_epon_oam_buf *buf);
13377
13378/** Unpacks a bcmolt_epon_oam_ctc_swmirror_activate_image_flag from bytes
13379 *
13380 * \param this Pointer to the enumeration to unpack
13381 * \param buf Pointer to the buffer to write to
13382 * \return Whether or not the unpack was successful
13383 */
13384bcmos_bool bcmolt_epon_oam_ctc_swmirror_activate_image_flag_unpack(bcmolt_epon_oam_ctc_swmirror_activate_image_flag *this, bcmolt_epon_oam_buf *buf);
13385
13386/** Packs a bcmolt_epon_oam_ctc_swmirror_ack to bytes
13387 *
13388 * \param this The enumeration to pack
13389 * \param buf Pointer to the buffer to write to
13390 * \return Whether or not the pack was successful
13391 */
13392bcmos_bool bcmolt_epon_oam_ctc_swmirror_ack_pack(bcmolt_epon_oam_ctc_swmirror_ack this, bcmolt_epon_oam_buf *buf);
13393
13394/** Unpacks a bcmolt_epon_oam_ctc_swmirror_ack from bytes
13395 *
13396 * \param this Pointer to the enumeration to unpack
13397 * \param buf Pointer to the buffer to write to
13398 * \return Whether or not the unpack was successful
13399 */
13400bcmos_bool bcmolt_epon_oam_ctc_swmirror_ack_unpack(bcmolt_epon_oam_ctc_swmirror_ack *this, bcmolt_epon_oam_buf *buf);
13401
13402/** Packs a bcmolt_epon_oam_ktoptical_power_alarm_status to bytes
13403 *
13404 * \param this The enumeration to pack
13405 * \param buf Pointer to the buffer to write to
13406 * \return Whether or not the pack was successful
13407 */
13408bcmos_bool bcmolt_epon_oam_ktoptical_power_alarm_status_pack(bcmolt_epon_oam_ktoptical_power_alarm_status this, bcmolt_epon_oam_buf *buf);
13409
13410/** Unpacks a bcmolt_epon_oam_ktoptical_power_alarm_status from bytes
13411 *
13412 * \param this Pointer to the enumeration to unpack
13413 * \param buf Pointer to the buffer to write to
13414 * \return Whether or not the unpack was successful
13415 */
13416bcmos_bool bcmolt_epon_oam_ktoptical_power_alarm_status_unpack(bcmolt_epon_oam_ktoptical_power_alarm_status *this, bcmolt_epon_oam_buf *buf);
13417
13418/** Packs a bcmolt_epon_oam_ktleaf_action to bytes
13419 *
13420 * \param this The enumeration to pack
13421 * \param buf Pointer to the buffer to write to
13422 * \return Whether or not the pack was successful
13423 */
13424bcmos_bool bcmolt_epon_oam_ktleaf_action_pack(bcmolt_epon_oam_ktleaf_action this, bcmolt_epon_oam_buf *buf);
13425
13426/** Unpacks a bcmolt_epon_oam_ktleaf_action from bytes
13427 *
13428 * \param this Pointer to the enumeration to unpack
13429 * \param buf Pointer to the buffer to write to
13430 * \return Whether or not the unpack was successful
13431 */
13432bcmos_bool bcmolt_epon_oam_ktleaf_action_unpack(bcmolt_epon_oam_ktleaf_action *this, bcmolt_epon_oam_buf *buf);
13433
13434/** Packs a bcmolt_epon_oam_ctc_opcode to bytes
13435 *
13436 * \param this The enumeration to pack
13437 * \param buf Pointer to the buffer to write to
13438 * \return Whether or not the pack was successful
13439 */
13440bcmos_bool bcmolt_epon_oam_ctc_opcode_pack(bcmolt_epon_oam_ctc_opcode this, bcmolt_epon_oam_buf *buf);
13441
13442/** Unpacks a bcmolt_epon_oam_ctc_opcode from bytes
13443 *
13444 * \param this Pointer to the enumeration to unpack
13445 * \param buf Pointer to the buffer to write to
13446 * \return Whether or not the unpack was successful
13447 */
13448bcmos_bool bcmolt_epon_oam_ctc_opcode_unpack(bcmolt_epon_oam_ctc_opcode *this, bcmolt_epon_oam_buf *buf);
13449
13450/** Packs a bcmolt_epon_oam_ktonu_event_type to bytes
13451 *
13452 * \param this The enumeration to pack
13453 * \param buf Pointer to the buffer to write to
13454 * \return Whether or not the pack was successful
13455 */
13456bcmos_bool bcmolt_epon_oam_ktonu_event_type_pack(bcmolt_epon_oam_ktonu_event_type this, bcmolt_epon_oam_buf *buf);
13457
13458/** Unpacks a bcmolt_epon_oam_ktonu_event_type from bytes
13459 *
13460 * \param this Pointer to the enumeration to unpack
13461 * \param buf Pointer to the buffer to write to
13462 * \return Whether or not the unpack was successful
13463 */
13464bcmos_bool bcmolt_epon_oam_ktonu_event_type_unpack(bcmolt_epon_oam_ktonu_event_type *this, bcmolt_epon_oam_buf *buf);
13465
13466/** Packs a bcmolt_epon_oam_ktloop_detect_event to bytes
13467 *
13468 * \param this The enumeration to pack
13469 * \param buf Pointer to the buffer to write to
13470 * \return Whether or not the pack was successful
13471 */
13472bcmos_bool bcmolt_epon_oam_ktloop_detect_event_pack(bcmolt_epon_oam_ktloop_detect_event this, bcmolt_epon_oam_buf *buf);
13473
13474/** Unpacks a bcmolt_epon_oam_ktloop_detect_event from bytes
13475 *
13476 * \param this Pointer to the enumeration to unpack
13477 * \param buf Pointer to the buffer to write to
13478 * \return Whether or not the unpack was successful
13479 */
13480bcmos_bool bcmolt_epon_oam_ktloop_detect_event_unpack(bcmolt_epon_oam_ktloop_detect_event *this, bcmolt_epon_oam_buf *buf);
13481
13482/** Packs a bcmolt_epon_oam_ktoptical_power_alarm_event to bytes
13483 *
13484 * \param this The enumeration to pack
13485 * \param buf Pointer to the buffer to write to
13486 * \return Whether or not the pack was successful
13487 */
13488bcmos_bool bcmolt_epon_oam_ktoptical_power_alarm_event_pack(bcmolt_epon_oam_ktoptical_power_alarm_event this, bcmolt_epon_oam_buf *buf);
13489
13490/** Unpacks a bcmolt_epon_oam_ktoptical_power_alarm_event from bytes
13491 *
13492 * \param this Pointer to the enumeration to unpack
13493 * \param buf Pointer to the buffer to write to
13494 * \return Whether or not the unpack was successful
13495 */
13496bcmos_bool bcmolt_epon_oam_ktoptical_power_alarm_event_unpack(bcmolt_epon_oam_ktoptical_power_alarm_event *this, bcmolt_epon_oam_buf *buf);
13497
13498/** Packs a bcmolt_epon_oam_dasan_classifier_command to bytes
13499 *
13500 * \param this The enumeration to pack
13501 * \param buf Pointer to the buffer to write to
13502 * \return Whether or not the pack was successful
13503 */
13504bcmos_bool bcmolt_epon_oam_dasan_classifier_command_pack(bcmolt_epon_oam_dasan_classifier_command this, bcmolt_epon_oam_buf *buf);
13505
13506/** Unpacks a bcmolt_epon_oam_dasan_classifier_command from bytes
13507 *
13508 * \param this Pointer to the enumeration to unpack
13509 * \param buf Pointer to the buffer to write to
13510 * \return Whether or not the unpack was successful
13511 */
13512bcmos_bool bcmolt_epon_oam_dasan_classifier_command_unpack(bcmolt_epon_oam_dasan_classifier_command *this, bcmolt_epon_oam_buf *buf);
13513
13514/** Packs a bcmolt_epon_oam_dasan_direction to bytes
13515 *
13516 * \param this The enumeration to pack
13517 * \param buf Pointer to the buffer to write to
13518 * \return Whether or not the pack was successful
13519 */
13520bcmos_bool bcmolt_epon_oam_dasan_direction_pack(bcmolt_epon_oam_dasan_direction this, bcmolt_epon_oam_buf *buf);
13521
13522/** Unpacks a bcmolt_epon_oam_dasan_direction from bytes
13523 *
13524 * \param this Pointer to the enumeration to unpack
13525 * \param buf Pointer to the buffer to write to
13526 * \return Whether or not the unpack was successful
13527 */
13528bcmos_bool bcmolt_epon_oam_dasan_direction_unpack(bcmolt_epon_oam_dasan_direction *this, bcmolt_epon_oam_buf *buf);
13529
13530/** Packs a bcmolt_epon_oam_dasan_filter_field to bytes
13531 *
13532 * \param this The enumeration to pack
13533 * \param buf Pointer to the buffer to write to
13534 * \return Whether or not the pack was successful
13535 */
13536bcmos_bool bcmolt_epon_oam_dasan_filter_field_pack(bcmolt_epon_oam_dasan_filter_field this, bcmolt_epon_oam_buf *buf);
13537
13538/** Unpacks a bcmolt_epon_oam_dasan_filter_field from bytes
13539 *
13540 * \param this Pointer to the enumeration to unpack
13541 * \param buf Pointer to the buffer to write to
13542 * \return Whether or not the unpack was successful
13543 */
13544bcmos_bool bcmolt_epon_oam_dasan_filter_field_unpack(bcmolt_epon_oam_dasan_filter_field *this, bcmolt_epon_oam_buf *buf);
13545
13546/** Packs a bcmolt_epon_oam_dasan_filter_action to bytes
13547 *
13548 * \param this The enumeration to pack
13549 * \param buf Pointer to the buffer to write to
13550 * \return Whether or not the pack was successful
13551 */
13552bcmos_bool bcmolt_epon_oam_dasan_filter_action_pack(bcmolt_epon_oam_dasan_filter_action this, bcmolt_epon_oam_buf *buf);
13553
13554/** Unpacks a bcmolt_epon_oam_dasan_filter_action from bytes
13555 *
13556 * \param this Pointer to the enumeration to unpack
13557 * \param buf Pointer to the buffer to write to
13558 * \return Whether or not the unpack was successful
13559 */
13560bcmos_bool bcmolt_epon_oam_dasan_filter_action_unpack(bcmolt_epon_oam_dasan_filter_action *this, bcmolt_epon_oam_buf *buf);
13561
13562/** Packs a bcmolt_epon_oam_dasan_pri_type to bytes
13563 *
13564 * \param this The enumeration to pack
13565 * \param buf Pointer to the buffer to write to
13566 * \return Whether or not the pack was successful
13567 */
13568bcmos_bool bcmolt_epon_oam_dasan_pri_type_pack(bcmolt_epon_oam_dasan_pri_type this, bcmolt_epon_oam_buf *buf);
13569
13570/** Unpacks a bcmolt_epon_oam_dasan_pri_type from bytes
13571 *
13572 * \param this Pointer to the enumeration to unpack
13573 * \param buf Pointer to the buffer to write to
13574 * \return Whether or not the unpack was successful
13575 */
13576bcmos_bool bcmolt_epon_oam_dasan_pri_type_unpack(bcmolt_epon_oam_dasan_pri_type *this, bcmolt_epon_oam_buf *buf);
13577
13578/** Packs a bcmolt_epon_oam_dasan_opcode to bytes
13579 *
13580 * \param this The enumeration to pack
13581 * \param buf Pointer to the buffer to write to
13582 * \return Whether or not the pack was successful
13583 */
13584bcmos_bool bcmolt_epon_oam_dasan_opcode_pack(bcmolt_epon_oam_dasan_opcode this, bcmolt_epon_oam_buf *buf);
13585
13586/** Unpacks a bcmolt_epon_oam_dasan_opcode from bytes
13587 *
13588 * \param this Pointer to the enumeration to unpack
13589 * \param buf Pointer to the buffer to write to
13590 * \return Whether or not the unpack was successful
13591 */
13592bcmos_bool bcmolt_epon_oam_dasan_opcode_unpack(bcmolt_epon_oam_dasan_opcode *this, bcmolt_epon_oam_buf *buf);
13593
13594/** Packs a bcmolt_epon_oam_dasan_stats_seq_type to bytes
13595 *
13596 * \param this The enumeration to pack
13597 * \param buf Pointer to the buffer to write to
13598 * \return Whether or not the pack was successful
13599 */
13600bcmos_bool bcmolt_epon_oam_dasan_stats_seq_type_pack(bcmolt_epon_oam_dasan_stats_seq_type this, bcmolt_epon_oam_buf *buf);
13601
13602/** Unpacks a bcmolt_epon_oam_dasan_stats_seq_type from bytes
13603 *
13604 * \param this Pointer to the enumeration to unpack
13605 * \param buf Pointer to the buffer to write to
13606 * \return Whether or not the unpack was successful
13607 */
13608bcmos_bool bcmolt_epon_oam_dasan_stats_seq_type_unpack(bcmolt_epon_oam_dasan_stats_seq_type *this, bcmolt_epon_oam_buf *buf);
13609
13610/** Packs a bcmolt_epon_oam_dasan_stat_id to bytes
13611 *
13612 * \param this The enumeration to pack
13613 * \param buf Pointer to the buffer to write to
13614 * \return Whether or not the pack was successful
13615 */
13616bcmos_bool bcmolt_epon_oam_dasan_stat_id_pack(bcmolt_epon_oam_dasan_stat_id this, bcmolt_epon_oam_buf *buf);
13617
13618/** Unpacks a bcmolt_epon_oam_dasan_stat_id from bytes
13619 *
13620 * \param this Pointer to the enumeration to unpack
13621 * \param buf Pointer to the buffer to write to
13622 * \return Whether or not the unpack was successful
13623 */
13624bcmos_bool bcmolt_epon_oam_dasan_stat_id_unpack(bcmolt_epon_oam_dasan_stat_id *this, bcmolt_epon_oam_buf *buf);
13625
13626/** Packs a bcmolt_epon_oam_direction to bytes
13627 *
13628 * \param this The enumeration to pack
13629 * \param buf Pointer to the buffer to write to
13630 * \return Whether or not the pack was successful
13631 */
13632bcmos_bool bcmolt_epon_oam_direction_pack(bcmolt_epon_oam_direction this, bcmolt_epon_oam_buf *buf);
13633
13634/** Unpacks a bcmolt_epon_oam_direction from bytes
13635 *
13636 * \param this Pointer to the enumeration to unpack
13637 * \param buf Pointer to the buffer to write to
13638 * \return Whether or not the unpack was successful
13639 */
13640bcmos_bool bcmolt_epon_oam_direction_unpack(bcmolt_epon_oam_direction *this, bcmolt_epon_oam_buf *buf);
13641
13642/** Packs a bcmolt_epon_oam_domain_option to bytes
13643 *
13644 * \param this The enumeration to pack
13645 * \param buf Pointer to the buffer to write to
13646 * \return Whether or not the pack was successful
13647 */
13648bcmos_bool bcmolt_epon_oam_domain_option_pack(bcmolt_epon_oam_domain_option this, bcmolt_epon_oam_buf *buf);
13649
13650/** Unpacks a bcmolt_epon_oam_domain_option from bytes
13651 *
13652 * \param this Pointer to the enumeration to unpack
13653 * \param buf Pointer to the buffer to write to
13654 * \return Whether or not the unpack was successful
13655 */
13656bcmos_bool bcmolt_epon_oam_domain_option_unpack(bcmolt_epon_oam_domain_option *this, bcmolt_epon_oam_buf *buf);
13657
13658/** Packs a bcmolt_epon_oam_dpoe_leaf_action to bytes
13659 *
13660 * \param this The enumeration to pack
13661 * \param buf Pointer to the buffer to write to
13662 * \return Whether or not the pack was successful
13663 */
13664bcmos_bool bcmolt_epon_oam_dpoe_leaf_action_pack(bcmolt_epon_oam_dpoe_leaf_action this, bcmolt_epon_oam_buf *buf);
13665
13666/** Unpacks a bcmolt_epon_oam_dpoe_leaf_action from bytes
13667 *
13668 * \param this Pointer to the enumeration to unpack
13669 * \param buf Pointer to the buffer to write to
13670 * \return Whether or not the unpack was successful
13671 */
13672bcmos_bool bcmolt_epon_oam_dpoe_leaf_action_unpack(bcmolt_epon_oam_dpoe_leaf_action *this, bcmolt_epon_oam_buf *buf);
13673
13674/** Packs a bcmolt_epon_oam_dpoe_loopback_location to bytes
13675 *
13676 * \param this The enumeration to pack
13677 * \param buf Pointer to the buffer to write to
13678 * \return Whether or not the pack was successful
13679 */
13680bcmos_bool bcmolt_epon_oam_dpoe_loopback_location_pack(bcmolt_epon_oam_dpoe_loopback_location this, bcmolt_epon_oam_buf *buf);
13681
13682/** Unpacks a bcmolt_epon_oam_dpoe_loopback_location from bytes
13683 *
13684 * \param this Pointer to the enumeration to unpack
13685 * \param buf Pointer to the buffer to write to
13686 * \return Whether or not the unpack was successful
13687 */
13688bcmos_bool bcmolt_epon_oam_dpoe_loopback_location_unpack(bcmolt_epon_oam_dpoe_loopback_location *this, bcmolt_epon_oam_buf *buf);
13689
13690/** Packs a bcmolt_epon_oam_dpoe_llid_action to bytes
13691 *
13692 * \param this The enumeration to pack
13693 * \param buf Pointer to the buffer to write to
13694 * \return Whether or not the pack was successful
13695 */
13696bcmos_bool bcmolt_epon_oam_dpoe_llid_action_pack(bcmolt_epon_oam_dpoe_llid_action this, bcmolt_epon_oam_buf *buf);
13697
13698/** Unpacks a bcmolt_epon_oam_dpoe_llid_action from bytes
13699 *
13700 * \param this Pointer to the enumeration to unpack
13701 * \param buf Pointer to the buffer to write to
13702 * \return Whether or not the unpack was successful
13703 */
13704bcmos_bool bcmolt_epon_oam_dpoe_llid_action_unpack(bcmolt_epon_oam_dpoe_llid_action *this, bcmolt_epon_oam_buf *buf);
13705
13706/** Packs a bcmolt_epon_oam_dpoe_alarm_code to bytes
13707 *
13708 * \param this The enumeration to pack
13709 * \param buf Pointer to the buffer to write to
13710 * \return Whether or not the pack was successful
13711 */
13712bcmos_bool bcmolt_epon_oam_dpoe_alarm_code_pack(bcmolt_epon_oam_dpoe_alarm_code this, bcmolt_epon_oam_buf *buf);
13713
13714/** Unpacks a bcmolt_epon_oam_dpoe_alarm_code from bytes
13715 *
13716 * \param this Pointer to the enumeration to unpack
13717 * \param buf Pointer to the buffer to write to
13718 * \return Whether or not the unpack was successful
13719 */
13720bcmos_bool bcmolt_epon_oam_dpoe_alarm_code_unpack(bcmolt_epon_oam_dpoe_alarm_code *this, bcmolt_epon_oam_buf *buf);
13721
13722/** Packs a bcmolt_epon_oam_dpoe_leaf_attribute to bytes
13723 *
13724 * \param this The enumeration to pack
13725 * \param buf Pointer to the buffer to write to
13726 * \return Whether or not the pack was successful
13727 */
13728bcmos_bool bcmolt_epon_oam_dpoe_leaf_attribute_pack(bcmolt_epon_oam_dpoe_leaf_attribute this, bcmolt_epon_oam_buf *buf);
13729
13730/** Unpacks a bcmolt_epon_oam_dpoe_leaf_attribute from bytes
13731 *
13732 * \param this Pointer to the enumeration to unpack
13733 * \param buf Pointer to the buffer to write to
13734 * \return Whether or not the unpack was successful
13735 */
13736bcmos_bool bcmolt_epon_oam_dpoe_leaf_attribute_unpack(bcmolt_epon_oam_dpoe_leaf_attribute *this, bcmolt_epon_oam_buf *buf);
13737
13738/** Packs a bcmolt_epon_oam_dpoe_link_state to bytes
13739 *
13740 * \param this The enumeration to pack
13741 * \param buf Pointer to the buffer to write to
13742 * \return Whether or not the pack was successful
13743 */
13744bcmos_bool bcmolt_epon_oam_dpoe_link_state_pack(bcmolt_epon_oam_dpoe_link_state this, bcmolt_epon_oam_buf *buf);
13745
13746/** Unpacks a bcmolt_epon_oam_dpoe_link_state from bytes
13747 *
13748 * \param this Pointer to the enumeration to unpack
13749 * \param buf Pointer to the buffer to write to
13750 * \return Whether or not the unpack was successful
13751 */
13752bcmos_bool bcmolt_epon_oam_dpoe_link_state_unpack(bcmolt_epon_oam_dpoe_link_state *this, bcmolt_epon_oam_buf *buf);
13753
13754/** Packs a bcmolt_epon_oam_dpoe_learning_mode to bytes
13755 *
13756 * \param this The enumeration to pack
13757 * \param buf Pointer to the buffer to write to
13758 * \return Whether or not the pack was successful
13759 */
13760bcmos_bool bcmolt_epon_oam_dpoe_learning_mode_pack(bcmolt_epon_oam_dpoe_learning_mode this, bcmolt_epon_oam_buf *buf);
13761
13762/** Unpacks a bcmolt_epon_oam_dpoe_learning_mode from bytes
13763 *
13764 * \param this Pointer to the enumeration to unpack
13765 * \param buf Pointer to the buffer to write to
13766 * \return Whether or not the unpack was successful
13767 */
13768bcmos_bool bcmolt_epon_oam_dpoe_learning_mode_unpack(bcmolt_epon_oam_dpoe_learning_mode *this, bcmolt_epon_oam_buf *buf);
13769
13770/** Packs a bcmolt_epon_oam_dpoe_branch to bytes
13771 *
13772 * \param this The enumeration to pack
13773 * \param buf Pointer to the buffer to write to
13774 * \return Whether or not the pack was successful
13775 */
13776bcmos_bool bcmolt_epon_oam_dpoe_branch_pack(bcmolt_epon_oam_dpoe_branch this, bcmolt_epon_oam_buf *buf);
13777
13778/** Unpacks a bcmolt_epon_oam_dpoe_branch from bytes
13779 *
13780 * \param this Pointer to the enumeration to unpack
13781 * \param buf Pointer to the buffer to write to
13782 * \return Whether or not the unpack was successful
13783 */
13784bcmos_bool bcmolt_epon_oam_dpoe_branch_unpack(bcmolt_epon_oam_dpoe_branch *this, bcmolt_epon_oam_buf *buf);
13785
13786/** Packs a bcmolt_epon_oam_dpoe_object_type to bytes
13787 *
13788 * \param this The enumeration to pack
13789 * \param buf Pointer to the buffer to write to
13790 * \return Whether or not the pack was successful
13791 */
13792bcmos_bool bcmolt_epon_oam_dpoe_object_type_pack(bcmolt_epon_oam_dpoe_object_type this, bcmolt_epon_oam_buf *buf);
13793
13794/** Unpacks a bcmolt_epon_oam_dpoe_object_type from bytes
13795 *
13796 * \param this Pointer to the enumeration to unpack
13797 * \param buf Pointer to the buffer to write to
13798 * \return Whether or not the unpack was successful
13799 */
13800bcmos_bool bcmolt_epon_oam_dpoe_object_type_unpack(bcmolt_epon_oam_dpoe_object_type *this, bcmolt_epon_oam_buf *buf);
13801
13802/** Packs a bcmolt_epon_oam_dpoe_encryption_mode to bytes
13803 *
13804 * \param this The enumeration to pack
13805 * \param buf Pointer to the buffer to write to
13806 * \return Whether or not the pack was successful
13807 */
13808bcmos_bool bcmolt_epon_oam_dpoe_encryption_mode_pack(bcmolt_epon_oam_dpoe_encryption_mode this, bcmolt_epon_oam_buf *buf);
13809
13810/** Unpacks a bcmolt_epon_oam_dpoe_encryption_mode from bytes
13811 *
13812 * \param this Pointer to the enumeration to unpack
13813 * \param buf Pointer to the buffer to write to
13814 * \return Whether or not the unpack was successful
13815 */
13816bcmos_bool bcmolt_epon_oam_dpoe_encryption_mode_unpack(bcmolt_epon_oam_dpoe_encryption_mode *this, bcmolt_epon_oam_buf *buf);
13817
13818/** Packs a bcmolt_epon_oam_rule_type to bytes
13819 *
13820 * \param this The enumeration to pack
13821 * \param buf Pointer to the buffer to write to
13822 * \return Whether or not the pack was successful
13823 */
13824bcmos_bool bcmolt_epon_oam_rule_type_pack(bcmolt_epon_oam_rule_type this, bcmolt_epon_oam_buf *buf);
13825
13826/** Unpacks a bcmolt_epon_oam_rule_type from bytes
13827 *
13828 * \param this Pointer to the enumeration to unpack
13829 * \param buf Pointer to the buffer to write to
13830 * \return Whether or not the unpack was successful
13831 */
13832bcmos_bool bcmolt_epon_oam_rule_type_unpack(bcmolt_epon_oam_rule_type *this, bcmolt_epon_oam_buf *buf);
13833
13834/** Packs a bcmolt_epon_oam_dpoe_field_code to bytes
13835 *
13836 * \param this The enumeration to pack
13837 * \param buf Pointer to the buffer to write to
13838 * \return Whether or not the pack was successful
13839 */
13840bcmos_bool bcmolt_epon_oam_dpoe_field_code_pack(bcmolt_epon_oam_dpoe_field_code this, bcmolt_epon_oam_buf *buf);
13841
13842/** Unpacks a bcmolt_epon_oam_dpoe_field_code from bytes
13843 *
13844 * \param this Pointer to the enumeration to unpack
13845 * \param buf Pointer to the buffer to write to
13846 * \return Whether or not the unpack was successful
13847 */
13848bcmos_bool bcmolt_epon_oam_dpoe_field_code_unpack(bcmolt_epon_oam_dpoe_field_code *this, bcmolt_epon_oam_buf *buf);
13849
13850/** Packs a bcmolt_epon_oam_rule_operator to bytes
13851 *
13852 * \param this The enumeration to pack
13853 * \param buf Pointer to the buffer to write to
13854 * \return Whether or not the pack was successful
13855 */
13856bcmos_bool bcmolt_epon_oam_rule_operator_pack(bcmolt_epon_oam_rule_operator this, bcmolt_epon_oam_buf *buf);
13857
13858/** Unpacks a bcmolt_epon_oam_rule_operator from bytes
13859 *
13860 * \param this Pointer to the enumeration to unpack
13861 * \param buf Pointer to the buffer to write to
13862 * \return Whether or not the unpack was successful
13863 */
13864bcmos_bool bcmolt_epon_oam_rule_operator_unpack(bcmolt_epon_oam_rule_operator *this, bcmolt_epon_oam_buf *buf);
13865
13866/** Packs a bcmolt_epon_oam_dpoe_result to bytes
13867 *
13868 * \param this The enumeration to pack
13869 * \param buf Pointer to the buffer to write to
13870 * \return Whether or not the pack was successful
13871 */
13872bcmos_bool bcmolt_epon_oam_dpoe_result_pack(bcmolt_epon_oam_dpoe_result this, bcmolt_epon_oam_buf *buf);
13873
13874/** Unpacks a bcmolt_epon_oam_dpoe_result from bytes
13875 *
13876 * \param this Pointer to the enumeration to unpack
13877 * \param buf Pointer to the buffer to write to
13878 * \return Whether or not the unpack was successful
13879 */
13880bcmos_bool bcmolt_epon_oam_dpoe_result_unpack(bcmolt_epon_oam_dpoe_result *this, bcmolt_epon_oam_buf *buf);
13881
13882/** Packs a bcmolt_epon_oam_dpoe_layer_select to bytes
13883 *
13884 * \param this The enumeration to pack
13885 * \param buf Pointer to the buffer to write to
13886 * \return Whether or not the pack was successful
13887 */
13888bcmos_bool bcmolt_epon_oam_dpoe_layer_select_pack(bcmolt_epon_oam_dpoe_layer_select this, bcmolt_epon_oam_buf *buf);
13889
13890/** Unpacks a bcmolt_epon_oam_dpoe_layer_select from bytes
13891 *
13892 * \param this Pointer to the enumeration to unpack
13893 * \param buf Pointer to the buffer to write to
13894 * \return Whether or not the unpack was successful
13895 */
13896bcmos_bool bcmolt_epon_oam_dpoe_layer_select_unpack(bcmolt_epon_oam_dpoe_layer_select *this, bcmolt_epon_oam_buf *buf);
13897
13898/** Packs a bcmolt_epon_oam_traffic_bitmap to bytes
13899 *
13900 * \param this The enumeration to pack
13901 * \param buf Pointer to the buffer to write to
13902 * \return Whether or not the pack was successful
13903 */
13904bcmos_bool bcmolt_epon_oam_traffic_bitmap_pack(bcmolt_epon_oam_traffic_bitmap this, bcmolt_epon_oam_buf *buf);
13905
13906/** Unpacks a bcmolt_epon_oam_traffic_bitmap from bytes
13907 *
13908 * \param this Pointer to the enumeration to unpack
13909 * \param buf Pointer to the buffer to write to
13910 * \return Whether or not the unpack was successful
13911 */
13912bcmos_bool bcmolt_epon_oam_traffic_bitmap_unpack(bcmolt_epon_oam_traffic_bitmap *this, bcmolt_epon_oam_buf *buf);
13913
13914/** Packs a bcmolt_epon_oam_rate_units to bytes
13915 *
13916 * \param this The enumeration to pack
13917 * \param buf Pointer to the buffer to write to
13918 * \return Whether or not the pack was successful
13919 */
13920bcmos_bool bcmolt_epon_oam_rate_units_pack(bcmolt_epon_oam_rate_units this, bcmolt_epon_oam_buf *buf);
13921
13922/** Unpacks a bcmolt_epon_oam_rate_units from bytes
13923 *
13924 * \param this Pointer to the enumeration to unpack
13925 * \param buf Pointer to the buffer to write to
13926 * \return Whether or not the unpack was successful
13927 */
13928bcmos_bool bcmolt_epon_oam_rate_units_unpack(bcmolt_epon_oam_rate_units *this, bcmolt_epon_oam_buf *buf);
13929
13930/** Packs a bcmolt_epon_oam_dpoe_fec_mode to bytes
13931 *
13932 * \param this The enumeration to pack
13933 * \param buf Pointer to the buffer to write to
13934 * \return Whether or not the pack was successful
13935 */
13936bcmos_bool bcmolt_epon_oam_dpoe_fec_mode_pack(bcmolt_epon_oam_dpoe_fec_mode this, bcmolt_epon_oam_buf *buf);
13937
13938/** Unpacks a bcmolt_epon_oam_dpoe_fec_mode from bytes
13939 *
13940 * \param this Pointer to the enumeration to unpack
13941 * \param buf Pointer to the buffer to write to
13942 * \return Whether or not the unpack was successful
13943 */
13944bcmos_bool bcmolt_epon_oam_dpoe_fec_mode_unpack(bcmolt_epon_oam_dpoe_fec_mode *this, bcmolt_epon_oam_buf *buf);
13945
13946/** Packs a bcmolt_epon_oam_dpoe_port_type to bytes
13947 *
13948 * \param this The enumeration to pack
13949 * \param buf Pointer to the buffer to write to
13950 * \return Whether or not the pack was successful
13951 */
13952bcmos_bool bcmolt_epon_oam_dpoe_port_type_pack(bcmolt_epon_oam_dpoe_port_type this, bcmolt_epon_oam_buf *buf);
13953
13954/** Unpacks a bcmolt_epon_oam_dpoe_port_type from bytes
13955 *
13956 * \param this Pointer to the enumeration to unpack
13957 * \param buf Pointer to the buffer to write to
13958 * \return Whether or not the unpack was successful
13959 */
13960bcmos_bool bcmolt_epon_oam_dpoe_port_type_unpack(bcmolt_epon_oam_dpoe_port_type *this, bcmolt_epon_oam_buf *buf);
13961
13962/** Packs a bcmolt_epon_oam_dpoe_ipmc_forwarding_flags to bytes
13963 *
13964 * \param this The enumeration to pack
13965 * \param buf Pointer to the buffer to write to
13966 * \return Whether or not the pack was successful
13967 */
13968bcmos_bool bcmolt_epon_oam_dpoe_ipmc_forwarding_flags_pack(bcmolt_epon_oam_dpoe_ipmc_forwarding_flags this, bcmolt_epon_oam_buf *buf);
13969
13970/** Unpacks a bcmolt_epon_oam_dpoe_ipmc_forwarding_flags from bytes
13971 *
13972 * \param this Pointer to the enumeration to unpack
13973 * \param buf Pointer to the buffer to write to
13974 * \return Whether or not the unpack was successful
13975 */
13976bcmos_bool bcmolt_epon_oam_dpoe_ipmc_forwarding_flags_unpack(bcmolt_epon_oam_dpoe_ipmc_forwarding_flags *this, bcmolt_epon_oam_buf *buf);
13977
13978/** Packs a bcmolt_epon_oam_dpoe_power_saving_mode to bytes
13979 *
13980 * \param this The enumeration to pack
13981 * \param buf Pointer to the buffer to write to
13982 * \return Whether or not the pack was successful
13983 */
13984bcmos_bool bcmolt_epon_oam_dpoe_power_saving_mode_pack(bcmolt_epon_oam_dpoe_power_saving_mode this, bcmolt_epon_oam_buf *buf);
13985
13986/** Unpacks a bcmolt_epon_oam_dpoe_power_saving_mode from bytes
13987 *
13988 * \param this Pointer to the enumeration to unpack
13989 * \param buf Pointer to the buffer to write to
13990 * \return Whether or not the unpack was successful
13991 */
13992bcmos_bool bcmolt_epon_oam_dpoe_power_saving_mode_unpack(bcmolt_epon_oam_dpoe_power_saving_mode *this, bcmolt_epon_oam_buf *buf);
13993
13994/** Packs a bcmolt_epon_oam_dpoe_error_code to bytes
13995 *
13996 * \param this The enumeration to pack
13997 * \param buf Pointer to the buffer to write to
13998 * \return Whether or not the pack was successful
13999 */
14000bcmos_bool bcmolt_epon_oam_dpoe_error_code_pack(bcmolt_epon_oam_dpoe_error_code this, bcmolt_epon_oam_buf *buf);
14001
14002/** Unpacks a bcmolt_epon_oam_dpoe_error_code from bytes
14003 *
14004 * \param this Pointer to the enumeration to unpack
14005 * \param buf Pointer to the buffer to write to
14006 * \return Whether or not the unpack was successful
14007 */
14008bcmos_bool bcmolt_epon_oam_dpoe_error_code_unpack(bcmolt_epon_oam_dpoe_error_code *this, bcmolt_epon_oam_buf *buf);
14009
14010/** Packs a bcmolt_epon_oam_dpoe_file_transfer_opcode to bytes
14011 *
14012 * \param this The enumeration to pack
14013 * \param buf Pointer to the buffer to write to
14014 * \return Whether or not the pack was successful
14015 */
14016bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_opcode_pack(bcmolt_epon_oam_dpoe_file_transfer_opcode this, bcmolt_epon_oam_buf *buf);
14017
14018/** Unpacks a bcmolt_epon_oam_dpoe_file_transfer_opcode from bytes
14019 *
14020 * \param this Pointer to the enumeration to unpack
14021 * \param buf Pointer to the buffer to write to
14022 * \return Whether or not the unpack was successful
14023 */
14024bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_opcode_unpack(bcmolt_epon_oam_dpoe_file_transfer_opcode *this, bcmolt_epon_oam_buf *buf);
14025
14026/** Packs a bcmolt_epon_oam_dpoe_file_type to bytes
14027 *
14028 * \param this The enumeration to pack
14029 * \param buf Pointer to the buffer to write to
14030 * \return Whether or not the pack was successful
14031 */
14032bcmos_bool bcmolt_epon_oam_dpoe_file_type_pack(bcmolt_epon_oam_dpoe_file_type this, bcmolt_epon_oam_buf *buf);
14033
14034/** Unpacks a bcmolt_epon_oam_dpoe_file_type from bytes
14035 *
14036 * \param this Pointer to the enumeration to unpack
14037 * \param buf Pointer to the buffer to write to
14038 * \return Whether or not the unpack was successful
14039 */
14040bcmos_bool bcmolt_epon_oam_dpoe_file_type_unpack(bcmolt_epon_oam_dpoe_file_type *this, bcmolt_epon_oam_buf *buf);
14041
14042/** Packs a bcmolt_epon_oam_dpoe_file_transfer_error to bytes
14043 *
14044 * \param this The enumeration to pack
14045 * \param buf Pointer to the buffer to write to
14046 * \return Whether or not the pack was successful
14047 */
14048bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_error_pack(bcmolt_epon_oam_dpoe_file_transfer_error this, bcmolt_epon_oam_buf *buf);
14049
14050/** Unpacks a bcmolt_epon_oam_dpoe_file_transfer_error from bytes
14051 *
14052 * \param this Pointer to the enumeration to unpack
14053 * \param buf Pointer to the buffer to write to
14054 * \return Whether or not the unpack was successful
14055 */
14056bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_error_unpack(bcmolt_epon_oam_dpoe_file_transfer_error *this, bcmolt_epon_oam_buf *buf);
14057
14058/** Packs a bcmolt_epon_oam_dpoe_info_tlv_type to bytes
14059 *
14060 * \param this The enumeration to pack
14061 * \param buf Pointer to the buffer to write to
14062 * \return Whether or not the pack was successful
14063 */
14064bcmos_bool bcmolt_epon_oam_dpoe_info_tlv_type_pack(bcmolt_epon_oam_dpoe_info_tlv_type this, bcmolt_epon_oam_buf *buf);
14065
14066/** Unpacks a bcmolt_epon_oam_dpoe_info_tlv_type from bytes
14067 *
14068 * \param this Pointer to the enumeration to unpack
14069 * \param buf Pointer to the buffer to write to
14070 * \return Whether or not the unpack was successful
14071 */
14072bcmos_bool bcmolt_epon_oam_dpoe_info_tlv_type_unpack(bcmolt_epon_oam_dpoe_info_tlv_type *this, bcmolt_epon_oam_buf *buf);
14073
14074/** Packs a bcmolt_epon_oam_dpoe_mcast_ctrl_action to bytes
14075 *
14076 * \param this The enumeration to pack
14077 * \param buf Pointer to the buffer to write to
14078 * \return Whether or not the pack was successful
14079 */
14080bcmos_bool bcmolt_epon_oam_dpoe_mcast_ctrl_action_pack(bcmolt_epon_oam_dpoe_mcast_ctrl_action this, bcmolt_epon_oam_buf *buf);
14081
14082/** Unpacks a bcmolt_epon_oam_dpoe_mcast_ctrl_action from bytes
14083 *
14084 * \param this Pointer to the enumeration to unpack
14085 * \param buf Pointer to the buffer to write to
14086 * \return Whether or not the unpack was successful
14087 */
14088bcmos_bool bcmolt_epon_oam_dpoe_mcast_ctrl_action_unpack(bcmolt_epon_oam_dpoe_mcast_ctrl_action *this, bcmolt_epon_oam_buf *buf);
14089
14090/** Packs a bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code to bytes
14091 *
14092 * \param this The enumeration to pack
14093 * \param buf Pointer to the buffer to write to
14094 * \return Whether or not the pack was successful
14095 */
14096bcmos_bool bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code_pack(bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code this, bcmolt_epon_oam_buf *buf);
14097
14098/** Unpacks a bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code from bytes
14099 *
14100 * \param this Pointer to the enumeration to unpack
14101 * \param buf Pointer to the buffer to write to
14102 * \return Whether or not the unpack was successful
14103 */
14104bcmos_bool bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code_unpack(bcmolt_epon_oam_dpoe_mcast_ctrl_resp_code *this, bcmolt_epon_oam_buf *buf);
14105
14106/** Packs a bcmolt_epon_oam_dpoe_mcast_reg_code to bytes
14107 *
14108 * \param this The enumeration to pack
14109 * \param buf Pointer to the buffer to write to
14110 * \return Whether or not the pack was successful
14111 */
14112bcmos_bool bcmolt_epon_oam_dpoe_mcast_reg_code_pack(bcmolt_epon_oam_dpoe_mcast_reg_code this, bcmolt_epon_oam_buf *buf);
14113
14114/** Unpacks a bcmolt_epon_oam_dpoe_mcast_reg_code from bytes
14115 *
14116 * \param this Pointer to the enumeration to unpack
14117 * \param buf Pointer to the buffer to write to
14118 * \return Whether or not the unpack was successful
14119 */
14120bcmos_bool bcmolt_epon_oam_dpoe_mcast_reg_code_unpack(bcmolt_epon_oam_dpoe_mcast_reg_code *this, bcmolt_epon_oam_buf *buf);
14121
14122/** Packs a bcmolt_epon_oam_std_phy_type to bytes
14123 *
14124 * \param this The enumeration to pack
14125 * \param buf Pointer to the buffer to write to
14126 * \return Whether or not the pack was successful
14127 */
14128bcmos_bool bcmolt_epon_oam_std_phy_type_pack(bcmolt_epon_oam_std_phy_type this, bcmolt_epon_oam_buf *buf);
14129
14130/** Unpacks a bcmolt_epon_oam_std_phy_type from bytes
14131 *
14132 * \param this Pointer to the enumeration to unpack
14133 * \param buf Pointer to the buffer to write to
14134 * \return Whether or not the unpack was successful
14135 */
14136bcmos_bool bcmolt_epon_oam_std_phy_type_unpack(bcmolt_epon_oam_std_phy_type *this, bcmolt_epon_oam_buf *buf);
14137
14138/** Packs a bcmolt_epon_oam_oam_state to bytes
14139 *
14140 * \param this The enumeration to pack
14141 * \param buf Pointer to the buffer to write to
14142 * \return Whether or not the pack was successful
14143 */
14144bcmos_bool bcmolt_epon_oam_oam_state_pack(bcmolt_epon_oam_oam_state this, bcmolt_epon_oam_buf *buf);
14145
14146/** Unpacks a bcmolt_epon_oam_oam_state from bytes
14147 *
14148 * \param this Pointer to the enumeration to unpack
14149 * \param buf Pointer to the buffer to write to
14150 * \return Whether or not the unpack was successful
14151 */
14152bcmos_bool bcmolt_epon_oam_oam_state_unpack(bcmolt_epon_oam_oam_state *this, bcmolt_epon_oam_buf *buf);
14153
14154/** Packs a bcmolt_epon_oam_mau_media_available to bytes
14155 *
14156 * \param this The enumeration to pack
14157 * \param buf Pointer to the buffer to write to
14158 * \return Whether or not the pack was successful
14159 */
14160bcmos_bool bcmolt_epon_oam_mau_media_available_pack(bcmolt_epon_oam_mau_media_available this, bcmolt_epon_oam_buf *buf);
14161
14162/** Unpacks a bcmolt_epon_oam_mau_media_available from bytes
14163 *
14164 * \param this Pointer to the enumeration to unpack
14165 * \param buf Pointer to the buffer to write to
14166 * \return Whether or not the unpack was successful
14167 */
14168bcmos_bool bcmolt_epon_oam_mau_media_available_unpack(bcmolt_epon_oam_mau_media_available *this, bcmolt_epon_oam_buf *buf);
14169
14170/** Packs a bcmolt_epon_oam_std_auto_negoitation_capability to bytes
14171 *
14172 * \param this The enumeration to pack
14173 * \param buf Pointer to the buffer to write to
14174 * \return Whether or not the pack was successful
14175 */
14176bcmos_bool bcmolt_epon_oam_std_auto_negoitation_capability_pack(bcmolt_epon_oam_std_auto_negoitation_capability this, bcmolt_epon_oam_buf *buf);
14177
14178/** Unpacks a bcmolt_epon_oam_std_auto_negoitation_capability from bytes
14179 *
14180 * \param this Pointer to the enumeration to unpack
14181 * \param buf Pointer to the buffer to write to
14182 * \return Whether or not the unpack was successful
14183 */
14184bcmos_bool bcmolt_epon_oam_std_auto_negoitation_capability_unpack(bcmolt_epon_oam_std_auto_negoitation_capability *this, bcmolt_epon_oam_buf *buf);
14185
14186/** Packs a bcmolt_epon_oam_mac_duplex_status to bytes
14187 *
14188 * \param this The enumeration to pack
14189 * \param buf Pointer to the buffer to write to
14190 * \return Whether or not the pack was successful
14191 */
14192bcmos_bool bcmolt_epon_oam_mac_duplex_status_pack(bcmolt_epon_oam_mac_duplex_status this, bcmolt_epon_oam_buf *buf);
14193
14194/** Unpacks a bcmolt_epon_oam_mac_duplex_status from bytes
14195 *
14196 * \param this Pointer to the enumeration to unpack
14197 * \param buf Pointer to the buffer to write to
14198 * \return Whether or not the unpack was successful
14199 */
14200bcmos_bool bcmolt_epon_oam_mac_duplex_status_unpack(bcmolt_epon_oam_mac_duplex_status *this, bcmolt_epon_oam_buf *buf);
14201
14202/** Packs a bcmolt_epon_oam_fec_support to bytes
14203 *
14204 * \param this The enumeration to pack
14205 * \param buf Pointer to the buffer to write to
14206 * \return Whether or not the pack was successful
14207 */
14208bcmos_bool bcmolt_epon_oam_fec_support_pack(bcmolt_epon_oam_fec_support this, bcmolt_epon_oam_buf *buf);
14209
14210/** Unpacks a bcmolt_epon_oam_fec_support from bytes
14211 *
14212 * \param this Pointer to the enumeration to unpack
14213 * \param buf Pointer to the buffer to write to
14214 * \return Whether or not the unpack was successful
14215 */
14216bcmos_bool bcmolt_epon_oam_fec_support_unpack(bcmolt_epon_oam_fec_support *this, bcmolt_epon_oam_buf *buf);
14217
14218/** Packs a bcmolt_epon_oam_std_fec_mode to bytes
14219 *
14220 * \param this The enumeration to pack
14221 * \param buf Pointer to the buffer to write to
14222 * \return Whether or not the pack was successful
14223 */
14224bcmos_bool bcmolt_epon_oam_std_fec_mode_pack(bcmolt_epon_oam_std_fec_mode this, bcmolt_epon_oam_buf *buf);
14225
14226/** Unpacks a bcmolt_epon_oam_std_fec_mode from bytes
14227 *
14228 * \param this Pointer to the enumeration to unpack
14229 * \param buf Pointer to the buffer to write to
14230 * \return Whether or not the unpack was successful
14231 */
14232bcmos_bool bcmolt_epon_oam_std_fec_mode_unpack(bcmolt_epon_oam_std_fec_mode *this, bcmolt_epon_oam_buf *buf);
14233
14234/** Packs a bcmolt_epon_oam_dpoe_opcode to bytes
14235 *
14236 * \param this The enumeration to pack
14237 * \param buf Pointer to the buffer to write to
14238 * \return Whether or not the pack was successful
14239 */
14240bcmos_bool bcmolt_epon_oam_dpoe_opcode_pack(bcmolt_epon_oam_dpoe_opcode this, bcmolt_epon_oam_buf *buf);
14241
14242/** Unpacks a bcmolt_epon_oam_dpoe_opcode from bytes
14243 *
14244 * \param this Pointer to the enumeration to unpack
14245 * \param buf Pointer to the buffer to write to
14246 * \return Whether or not the unpack was successful
14247 */
14248bcmos_bool bcmolt_epon_oam_dpoe_opcode_unpack(bcmolt_epon_oam_dpoe_opcode *this, bcmolt_epon_oam_buf *buf);
14249
14250/** Packs a bcmolt_epon_oam_dpoe_version to bytes
14251 *
14252 * \param this The enumeration to pack
14253 * \param buf Pointer to the buffer to write to
14254 * \return Whether or not the pack was successful
14255 */
14256bcmos_bool bcmolt_epon_oam_dpoe_version_pack(bcmolt_epon_oam_dpoe_version this, bcmolt_epon_oam_buf *buf);
14257
14258/** Unpacks a bcmolt_epon_oam_dpoe_version from bytes
14259 *
14260 * \param this Pointer to the enumeration to unpack
14261 * \param buf Pointer to the buffer to write to
14262 * \return Whether or not the unpack was successful
14263 */
14264bcmos_bool bcmolt_epon_oam_dpoe_version_unpack(bcmolt_epon_oam_dpoe_version *this, bcmolt_epon_oam_buf *buf);
14265
14266/** Packs a bcmolt_epon_oam_eap_code to bytes
14267 *
14268 * \param this The enumeration to pack
14269 * \param buf Pointer to the buffer to write to
14270 * \return Whether or not the pack was successful
14271 */
14272bcmos_bool bcmolt_epon_oam_eap_code_pack(bcmolt_epon_oam_eap_code this, bcmolt_epon_oam_buf *buf);
14273
14274/** Unpacks a bcmolt_epon_oam_eap_code from bytes
14275 *
14276 * \param this Pointer to the enumeration to unpack
14277 * \param buf Pointer to the buffer to write to
14278 * \return Whether or not the unpack was successful
14279 */
14280bcmos_bool bcmolt_epon_oam_eap_code_unpack(bcmolt_epon_oam_eap_code *this, bcmolt_epon_oam_buf *buf);
14281
14282/** Packs a bcmolt_epon_oam_tls_subtype to bytes
14283 *
14284 * \param this The enumeration to pack
14285 * \param buf Pointer to the buffer to write to
14286 * \return Whether or not the pack was successful
14287 */
14288bcmos_bool bcmolt_epon_oam_tls_subtype_pack(bcmolt_epon_oam_tls_subtype this, bcmolt_epon_oam_buf *buf);
14289
14290/** Unpacks a bcmolt_epon_oam_tls_subtype from bytes
14291 *
14292 * \param this Pointer to the enumeration to unpack
14293 * \param buf Pointer to the buffer to write to
14294 * \return Whether or not the unpack was successful
14295 */
14296bcmos_bool bcmolt_epon_oam_tls_subtype_unpack(bcmolt_epon_oam_tls_subtype *this, bcmolt_epon_oam_buf *buf);
14297
14298/** Packs a bcmolt_epon_oam_tls_flags to bytes
14299 *
14300 * \param this The enumeration to pack
14301 * \param buf Pointer to the buffer to write to
14302 * \return Whether or not the pack was successful
14303 */
14304bcmos_bool bcmolt_epon_oam_tls_flags_pack(bcmolt_epon_oam_tls_flags this, bcmolt_epon_oam_buf *buf);
14305
14306/** Unpacks a bcmolt_epon_oam_tls_flags from bytes
14307 *
14308 * \param this Pointer to the enumeration to unpack
14309 * \param buf Pointer to the buffer to write to
14310 * \return Whether or not the unpack was successful
14311 */
14312bcmos_bool bcmolt_epon_oam_tls_flags_unpack(bcmolt_epon_oam_tls_flags *this, bcmolt_epon_oam_buf *buf);
14313
14314/** Packs a bcmolt_epon_oam_tls_content_type to bytes
14315 *
14316 * \param this The enumeration to pack
14317 * \param buf Pointer to the buffer to write to
14318 * \return Whether or not the pack was successful
14319 */
14320bcmos_bool bcmolt_epon_oam_tls_content_type_pack(bcmolt_epon_oam_tls_content_type this, bcmolt_epon_oam_buf *buf);
14321
14322/** Unpacks a bcmolt_epon_oam_tls_content_type from bytes
14323 *
14324 * \param this Pointer to the enumeration to unpack
14325 * \param buf Pointer to the buffer to write to
14326 * \return Whether or not the unpack was successful
14327 */
14328bcmos_bool bcmolt_epon_oam_tls_content_type_unpack(bcmolt_epon_oam_tls_content_type *this, bcmolt_epon_oam_buf *buf);
14329
14330/** Packs a bcmolt_epon_oam_tls_handshake_type to bytes
14331 *
14332 * \param this The enumeration to pack
14333 * \param buf Pointer to the buffer to write to
14334 * \return Whether or not the pack was successful
14335 */
14336bcmos_bool bcmolt_epon_oam_tls_handshake_type_pack(bcmolt_epon_oam_tls_handshake_type this, bcmolt_epon_oam_buf *buf);
14337
14338/** Unpacks a bcmolt_epon_oam_tls_handshake_type from bytes
14339 *
14340 * \param this Pointer to the enumeration to unpack
14341 * \param buf Pointer to the buffer to write to
14342 * \return Whether or not the unpack was successful
14343 */
14344bcmos_bool bcmolt_epon_oam_tls_handshake_type_unpack(bcmolt_epon_oam_tls_handshake_type *this, bcmolt_epon_oam_buf *buf);
14345
14346/** Packs a bcmolt_epon_oam_tls_ciphersuite to bytes
14347 *
14348 * \param this The enumeration to pack
14349 * \param buf Pointer to the buffer to write to
14350 * \return Whether or not the pack was successful
14351 */
14352bcmos_bool bcmolt_epon_oam_tls_ciphersuite_pack(bcmolt_epon_oam_tls_ciphersuite this, bcmolt_epon_oam_buf *buf);
14353
14354/** Unpacks a bcmolt_epon_oam_tls_ciphersuite from bytes
14355 *
14356 * \param this Pointer to the enumeration to unpack
14357 * \param buf Pointer to the buffer to write to
14358 * \return Whether or not the unpack was successful
14359 */
14360bcmos_bool bcmolt_epon_oam_tls_ciphersuite_unpack(bcmolt_epon_oam_tls_ciphersuite *this, bcmolt_epon_oam_buf *buf);
14361
14362/** Packs a bcmolt_epon_oam_tls_compression_method to bytes
14363 *
14364 * \param this The enumeration to pack
14365 * \param buf Pointer to the buffer to write to
14366 * \return Whether or not the pack was successful
14367 */
14368bcmos_bool bcmolt_epon_oam_tls_compression_method_pack(bcmolt_epon_oam_tls_compression_method this, bcmolt_epon_oam_buf *buf);
14369
14370/** Unpacks a bcmolt_epon_oam_tls_compression_method from bytes
14371 *
14372 * \param this Pointer to the enumeration to unpack
14373 * \param buf Pointer to the buffer to write to
14374 * \return Whether or not the unpack was successful
14375 */
14376bcmos_bool bcmolt_epon_oam_tls_compression_method_unpack(bcmolt_epon_oam_tls_compression_method *this, bcmolt_epon_oam_buf *buf);
14377
14378/** Packs a bcmolt_epon_oam_tls_certificate_type to bytes
14379 *
14380 * \param this The enumeration to pack
14381 * \param buf Pointer to the buffer to write to
14382 * \return Whether or not the pack was successful
14383 */
14384bcmos_bool bcmolt_epon_oam_tls_certificate_type_pack(bcmolt_epon_oam_tls_certificate_type this, bcmolt_epon_oam_buf *buf);
14385
14386/** Unpacks a bcmolt_epon_oam_tls_certificate_type from bytes
14387 *
14388 * \param this Pointer to the enumeration to unpack
14389 * \param buf Pointer to the buffer to write to
14390 * \return Whether or not the unpack was successful
14391 */
14392bcmos_bool bcmolt_epon_oam_tls_certificate_type_unpack(bcmolt_epon_oam_tls_certificate_type *this, bcmolt_epon_oam_buf *buf);
14393
14394/** Packs a bcmolt_epon_oam_eapol_type to bytes
14395 *
14396 * \param this The enumeration to pack
14397 * \param buf Pointer to the buffer to write to
14398 * \return Whether or not the pack was successful
14399 */
14400bcmos_bool bcmolt_epon_oam_eapol_type_pack(bcmolt_epon_oam_eapol_type this, bcmolt_epon_oam_buf *buf);
14401
14402/** Unpacks a bcmolt_epon_oam_eapol_type from bytes
14403 *
14404 * \param this Pointer to the enumeration to unpack
14405 * \param buf Pointer to the buffer to write to
14406 * \return Whether or not the unpack was successful
14407 */
14408bcmos_bool bcmolt_epon_oam_eapol_type_unpack(bcmolt_epon_oam_eapol_type *this, bcmolt_epon_oam_buf *buf);
14409
14410/** Packs a bcmolt_epon_oam_eapol_version to bytes
14411 *
14412 * \param this The enumeration to pack
14413 * \param buf Pointer to the buffer to write to
14414 * \return Whether or not the pack was successful
14415 */
14416bcmos_bool bcmolt_epon_oam_eapol_version_pack(bcmolt_epon_oam_eapol_version this, bcmolt_epon_oam_buf *buf);
14417
14418/** Unpacks a bcmolt_epon_oam_eapol_version from bytes
14419 *
14420 * \param this Pointer to the enumeration to unpack
14421 * \param buf Pointer to the buffer to write to
14422 * \return Whether or not the unpack was successful
14423 */
14424bcmos_bool bcmolt_epon_oam_eapol_version_unpack(bcmolt_epon_oam_eapol_version *this, bcmolt_epon_oam_buf *buf);
14425
14426/** Packs a bcmolt_epon_oam_epoc_cmc_stat_index to bytes
14427 *
14428 * \param this The enumeration to pack
14429 * \param buf Pointer to the buffer to write to
14430 * \return Whether or not the pack was successful
14431 */
14432bcmos_bool bcmolt_epon_oam_epoc_cmc_stat_index_pack(bcmolt_epon_oam_epoc_cmc_stat_index this, bcmolt_epon_oam_buf *buf);
14433
14434/** Unpacks a bcmolt_epon_oam_epoc_cmc_stat_index from bytes
14435 *
14436 * \param this Pointer to the enumeration to unpack
14437 * \param buf Pointer to the buffer to write to
14438 * \return Whether or not the unpack was successful
14439 */
14440bcmos_bool bcmolt_epon_oam_epoc_cmc_stat_index_unpack(bcmolt_epon_oam_epoc_cmc_stat_index *this, bcmolt_epon_oam_buf *buf);
14441
14442/** Packs a bcmolt_epon_oam_epoc_cnu_stat_index to bytes
14443 *
14444 * \param this The enumeration to pack
14445 * \param buf Pointer to the buffer to write to
14446 * \return Whether or not the pack was successful
14447 */
14448bcmos_bool bcmolt_epon_oam_epoc_cnu_stat_index_pack(bcmolt_epon_oam_epoc_cnu_stat_index this, bcmolt_epon_oam_buf *buf);
14449
14450/** Unpacks a bcmolt_epon_oam_epoc_cnu_stat_index from bytes
14451 *
14452 * \param this Pointer to the enumeration to unpack
14453 * \param buf Pointer to the buffer to write to
14454 * \return Whether or not the unpack was successful
14455 */
14456bcmos_bool bcmolt_epon_oam_epoc_cnu_stat_index_unpack(bcmolt_epon_oam_epoc_cnu_stat_index *this, bcmolt_epon_oam_buf *buf);
14457
14458/** Packs a bcmolt_epon_oam_epoc_sdm250stat_index to bytes
14459 *
14460 * \param this The enumeration to pack
14461 * \param buf Pointer to the buffer to write to
14462 * \return Whether or not the pack was successful
14463 */
14464bcmos_bool bcmolt_epon_oam_epoc_sdm250stat_index_pack(bcmolt_epon_oam_epoc_sdm250stat_index this, bcmolt_epon_oam_buf *buf);
14465
14466/** Unpacks a bcmolt_epon_oam_epoc_sdm250stat_index from bytes
14467 *
14468 * \param this Pointer to the enumeration to unpack
14469 * \param buf Pointer to the buffer to write to
14470 * \return Whether or not the unpack was successful
14471 */
14472bcmos_bool bcmolt_epon_oam_epoc_sdm250stat_index_unpack(bcmolt_epon_oam_epoc_sdm250stat_index *this, bcmolt_epon_oam_buf *buf);
14473
14474/** Packs a bcmolt_epon_oam_epoc_stat_gather_modes to bytes
14475 *
14476 * \param this The enumeration to pack
14477 * \param buf Pointer to the buffer to write to
14478 * \return Whether or not the pack was successful
14479 */
14480bcmos_bool bcmolt_epon_oam_epoc_stat_gather_modes_pack(bcmolt_epon_oam_epoc_stat_gather_modes this, bcmolt_epon_oam_buf *buf);
14481
14482/** Unpacks a bcmolt_epon_oam_epoc_stat_gather_modes from bytes
14483 *
14484 * \param this Pointer to the enumeration to unpack
14485 * \param buf Pointer to the buffer to write to
14486 * \return Whether or not the unpack was successful
14487 */
14488bcmos_bool bcmolt_epon_oam_epoc_stat_gather_modes_unpack(bcmolt_epon_oam_epoc_stat_gather_modes *this, bcmolt_epon_oam_buf *buf);
14489
14490/** Packs a bcmolt_epon_oam_protocol_type to bytes
14491 *
14492 * \param this The enumeration to pack
14493 * \param buf Pointer to the buffer to write to
14494 * \return Whether or not the pack was successful
14495 */
14496bcmos_bool bcmolt_epon_oam_protocol_type_pack(bcmolt_epon_oam_protocol_type this, bcmolt_epon_oam_buf *buf);
14497
14498/** Unpacks a bcmolt_epon_oam_protocol_type from bytes
14499 *
14500 * \param this Pointer to the enumeration to unpack
14501 * \param buf Pointer to the buffer to write to
14502 * \return Whether or not the unpack was successful
14503 */
14504bcmos_bool bcmolt_epon_oam_protocol_type_unpack(bcmolt_epon_oam_protocol_type *this, bcmolt_epon_oam_buf *buf);
14505
14506/** Packs a bcmolt_epon_oam_slow_protocol_subtype to bytes
14507 *
14508 * \param this The enumeration to pack
14509 * \param buf Pointer to the buffer to write to
14510 * \return Whether or not the pack was successful
14511 */
14512bcmos_bool bcmolt_epon_oam_slow_protocol_subtype_pack(bcmolt_epon_oam_slow_protocol_subtype this, bcmolt_epon_oam_buf *buf);
14513
14514/** Unpacks a bcmolt_epon_oam_slow_protocol_subtype from bytes
14515 *
14516 * \param this Pointer to the enumeration to unpack
14517 * \param buf Pointer to the buffer to write to
14518 * \return Whether or not the unpack was successful
14519 */
14520bcmos_bool bcmolt_epon_oam_slow_protocol_subtype_unpack(bcmolt_epon_oam_slow_protocol_subtype *this, bcmolt_epon_oam_buf *buf);
14521
14522/** Packs a bcmolt_epon_oam_oam_flags to bytes
14523 *
14524 * \param this The enumeration to pack
14525 * \param buf Pointer to the buffer to write to
14526 * \return Whether or not the pack was successful
14527 */
14528bcmos_bool bcmolt_epon_oam_oam_flags_pack(bcmolt_epon_oam_oam_flags this, bcmolt_epon_oam_buf *buf);
14529
14530/** Unpacks a bcmolt_epon_oam_oam_flags from bytes
14531 *
14532 * \param this Pointer to the enumeration to unpack
14533 * \param buf Pointer to the buffer to write to
14534 * \return Whether or not the unpack was successful
14535 */
14536bcmos_bool bcmolt_epon_oam_oam_flags_unpack(bcmolt_epon_oam_oam_flags *this, bcmolt_epon_oam_buf *buf);
14537
14538/** Packs a bcmolt_epon_oam_oam_opcode to bytes
14539 *
14540 * \param this The enumeration to pack
14541 * \param buf Pointer to the buffer to write to
14542 * \return Whether or not the pack was successful
14543 */
14544bcmos_bool bcmolt_epon_oam_oam_opcode_pack(bcmolt_epon_oam_oam_opcode this, bcmolt_epon_oam_buf *buf);
14545
14546/** Unpacks a bcmolt_epon_oam_oam_opcode from bytes
14547 *
14548 * \param this Pointer to the enumeration to unpack
14549 * \param buf Pointer to the buffer to write to
14550 * \return Whether or not the unpack was successful
14551 */
14552bcmos_bool bcmolt_epon_oam_oam_opcode_unpack(bcmolt_epon_oam_oam_opcode *this, bcmolt_epon_oam_buf *buf);
14553
14554/** Packs a bcmolt_epon_oam_info_tlv_type to bytes
14555 *
14556 * \param this The enumeration to pack
14557 * \param buf Pointer to the buffer to write to
14558 * \return Whether or not the pack was successful
14559 */
14560bcmos_bool bcmolt_epon_oam_info_tlv_type_pack(bcmolt_epon_oam_info_tlv_type this, bcmolt_epon_oam_buf *buf);
14561
14562/** Unpacks a bcmolt_epon_oam_info_tlv_type from bytes
14563 *
14564 * \param this Pointer to the enumeration to unpack
14565 * \param buf Pointer to the buffer to write to
14566 * \return Whether or not the unpack was successful
14567 */
14568bcmos_bool bcmolt_epon_oam_info_tlv_type_unpack(bcmolt_epon_oam_info_tlv_type *this, bcmolt_epon_oam_buf *buf);
14569
14570/** Packs a bcmolt_epon_oam_tek_info_tlv_type to bytes
14571 *
14572 * \param this The enumeration to pack
14573 * \param buf Pointer to the buffer to write to
14574 * \return Whether or not the pack was successful
14575 */
14576bcmos_bool bcmolt_epon_oam_tek_info_tlv_type_pack(bcmolt_epon_oam_tek_info_tlv_type this, bcmolt_epon_oam_buf *buf);
14577
14578/** Unpacks a bcmolt_epon_oam_tek_info_tlv_type from bytes
14579 *
14580 * \param this Pointer to the enumeration to unpack
14581 * \param buf Pointer to the buffer to write to
14582 * \return Whether or not the unpack was successful
14583 */
14584bcmos_bool bcmolt_epon_oam_tek_info_tlv_type_unpack(bcmolt_epon_oam_tek_info_tlv_type *this, bcmolt_epon_oam_buf *buf);
14585
14586/** Packs a bcmolt_epon_oam_tek_report_modes to bytes
14587 *
14588 * \param this The enumeration to pack
14589 * \param buf Pointer to the buffer to write to
14590 * \return Whether or not the pack was successful
14591 */
14592bcmos_bool bcmolt_epon_oam_tek_report_modes_pack(bcmolt_epon_oam_tek_report_modes this, bcmolt_epon_oam_buf *buf);
14593
14594/** Unpacks a bcmolt_epon_oam_tek_report_modes from bytes
14595 *
14596 * \param this Pointer to the enumeration to unpack
14597 * \param buf Pointer to the buffer to write to
14598 * \return Whether or not the unpack was successful
14599 */
14600bcmos_bool bcmolt_epon_oam_tek_report_modes_unpack(bcmolt_epon_oam_tek_report_modes *this, bcmolt_epon_oam_buf *buf);
14601
14602/** Packs a bcmolt_epon_oam_local_remote_info_state to bytes
14603 *
14604 * \param this The enumeration to pack
14605 * \param buf Pointer to the buffer to write to
14606 * \return Whether or not the pack was successful
14607 */
14608bcmos_bool bcmolt_epon_oam_local_remote_info_state_pack(bcmolt_epon_oam_local_remote_info_state this, bcmolt_epon_oam_buf *buf);
14609
14610/** Unpacks a bcmolt_epon_oam_local_remote_info_state from bytes
14611 *
14612 * \param this Pointer to the enumeration to unpack
14613 * \param buf Pointer to the buffer to write to
14614 * \return Whether or not the unpack was successful
14615 */
14616bcmos_bool bcmolt_epon_oam_local_remote_info_state_unpack(bcmolt_epon_oam_local_remote_info_state *this, bcmolt_epon_oam_buf *buf);
14617
14618/** Packs a bcmolt_epon_oam_local_remote_info_config to bytes
14619 *
14620 * \param this The enumeration to pack
14621 * \param buf Pointer to the buffer to write to
14622 * \return Whether or not the pack was successful
14623 */
14624bcmos_bool bcmolt_epon_oam_local_remote_info_config_pack(bcmolt_epon_oam_local_remote_info_config this, bcmolt_epon_oam_buf *buf);
14625
14626/** Unpacks a bcmolt_epon_oam_local_remote_info_config from bytes
14627 *
14628 * \param this Pointer to the enumeration to unpack
14629 * \param buf Pointer to the buffer to write to
14630 * \return Whether or not the unpack was successful
14631 */
14632bcmos_bool bcmolt_epon_oam_local_remote_info_config_unpack(bcmolt_epon_oam_local_remote_info_config *this, bcmolt_epon_oam_buf *buf);
14633
14634/** Packs a bcmolt_epon_oam_link_event_type to bytes
14635 *
14636 * \param this The enumeration to pack
14637 * \param buf Pointer to the buffer to write to
14638 * \return Whether or not the pack was successful
14639 */
14640bcmos_bool bcmolt_epon_oam_link_event_type_pack(bcmolt_epon_oam_link_event_type this, bcmolt_epon_oam_buf *buf);
14641
14642/** Unpacks a bcmolt_epon_oam_link_event_type from bytes
14643 *
14644 * \param this Pointer to the enumeration to unpack
14645 * \param buf Pointer to the buffer to write to
14646 * \return Whether or not the unpack was successful
14647 */
14648bcmos_bool bcmolt_epon_oam_link_event_type_unpack(bcmolt_epon_oam_link_event_type *this, bcmolt_epon_oam_buf *buf);
14649
14650/** Packs a bcmolt_epon_oam_tek_alarm_code to bytes
14651 *
14652 * \param this The enumeration to pack
14653 * \param buf Pointer to the buffer to write to
14654 * \return Whether or not the pack was successful
14655 */
14656bcmos_bool bcmolt_epon_oam_tek_alarm_code_pack(bcmolt_epon_oam_tek_alarm_code this, bcmolt_epon_oam_buf *buf);
14657
14658/** Unpacks a bcmolt_epon_oam_tek_alarm_code from bytes
14659 *
14660 * \param this Pointer to the enumeration to unpack
14661 * \param buf Pointer to the buffer to write to
14662 * \return Whether or not the unpack was successful
14663 */
14664bcmos_bool bcmolt_epon_oam_tek_alarm_code_unpack(bcmolt_epon_oam_tek_alarm_code *this, bcmolt_epon_oam_buf *buf);
14665
14666/** Packs a bcmolt_epon_oam_tek_alarm_context to bytes
14667 *
14668 * \param this The enumeration to pack
14669 * \param buf Pointer to the buffer to write to
14670 * \return Whether or not the pack was successful
14671 */
14672bcmos_bool bcmolt_epon_oam_tek_alarm_context_pack(bcmolt_epon_oam_tek_alarm_context this, bcmolt_epon_oam_buf *buf);
14673
14674/** Unpacks a bcmolt_epon_oam_tek_alarm_context from bytes
14675 *
14676 * \param this Pointer to the enumeration to unpack
14677 * \param buf Pointer to the buffer to write to
14678 * \return Whether or not the unpack was successful
14679 */
14680bcmos_bool bcmolt_epon_oam_tek_alarm_context_unpack(bcmolt_epon_oam_tek_alarm_context *this, bcmolt_epon_oam_buf *buf);
14681
14682/** Packs a bcmolt_epon_oam_var_branch to bytes
14683 *
14684 * \param this The enumeration to pack
14685 * \param buf Pointer to the buffer to write to
14686 * \return Whether or not the pack was successful
14687 */
14688bcmos_bool bcmolt_epon_oam_var_branch_pack(bcmolt_epon_oam_var_branch this, bcmolt_epon_oam_buf *buf);
14689
14690/** Unpacks a bcmolt_epon_oam_var_branch from bytes
14691 *
14692 * \param this Pointer to the enumeration to unpack
14693 * \param buf Pointer to the buffer to write to
14694 * \return Whether or not the unpack was successful
14695 */
14696bcmos_bool bcmolt_epon_oam_var_branch_unpack(bcmolt_epon_oam_var_branch *this, bcmolt_epon_oam_buf *buf);
14697
14698/** Packs a bcmolt_epon_oam_var_leaf_object to bytes
14699 *
14700 * \param this The enumeration to pack
14701 * \param buf Pointer to the buffer to write to
14702 * \return Whether or not the pack was successful
14703 */
14704bcmos_bool bcmolt_epon_oam_var_leaf_object_pack(bcmolt_epon_oam_var_leaf_object this, bcmolt_epon_oam_buf *buf);
14705
14706/** Unpacks a bcmolt_epon_oam_var_leaf_object from bytes
14707 *
14708 * \param this Pointer to the enumeration to unpack
14709 * \param buf Pointer to the buffer to write to
14710 * \return Whether or not the unpack was successful
14711 */
14712bcmos_bool bcmolt_epon_oam_var_leaf_object_unpack(bcmolt_epon_oam_var_leaf_object *this, bcmolt_epon_oam_buf *buf);
14713
14714/** Packs a bcmolt_epon_oam_var_leaf_package to bytes
14715 *
14716 * \param this The enumeration to pack
14717 * \param buf Pointer to the buffer to write to
14718 * \return Whether or not the pack was successful
14719 */
14720bcmos_bool bcmolt_epon_oam_var_leaf_package_pack(bcmolt_epon_oam_var_leaf_package this, bcmolt_epon_oam_buf *buf);
14721
14722/** Unpacks a bcmolt_epon_oam_var_leaf_package from bytes
14723 *
14724 * \param this Pointer to the enumeration to unpack
14725 * \param buf Pointer to the buffer to write to
14726 * \return Whether or not the unpack was successful
14727 */
14728bcmos_bool bcmolt_epon_oam_var_leaf_package_unpack(bcmolt_epon_oam_var_leaf_package *this, bcmolt_epon_oam_buf *buf);
14729
14730/** Packs a bcmolt_epon_oam_var_leaf_name_binding to bytes
14731 *
14732 * \param this The enumeration to pack
14733 * \param buf Pointer to the buffer to write to
14734 * \return Whether or not the pack was successful
14735 */
14736bcmos_bool bcmolt_epon_oam_var_leaf_name_binding_pack(bcmolt_epon_oam_var_leaf_name_binding this, bcmolt_epon_oam_buf *buf);
14737
14738/** Unpacks a bcmolt_epon_oam_var_leaf_name_binding from bytes
14739 *
14740 * \param this Pointer to the enumeration to unpack
14741 * \param buf Pointer to the buffer to write to
14742 * \return Whether or not the unpack was successful
14743 */
14744bcmos_bool bcmolt_epon_oam_var_leaf_name_binding_unpack(bcmolt_epon_oam_var_leaf_name_binding *this, bcmolt_epon_oam_buf *buf);
14745
14746/** Packs a bcmolt_epon_oam_remote_loopback_command to bytes
14747 *
14748 * \param this The enumeration to pack
14749 * \param buf Pointer to the buffer to write to
14750 * \return Whether or not the pack was successful
14751 */
14752bcmos_bool bcmolt_epon_oam_remote_loopback_command_pack(bcmolt_epon_oam_remote_loopback_command this, bcmolt_epon_oam_buf *buf);
14753
14754/** Unpacks a bcmolt_epon_oam_remote_loopback_command from bytes
14755 *
14756 * \param this Pointer to the enumeration to unpack
14757 * \param buf Pointer to the buffer to write to
14758 * \return Whether or not the unpack was successful
14759 */
14760bcmos_bool bcmolt_epon_oam_remote_loopback_command_unpack(bcmolt_epon_oam_remote_loopback_command *this, bcmolt_epon_oam_buf *buf);
14761
14762/** Packs a bcmolt_epon_oam_tek_opcode to bytes
14763 *
14764 * \param this The enumeration to pack
14765 * \param buf Pointer to the buffer to write to
14766 * \return Whether or not the pack was successful
14767 */
14768bcmos_bool bcmolt_epon_oam_tek_opcode_pack(bcmolt_epon_oam_tek_opcode this, bcmolt_epon_oam_buf *buf);
14769
14770/** Unpacks a bcmolt_epon_oam_tek_opcode from bytes
14771 *
14772 * \param this Pointer to the enumeration to unpack
14773 * \param buf Pointer to the buffer to write to
14774 * \return Whether or not the unpack was successful
14775 */
14776bcmos_bool bcmolt_epon_oam_tek_opcode_unpack(bcmolt_epon_oam_tek_opcode *this, bcmolt_epon_oam_buf *buf);
14777
14778/** Packs a bcmolt_epon_oam_tek_branch to bytes
14779 *
14780 * \param this The enumeration to pack
14781 * \param buf Pointer to the buffer to write to
14782 * \return Whether or not the pack was successful
14783 */
14784bcmos_bool bcmolt_epon_oam_tek_branch_pack(bcmolt_epon_oam_tek_branch this, bcmolt_epon_oam_buf *buf);
14785
14786/** Unpacks a bcmolt_epon_oam_tek_branch from bytes
14787 *
14788 * \param this Pointer to the enumeration to unpack
14789 * \param buf Pointer to the buffer to write to
14790 * \return Whether or not the unpack was successful
14791 */
14792bcmos_bool bcmolt_epon_oam_tek_branch_unpack(bcmolt_epon_oam_tek_branch *this, bcmolt_epon_oam_buf *buf);
14793
14794/** Packs a bcmolt_epon_oam_tek_object_type to bytes
14795 *
14796 * \param this The enumeration to pack
14797 * \param buf Pointer to the buffer to write to
14798 * \return Whether or not the pack was successful
14799 */
14800bcmos_bool bcmolt_epon_oam_tek_object_type_pack(bcmolt_epon_oam_tek_object_type this, bcmolt_epon_oam_buf *buf);
14801
14802/** Unpacks a bcmolt_epon_oam_tek_object_type from bytes
14803 *
14804 * \param this Pointer to the enumeration to unpack
14805 * \param buf Pointer to the buffer to write to
14806 * \return Whether or not the unpack was successful
14807 */
14808bcmos_bool bcmolt_epon_oam_tek_object_type_unpack(bcmolt_epon_oam_tek_object_type *this, bcmolt_epon_oam_buf *buf);
14809
14810/** Packs a bcmolt_epon_oam_flow_direction to bytes
14811 *
14812 * \param this The enumeration to pack
14813 * \param buf Pointer to the buffer to write to
14814 * \return Whether or not the pack was successful
14815 */
14816bcmos_bool bcmolt_epon_oam_flow_direction_pack(bcmolt_epon_oam_flow_direction this, bcmolt_epon_oam_buf *buf);
14817
14818/** Unpacks a bcmolt_epon_oam_flow_direction from bytes
14819 *
14820 * \param this Pointer to the enumeration to unpack
14821 * \param buf Pointer to the buffer to write to
14822 * \return Whether or not the unpack was successful
14823 */
14824bcmos_bool bcmolt_epon_oam_flow_direction_unpack(bcmolt_epon_oam_flow_direction *this, bcmolt_epon_oam_buf *buf);
14825
14826/** Packs a bcmolt_epon_oam_tek_leaf_attribute to bytes
14827 *
14828 * \param this The enumeration to pack
14829 * \param buf Pointer to the buffer to write to
14830 * \return Whether or not the pack was successful
14831 */
14832bcmos_bool bcmolt_epon_oam_tek_leaf_attribute_pack(bcmolt_epon_oam_tek_leaf_attribute this, bcmolt_epon_oam_buf *buf);
14833
14834/** Unpacks a bcmolt_epon_oam_tek_leaf_attribute from bytes
14835 *
14836 * \param this Pointer to the enumeration to unpack
14837 * \param buf Pointer to the buffer to write to
14838 * \return Whether or not the unpack was successful
14839 */
14840bcmos_bool bcmolt_epon_oam_tek_leaf_attribute_unpack(bcmolt_epon_oam_tek_leaf_attribute *this, bcmolt_epon_oam_buf *buf);
14841
14842/** Packs a bcmolt_epon_oam_tek_leaf_action to bytes
14843 *
14844 * \param this The enumeration to pack
14845 * \param buf Pointer to the buffer to write to
14846 * \return Whether or not the pack was successful
14847 */
14848bcmos_bool bcmolt_epon_oam_tek_leaf_action_pack(bcmolt_epon_oam_tek_leaf_action this, bcmolt_epon_oam_buf *buf);
14849
14850/** Unpacks a bcmolt_epon_oam_tek_leaf_action from bytes
14851 *
14852 * \param this Pointer to the enumeration to unpack
14853 * \param buf Pointer to the buffer to write to
14854 * \return Whether or not the unpack was successful
14855 */
14856bcmos_bool bcmolt_epon_oam_tek_leaf_action_unpack(bcmolt_epon_oam_tek_leaf_action *this, bcmolt_epon_oam_buf *buf);
14857
14858/** Packs a bcmolt_epon_oam_tek_onu_rule_flags to bytes
14859 *
14860 * \param this The enumeration to pack
14861 * \param buf Pointer to the buffer to write to
14862 * \return Whether or not the pack was successful
14863 */
14864bcmos_bool bcmolt_epon_oam_tek_onu_rule_flags_pack(bcmolt_epon_oam_tek_onu_rule_flags this, bcmolt_epon_oam_buf *buf);
14865
14866/** Unpacks a bcmolt_epon_oam_tek_onu_rule_flags from bytes
14867 *
14868 * \param this Pointer to the enumeration to unpack
14869 * \param buf Pointer to the buffer to write to
14870 * \return Whether or not the unpack was successful
14871 */
14872bcmos_bool bcmolt_epon_oam_tek_onu_rule_flags_unpack(bcmolt_epon_oam_tek_onu_rule_flags *this, bcmolt_epon_oam_buf *buf);
14873
14874/** Packs a bcmolt_epon_oam_tek_onu_rule_action to bytes
14875 *
14876 * \param this The enumeration to pack
14877 * \param buf Pointer to the buffer to write to
14878 * \return Whether or not the pack was successful
14879 */
14880bcmos_bool bcmolt_epon_oam_tek_onu_rule_action_pack(bcmolt_epon_oam_tek_onu_rule_action this, bcmolt_epon_oam_buf *buf);
14881
14882/** Unpacks a bcmolt_epon_oam_tek_onu_rule_action from bytes
14883 *
14884 * \param this Pointer to the enumeration to unpack
14885 * \param buf Pointer to the buffer to write to
14886 * \return Whether or not the unpack was successful
14887 */
14888bcmos_bool bcmolt_epon_oam_tek_onu_rule_action_unpack(bcmolt_epon_oam_tek_onu_rule_action *this, bcmolt_epon_oam_buf *buf);
14889
14890/** Packs a bcmolt_epon_oam_tek_onu_field_select to bytes
14891 *
14892 * \param this The enumeration to pack
14893 * \param buf Pointer to the buffer to write to
14894 * \return Whether or not the pack was successful
14895 */
14896bcmos_bool bcmolt_epon_oam_tek_onu_field_select_pack(bcmolt_epon_oam_tek_onu_field_select this, bcmolt_epon_oam_buf *buf);
14897
14898/** Unpacks a bcmolt_epon_oam_tek_onu_field_select from bytes
14899 *
14900 * \param this Pointer to the enumeration to unpack
14901 * \param buf Pointer to the buffer to write to
14902 * \return Whether or not the unpack was successful
14903 */
14904bcmos_bool bcmolt_epon_oam_tek_onu_field_select_unpack(bcmolt_epon_oam_tek_onu_field_select *this, bcmolt_epon_oam_buf *buf);
14905
14906/** Packs a bcmolt_epon_oam_tek_onu_rule_operator to bytes
14907 *
14908 * \param this The enumeration to pack
14909 * \param buf Pointer to the buffer to write to
14910 * \return Whether or not the pack was successful
14911 */
14912bcmos_bool bcmolt_epon_oam_tek_onu_rule_operator_pack(bcmolt_epon_oam_tek_onu_rule_operator this, bcmolt_epon_oam_buf *buf);
14913
14914/** Unpacks a bcmolt_epon_oam_tek_onu_rule_operator from bytes
14915 *
14916 * \param this Pointer to the enumeration to unpack
14917 * \param buf Pointer to the buffer to write to
14918 * \return Whether or not the unpack was successful
14919 */
14920bcmos_bool bcmolt_epon_oam_tek_onu_rule_operator_unpack(bcmolt_epon_oam_tek_onu_rule_operator *this, bcmolt_epon_oam_buf *buf);
14921
14922/** Packs a bcmolt_epon_oam_onu_psstate to bytes
14923 *
14924 * \param this The enumeration to pack
14925 * \param buf Pointer to the buffer to write to
14926 * \return Whether or not the pack was successful
14927 */
14928bcmos_bool bcmolt_epon_oam_onu_psstate_pack(bcmolt_epon_oam_onu_psstate this, bcmolt_epon_oam_buf *buf);
14929
14930/** Unpacks a bcmolt_epon_oam_onu_psstate from bytes
14931 *
14932 * \param this Pointer to the enumeration to unpack
14933 * \param buf Pointer to the buffer to write to
14934 * \return Whether or not the unpack was successful
14935 */
14936bcmos_bool bcmolt_epon_oam_onu_psstate_unpack(bcmolt_epon_oam_onu_psstate *this, bcmolt_epon_oam_buf *buf);
14937
14938/** Packs a bcmolt_epon_oam_tek_learn_table_mode to bytes
14939 *
14940 * \param this The enumeration to pack
14941 * \param buf Pointer to the buffer to write to
14942 * \return Whether or not the pack was successful
14943 */
14944bcmos_bool bcmolt_epon_oam_tek_learn_table_mode_pack(bcmolt_epon_oam_tek_learn_table_mode this, bcmolt_epon_oam_buf *buf);
14945
14946/** Unpacks a bcmolt_epon_oam_tek_learn_table_mode from bytes
14947 *
14948 * \param this Pointer to the enumeration to unpack
14949 * \param buf Pointer to the buffer to write to
14950 * \return Whether or not the unpack was successful
14951 */
14952bcmos_bool bcmolt_epon_oam_tek_learn_table_mode_unpack(bcmolt_epon_oam_tek_learn_table_mode *this, bcmolt_epon_oam_buf *buf);
14953
14954/** Packs a bcmolt_epon_oam_tek_vlan_destination_match_mode to bytes
14955 *
14956 * \param this The enumeration to pack
14957 * \param buf Pointer to the buffer to write to
14958 * \return Whether or not the pack was successful
14959 */
14960bcmos_bool bcmolt_epon_oam_tek_vlan_destination_match_mode_pack(bcmolt_epon_oam_tek_vlan_destination_match_mode this, bcmolt_epon_oam_buf *buf);
14961
14962/** Unpacks a bcmolt_epon_oam_tek_vlan_destination_match_mode from bytes
14963 *
14964 * \param this Pointer to the enumeration to unpack
14965 * \param buf Pointer to the buffer to write to
14966 * \return Whether or not the unpack was successful
14967 */
14968bcmos_bool bcmolt_epon_oam_tek_vlan_destination_match_mode_unpack(bcmolt_epon_oam_tek_vlan_destination_match_mode *this, bcmolt_epon_oam_buf *buf);
14969
14970/** Packs a bcmolt_epon_oam_tek_vlan_destination_flags to bytes
14971 *
14972 * \param this The enumeration to pack
14973 * \param buf Pointer to the buffer to write to
14974 * \return Whether or not the pack was successful
14975 */
14976bcmos_bool bcmolt_epon_oam_tek_vlan_destination_flags_pack(bcmolt_epon_oam_tek_vlan_destination_flags this, bcmolt_epon_oam_buf *buf);
14977
14978/** Unpacks a bcmolt_epon_oam_tek_vlan_destination_flags from bytes
14979 *
14980 * \param this Pointer to the enumeration to unpack
14981 * \param buf Pointer to the buffer to write to
14982 * \return Whether or not the unpack was successful
14983 */
14984bcmos_bool bcmolt_epon_oam_tek_vlan_destination_flags_unpack(bcmolt_epon_oam_tek_vlan_destination_flags *this, bcmolt_epon_oam_buf *buf);
14985
14986/** Packs a bcmolt_epon_oam_tek_encryption_mode to bytes
14987 *
14988 * \param this The enumeration to pack
14989 * \param buf Pointer to the buffer to write to
14990 * \return Whether or not the pack was successful
14991 */
14992bcmos_bool bcmolt_epon_oam_tek_encryption_mode_pack(bcmolt_epon_oam_tek_encryption_mode this, bcmolt_epon_oam_buf *buf);
14993
14994/** Unpacks a bcmolt_epon_oam_tek_encryption_mode from bytes
14995 *
14996 * \param this Pointer to the enumeration to unpack
14997 * \param buf Pointer to the buffer to write to
14998 * \return Whether or not the unpack was successful
14999 */
15000bcmos_bool bcmolt_epon_oam_tek_encryption_mode_unpack(bcmolt_epon_oam_tek_encryption_mode *this, bcmolt_epon_oam_buf *buf);
15001
15002/** Packs a bcmolt_epon_oam_tek_encryption_options to bytes
15003 *
15004 * \param this The enumeration to pack
15005 * \param buf Pointer to the buffer to write to
15006 * \return Whether or not the pack was successful
15007 */
15008bcmos_bool bcmolt_epon_oam_tek_encryption_options_pack(bcmolt_epon_oam_tek_encryption_options this, bcmolt_epon_oam_buf *buf);
15009
15010/** Unpacks a bcmolt_epon_oam_tek_encryption_options from bytes
15011 *
15012 * \param this Pointer to the enumeration to unpack
15013 * \param buf Pointer to the buffer to write to
15014 * \return Whether or not the unpack was successful
15015 */
15016bcmos_bool bcmolt_epon_oam_tek_encryption_options_unpack(bcmolt_epon_oam_tek_encryption_options *this, bcmolt_epon_oam_buf *buf);
15017
15018/** Packs a bcmolt_epon_oam_rule_field_select to bytes
15019 *
15020 * \param this The enumeration to pack
15021 * \param buf Pointer to the buffer to write to
15022 * \return Whether or not the pack was successful
15023 */
15024bcmos_bool bcmolt_epon_oam_rule_field_select_pack(bcmolt_epon_oam_rule_field_select this, bcmolt_epon_oam_buf *buf);
15025
15026/** Unpacks a bcmolt_epon_oam_rule_field_select from bytes
15027 *
15028 * \param this Pointer to the enumeration to unpack
15029 * \param buf Pointer to the buffer to write to
15030 * \return Whether or not the unpack was successful
15031 */
15032bcmos_bool bcmolt_epon_oam_rule_field_select_unpack(bcmolt_epon_oam_rule_field_select *this, bcmolt_epon_oam_buf *buf);
15033
15034/** Packs a bcmolt_epon_oam_rule_action to bytes
15035 *
15036 * \param this The enumeration to pack
15037 * \param buf Pointer to the buffer to write to
15038 * \return Whether or not the pack was successful
15039 */
15040bcmos_bool bcmolt_epon_oam_rule_action_pack(bcmolt_epon_oam_rule_action this, bcmolt_epon_oam_buf *buf);
15041
15042/** Unpacks a bcmolt_epon_oam_rule_action from bytes
15043 *
15044 * \param this Pointer to the enumeration to unpack
15045 * \param buf Pointer to the buffer to write to
15046 * \return Whether or not the unpack was successful
15047 */
15048bcmos_bool bcmolt_epon_oam_rule_action_unpack(bcmolt_epon_oam_rule_action *this, bcmolt_epon_oam_buf *buf);
15049
15050/** Packs a bcmolt_epon_oam_tek_maturity to bytes
15051 *
15052 * \param this The enumeration to pack
15053 * \param buf Pointer to the buffer to write to
15054 * \return Whether or not the pack was successful
15055 */
15056bcmos_bool bcmolt_epon_oam_tek_maturity_pack(bcmolt_epon_oam_tek_maturity this, bcmolt_epon_oam_buf *buf);
15057
15058/** Unpacks a bcmolt_epon_oam_tek_maturity from bytes
15059 *
15060 * \param this Pointer to the enumeration to unpack
15061 * \param buf Pointer to the buffer to write to
15062 * \return Whether or not the unpack was successful
15063 */
15064bcmos_bool bcmolt_epon_oam_tek_maturity_unpack(bcmolt_epon_oam_tek_maturity *this, bcmolt_epon_oam_buf *buf);
15065
15066/** Packs a bcmolt_epon_oam_file_type to bytes
15067 *
15068 * \param this The enumeration to pack
15069 * \param buf Pointer to the buffer to write to
15070 * \return Whether or not the pack was successful
15071 */
15072bcmos_bool bcmolt_epon_oam_file_type_pack(bcmolt_epon_oam_file_type this, bcmolt_epon_oam_buf *buf);
15073
15074/** Unpacks a bcmolt_epon_oam_file_type from bytes
15075 *
15076 * \param this Pointer to the enumeration to unpack
15077 * \param buf Pointer to the buffer to write to
15078 * \return Whether or not the unpack was successful
15079 */
15080bcmos_bool bcmolt_epon_oam_file_type_unpack(bcmolt_epon_oam_file_type *this, bcmolt_epon_oam_buf *buf);
15081
15082/** Packs a bcmolt_epon_oam_nvs_state to bytes
15083 *
15084 * \param this The enumeration to pack
15085 * \param buf Pointer to the buffer to write to
15086 * \return Whether or not the pack was successful
15087 */
15088bcmos_bool bcmolt_epon_oam_nvs_state_pack(bcmolt_epon_oam_nvs_state this, bcmolt_epon_oam_buf *buf);
15089
15090/** Unpacks a bcmolt_epon_oam_nvs_state from bytes
15091 *
15092 * \param this Pointer to the enumeration to unpack
15093 * \param buf Pointer to the buffer to write to
15094 * \return Whether or not the unpack was successful
15095 */
15096bcmos_bool bcmolt_epon_oam_nvs_state_unpack(bcmolt_epon_oam_nvs_state *this, bcmolt_epon_oam_buf *buf);
15097
15098/** Packs a bcmolt_epon_oam_tek_queue_config_v2subtype to bytes
15099 *
15100 * \param this The enumeration to pack
15101 * \param buf Pointer to the buffer to write to
15102 * \return Whether or not the pack was successful
15103 */
15104bcmos_bool bcmolt_epon_oam_tek_queue_config_v2subtype_pack(bcmolt_epon_oam_tek_queue_config_v2subtype this, bcmolt_epon_oam_buf *buf);
15105
15106/** Unpacks a bcmolt_epon_oam_tek_queue_config_v2subtype from bytes
15107 *
15108 * \param this Pointer to the enumeration to unpack
15109 * \param buf Pointer to the buffer to write to
15110 * \return Whether or not the unpack was successful
15111 */
15112bcmos_bool bcmolt_epon_oam_tek_queue_config_v2subtype_unpack(bcmolt_epon_oam_tek_queue_config_v2subtype *this, bcmolt_epon_oam_buf *buf);
15113
15114/** Packs a bcmolt_epon_oam_tek_report_mode to bytes
15115 *
15116 * \param this The enumeration to pack
15117 * \param buf Pointer to the buffer to write to
15118 * \return Whether or not the pack was successful
15119 */
15120bcmos_bool bcmolt_epon_oam_tek_report_mode_pack(bcmolt_epon_oam_tek_report_mode this, bcmolt_epon_oam_buf *buf);
15121
15122/** Unpacks a bcmolt_epon_oam_tek_report_mode from bytes
15123 *
15124 * \param this Pointer to the enumeration to unpack
15125 * \param buf Pointer to the buffer to write to
15126 * \return Whether or not the unpack was successful
15127 */
15128bcmos_bool bcmolt_epon_oam_tek_report_mode_unpack(bcmolt_epon_oam_tek_report_mode *this, bcmolt_epon_oam_buf *buf);
15129
15130/** Packs a bcmolt_epon_oam_tek_feature_set to bytes
15131 *
15132 * \param this The enumeration to pack
15133 * \param buf Pointer to the buffer to write to
15134 * \return Whether or not the pack was successful
15135 */
15136bcmos_bool bcmolt_epon_oam_tek_feature_set_pack(bcmolt_epon_oam_tek_feature_set this, bcmolt_epon_oam_buf *buf);
15137
15138/** Unpacks a bcmolt_epon_oam_tek_feature_set from bytes
15139 *
15140 * \param this Pointer to the enumeration to unpack
15141 * \param buf Pointer to the buffer to write to
15142 * \return Whether or not the unpack was successful
15143 */
15144bcmos_bool bcmolt_epon_oam_tek_feature_set_unpack(bcmolt_epon_oam_tek_feature_set *this, bcmolt_epon_oam_buf *buf);
15145
15146/** Packs a bcmolt_epon_oam_mcast_snoop_mode to bytes
15147 *
15148 * \param this The enumeration to pack
15149 * \param buf Pointer to the buffer to write to
15150 * \return Whether or not the pack was successful
15151 */
15152bcmos_bool bcmolt_epon_oam_mcast_snoop_mode_pack(bcmolt_epon_oam_mcast_snoop_mode this, bcmolt_epon_oam_buf *buf);
15153
15154/** Unpacks a bcmolt_epon_oam_mcast_snoop_mode from bytes
15155 *
15156 * \param this Pointer to the enumeration to unpack
15157 * \param buf Pointer to the buffer to write to
15158 * \return Whether or not the unpack was successful
15159 */
15160bcmos_bool bcmolt_epon_oam_mcast_snoop_mode_unpack(bcmolt_epon_oam_mcast_snoop_mode *this, bcmolt_epon_oam_buf *buf);
15161
15162/** Packs a bcmolt_epon_oam_ipmc_global_options to bytes
15163 *
15164 * \param this The enumeration to pack
15165 * \param buf Pointer to the buffer to write to
15166 * \return Whether or not the pack was successful
15167 */
15168bcmos_bool bcmolt_epon_oam_ipmc_global_options_pack(bcmolt_epon_oam_ipmc_global_options this, bcmolt_epon_oam_buf *buf);
15169
15170/** Unpacks a bcmolt_epon_oam_ipmc_global_options from bytes
15171 *
15172 * \param this Pointer to the enumeration to unpack
15173 * \param buf Pointer to the buffer to write to
15174 * \return Whether or not the unpack was successful
15175 */
15176bcmos_bool bcmolt_epon_oam_ipmc_global_options_unpack(bcmolt_epon_oam_ipmc_global_options *this, bcmolt_epon_oam_buf *buf);
15177
15178/** Packs a bcmolt_epon_oam_forward_qualifier to bytes
15179 *
15180 * \param this The enumeration to pack
15181 * \param buf Pointer to the buffer to write to
15182 * \return Whether or not the pack was successful
15183 */
15184bcmos_bool bcmolt_epon_oam_forward_qualifier_pack(bcmolt_epon_oam_forward_qualifier this, bcmolt_epon_oam_buf *buf);
15185
15186/** Unpacks a bcmolt_epon_oam_forward_qualifier from bytes
15187 *
15188 * \param this Pointer to the enumeration to unpack
15189 * \param buf Pointer to the buffer to write to
15190 * \return Whether or not the unpack was successful
15191 */
15192bcmos_bool bcmolt_epon_oam_forward_qualifier_unpack(bcmolt_epon_oam_forward_qualifier *this, bcmolt_epon_oam_buf *buf);
15193
15194/** Packs a bcmolt_epon_oam_tek_holdover_flags to bytes
15195 *
15196 * \param this The enumeration to pack
15197 * \param buf Pointer to the buffer to write to
15198 * \return Whether or not the pack was successful
15199 */
15200bcmos_bool bcmolt_epon_oam_tek_holdover_flags_pack(bcmolt_epon_oam_tek_holdover_flags this, bcmolt_epon_oam_buf *buf);
15201
15202/** Unpacks a bcmolt_epon_oam_tek_holdover_flags from bytes
15203 *
15204 * \param this Pointer to the enumeration to unpack
15205 * \param buf Pointer to the buffer to write to
15206 * \return Whether or not the unpack was successful
15207 */
15208bcmos_bool bcmolt_epon_oam_tek_holdover_flags_unpack(bcmolt_epon_oam_tek_holdover_flags *this, bcmolt_epon_oam_buf *buf);
15209
15210/** Packs a bcmolt_epon_oam_mdi_mode to bytes
15211 *
15212 * \param this The enumeration to pack
15213 * \param buf Pointer to the buffer to write to
15214 * \return Whether or not the pack was successful
15215 */
15216bcmos_bool bcmolt_epon_oam_mdi_mode_pack(bcmolt_epon_oam_mdi_mode this, bcmolt_epon_oam_buf *buf);
15217
15218/** Unpacks a bcmolt_epon_oam_mdi_mode from bytes
15219 *
15220 * \param this Pointer to the enumeration to unpack
15221 * \param buf Pointer to the buffer to write to
15222 * \return Whether or not the unpack was successful
15223 */
15224bcmos_bool bcmolt_epon_oam_mdi_mode_unpack(bcmolt_epon_oam_mdi_mode *this, bcmolt_epon_oam_buf *buf);
15225
15226/** Packs a bcmolt_epon_oam_tek_igmp_forwarding_qualifer to bytes
15227 *
15228 * \param this The enumeration to pack
15229 * \param buf Pointer to the buffer to write to
15230 * \return Whether or not the pack was successful
15231 */
15232bcmos_bool bcmolt_epon_oam_tek_igmp_forwarding_qualifer_pack(bcmolt_epon_oam_tek_igmp_forwarding_qualifer this, bcmolt_epon_oam_buf *buf);
15233
15234/** Unpacks a bcmolt_epon_oam_tek_igmp_forwarding_qualifer from bytes
15235 *
15236 * \param this Pointer to the enumeration to unpack
15237 * \param buf Pointer to the buffer to write to
15238 * \return Whether or not the unpack was successful
15239 */
15240bcmos_bool bcmolt_epon_oam_tek_igmp_forwarding_qualifer_unpack(bcmolt_epon_oam_tek_igmp_forwarding_qualifer *this, bcmolt_epon_oam_buf *buf);
15241
15242/** Packs a bcmolt_epon_oam_tek_igmp_snooping_options to bytes
15243 *
15244 * \param this The enumeration to pack
15245 * \param buf Pointer to the buffer to write to
15246 * \return Whether or not the pack was successful
15247 */
15248bcmos_bool bcmolt_epon_oam_tek_igmp_snooping_options_pack(bcmolt_epon_oam_tek_igmp_snooping_options this, bcmolt_epon_oam_buf *buf);
15249
15250/** Unpacks a bcmolt_epon_oam_tek_igmp_snooping_options from bytes
15251 *
15252 * \param this Pointer to the enumeration to unpack
15253 * \param buf Pointer to the buffer to write to
15254 * \return Whether or not the unpack was successful
15255 */
15256bcmos_bool bcmolt_epon_oam_tek_igmp_snooping_options_unpack(bcmolt_epon_oam_tek_igmp_snooping_options *this, bcmolt_epon_oam_buf *buf);
15257
15258/** Packs a bcmolt_epon_oam_sleep_options to bytes
15259 *
15260 * \param this The enumeration to pack
15261 * \param buf Pointer to the buffer to write to
15262 * \return Whether or not the pack was successful
15263 */
15264bcmos_bool bcmolt_epon_oam_sleep_options_pack(bcmolt_epon_oam_sleep_options this, bcmolt_epon_oam_buf *buf);
15265
15266/** Unpacks a bcmolt_epon_oam_sleep_options from bytes
15267 *
15268 * \param this Pointer to the enumeration to unpack
15269 * \param buf Pointer to the buffer to write to
15270 * \return Whether or not the unpack was successful
15271 */
15272bcmos_bool bcmolt_epon_oam_sleep_options_unpack(bcmolt_epon_oam_sleep_options *this, bcmolt_epon_oam_buf *buf);
15273
15274/** Packs a bcmolt_epon_oam_ieee_register_flags to bytes
15275 *
15276 * \param this The enumeration to pack
15277 * \param buf Pointer to the buffer to write to
15278 * \return Whether or not the pack was successful
15279 */
15280bcmos_bool bcmolt_epon_oam_ieee_register_flags_pack(bcmolt_epon_oam_ieee_register_flags this, bcmolt_epon_oam_buf *buf);
15281
15282/** Unpacks a bcmolt_epon_oam_ieee_register_flags from bytes
15283 *
15284 * \param this Pointer to the enumeration to unpack
15285 * \param buf Pointer to the buffer to write to
15286 * \return Whether or not the unpack was successful
15287 */
15288bcmos_bool bcmolt_epon_oam_ieee_register_flags_unpack(bcmolt_epon_oam_ieee_register_flags *this, bcmolt_epon_oam_buf *buf);
15289
15290/** Packs a bcmolt_epon_oam_ieee_register_ack_flags to bytes
15291 *
15292 * \param this The enumeration to pack
15293 * \param buf Pointer to the buffer to write to
15294 * \return Whether or not the pack was successful
15295 */
15296bcmos_bool bcmolt_epon_oam_ieee_register_ack_flags_pack(bcmolt_epon_oam_ieee_register_ack_flags this, bcmolt_epon_oam_buf *buf);
15297
15298/** Unpacks a bcmolt_epon_oam_ieee_register_ack_flags from bytes
15299 *
15300 * \param this Pointer to the enumeration to unpack
15301 * \param buf Pointer to the buffer to write to
15302 * \return Whether or not the unpack was successful
15303 */
15304bcmos_bool bcmolt_epon_oam_ieee_register_ack_flags_unpack(bcmolt_epon_oam_ieee_register_ack_flags *this, bcmolt_epon_oam_buf *buf);
15305
15306/** Packs a bcmolt_epon_oam_tek_file_transfer_error to bytes
15307 *
15308 * \param this The enumeration to pack
15309 * \param buf Pointer to the buffer to write to
15310 * \return Whether or not the pack was successful
15311 */
15312bcmos_bool bcmolt_epon_oam_tek_file_transfer_error_pack(bcmolt_epon_oam_tek_file_transfer_error this, bcmolt_epon_oam_buf *buf);
15313
15314/** Unpacks a bcmolt_epon_oam_tek_file_transfer_error from bytes
15315 *
15316 * \param this Pointer to the enumeration to unpack
15317 * \param buf Pointer to the buffer to write to
15318 * \return Whether or not the unpack was successful
15319 */
15320bcmos_bool bcmolt_epon_oam_tek_file_transfer_error_unpack(bcmolt_epon_oam_tek_file_transfer_error *this, bcmolt_epon_oam_buf *buf);
15321
15322/** Packs a bcmolt_epon_oam_tek_file_type to bytes
15323 *
15324 * \param this The enumeration to pack
15325 * \param buf Pointer to the buffer to write to
15326 * \return Whether or not the pack was successful
15327 */
15328bcmos_bool bcmolt_epon_oam_tek_file_type_pack(bcmolt_epon_oam_tek_file_type this, bcmolt_epon_oam_buf *buf);
15329
15330/** Unpacks a bcmolt_epon_oam_tek_file_type from bytes
15331 *
15332 * \param this Pointer to the enumeration to unpack
15333 * \param buf Pointer to the buffer to write to
15334 * \return Whether or not the unpack was successful
15335 */
15336bcmos_bool bcmolt_epon_oam_tek_file_type_unpack(bcmolt_epon_oam_tek_file_type *this, bcmolt_epon_oam_buf *buf);
15337
15338/** Packs a bcmolt_epon_oam_pmc_op_code to bytes
15339 *
15340 * \param this The enumeration to pack
15341 * \param buf Pointer to the buffer to write to
15342 * \return Whether or not the pack was successful
15343 */
15344bcmos_bool bcmolt_epon_oam_pmc_op_code_pack(bcmolt_epon_oam_pmc_op_code this, bcmolt_epon_oam_buf *buf);
15345
15346/** Unpacks a bcmolt_epon_oam_pmc_op_code from bytes
15347 *
15348 * \param this Pointer to the enumeration to unpack
15349 * \param buf Pointer to the buffer to write to
15350 * \return Whether or not the unpack was successful
15351 */
15352bcmos_bool bcmolt_epon_oam_pmc_op_code_unpack(bcmolt_epon_oam_pmc_op_code *this, bcmolt_epon_oam_buf *buf);
15353
15354/** Packs a bcmolt_epon_oam_pmc_file_op to bytes
15355 *
15356 * \param this The enumeration to pack
15357 * \param buf Pointer to the buffer to write to
15358 * \return Whether or not the pack was successful
15359 */
15360bcmos_bool bcmolt_epon_oam_pmc_file_op_pack(bcmolt_epon_oam_pmc_file_op this, bcmolt_epon_oam_buf *buf);
15361
15362/** Unpacks a bcmolt_epon_oam_pmc_file_op from bytes
15363 *
15364 * \param this Pointer to the enumeration to unpack
15365 * \param buf Pointer to the buffer to write to
15366 * \return Whether or not the unpack was successful
15367 */
15368bcmos_bool bcmolt_epon_oam_pmc_file_op_unpack(bcmolt_epon_oam_pmc_file_op *this, bcmolt_epon_oam_buf *buf);
15369
15370/** Packs a bcmolt_epon_oam_pmc_error_code to bytes
15371 *
15372 * \param this The enumeration to pack
15373 * \param buf Pointer to the buffer to write to
15374 * \return Whether or not the pack was successful
15375 */
15376bcmos_bool bcmolt_epon_oam_pmc_error_code_pack(bcmolt_epon_oam_pmc_error_code this, bcmolt_epon_oam_buf *buf);
15377
15378/** Unpacks a bcmolt_epon_oam_pmc_error_code from bytes
15379 *
15380 * \param this Pointer to the enumeration to unpack
15381 * \param buf Pointer to the buffer to write to
15382 * \return Whether or not the unpack was successful
15383 */
15384bcmos_bool bcmolt_epon_oam_pmc_error_code_unpack(bcmolt_epon_oam_pmc_error_code *this, bcmolt_epon_oam_buf *buf);
15385
15386/** Packs a bcmolt_epon_oam_onu_master_protocol to bytes
15387 *
15388 * \param this The enumeration to pack
15389 * \param buf Pointer to the buffer to write to
15390 * \return Whether or not the pack was successful
15391 */
15392bcmos_bool bcmolt_epon_oam_onu_master_protocol_pack(bcmolt_epon_oam_onu_master_protocol this, bcmolt_epon_oam_buf *buf);
15393
15394/** Unpacks a bcmolt_epon_oam_onu_master_protocol from bytes
15395 *
15396 * \param this Pointer to the enumeration to unpack
15397 * \param buf Pointer to the buffer to write to
15398 * \return Whether or not the unpack was successful
15399 */
15400bcmos_bool bcmolt_epon_oam_onu_master_protocol_unpack(bcmolt_epon_oam_onu_master_protocol *this, bcmolt_epon_oam_buf *buf);
15401
15402/** Packs a bcmolt_epon_oam_onu_master_ping_flags to bytes
15403 *
15404 * \param this The enumeration to pack
15405 * \param buf Pointer to the buffer to write to
15406 * \return Whether or not the pack was successful
15407 */
15408bcmos_bool bcmolt_epon_oam_onu_master_ping_flags_pack(bcmolt_epon_oam_onu_master_ping_flags this, bcmolt_epon_oam_buf *buf);
15409
15410/** Unpacks a bcmolt_epon_oam_onu_master_ping_flags from bytes
15411 *
15412 * \param this Pointer to the enumeration to unpack
15413 * \param buf Pointer to the buffer to write to
15414 * \return Whether or not the unpack was successful
15415 */
15416bcmos_bool bcmolt_epon_oam_onu_master_ping_flags_unpack(bcmolt_epon_oam_onu_master_ping_flags *this, bcmolt_epon_oam_buf *buf);
15417
15418/** Packs a bcmolt_epon_oam_master_end_point_type to bytes
15419 *
15420 * \param this The enumeration to pack
15421 * \param buf Pointer to the buffer to write to
15422 * \return Whether or not the pack was successful
15423 */
15424bcmos_bool bcmolt_epon_oam_master_end_point_type_pack(bcmolt_epon_oam_master_end_point_type this, bcmolt_epon_oam_buf *buf);
15425
15426/** Unpacks a bcmolt_epon_oam_master_end_point_type from bytes
15427 *
15428 * \param this Pointer to the enumeration to unpack
15429 * \param buf Pointer to the buffer to write to
15430 * \return Whether or not the unpack was successful
15431 */
15432bcmos_bool bcmolt_epon_oam_master_end_point_type_unpack(bcmolt_epon_oam_master_end_point_type *this, bcmolt_epon_oam_buf *buf);
15433
15434/** Packs a bcmolt_epon_oam_onu_master_communication_type to bytes
15435 *
15436 * \param this The enumeration to pack
15437 * \param buf Pointer to the buffer to write to
15438 * \return Whether or not the pack was successful
15439 */
15440bcmos_bool bcmolt_epon_oam_onu_master_communication_type_pack(bcmolt_epon_oam_onu_master_communication_type this, bcmolt_epon_oam_buf *buf);
15441
15442/** Unpacks a bcmolt_epon_oam_onu_master_communication_type from bytes
15443 *
15444 * \param this Pointer to the enumeration to unpack
15445 * \param buf Pointer to the buffer to write to
15446 * \return Whether or not the unpack was successful
15447 */
15448bcmos_bool bcmolt_epon_oam_onu_master_communication_type_unpack(bcmolt_epon_oam_onu_master_communication_type *this, bcmolt_epon_oam_buf *buf);
15449
15450/** Packs a bcmolt_epon_oam_onu_master_command_id to bytes
15451 *
15452 * \param this The enumeration to pack
15453 * \param buf Pointer to the buffer to write to
15454 * \return Whether or not the pack was successful
15455 */
15456bcmos_bool bcmolt_epon_oam_onu_master_command_id_pack(bcmolt_epon_oam_onu_master_command_id this, bcmolt_epon_oam_buf *buf);
15457
15458/** Unpacks a bcmolt_epon_oam_onu_master_command_id from bytes
15459 *
15460 * \param this Pointer to the enumeration to unpack
15461 * \param buf Pointer to the buffer to write to
15462 * \return Whether or not the unpack was successful
15463 */
15464bcmos_bool bcmolt_epon_oam_onu_master_command_id_unpack(bcmolt_epon_oam_onu_master_command_id *this, bcmolt_epon_oam_buf *buf);
15465
15466/** Packs a bcmolt_epon_oam_oam_registration_action to bytes
15467 *
15468 * \param this The enumeration to pack
15469 * \param buf Pointer to the buffer to write to
15470 * \return Whether or not the pack was successful
15471 */
15472bcmos_bool bcmolt_epon_oam_oam_registration_action_pack(bcmolt_epon_oam_oam_registration_action this, bcmolt_epon_oam_buf *buf);
15473
15474/** Unpacks a bcmolt_epon_oam_oam_registration_action from bytes
15475 *
15476 * \param this Pointer to the enumeration to unpack
15477 * \param buf Pointer to the buffer to write to
15478 * \return Whether or not the unpack was successful
15479 */
15480bcmos_bool bcmolt_epon_oam_oam_registration_action_unpack(bcmolt_epon_oam_oam_registration_action *this, bcmolt_epon_oam_buf *buf);
15481
15482/** Packs a bcmolt_epon_oam_oam_reg_info_type to bytes
15483 *
15484 * \param this The enumeration to pack
15485 * \param buf Pointer to the buffer to write to
15486 * \return Whether or not the pack was successful
15487 */
15488bcmos_bool bcmolt_epon_oam_oam_reg_info_type_pack(bcmolt_epon_oam_oam_reg_info_type this, bcmolt_epon_oam_buf *buf);
15489
15490/** Unpacks a bcmolt_epon_oam_oam_reg_info_type from bytes
15491 *
15492 * \param this Pointer to the enumeration to unpack
15493 * \param buf Pointer to the buffer to write to
15494 * \return Whether or not the unpack was successful
15495 */
15496bcmos_bool bcmolt_epon_oam_oam_reg_info_type_unpack(bcmolt_epon_oam_oam_reg_info_type *this, bcmolt_epon_oam_buf *buf);
15497
15498/** Packs a bcmolt_epon_oam_master_context_type to bytes
15499 *
15500 * \param this The enumeration to pack
15501 * \param buf Pointer to the buffer to write to
15502 * \return Whether or not the pack was successful
15503 */
15504bcmos_bool bcmolt_epon_oam_master_context_type_pack(bcmolt_epon_oam_master_context_type this, bcmolt_epon_oam_buf *buf);
15505
15506/** Unpacks a bcmolt_epon_oam_master_context_type from bytes
15507 *
15508 * \param this Pointer to the enumeration to unpack
15509 * \param buf Pointer to the buffer to write to
15510 * \return Whether or not the unpack was successful
15511 */
15512bcmos_bool bcmolt_epon_oam_master_context_type_unpack(bcmolt_epon_oam_master_context_type *this, bcmolt_epon_oam_buf *buf);
15513
15514/** Packs a bcmolt_epon_oam_ctc_version to bytes
15515 *
15516 * \param this The enumeration to pack
15517 * \param buf Pointer to the buffer to write to
15518 * \return Whether or not the pack was successful
15519 */
15520bcmos_bool bcmolt_epon_oam_ctc_version_pack(bcmolt_epon_oam_ctc_version this, bcmolt_epon_oam_buf *buf);
15521
15522/** Unpacks a bcmolt_epon_oam_ctc_version from bytes
15523 *
15524 * \param this Pointer to the enumeration to unpack
15525 * \param buf Pointer to the buffer to write to
15526 * \return Whether or not the unpack was successful
15527 */
15528bcmos_bool bcmolt_epon_oam_ctc_version_unpack(bcmolt_epon_oam_ctc_version *this, bcmolt_epon_oam_buf *buf);
15529
15530/** Packs a bcmolt_epon_oam_onu_master_response_code to bytes
15531 *
15532 * \param this The enumeration to pack
15533 * \param buf Pointer to the buffer to write to
15534 * \return Whether or not the pack was successful
15535 */
15536bcmos_bool bcmolt_epon_oam_onu_master_response_code_pack(bcmolt_epon_oam_onu_master_response_code this, bcmolt_epon_oam_buf *buf);
15537
15538/** Unpacks a bcmolt_epon_oam_onu_master_response_code from bytes
15539 *
15540 * \param this Pointer to the enumeration to unpack
15541 * \param buf Pointer to the buffer to write to
15542 * \return Whether or not the unpack was successful
15543 */
15544bcmos_bool bcmolt_epon_oam_onu_master_response_code_unpack(bcmolt_epon_oam_onu_master_response_code *this, bcmolt_epon_oam_buf *buf);
15545
15546/** Packs a bcmolt_epon_oam_onu_state to bytes
15547 *
15548 * \param this The enumeration to pack
15549 * \param buf Pointer to the buffer to write to
15550 * \return Whether or not the pack was successful
15551 */
15552bcmos_bool bcmolt_epon_oam_onu_state_pack(bcmolt_epon_oam_onu_state this, bcmolt_epon_oam_buf *buf);
15553
15554/** Unpacks a bcmolt_epon_oam_onu_state from bytes
15555 *
15556 * \param this Pointer to the enumeration to unpack
15557 * \param buf Pointer to the buffer to write to
15558 * \return Whether or not the unpack was successful
15559 */
15560bcmos_bool bcmolt_epon_oam_onu_state_unpack(bcmolt_epon_oam_onu_state *this, bcmolt_epon_oam_buf *buf);
15561
15562/** Packs a bcmolt_epon_oam_mdi_crossover to bytes
15563 *
15564 * \param this The enumeration to pack
15565 * \param buf Pointer to the buffer to write to
15566 * \return Whether or not the pack was successful
15567 */
15568bcmos_bool bcmolt_epon_oam_mdi_crossover_pack(bcmolt_epon_oam_mdi_crossover this, bcmolt_epon_oam_buf *buf);
15569
15570/** Unpacks a bcmolt_epon_oam_mdi_crossover from bytes
15571 *
15572 * \param this Pointer to the enumeration to unpack
15573 * \param buf Pointer to the buffer to write to
15574 * \return Whether or not the unpack was successful
15575 */
15576bcmos_bool bcmolt_epon_oam_mdi_crossover_unpack(bcmolt_epon_oam_mdi_crossover *this, bcmolt_epon_oam_buf *buf);
15577
15578/** Packs a bcmolt_epon_oam_sdm_stat to bytes
15579 *
15580 * \param this The enumeration to pack
15581 * \param buf Pointer to the buffer to write to
15582 * \return Whether or not the pack was successful
15583 */
15584bcmos_bool bcmolt_epon_oam_sdm_stat_pack(bcmolt_epon_oam_sdm_stat this, bcmolt_epon_oam_buf *buf);
15585
15586/** Unpacks a bcmolt_epon_oam_sdm_stat from bytes
15587 *
15588 * \param this Pointer to the enumeration to unpack
15589 * \param buf Pointer to the buffer to write to
15590 * \return Whether or not the unpack was successful
15591 */
15592bcmos_bool bcmolt_epon_oam_sdm_stat_unpack(bcmolt_epon_oam_sdm_stat *this, bcmolt_epon_oam_buf *buf);
15593
15594/** Packs a bcmolt_epon_oam_tls_hash_algorithm to bytes
15595 *
15596 * \param this The enumeration to pack
15597 * \param buf Pointer to the buffer to write to
15598 * \return Whether or not the pack was successful
15599 */
15600bcmos_bool bcmolt_epon_oam_tls_hash_algorithm_pack(bcmolt_epon_oam_tls_hash_algorithm this, bcmolt_epon_oam_buf *buf);
15601
15602/** Unpacks a bcmolt_epon_oam_tls_hash_algorithm from bytes
15603 *
15604 * \param this Pointer to the enumeration to unpack
15605 * \param buf Pointer to the buffer to write to
15606 * \return Whether or not the unpack was successful
15607 */
15608bcmos_bool bcmolt_epon_oam_tls_hash_algorithm_unpack(bcmolt_epon_oam_tls_hash_algorithm *this, bcmolt_epon_oam_buf *buf);
15609
15610/** Packs a bcmolt_epon_oam_tls_signature_algorithm to bytes
15611 *
15612 * \param this The enumeration to pack
15613 * \param buf Pointer to the buffer to write to
15614 * \return Whether or not the pack was successful
15615 */
15616bcmos_bool bcmolt_epon_oam_tls_signature_algorithm_pack(bcmolt_epon_oam_tls_signature_algorithm this, bcmolt_epon_oam_buf *buf);
15617
15618/** Unpacks a bcmolt_epon_oam_tls_signature_algorithm from bytes
15619 *
15620 * \param this Pointer to the enumeration to unpack
15621 * \param buf Pointer to the buffer to write to
15622 * \return Whether or not the unpack was successful
15623 */
15624bcmos_bool bcmolt_epon_oam_tls_signature_algorithm_unpack(bcmolt_epon_oam_tls_signature_algorithm *this, bcmolt_epon_oam_buf *buf);
15625
15626/** Packs a bcmolt_epon_oam_binary_entry_cvid to bytes
15627 *
15628 * \param this Pointer to the object to pack
15629 * \param buf Pointer to the buffer to write to
15630 * \return TRUE if the pack was successful, FALSE otherwise
15631 */
15632bcmos_bool bcmolt_epon_oam_binary_entry_cvid_pack(bcmolt_epon_oam_binary_entry_cvid *this, bcmolt_epon_oam_buf *buf);
15633
15634/** Unpacks a bcmolt_epon_oam_binary_entry_cvid from bytes
15635 *
15636 * \param this Pointer to the object to unpack
15637 * \param buf Pointer to the buffer to read from
15638 * \param extra_mem Pointer to the first location in memory to use to store
15639 * pointer fields that are NULL. Setting this to NULL will cause an error when
15640 * a NULL pointer is encountered.
15641 * \return TRUE if the unpack was successful, FALSE otherwise
15642 */
15643bcmos_bool bcmolt_epon_oam_binary_entry_cvid_unpack(bcmolt_epon_oam_binary_entry_cvid *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15644
15645/** Scans past a packed bcmolt_epon_oam_binary_entry_cvid struct and collects
15646 * memory requirements above and beyond sizeof()
15647 *
15648 * \param packed A stream pointing to the packed byte stream
15649 * \param extra_mem Number of additional storage bytes required
15650 * \return TRUE on success, FALSE on failure
15651 */
15652bcmos_bool bcmolt_epon_oam_binary_entry_cvid_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15653
15654/** Packs a bcmolt_epon_oam_binary_entry_mac to bytes
15655 *
15656 * \param this Pointer to the object to pack
15657 * \param buf Pointer to the buffer to write to
15658 * \return TRUE if the pack was successful, FALSE otherwise
15659 */
15660bcmos_bool bcmolt_epon_oam_binary_entry_mac_pack(bcmolt_epon_oam_binary_entry_mac *this, bcmolt_epon_oam_buf *buf);
15661
15662/** Unpacks a bcmolt_epon_oam_binary_entry_mac from bytes
15663 *
15664 * \param this Pointer to the object to unpack
15665 * \param buf Pointer to the buffer to read from
15666 * \param extra_mem Pointer to the first location in memory to use to store
15667 * pointer fields that are NULL. Setting this to NULL will cause an error when
15668 * a NULL pointer is encountered.
15669 * \return TRUE if the unpack was successful, FALSE otherwise
15670 */
15671bcmos_bool bcmolt_epon_oam_binary_entry_mac_unpack(bcmolt_epon_oam_binary_entry_mac *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15672
15673/** Scans past a packed bcmolt_epon_oam_binary_entry_mac struct and collects
15674 * memory requirements above and beyond sizeof()
15675 *
15676 * \param packed A stream pointing to the packed byte stream
15677 * \param extra_mem Number of additional storage bytes required
15678 * \return TRUE on success, FALSE on failure
15679 */
15680bcmos_bool bcmolt_epon_oam_binary_entry_mac_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15681
15682/** Packs a bcmolt_epon_oam_binary_entry_programmable to bytes
15683 *
15684 * \param this Pointer to the object to pack
15685 * \param buf Pointer to the buffer to write to
15686 * \return TRUE if the pack was successful, FALSE otherwise
15687 */
15688bcmos_bool bcmolt_epon_oam_binary_entry_programmable_pack(bcmolt_epon_oam_binary_entry_programmable *this, bcmolt_epon_oam_buf *buf);
15689
15690/** Unpacks a bcmolt_epon_oam_binary_entry_programmable from bytes
15691 *
15692 * \param this Pointer to the object to unpack
15693 * \param buf Pointer to the buffer to read from
15694 * \param extra_mem Pointer to the first location in memory to use to store
15695 * pointer fields that are NULL. Setting this to NULL will cause an error when
15696 * a NULL pointer is encountered.
15697 * \return TRUE if the unpack was successful, FALSE otherwise
15698 */
15699bcmos_bool bcmolt_epon_oam_binary_entry_programmable_unpack(bcmolt_epon_oam_binary_entry_programmable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15700
15701/** Scans past a packed bcmolt_epon_oam_binary_entry_programmable struct and
15702 * collects memory requirements above and beyond sizeof()
15703 *
15704 * \param packed A stream pointing to the packed byte stream
15705 * \param extra_mem Number of additional storage bytes required
15706 * \return TRUE on success, FALSE on failure
15707 */
15708bcmos_bool bcmolt_epon_oam_binary_entry_programmable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15709
15710/** Packs a bcmolt_epon_oam_binary_entry_ssm_ip to bytes
15711 *
15712 * \param this Pointer to the object to pack
15713 * \param buf Pointer to the buffer to write to
15714 * \return TRUE if the pack was successful, FALSE otherwise
15715 */
15716bcmos_bool bcmolt_epon_oam_binary_entry_ssm_ip_pack(bcmolt_epon_oam_binary_entry_ssm_ip *this, bcmolt_epon_oam_buf *buf);
15717
15718/** Unpacks a bcmolt_epon_oam_binary_entry_ssm_ip from bytes
15719 *
15720 * \param this Pointer to the object to unpack
15721 * \param buf Pointer to the buffer to read from
15722 * \param extra_mem Pointer to the first location in memory to use to store
15723 * pointer fields that are NULL. Setting this to NULL will cause an error when
15724 * a NULL pointer is encountered.
15725 * \return TRUE if the unpack was successful, FALSE otherwise
15726 */
15727bcmos_bool bcmolt_epon_oam_binary_entry_ssm_ip_unpack(bcmolt_epon_oam_binary_entry_ssm_ip *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15728
15729/** Scans past a packed bcmolt_epon_oam_binary_entry_ssm_ip struct and collects
15730 * memory requirements above and beyond sizeof()
15731 *
15732 * \param packed A stream pointing to the packed byte stream
15733 * \param extra_mem Number of additional storage bytes required
15734 * \return TRUE on success, FALSE on failure
15735 */
15736bcmos_bool bcmolt_epon_oam_binary_entry_ssm_ip_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15737
15738/** Packs a bcmolt_epon_oam_binary_entry_svlan_plus_cvlan to bytes
15739 *
15740 * \param this Pointer to the object to pack
15741 * \param buf Pointer to the buffer to write to
15742 * \return TRUE if the pack was successful, FALSE otherwise
15743 */
15744bcmos_bool bcmolt_epon_oam_binary_entry_svlan_plus_cvlan_pack(bcmolt_epon_oam_binary_entry_svlan_plus_cvlan *this, bcmolt_epon_oam_buf *buf);
15745
15746/** Unpacks a bcmolt_epon_oam_binary_entry_svlan_plus_cvlan from bytes
15747 *
15748 * \param this Pointer to the object to unpack
15749 * \param buf Pointer to the buffer to read from
15750 * \param extra_mem Pointer to the first location in memory to use to store
15751 * pointer fields that are NULL. Setting this to NULL will cause an error when
15752 * a NULL pointer is encountered.
15753 * \return TRUE if the unpack was successful, FALSE otherwise
15754 */
15755bcmos_bool bcmolt_epon_oam_binary_entry_svlan_plus_cvlan_unpack(bcmolt_epon_oam_binary_entry_svlan_plus_cvlan *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15756
15757/** Scans past a packed bcmolt_epon_oam_binary_entry_svlan_plus_cvlan struct and
15758 * collects memory requirements above and beyond sizeof()
15759 *
15760 * \param packed A stream pointing to the packed byte stream
15761 * \param extra_mem Number of additional storage bytes required
15762 * \return TRUE on success, FALSE on failure
15763 */
15764bcmos_bool bcmolt_epon_oam_binary_entry_svlan_plus_cvlan_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15765
15766/** Packs a bcmolt_epon_oam_brcm_channel_option to bytes
15767 *
15768 * \param this Pointer to the object to pack
15769 * \param buf Pointer to the buffer to write to
15770 * \return TRUE if the pack was successful, FALSE otherwise
15771 */
15772bcmos_bool bcmolt_epon_oam_brcm_channel_option_pack(bcmolt_epon_oam_brcm_channel_option *this, bcmolt_epon_oam_buf *buf);
15773
15774/** Unpacks a bcmolt_epon_oam_brcm_channel_option from bytes
15775 *
15776 * \param this Pointer to the object to unpack
15777 * \param buf Pointer to the buffer to read from
15778 * \param extra_mem Pointer to the first location in memory to use to store
15779 * pointer fields that are NULL. Setting this to NULL will cause an error when
15780 * a NULL pointer is encountered.
15781 * \return TRUE if the unpack was successful, FALSE otherwise
15782 */
15783bcmos_bool bcmolt_epon_oam_brcm_channel_option_unpack(bcmolt_epon_oam_brcm_channel_option *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15784
15785/** Scans past a packed bcmolt_epon_oam_brcm_channel_option struct and collects
15786 * memory requirements above and beyond sizeof()
15787 *
15788 * \param packed A stream pointing to the packed byte stream
15789 * \param extra_mem Number of additional storage bytes required
15790 * \return TRUE on success, FALSE on failure
15791 */
15792bcmos_bool bcmolt_epon_oam_brcm_channel_option_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15793
15794/** Packs a bcmolt_epon_oam_brcm_channel_result to bytes
15795 *
15796 * \param this Pointer to the object to pack
15797 * \param buf Pointer to the buffer to write to
15798 * \return TRUE if the pack was successful, FALSE otherwise
15799 */
15800bcmos_bool bcmolt_epon_oam_brcm_channel_result_pack(bcmolt_epon_oam_brcm_channel_result *this, bcmolt_epon_oam_buf *buf);
15801
15802/** Unpacks a bcmolt_epon_oam_brcm_channel_result from bytes
15803 *
15804 * \param this Pointer to the object to unpack
15805 * \param buf Pointer to the buffer to read from
15806 * \param extra_mem Pointer to the first location in memory to use to store
15807 * pointer fields that are NULL. Setting this to NULL will cause an error when
15808 * a NULL pointer is encountered.
15809 * \return TRUE if the unpack was successful, FALSE otherwise
15810 */
15811bcmos_bool bcmolt_epon_oam_brcm_channel_result_unpack(bcmolt_epon_oam_brcm_channel_result *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15812
15813/** Scans past a packed bcmolt_epon_oam_brcm_channel_result struct and collects
15814 * memory requirements above and beyond sizeof()
15815 *
15816 * \param packed A stream pointing to the packed byte stream
15817 * \param extra_mem Number of additional storage bytes required
15818 * \return TRUE on success, FALSE on failure
15819 */
15820bcmos_bool bcmolt_epon_oam_brcm_channel_result_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15821
15822/** Packs a bcmolt_epon_oam_brcm_cmc_classifier_config_data to bytes
15823 *
15824 * \param this Pointer to the object to pack
15825 * \param buf Pointer to the buffer to write to
15826 * \return TRUE if the pack was successful, FALSE otherwise
15827 */
15828bcmos_bool bcmolt_epon_oam_brcm_cmc_classifier_config_data_pack(bcmolt_epon_oam_brcm_cmc_classifier_config_data *this, bcmolt_epon_oam_buf *buf);
15829
15830/** Gets the number of bytes that a
15831 * bcmolt_epon_oam_brcm_cmc_classifier_config_data would occupy on the wire
15832 *
15833 * \return The structure size in bytes
15834 */
15835uint32_t bcmolt_epon_oam_brcm_cmc_classifier_config_data_get_packed_length(bcmolt_epon_oam_brcm_cmc_classifier_config_data *this);
15836
15837/** Unpacks a bcmolt_epon_oam_brcm_cmc_classifier_config_data from bytes
15838 *
15839 * \param this Pointer to the object to unpack
15840 * \param buf Pointer to the buffer to read from
15841 * \param extra_mem Pointer to the first location in memory to use to store
15842 * pointer fields that are NULL. Setting this to NULL will cause an error when
15843 * a NULL pointer is encountered.
15844 * \return TRUE if the unpack was successful, FALSE otherwise
15845 */
15846bcmos_bool bcmolt_epon_oam_brcm_cmc_classifier_config_data_unpack(bcmolt_epon_oam_brcm_cmc_classifier_config_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15847
15848/** Scans past a packed bcmolt_epon_oam_brcm_cmc_classifier_config_data struct
15849 * and collects memory requirements above and beyond sizeof()
15850 *
15851 * \param packed A stream pointing to the packed byte stream
15852 * \param extra_mem Number of additional storage bytes required
15853 * \return TRUE on success, FALSE on failure
15854 */
15855bcmos_bool bcmolt_epon_oam_brcm_cmc_classifier_config_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15856
15857/** Packs a bcmolt_epon_oam_brcm_cmc_interface_data to bytes
15858 *
15859 * \param this Pointer to the object to pack
15860 * \param buf Pointer to the buffer to write to
15861 * \return TRUE if the pack was successful, FALSE otherwise
15862 */
15863bcmos_bool bcmolt_epon_oam_brcm_cmc_interface_data_pack(bcmolt_epon_oam_brcm_cmc_interface_data *this, bcmolt_epon_oam_buf *buf);
15864
15865/** Gets the number of bytes that a bcmolt_epon_oam_brcm_cmc_interface_data
15866 * would occupy on the wire
15867 *
15868 * \return The structure size in bytes
15869 */
15870uint32_t bcmolt_epon_oam_brcm_cmc_interface_data_get_packed_length(bcmolt_epon_oam_brcm_cmc_interface_data *this);
15871
15872/** Unpacks a bcmolt_epon_oam_brcm_cmc_interface_data from bytes
15873 *
15874 * \param this Pointer to the object to unpack
15875 * \param buf Pointer to the buffer to read from
15876 * \param extra_mem Pointer to the first location in memory to use to store
15877 * pointer fields that are NULL. Setting this to NULL will cause an error when
15878 * a NULL pointer is encountered.
15879 * \return TRUE if the unpack was successful, FALSE otherwise
15880 */
15881bcmos_bool bcmolt_epon_oam_brcm_cmc_interface_data_unpack(bcmolt_epon_oam_brcm_cmc_interface_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15882
15883/** Scans past a packed bcmolt_epon_oam_brcm_cmc_interface_data struct and
15884 * collects memory requirements above and beyond sizeof()
15885 *
15886 * \param packed A stream pointing to the packed byte stream
15887 * \param extra_mem Number of additional storage bytes required
15888 * \return TRUE on success, FALSE on failure
15889 */
15890bcmos_bool bcmolt_epon_oam_brcm_cmc_interface_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15891
15892/** Packs a bcmolt_epon_oam_brcm_cmc_intf_stats_data to bytes
15893 *
15894 * \param this Pointer to the object to pack
15895 * \param buf Pointer to the buffer to write to
15896 * \return TRUE if the pack was successful, FALSE otherwise
15897 */
15898bcmos_bool bcmolt_epon_oam_brcm_cmc_intf_stats_data_pack(bcmolt_epon_oam_brcm_cmc_intf_stats_data *this, bcmolt_epon_oam_buf *buf);
15899
15900/** Unpacks a bcmolt_epon_oam_brcm_cmc_intf_stats_data from bytes
15901 *
15902 * \param this Pointer to the object to unpack
15903 * \param buf Pointer to the buffer to read from
15904 * \param extra_mem Pointer to the first location in memory to use to store
15905 * pointer fields that are NULL. Setting this to NULL will cause an error when
15906 * a NULL pointer is encountered.
15907 * \return TRUE if the unpack was successful, FALSE otherwise
15908 */
15909bcmos_bool bcmolt_epon_oam_brcm_cmc_intf_stats_data_unpack(bcmolt_epon_oam_brcm_cmc_intf_stats_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15910
15911/** Scans past a packed bcmolt_epon_oam_brcm_cmc_intf_stats_data struct and
15912 * collects memory requirements above and beyond sizeof()
15913 *
15914 * \param packed A stream pointing to the packed byte stream
15915 * \param extra_mem Number of additional storage bytes required
15916 * \return TRUE on success, FALSE on failure
15917 */
15918bcmos_bool bcmolt_epon_oam_brcm_cmc_intf_stats_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15919
15920/** Packs a bcmolt_epon_oam_brcm_cmc_sf_config_data to bytes
15921 *
15922 * \param this Pointer to the object to pack
15923 * \param buf Pointer to the buffer to write to
15924 * \return TRUE if the pack was successful, FALSE otherwise
15925 */
15926bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_config_data_pack(bcmolt_epon_oam_brcm_cmc_sf_config_data *this, bcmolt_epon_oam_buf *buf);
15927
15928/** Gets the number of bytes that a bcmolt_epon_oam_brcm_cmc_sf_config_data
15929 * would occupy on the wire
15930 *
15931 * \return The structure size in bytes
15932 */
15933uint32_t bcmolt_epon_oam_brcm_cmc_sf_config_data_get_packed_length(bcmolt_epon_oam_brcm_cmc_sf_config_data *this);
15934
15935/** Unpacks a bcmolt_epon_oam_brcm_cmc_sf_config_data from bytes
15936 *
15937 * \param this Pointer to the object to unpack
15938 * \param buf Pointer to the buffer to read from
15939 * \param extra_mem Pointer to the first location in memory to use to store
15940 * pointer fields that are NULL. Setting this to NULL will cause an error when
15941 * a NULL pointer is encountered.
15942 * \return TRUE if the unpack was successful, FALSE otherwise
15943 */
15944bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_config_data_unpack(bcmolt_epon_oam_brcm_cmc_sf_config_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15945
15946/** Scans past a packed bcmolt_epon_oam_brcm_cmc_sf_config_data struct and
15947 * collects memory requirements above and beyond sizeof()
15948 *
15949 * \param packed A stream pointing to the packed byte stream
15950 * \param extra_mem Number of additional storage bytes required
15951 * \return TRUE on success, FALSE on failure
15952 */
15953bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_config_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15954
15955/** Packs a bcmolt_epon_oam_brcm_cmc_sf_stats_data to bytes
15956 *
15957 * \param this Pointer to the object to pack
15958 * \param buf Pointer to the buffer to write to
15959 * \return TRUE if the pack was successful, FALSE otherwise
15960 */
15961bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_stats_data_pack(bcmolt_epon_oam_brcm_cmc_sf_stats_data *this, bcmolt_epon_oam_buf *buf);
15962
15963/** Unpacks a bcmolt_epon_oam_brcm_cmc_sf_stats_data from bytes
15964 *
15965 * \param this Pointer to the object to unpack
15966 * \param buf Pointer to the buffer to read from
15967 * \param extra_mem Pointer to the first location in memory to use to store
15968 * pointer fields that are NULL. Setting this to NULL will cause an error when
15969 * a NULL pointer is encountered.
15970 * \return TRUE if the unpack was successful, FALSE otherwise
15971 */
15972bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_stats_data_unpack(bcmolt_epon_oam_brcm_cmc_sf_stats_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
15973
15974/** Scans past a packed bcmolt_epon_oam_brcm_cmc_sf_stats_data struct and
15975 * collects memory requirements above and beyond sizeof()
15976 *
15977 * \param packed A stream pointing to the packed byte stream
15978 * \param extra_mem Number of additional storage bytes required
15979 * \return TRUE on success, FALSE on failure
15980 */
15981bcmos_bool bcmolt_epon_oam_brcm_cmc_sf_stats_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
15982
15983/** Packs a bcmolt_epon_oam_brcm_cnu_mac_addr_range to bytes
15984 *
15985 * \param this Pointer to the object to pack
15986 * \param buf Pointer to the buffer to write to
15987 * \return TRUE if the pack was successful, FALSE otherwise
15988 */
15989bcmos_bool bcmolt_epon_oam_brcm_cnu_mac_addr_range_pack(bcmolt_epon_oam_brcm_cnu_mac_addr_range *this, bcmolt_epon_oam_buf *buf);
15990
15991/** Unpacks a bcmolt_epon_oam_brcm_cnu_mac_addr_range from bytes
15992 *
15993 * \param this Pointer to the object to unpack
15994 * \param buf Pointer to the buffer to read from
15995 * \param extra_mem Pointer to the first location in memory to use to store
15996 * pointer fields that are NULL. Setting this to NULL will cause an error when
15997 * a NULL pointer is encountered.
15998 * \return TRUE if the unpack was successful, FALSE otherwise
15999 */
16000bcmos_bool bcmolt_epon_oam_brcm_cnu_mac_addr_range_unpack(bcmolt_epon_oam_brcm_cnu_mac_addr_range *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16001
16002/** Scans past a packed bcmolt_epon_oam_brcm_cnu_mac_addr_range struct and
16003 * collects memory requirements above and beyond sizeof()
16004 *
16005 * \param packed A stream pointing to the packed byte stream
16006 * \param extra_mem Number of additional storage bytes required
16007 * \return TRUE on success, FALSE on failure
16008 */
16009bcmos_bool bcmolt_epon_oam_brcm_cnu_mac_addr_range_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16010
16011/** Packs a bcmolt_epon_oam_brcm_cnu_us_chan_data to bytes
16012 *
16013 * \param this Pointer to the object to pack
16014 * \param buf Pointer to the buffer to write to
16015 * \return TRUE if the pack was successful, FALSE otherwise
16016 */
16017bcmos_bool bcmolt_epon_oam_brcm_cnu_us_chan_data_pack(bcmolt_epon_oam_brcm_cnu_us_chan_data *this, bcmolt_epon_oam_buf *buf);
16018
16019/** Gets the number of bytes that a bcmolt_epon_oam_brcm_cnu_us_chan_data would
16020 * occupy on the wire
16021 *
16022 * \return The structure size in bytes
16023 */
16024uint32_t bcmolt_epon_oam_brcm_cnu_us_chan_data_get_packed_length(bcmolt_epon_oam_brcm_cnu_us_chan_data *this);
16025
16026/** Unpacks a bcmolt_epon_oam_brcm_cnu_us_chan_data from bytes
16027 *
16028 * \param this Pointer to the object to unpack
16029 * \param buf Pointer to the buffer to read from
16030 * \param extra_mem Pointer to the first location in memory to use to store
16031 * pointer fields that are NULL. Setting this to NULL will cause an error when
16032 * a NULL pointer is encountered.
16033 * \return TRUE if the unpack was successful, FALSE otherwise
16034 */
16035bcmos_bool bcmolt_epon_oam_brcm_cnu_us_chan_data_unpack(bcmolt_epon_oam_brcm_cnu_us_chan_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16036
16037/** Scans past a packed bcmolt_epon_oam_brcm_cnu_us_chan_data struct and
16038 * collects memory requirements above and beyond sizeof()
16039 *
16040 * \param packed A stream pointing to the packed byte stream
16041 * \param extra_mem Number of additional storage bytes required
16042 * \return TRUE on success, FALSE on failure
16043 */
16044bcmos_bool bcmolt_epon_oam_brcm_cnu_us_chan_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16045
16046/** Packs a bcmolt_epon_oam_brcm_cnu_status_data to bytes
16047 *
16048 * \param this Pointer to the object to pack
16049 * \param buf Pointer to the buffer to write to
16050 * \return TRUE if the pack was successful, FALSE otherwise
16051 */
16052bcmos_bool bcmolt_epon_oam_brcm_cnu_status_data_pack(bcmolt_epon_oam_brcm_cnu_status_data *this, bcmolt_epon_oam_buf *buf);
16053
16054/** Gets the number of bytes that a bcmolt_epon_oam_brcm_cnu_status_data would
16055 * occupy on the wire
16056 *
16057 * \return The structure size in bytes
16058 */
16059uint32_t bcmolt_epon_oam_brcm_cnu_status_data_get_packed_length(bcmolt_epon_oam_brcm_cnu_status_data *this);
16060
16061/** Unpacks a bcmolt_epon_oam_brcm_cnu_status_data from bytes
16062 *
16063 * \param this Pointer to the object to unpack
16064 * \param buf Pointer to the buffer to read from
16065 * \param extra_mem Pointer to the first location in memory to use to store
16066 * pointer fields that are NULL. Setting this to NULL will cause an error when
16067 * a NULL pointer is encountered.
16068 * \return TRUE if the unpack was successful, FALSE otherwise
16069 */
16070bcmos_bool bcmolt_epon_oam_brcm_cnu_status_data_unpack(bcmolt_epon_oam_brcm_cnu_status_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16071
16072/** Scans past a packed bcmolt_epon_oam_brcm_cnu_status_data struct and collects
16073 * memory requirements above and beyond sizeof()
16074 *
16075 * \param packed A stream pointing to the packed byte stream
16076 * \param extra_mem Number of additional storage bytes required
16077 * \return TRUE on success, FALSE on failure
16078 */
16079bcmos_bool bcmolt_epon_oam_brcm_cnu_status_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16080
16081/** Packs a bcmolt_epon_oam_brcm_downstream_channel_properties to bytes
16082 *
16083 * \param this Pointer to the object to pack
16084 * \param buf Pointer to the buffer to write to
16085 * \return TRUE if the pack was successful, FALSE otherwise
16086 */
16087bcmos_bool bcmolt_epon_oam_brcm_downstream_channel_properties_pack(bcmolt_epon_oam_brcm_downstream_channel_properties *this, bcmolt_epon_oam_buf *buf);
16088
16089/** Unpacks a bcmolt_epon_oam_brcm_downstream_channel_properties from bytes
16090 *
16091 * \param this Pointer to the object to unpack
16092 * \param buf Pointer to the buffer to read from
16093 * \param extra_mem Pointer to the first location in memory to use to store
16094 * pointer fields that are NULL. Setting this to NULL will cause an error when
16095 * a NULL pointer is encountered.
16096 * \return TRUE if the unpack was successful, FALSE otherwise
16097 */
16098bcmos_bool bcmolt_epon_oam_brcm_downstream_channel_properties_unpack(bcmolt_epon_oam_brcm_downstream_channel_properties *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16099
16100/** Scans past a packed bcmolt_epon_oam_brcm_downstream_channel_properties
16101 * struct and collects memory requirements above and beyond sizeof()
16102 *
16103 * \param packed A stream pointing to the packed byte stream
16104 * \param extra_mem Number of additional storage bytes required
16105 * \return TRUE on success, FALSE on failure
16106 */
16107bcmos_bool bcmolt_epon_oam_brcm_downstream_channel_properties_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16108
16109/** Packs a bcmolt_epon_oam_brcm_upstream_channel_properties to bytes
16110 *
16111 * \param this Pointer to the object to pack
16112 * \param buf Pointer to the buffer to write to
16113 * \return TRUE if the pack was successful, FALSE otherwise
16114 */
16115bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_properties_pack(bcmolt_epon_oam_brcm_upstream_channel_properties *this, bcmolt_epon_oam_buf *buf);
16116
16117/** Unpacks a bcmolt_epon_oam_brcm_upstream_channel_properties from bytes
16118 *
16119 * \param this Pointer to the object to unpack
16120 * \param buf Pointer to the buffer to read from
16121 * \param extra_mem Pointer to the first location in memory to use to store
16122 * pointer fields that are NULL. Setting this to NULL will cause an error when
16123 * a NULL pointer is encountered.
16124 * \return TRUE if the unpack was successful, FALSE otherwise
16125 */
16126bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_properties_unpack(bcmolt_epon_oam_brcm_upstream_channel_properties *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16127
16128/** Scans past a packed bcmolt_epon_oam_brcm_upstream_channel_properties struct
16129 * and collects memory requirements above and beyond sizeof()
16130 *
16131 * \param packed A stream pointing to the packed byte stream
16132 * \param extra_mem Number of additional storage bytes required
16133 * \return TRUE on success, FALSE on failure
16134 */
16135bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_properties_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16136
16137/** Packs a bcmolt_epon_oam_brcm_upstream_signal_quality to bytes
16138 *
16139 * \param this Pointer to the object to pack
16140 * \param buf Pointer to the buffer to write to
16141 * \return TRUE if the pack was successful, FALSE otherwise
16142 */
16143bcmos_bool bcmolt_epon_oam_brcm_upstream_signal_quality_pack(bcmolt_epon_oam_brcm_upstream_signal_quality *this, bcmolt_epon_oam_buf *buf);
16144
16145/** Unpacks a bcmolt_epon_oam_brcm_upstream_signal_quality from bytes
16146 *
16147 * \param this Pointer to the object to unpack
16148 * \param buf Pointer to the buffer to read from
16149 * \param extra_mem Pointer to the first location in memory to use to store
16150 * pointer fields that are NULL. Setting this to NULL will cause an error when
16151 * a NULL pointer is encountered.
16152 * \return TRUE if the unpack was successful, FALSE otherwise
16153 */
16154bcmos_bool bcmolt_epon_oam_brcm_upstream_signal_quality_unpack(bcmolt_epon_oam_brcm_upstream_signal_quality *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16155
16156/** Scans past a packed bcmolt_epon_oam_brcm_upstream_signal_quality struct and
16157 * collects memory requirements above and beyond sizeof()
16158 *
16159 * \param packed A stream pointing to the packed byte stream
16160 * \param extra_mem Number of additional storage bytes required
16161 * \return TRUE on success, FALSE on failure
16162 */
16163bcmos_bool bcmolt_epon_oam_brcm_upstream_signal_quality_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16164
16165/** Packs a bcmolt_epon_oam_brcm_upstream_channel_power to bytes
16166 *
16167 * \param this Pointer to the object to pack
16168 * \param buf Pointer to the buffer to write to
16169 * \return TRUE if the pack was successful, FALSE otherwise
16170 */
16171bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_power_pack(bcmolt_epon_oam_brcm_upstream_channel_power *this, bcmolt_epon_oam_buf *buf);
16172
16173/** Unpacks a bcmolt_epon_oam_brcm_upstream_channel_power from bytes
16174 *
16175 * \param this Pointer to the object to unpack
16176 * \param buf Pointer to the buffer to read from
16177 * \param extra_mem Pointer to the first location in memory to use to store
16178 * pointer fields that are NULL. Setting this to NULL will cause an error when
16179 * a NULL pointer is encountered.
16180 * \return TRUE if the unpack was successful, FALSE otherwise
16181 */
16182bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_power_unpack(bcmolt_epon_oam_brcm_upstream_channel_power *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16183
16184/** Scans past a packed bcmolt_epon_oam_brcm_upstream_channel_power struct and
16185 * collects memory requirements above and beyond sizeof()
16186 *
16187 * \param packed A stream pointing to the packed byte stream
16188 * \param extra_mem Number of additional storage bytes required
16189 * \return TRUE on success, FALSE on failure
16190 */
16191bcmos_bool bcmolt_epon_oam_brcm_upstream_channel_power_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16192
16193/** Packs a bcmolt_epon_oam_brcm_oam_pdu_base to bytes
16194 *
16195 * \param this Pointer to the object to pack
16196 * \param buf Pointer to the buffer to write to
16197 * \return TRUE if the pack was successful, FALSE otherwise
16198 */
16199bcmos_bool bcmolt_epon_oam_brcm_oam_pdu_base_pack(bcmolt_epon_oam_brcm_oam_pdu_base *this, bcmolt_epon_oam_buf *buf);
16200
16201/** Gets the number of bytes that a bcmolt_epon_oam_brcm_oam_pdu_base would
16202 * occupy on the wire
16203 *
16204 * \return The structure size in bytes
16205 */
16206uint32_t bcmolt_epon_oam_brcm_oam_pdu_base_get_packed_length(bcmolt_epon_oam_brcm_oam_pdu_base *this);
16207
16208/** Unpacks a bcmolt_epon_oam_brcm_oam_pdu_base from bytes
16209 *
16210 * \param this Pointer to the object to unpack
16211 * \param buf Pointer to the buffer to read from
16212 * \param extra_mem Pointer to the first location in memory to use to store
16213 * pointer fields that are NULL. Setting this to NULL will cause an error when
16214 * a NULL pointer is encountered.
16215 * \return TRUE if the unpack was successful, FALSE otherwise
16216 */
16217bcmos_bool bcmolt_epon_oam_brcm_oam_pdu_base_unpack(bcmolt_epon_oam_brcm_oam_pdu_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16218
16219/** Scans past a packed bcmolt_epon_oam_brcm_oam_pdu_base struct and collects
16220 * memory requirements above and beyond sizeof()
16221 *
16222 * \param packed A stream pointing to the packed byte stream
16223 * \param extra_mem Number of additional storage bytes required
16224 * \return TRUE on success, FALSE on failure
16225 */
16226bcmos_bool bcmolt_epon_oam_brcm_oam_pdu_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16227
16228/** Packs a bcmolt_epon_oam_certificate to bytes
16229 *
16230 * \param this Pointer to the object to pack
16231 * \param buf Pointer to the buffer to write to
16232 * \return TRUE if the pack was successful, FALSE otherwise
16233 */
16234bcmos_bool bcmolt_epon_oam_certificate_pack(bcmolt_epon_oam_certificate *this, bcmolt_epon_oam_buf *buf);
16235
16236/** Gets the number of bytes that a bcmolt_epon_oam_certificate would occupy on
16237 * the wire
16238 *
16239 * \return The structure size in bytes
16240 */
16241uint32_t bcmolt_epon_oam_certificate_get_packed_length(bcmolt_epon_oam_certificate *this);
16242
16243/** Unpacks a bcmolt_epon_oam_certificate from bytes
16244 *
16245 * \param this Pointer to the object to unpack
16246 * \param buf Pointer to the buffer to read from
16247 * \param extra_mem Pointer to the first location in memory to use to store
16248 * pointer fields that are NULL. Setting this to NULL will cause an error when
16249 * a NULL pointer is encountered.
16250 * \return TRUE if the unpack was successful, FALSE otherwise
16251 */
16252bcmos_bool bcmolt_epon_oam_certificate_unpack(bcmolt_epon_oam_certificate *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16253
16254/** Scans past a packed bcmolt_epon_oam_certificate struct and collects memory
16255 * requirements above and beyond sizeof()
16256 *
16257 * \param packed A stream pointing to the packed byte stream
16258 * \param extra_mem Number of additional storage bytes required
16259 * \return TRUE on success, FALSE on failure
16260 */
16261bcmos_bool bcmolt_epon_oam_certificate_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16262
16263/** Packs a bcmolt_epon_oam_ctc_action_value to bytes
16264 *
16265 * \param this Pointer to the object to pack
16266 * \param buf Pointer to the buffer to write to
16267 * \return TRUE if the pack was successful, FALSE otherwise
16268 */
16269bcmos_bool bcmolt_epon_oam_ctc_action_value_pack(bcmolt_epon_oam_ctc_action_value *this, bcmolt_epon_oam_buf *buf);
16270
16271/** Gets the number of bytes that a bcmolt_epon_oam_ctc_action_value would
16272 * occupy on the wire
16273 *
16274 * \return The structure size in bytes
16275 */
16276uint32_t bcmolt_epon_oam_ctc_action_value_get_packed_length(bcmolt_epon_oam_ctc_action_value *this);
16277
16278/** Unpacks a bcmolt_epon_oam_ctc_action_value from bytes
16279 *
16280 * \param this Pointer to the object to unpack
16281 * \param buf Pointer to the buffer to read from
16282 * \param extra_mem Pointer to the first location in memory to use to store
16283 * pointer fields that are NULL. Setting this to NULL will cause an error when
16284 * a NULL pointer is encountered.
16285 * \return TRUE if the unpack was successful, FALSE otherwise
16286 */
16287bcmos_bool bcmolt_epon_oam_ctc_action_value_unpack(bcmolt_epon_oam_ctc_action_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16288
16289/** Scans past a packed bcmolt_epon_oam_ctc_action_value struct and collects
16290 * memory requirements above and beyond sizeof()
16291 *
16292 * \param packed A stream pointing to the packed byte stream
16293 * \param extra_mem Number of additional storage bytes required
16294 * \return TRUE on success, FALSE on failure
16295 */
16296bcmos_bool bcmolt_epon_oam_ctc_action_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16297
16298/** Packs a bcmolt_epon_oam_ctc_alarm_entry to bytes
16299 *
16300 * \param this Pointer to the object to pack
16301 * \param buf Pointer to the buffer to write to
16302 * \return TRUE if the pack was successful, FALSE otherwise
16303 */
16304bcmos_bool bcmolt_epon_oam_ctc_alarm_entry_pack(bcmolt_epon_oam_ctc_alarm_entry *this, bcmolt_epon_oam_buf *buf);
16305
16306/** Gets the number of bytes that a bcmolt_epon_oam_ctc_alarm_entry would occupy
16307 * on the wire
16308 *
16309 * \return The structure size in bytes
16310 */
16311uint32_t bcmolt_epon_oam_ctc_alarm_entry_get_packed_length(bcmolt_epon_oam_ctc_alarm_entry *this);
16312
16313/** Unpacks a bcmolt_epon_oam_ctc_alarm_entry from bytes
16314 *
16315 * \param this Pointer to the object to unpack
16316 * \param buf Pointer to the buffer to read from
16317 * \param extra_mem Pointer to the first location in memory to use to store
16318 * pointer fields that are NULL. Setting this to NULL will cause an error when
16319 * a NULL pointer is encountered.
16320 * \return TRUE if the unpack was successful, FALSE otherwise
16321 */
16322bcmos_bool bcmolt_epon_oam_ctc_alarm_entry_unpack(bcmolt_epon_oam_ctc_alarm_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16323
16324/** Scans past a packed bcmolt_epon_oam_ctc_alarm_entry struct and collects
16325 * memory requirements above and beyond sizeof()
16326 *
16327 * \param packed A stream pointing to the packed byte stream
16328 * \param extra_mem Number of additional storage bytes required
16329 * \return TRUE on success, FALSE on failure
16330 */
16331bcmos_bool bcmolt_epon_oam_ctc_alarm_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16332
16333/** Packs a bcmolt_epon_oam_ctc_attribute_value_base to bytes
16334 *
16335 * \param this Pointer to the object to pack
16336 * \param buf Pointer to the buffer to write to
16337 * \return TRUE if the pack was successful, FALSE otherwise
16338 */
16339bcmos_bool bcmolt_epon_oam_ctc_attribute_value_base_pack(bcmolt_epon_oam_ctc_attribute_value_base *this, bcmolt_epon_oam_buf *buf);
16340
16341/** Gets the number of bytes that a bcmolt_epon_oam_ctc_attribute_value_base
16342 * would occupy on the wire
16343 *
16344 * \return The structure size in bytes
16345 */
16346uint32_t bcmolt_epon_oam_ctc_attribute_value_base_get_packed_length(bcmolt_epon_oam_ctc_attribute_value_base *this);
16347
16348/** Unpacks a bcmolt_epon_oam_ctc_attribute_value_base from bytes
16349 *
16350 * \param this Pointer to the object to unpack
16351 * \param buf Pointer to the buffer to read from
16352 * \param extra_mem Pointer to the first location in memory to use to store
16353 * pointer fields that are NULL. Setting this to NULL will cause an error when
16354 * a NULL pointer is encountered.
16355 * \return TRUE if the unpack was successful, FALSE otherwise
16356 */
16357bcmos_bool bcmolt_epon_oam_ctc_attribute_value_base_unpack(bcmolt_epon_oam_ctc_attribute_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16358
16359/** Scans past a packed bcmolt_epon_oam_ctc_attribute_value_base struct and
16360 * collects memory requirements above and beyond sizeof()
16361 *
16362 * \param packed A stream pointing to the packed byte stream
16363 * \param extra_mem Number of additional storage bytes required
16364 * \return TRUE on success, FALSE on failure
16365 */
16366bcmos_bool bcmolt_epon_oam_ctc_attribute_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16367
16368/** Packs a bcmolt_epon_oam_ctc_churning_prov_base to bytes
16369 *
16370 * \param this Pointer to the object to pack
16371 * \param buf Pointer to the buffer to write to
16372 * \return TRUE if the pack was successful, FALSE otherwise
16373 */
16374bcmos_bool bcmolt_epon_oam_ctc_churning_prov_base_pack(bcmolt_epon_oam_ctc_churning_prov_base *this, bcmolt_epon_oam_buf *buf);
16375
16376/** Gets the number of bytes that a bcmolt_epon_oam_ctc_churning_prov_base would
16377 * occupy on the wire
16378 *
16379 * \return The structure size in bytes
16380 */
16381uint32_t bcmolt_epon_oam_ctc_churning_prov_base_get_packed_length(bcmolt_epon_oam_ctc_churning_prov_base *this);
16382
16383/** Unpacks a bcmolt_epon_oam_ctc_churning_prov_base from bytes
16384 *
16385 * \param this Pointer to the object to unpack
16386 * \param buf Pointer to the buffer to read from
16387 * \param extra_mem Pointer to the first location in memory to use to store
16388 * pointer fields that are NULL. Setting this to NULL will cause an error when
16389 * a NULL pointer is encountered.
16390 * \return TRUE if the unpack was successful, FALSE otherwise
16391 */
16392bcmos_bool bcmolt_epon_oam_ctc_churning_prov_base_unpack(bcmolt_epon_oam_ctc_churning_prov_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16393
16394/** Scans past a packed bcmolt_epon_oam_ctc_churning_prov_base struct and
16395 * collects memory requirements above and beyond sizeof()
16396 *
16397 * \param packed A stream pointing to the packed byte stream
16398 * \param extra_mem Number of additional storage bytes required
16399 * \return TRUE on success, FALSE on failure
16400 */
16401bcmos_bool bcmolt_epon_oam_ctc_churning_prov_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16402
16403/** Packs a bcmolt_epon_oam_ctc_commit_image_base to bytes
16404 *
16405 * \param this Pointer to the object to pack
16406 * \param buf Pointer to the buffer to write to
16407 * \return TRUE if the pack was successful, FALSE otherwise
16408 */
16409bcmos_bool bcmolt_epon_oam_ctc_commit_image_base_pack(bcmolt_epon_oam_ctc_commit_image_base *this, bcmolt_epon_oam_buf *buf);
16410
16411/** Gets the number of bytes that a bcmolt_epon_oam_ctc_commit_image_base would
16412 * occupy on the wire
16413 *
16414 * \return The structure size in bytes
16415 */
16416uint32_t bcmolt_epon_oam_ctc_commit_image_base_get_packed_length(bcmolt_epon_oam_ctc_commit_image_base *this);
16417
16418/** Unpacks a bcmolt_epon_oam_ctc_commit_image_base from bytes
16419 *
16420 * \param this Pointer to the object to unpack
16421 * \param buf Pointer to the buffer to read from
16422 * \param extra_mem Pointer to the first location in memory to use to store
16423 * pointer fields that are NULL. Setting this to NULL will cause an error when
16424 * a NULL pointer is encountered.
16425 * \return TRUE if the unpack was successful, FALSE otherwise
16426 */
16427bcmos_bool bcmolt_epon_oam_ctc_commit_image_base_unpack(bcmolt_epon_oam_ctc_commit_image_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16428
16429/** Scans past a packed bcmolt_epon_oam_ctc_commit_image_base struct and
16430 * collects memory requirements above and beyond sizeof()
16431 *
16432 * \param packed A stream pointing to the packed byte stream
16433 * \param extra_mem Number of additional storage bytes required
16434 * \return TRUE on success, FALSE on failure
16435 */
16436bcmos_bool bcmolt_epon_oam_ctc_commit_image_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16437
16438/** Packs a bcmolt_epon_oam_ctc_dba_queue_set to bytes
16439 *
16440 * \param this Pointer to the object to pack
16441 * \param buf Pointer to the buffer to write to
16442 * \return TRUE if the pack was successful, FALSE otherwise
16443 */
16444bcmos_bool bcmolt_epon_oam_ctc_dba_queue_set_pack(bcmolt_epon_oam_ctc_dba_queue_set *this, bcmolt_epon_oam_buf *buf);
16445
16446/** Unpacks a bcmolt_epon_oam_ctc_dba_queue_set from bytes
16447 *
16448 * \param this Pointer to the object to unpack
16449 * \param buf Pointer to the buffer to read from
16450 * \param extra_mem Pointer to the first location in memory to use to store
16451 * pointer fields that are NULL. Setting this to NULL will cause an error when
16452 * a NULL pointer is encountered.
16453 * \return TRUE if the unpack was successful, FALSE otherwise
16454 */
16455bcmos_bool bcmolt_epon_oam_ctc_dba_queue_set_unpack(bcmolt_epon_oam_ctc_dba_queue_set *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16456
16457/** Scans past a packed bcmolt_epon_oam_ctc_dba_queue_set struct and collects
16458 * memory requirements above and beyond sizeof()
16459 *
16460 * \param packed A stream pointing to the packed byte stream
16461 * \param extra_mem Number of additional storage bytes required
16462 * \return TRUE on success, FALSE on failure
16463 */
16464bcmos_bool bcmolt_epon_oam_ctc_dba_queue_set_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16465
16466/** Packs a bcmolt_epon_oam_ctc_dba_prov_base to bytes
16467 *
16468 * \param this Pointer to the object to pack
16469 * \param buf Pointer to the buffer to write to
16470 * \return TRUE if the pack was successful, FALSE otherwise
16471 */
16472bcmos_bool bcmolt_epon_oam_ctc_dba_prov_base_pack(bcmolt_epon_oam_ctc_dba_prov_base *this, bcmolt_epon_oam_buf *buf);
16473
16474/** Gets the number of bytes that a bcmolt_epon_oam_ctc_dba_prov_base would
16475 * occupy on the wire
16476 *
16477 * \return The structure size in bytes
16478 */
16479uint32_t bcmolt_epon_oam_ctc_dba_prov_base_get_packed_length(bcmolt_epon_oam_ctc_dba_prov_base *this);
16480
16481/** Unpacks a bcmolt_epon_oam_ctc_dba_prov_base from bytes
16482 *
16483 * \param this Pointer to the object to unpack
16484 * \param buf Pointer to the buffer to read from
16485 * \param extra_mem Pointer to the first location in memory to use to store
16486 * pointer fields that are NULL. Setting this to NULL will cause an error when
16487 * a NULL pointer is encountered.
16488 * \return TRUE if the unpack was successful, FALSE otherwise
16489 */
16490bcmos_bool bcmolt_epon_oam_ctc_dba_prov_base_unpack(bcmolt_epon_oam_ctc_dba_prov_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16491
16492/** Scans past a packed bcmolt_epon_oam_ctc_dba_prov_base struct and collects
16493 * memory requirements above and beyond sizeof()
16494 *
16495 * \param packed A stream pointing to the packed byte stream
16496 * \param extra_mem Number of additional storage bytes required
16497 * \return TRUE on success, FALSE on failure
16498 */
16499bcmos_bool bcmolt_epon_oam_ctc_dba_prov_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16500
16501/** Packs a bcmolt_epon_oam_ctc_old_management_object_base to bytes
16502 *
16503 * \param this Pointer to the object to pack
16504 * \param buf Pointer to the buffer to write to
16505 * \return TRUE if the pack was successful, FALSE otherwise
16506 */
16507bcmos_bool bcmolt_epon_oam_ctc_old_management_object_base_pack(bcmolt_epon_oam_ctc_old_management_object_base *this, bcmolt_epon_oam_buf *buf);
16508
16509/** Gets the number of bytes that a
16510 * bcmolt_epon_oam_ctc_old_management_object_base would occupy on the wire
16511 *
16512 * \return The structure size in bytes
16513 */
16514uint32_t bcmolt_epon_oam_ctc_old_management_object_base_get_packed_length(bcmolt_epon_oam_ctc_old_management_object_base *this);
16515
16516/** Unpacks a bcmolt_epon_oam_ctc_old_management_object_base from bytes
16517 *
16518 * \param this Pointer to the object to unpack
16519 * \param buf Pointer to the buffer to read from
16520 * \param extra_mem Pointer to the first location in memory to use to store
16521 * pointer fields that are NULL. Setting this to NULL will cause an error when
16522 * a NULL pointer is encountered.
16523 * \return TRUE if the unpack was successful, FALSE otherwise
16524 */
16525bcmos_bool bcmolt_epon_oam_ctc_old_management_object_base_unpack(bcmolt_epon_oam_ctc_old_management_object_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16526
16527/** Scans past a packed bcmolt_epon_oam_ctc_old_management_object_base struct
16528 * and collects memory requirements above and beyond sizeof()
16529 *
16530 * \param packed A stream pointing to the packed byte stream
16531 * \param extra_mem Number of additional storage bytes required
16532 * \return TRUE on success, FALSE on failure
16533 */
16534bcmos_bool bcmolt_epon_oam_ctc_old_management_object_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16535
16536/** Packs a bcmolt_epon_oam_ctc_management_object_base to bytes
16537 *
16538 * \param this Pointer to the object to pack
16539 * \param buf Pointer to the buffer to write to
16540 * \return TRUE if the pack was successful, FALSE otherwise
16541 */
16542bcmos_bool bcmolt_epon_oam_ctc_management_object_base_pack(bcmolt_epon_oam_ctc_management_object_base *this, bcmolt_epon_oam_buf *buf);
16543
16544/** Gets the number of bytes that a bcmolt_epon_oam_ctc_management_object_base
16545 * would occupy on the wire
16546 *
16547 * \return The structure size in bytes
16548 */
16549uint32_t bcmolt_epon_oam_ctc_management_object_base_get_packed_length(bcmolt_epon_oam_ctc_management_object_base *this);
16550
16551/** Unpacks a bcmolt_epon_oam_ctc_management_object_base from bytes
16552 *
16553 * \param this Pointer to the object to unpack
16554 * \param buf Pointer to the buffer to read from
16555 * \param extra_mem Pointer to the first location in memory to use to store
16556 * pointer fields that are NULL. Setting this to NULL will cause an error when
16557 * a NULL pointer is encountered.
16558 * \return TRUE if the unpack was successful, FALSE otherwise
16559 */
16560bcmos_bool bcmolt_epon_oam_ctc_management_object_base_unpack(bcmolt_epon_oam_ctc_management_object_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16561
16562/** Scans past a packed bcmolt_epon_oam_ctc_management_object_base struct and
16563 * collects memory requirements above and beyond sizeof()
16564 *
16565 * \param packed A stream pointing to the packed byte stream
16566 * \param extra_mem Number of additional storage bytes required
16567 * \return TRUE on success, FALSE on failure
16568 */
16569bcmos_bool bcmolt_epon_oam_ctc_management_object_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16570
16571/** Packs a bcmolt_epon_oam_ctc_empty_var_container_base to bytes
16572 *
16573 * \param this Pointer to the object to pack
16574 * \param buf Pointer to the buffer to write to
16575 * \return TRUE if the pack was successful, FALSE otherwise
16576 */
16577bcmos_bool bcmolt_epon_oam_ctc_empty_var_container_base_pack(bcmolt_epon_oam_ctc_empty_var_container_base *this, bcmolt_epon_oam_buf *buf);
16578
16579/** Gets the number of bytes that a bcmolt_epon_oam_ctc_empty_var_container_base
16580 * would occupy on the wire
16581 *
16582 * \return The structure size in bytes
16583 */
16584uint32_t bcmolt_epon_oam_ctc_empty_var_container_base_get_packed_length(bcmolt_epon_oam_ctc_empty_var_container_base *this);
16585
16586/** Unpacks a bcmolt_epon_oam_ctc_empty_var_container_base from bytes
16587 *
16588 * \param this Pointer to the object to unpack
16589 * \param buf Pointer to the buffer to read from
16590 * \param extra_mem Pointer to the first location in memory to use to store
16591 * pointer fields that are NULL. Setting this to NULL will cause an error when
16592 * a NULL pointer is encountered.
16593 * \return TRUE if the unpack was successful, FALSE otherwise
16594 */
16595bcmos_bool bcmolt_epon_oam_ctc_empty_var_container_base_unpack(bcmolt_epon_oam_ctc_empty_var_container_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16596
16597/** Scans past a packed bcmolt_epon_oam_ctc_empty_var_container_base struct and
16598 * collects memory requirements above and beyond sizeof()
16599 *
16600 * \param packed A stream pointing to the packed byte stream
16601 * \param extra_mem Number of additional storage bytes required
16602 * \return TRUE on success, FALSE on failure
16603 */
16604bcmos_bool bcmolt_epon_oam_ctc_empty_var_container_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16605
16606/** Counts the number of elements in the continuous list
16607 *
16608 * \param buf Buffer pointing to packed list
16609 * \return Number of elements in the list
16610 */
16611uint32_t bcmolt_epon_oam_ctc_empty_var_container_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
16612
16613/** Packs a bcmolt_epon_oam_ctc_eth_port_policing_config_base to bytes
16614 *
16615 * \param this Pointer to the object to pack
16616 * \param buf Pointer to the buffer to write to
16617 * \return TRUE if the pack was successful, FALSE otherwise
16618 */
16619bcmos_bool bcmolt_epon_oam_ctc_eth_port_policing_config_base_pack(bcmolt_epon_oam_ctc_eth_port_policing_config_base *this, bcmolt_epon_oam_buf *buf);
16620
16621/** Gets the number of bytes that a
16622 * bcmolt_epon_oam_ctc_eth_port_policing_config_base would occupy on the wire
16623 *
16624 * \return The structure size in bytes
16625 */
16626uint32_t bcmolt_epon_oam_ctc_eth_port_policing_config_base_get_packed_length(bcmolt_epon_oam_ctc_eth_port_policing_config_base *this);
16627
16628/** Unpacks a bcmolt_epon_oam_ctc_eth_port_policing_config_base from bytes
16629 *
16630 * \param this Pointer to the object to unpack
16631 * \param buf Pointer to the buffer to read from
16632 * \param extra_mem Pointer to the first location in memory to use to store
16633 * pointer fields that are NULL. Setting this to NULL will cause an error when
16634 * a NULL pointer is encountered.
16635 * \return TRUE if the unpack was successful, FALSE otherwise
16636 */
16637bcmos_bool bcmolt_epon_oam_ctc_eth_port_policing_config_base_unpack(bcmolt_epon_oam_ctc_eth_port_policing_config_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16638
16639/** Scans past a packed bcmolt_epon_oam_ctc_eth_port_policing_config_base struct
16640 * and collects memory requirements above and beyond sizeof()
16641 *
16642 * \param packed A stream pointing to the packed byte stream
16643 * \param extra_mem Number of additional storage bytes required
16644 * \return TRUE on success, FALSE on failure
16645 */
16646bcmos_bool bcmolt_epon_oam_ctc_eth_port_policing_config_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16647
16648/** Counts the number of elements in the continuous list
16649 *
16650 * \param buf Buffer pointing to packed list
16651 * \return Number of elements in the list
16652 */
16653uint32_t bcmolt_epon_oam_ctc_eth_port_policing_config_base_def_count_unknown(bcmolt_epon_oam_buf *buf);
16654
16655/** Packs a bcmolt_epon_oam_ctc_event_entry to bytes
16656 *
16657 * \param this Pointer to the object to pack
16658 * \param buf Pointer to the buffer to write to
16659 * \return TRUE if the pack was successful, FALSE otherwise
16660 */
16661bcmos_bool bcmolt_epon_oam_ctc_event_entry_pack(bcmolt_epon_oam_ctc_event_entry *this, bcmolt_epon_oam_buf *buf);
16662
16663/** Unpacks a bcmolt_epon_oam_ctc_event_entry from bytes
16664 *
16665 * \param this Pointer to the object to unpack
16666 * \param buf Pointer to the buffer to read from
16667 * \param extra_mem Pointer to the first location in memory to use to store
16668 * pointer fields that are NULL. Setting this to NULL will cause an error when
16669 * a NULL pointer is encountered.
16670 * \return TRUE if the unpack was successful, FALSE otherwise
16671 */
16672bcmos_bool bcmolt_epon_oam_ctc_event_entry_unpack(bcmolt_epon_oam_ctc_event_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16673
16674/** Scans past a packed bcmolt_epon_oam_ctc_event_entry struct and collects
16675 * memory requirements above and beyond sizeof()
16676 *
16677 * \param packed A stream pointing to the packed byte stream
16678 * \param extra_mem Number of additional storage bytes required
16679 * \return TRUE on success, FALSE on failure
16680 */
16681bcmos_bool bcmolt_epon_oam_ctc_event_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16682
16683/** Packs a bcmolt_epon_oam_ctc_event_status_entry to bytes
16684 *
16685 * \param this Pointer to the object to pack
16686 * \param buf Pointer to the buffer to write to
16687 * \return TRUE if the pack was successful, FALSE otherwise
16688 */
16689bcmos_bool bcmolt_epon_oam_ctc_event_status_entry_pack(bcmolt_epon_oam_ctc_event_status_entry *this, bcmolt_epon_oam_buf *buf);
16690
16691/** Unpacks a bcmolt_epon_oam_ctc_event_status_entry from bytes
16692 *
16693 * \param this Pointer to the object to unpack
16694 * \param buf Pointer to the buffer to read from
16695 * \param extra_mem Pointer to the first location in memory to use to store
16696 * pointer fields that are NULL. Setting this to NULL will cause an error when
16697 * a NULL pointer is encountered.
16698 * \return TRUE if the unpack was successful, FALSE otherwise
16699 */
16700bcmos_bool bcmolt_epon_oam_ctc_event_status_entry_unpack(bcmolt_epon_oam_ctc_event_status_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16701
16702/** Scans past a packed bcmolt_epon_oam_ctc_event_status_entry struct and
16703 * collects memory requirements above and beyond sizeof()
16704 *
16705 * \param packed A stream pointing to the packed byte stream
16706 * \param extra_mem Number of additional storage bytes required
16707 * \return TRUE on success, FALSE on failure
16708 */
16709bcmos_bool bcmolt_epon_oam_ctc_event_status_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16710
16711/** Packs a bcmolt_epon_oam_ctc_event_threshold_entry to bytes
16712 *
16713 * \param this Pointer to the object to pack
16714 * \param buf Pointer to the buffer to write to
16715 * \return TRUE if the pack was successful, FALSE otherwise
16716 */
16717bcmos_bool bcmolt_epon_oam_ctc_event_threshold_entry_pack(bcmolt_epon_oam_ctc_event_threshold_entry *this, bcmolt_epon_oam_buf *buf);
16718
16719/** Unpacks a bcmolt_epon_oam_ctc_event_threshold_entry from bytes
16720 *
16721 * \param this Pointer to the object to unpack
16722 * \param buf Pointer to the buffer to read from
16723 * \param extra_mem Pointer to the first location in memory to use to store
16724 * pointer fields that are NULL. Setting this to NULL will cause an error when
16725 * a NULL pointer is encountered.
16726 * \return TRUE if the unpack was successful, FALSE otherwise
16727 */
16728bcmos_bool bcmolt_epon_oam_ctc_event_threshold_entry_unpack(bcmolt_epon_oam_ctc_event_threshold_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16729
16730/** Scans past a packed bcmolt_epon_oam_ctc_event_threshold_entry struct and
16731 * collects memory requirements above and beyond sizeof()
16732 *
16733 * \param packed A stream pointing to the packed byte stream
16734 * \param extra_mem Number of additional storage bytes required
16735 * \return TRUE on success, FALSE on failure
16736 */
16737bcmos_bool bcmolt_epon_oam_ctc_event_threshold_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16738
16739/** Packs a bcmolt_epon_oam_ctc_event_base to bytes
16740 *
16741 * \param this Pointer to the object to pack
16742 * \param buf Pointer to the buffer to write to
16743 * \return TRUE if the pack was successful, FALSE otherwise
16744 */
16745bcmos_bool bcmolt_epon_oam_ctc_event_base_pack(bcmolt_epon_oam_ctc_event_base *this, bcmolt_epon_oam_buf *buf);
16746
16747/** Gets the number of bytes that a bcmolt_epon_oam_ctc_event_base would occupy
16748 * on the wire
16749 *
16750 * \return The structure size in bytes
16751 */
16752uint32_t bcmolt_epon_oam_ctc_event_base_get_packed_length(bcmolt_epon_oam_ctc_event_base *this);
16753
16754/** Unpacks a bcmolt_epon_oam_ctc_event_base from bytes
16755 *
16756 * \param this Pointer to the object to unpack
16757 * \param buf Pointer to the buffer to read from
16758 * \param extra_mem Pointer to the first location in memory to use to store
16759 * pointer fields that are NULL. Setting this to NULL will cause an error when
16760 * a NULL pointer is encountered.
16761 * \return TRUE if the unpack was successful, FALSE otherwise
16762 */
16763bcmos_bool bcmolt_epon_oam_ctc_event_base_unpack(bcmolt_epon_oam_ctc_event_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16764
16765/** Scans past a packed bcmolt_epon_oam_ctc_event_base struct and collects
16766 * memory requirements above and beyond sizeof()
16767 *
16768 * \param packed A stream pointing to the packed byte stream
16769 * \param extra_mem Number of additional storage bytes required
16770 * \return TRUE on success, FALSE on failure
16771 */
16772bcmos_bool bcmolt_epon_oam_ctc_event_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16773
16774/** Packs a bcmolt_epon_oam_ctc_ext_action_value_base to bytes
16775 *
16776 * \param this Pointer to the object to pack
16777 * \param buf Pointer to the buffer to write to
16778 * \return TRUE if the pack was successful, FALSE otherwise
16779 */
16780bcmos_bool bcmolt_epon_oam_ctc_ext_action_value_base_pack(bcmolt_epon_oam_ctc_ext_action_value_base *this, bcmolt_epon_oam_buf *buf);
16781
16782/** Gets the number of bytes that a bcmolt_epon_oam_ctc_ext_action_value_base
16783 * would occupy on the wire
16784 *
16785 * \return The structure size in bytes
16786 */
16787uint32_t bcmolt_epon_oam_ctc_ext_action_value_base_get_packed_length(bcmolt_epon_oam_ctc_ext_action_value_base *this);
16788
16789/** Unpacks a bcmolt_epon_oam_ctc_ext_action_value_base from bytes
16790 *
16791 * \param this Pointer to the object to unpack
16792 * \param buf Pointer to the buffer to read from
16793 * \param extra_mem Pointer to the first location in memory to use to store
16794 * pointer fields that are NULL. Setting this to NULL will cause an error when
16795 * a NULL pointer is encountered.
16796 * \return TRUE if the unpack was successful, FALSE otherwise
16797 */
16798bcmos_bool bcmolt_epon_oam_ctc_ext_action_value_base_unpack(bcmolt_epon_oam_ctc_ext_action_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16799
16800/** Scans past a packed bcmolt_epon_oam_ctc_ext_action_value_base struct and
16801 * collects memory requirements above and beyond sizeof()
16802 *
16803 * \param packed A stream pointing to the packed byte stream
16804 * \param extra_mem Number of additional storage bytes required
16805 * \return TRUE on success, FALSE on failure
16806 */
16807bcmos_bool bcmolt_epon_oam_ctc_ext_action_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16808
16809/** Packs a bcmolt_epon_oam_ctc_onu_service_sla_table to bytes
16810 *
16811 * \param this Pointer to the object to pack
16812 * \param buf Pointer to the buffer to write to
16813 * \return TRUE if the pack was successful, FALSE otherwise
16814 */
16815bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_table_pack(bcmolt_epon_oam_ctc_onu_service_sla_table *this, bcmolt_epon_oam_buf *buf);
16816
16817/** Unpacks a bcmolt_epon_oam_ctc_onu_service_sla_table from bytes
16818 *
16819 * \param this Pointer to the object to unpack
16820 * \param buf Pointer to the buffer to read from
16821 * \param extra_mem Pointer to the first location in memory to use to store
16822 * pointer fields that are NULL. Setting this to NULL will cause an error when
16823 * a NULL pointer is encountered.
16824 * \return TRUE if the unpack was successful, FALSE otherwise
16825 */
16826bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_table_unpack(bcmolt_epon_oam_ctc_onu_service_sla_table *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16827
16828/** Scans past a packed bcmolt_epon_oam_ctc_onu_service_sla_table struct and
16829 * collects memory requirements above and beyond sizeof()
16830 *
16831 * \param packed A stream pointing to the packed byte stream
16832 * \param extra_mem Number of additional storage bytes required
16833 * \return TRUE on success, FALSE on failure
16834 */
16835bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_table_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16836
16837/** Packs a bcmolt_epon_oam_ctc_onu_service_sla_base to bytes
16838 *
16839 * \param this Pointer to the object to pack
16840 * \param buf Pointer to the buffer to write to
16841 * \return TRUE if the pack was successful, FALSE otherwise
16842 */
16843bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_base_pack(bcmolt_epon_oam_ctc_onu_service_sla_base *this, bcmolt_epon_oam_buf *buf);
16844
16845/** Gets the number of bytes that a bcmolt_epon_oam_ctc_onu_service_sla_base
16846 * would occupy on the wire
16847 *
16848 * \return The structure size in bytes
16849 */
16850uint32_t bcmolt_epon_oam_ctc_onu_service_sla_base_get_packed_length(bcmolt_epon_oam_ctc_onu_service_sla_base *this);
16851
16852/** Unpacks a bcmolt_epon_oam_ctc_onu_service_sla_base from bytes
16853 *
16854 * \param this Pointer to the object to unpack
16855 * \param buf Pointer to the buffer to read from
16856 * \param extra_mem Pointer to the first location in memory to use to store
16857 * pointer fields that are NULL. Setting this to NULL will cause an error when
16858 * a NULL pointer is encountered.
16859 * \return TRUE if the unpack was successful, FALSE otherwise
16860 */
16861bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_base_unpack(bcmolt_epon_oam_ctc_onu_service_sla_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16862
16863/** Scans past a packed bcmolt_epon_oam_ctc_onu_service_sla_base struct and
16864 * collects memory requirements above and beyond sizeof()
16865 *
16866 * \param packed A stream pointing to the packed byte stream
16867 * \param extra_mem Number of additional storage bytes required
16868 * \return TRUE on success, FALSE on failure
16869 */
16870bcmos_bool bcmolt_epon_oam_ctc_onu_service_sla_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16871
16872/** Counts the number of elements in the continuous list
16873 *
16874 * \param buf Buffer pointing to packed list
16875 * \return Number of elements in the list
16876 */
16877uint32_t bcmolt_epon_oam_ctc_onu_service_sla_base_def_count_services(bcmolt_epon_oam_buf *buf);
16878
16879/** Packs a bcmolt_epon_oam_ctc_onu_interface to bytes
16880 *
16881 * \param this Pointer to the object to pack
16882 * \param buf Pointer to the buffer to write to
16883 * \return TRUE if the pack was successful, FALSE otherwise
16884 */
16885bcmos_bool bcmolt_epon_oam_ctc_onu_interface_pack(bcmolt_epon_oam_ctc_onu_interface *this, bcmolt_epon_oam_buf *buf);
16886
16887/** Unpacks a bcmolt_epon_oam_ctc_onu_interface from bytes
16888 *
16889 * \param this Pointer to the object to unpack
16890 * \param buf Pointer to the buffer to read from
16891 * \param extra_mem Pointer to the first location in memory to use to store
16892 * pointer fields that are NULL. Setting this to NULL will cause an error when
16893 * a NULL pointer is encountered.
16894 * \return TRUE if the unpack was successful, FALSE otherwise
16895 */
16896bcmos_bool bcmolt_epon_oam_ctc_onu_interface_unpack(bcmolt_epon_oam_ctc_onu_interface *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16897
16898/** Scans past a packed bcmolt_epon_oam_ctc_onu_interface struct and collects
16899 * memory requirements above and beyond sizeof()
16900 *
16901 * \param packed A stream pointing to the packed byte stream
16902 * \param extra_mem Number of additional storage bytes required
16903 * \return TRUE on success, FALSE on failure
16904 */
16905bcmos_bool bcmolt_epon_oam_ctc_onu_interface_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16906
16907/** Packs a bcmolt_epon_oam_ctc_mxu_global_params_base to bytes
16908 *
16909 * \param this Pointer to the object to pack
16910 * \param buf Pointer to the buffer to write to
16911 * \return TRUE if the pack was successful, FALSE otherwise
16912 */
16913bcmos_bool bcmolt_epon_oam_ctc_mxu_global_params_base_pack(bcmolt_epon_oam_ctc_mxu_global_params_base *this, bcmolt_epon_oam_buf *buf);
16914
16915/** Gets the number of bytes that a bcmolt_epon_oam_ctc_mxu_global_params_base
16916 * would occupy on the wire
16917 *
16918 * \return The structure size in bytes
16919 */
16920uint32_t bcmolt_epon_oam_ctc_mxu_global_params_base_get_packed_length(bcmolt_epon_oam_ctc_mxu_global_params_base *this);
16921
16922/** Unpacks a bcmolt_epon_oam_ctc_mxu_global_params_base from bytes
16923 *
16924 * \param this Pointer to the object to unpack
16925 * \param buf Pointer to the buffer to read from
16926 * \param extra_mem Pointer to the first location in memory to use to store
16927 * pointer fields that are NULL. Setting this to NULL will cause an error when
16928 * a NULL pointer is encountered.
16929 * \return TRUE if the unpack was successful, FALSE otherwise
16930 */
16931bcmos_bool bcmolt_epon_oam_ctc_mxu_global_params_base_unpack(bcmolt_epon_oam_ctc_mxu_global_params_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16932
16933/** Scans past a packed bcmolt_epon_oam_ctc_mxu_global_params_base struct and
16934 * collects memory requirements above and beyond sizeof()
16935 *
16936 * \param packed A stream pointing to the packed byte stream
16937 * \param extra_mem Number of additional storage bytes required
16938 * \return TRUE on success, FALSE on failure
16939 */
16940bcmos_bool bcmolt_epon_oam_ctc_mxu_global_params_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16941
16942/** Packs a bcmolt_epon_oam_ctc_mxu_snmp_params_base to bytes
16943 *
16944 * \param this Pointer to the object to pack
16945 * \param buf Pointer to the buffer to write to
16946 * \return TRUE if the pack was successful, FALSE otherwise
16947 */
16948bcmos_bool bcmolt_epon_oam_ctc_mxu_snmp_params_base_pack(bcmolt_epon_oam_ctc_mxu_snmp_params_base *this, bcmolt_epon_oam_buf *buf);
16949
16950/** Gets the number of bytes that a bcmolt_epon_oam_ctc_mxu_snmp_params_base
16951 * would occupy on the wire
16952 *
16953 * \return The structure size in bytes
16954 */
16955uint32_t bcmolt_epon_oam_ctc_mxu_snmp_params_base_get_packed_length(bcmolt_epon_oam_ctc_mxu_snmp_params_base *this);
16956
16957/** Unpacks a bcmolt_epon_oam_ctc_mxu_snmp_params_base from bytes
16958 *
16959 * \param this Pointer to the object to unpack
16960 * \param buf Pointer to the buffer to read from
16961 * \param extra_mem Pointer to the first location in memory to use to store
16962 * pointer fields that are NULL. Setting this to NULL will cause an error when
16963 * a NULL pointer is encountered.
16964 * \return TRUE if the unpack was successful, FALSE otherwise
16965 */
16966bcmos_bool bcmolt_epon_oam_ctc_mxu_snmp_params_base_unpack(bcmolt_epon_oam_ctc_mxu_snmp_params_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16967
16968/** Scans past a packed bcmolt_epon_oam_ctc_mxu_snmp_params_base struct and
16969 * collects memory requirements above and beyond sizeof()
16970 *
16971 * \param packed A stream pointing to the packed byte stream
16972 * \param extra_mem Number of additional storage bytes required
16973 * \return TRUE on success, FALSE on failure
16974 */
16975bcmos_bool bcmolt_epon_oam_ctc_mxu_snmp_params_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
16976
16977/** Packs a bcmolt_epon_oam_ctc_vlan_element to bytes
16978 *
16979 * \param this Pointer to the object to pack
16980 * \param buf Pointer to the buffer to write to
16981 * \return TRUE if the pack was successful, FALSE otherwise
16982 */
16983bcmos_bool bcmolt_epon_oam_ctc_vlan_element_pack(bcmolt_epon_oam_ctc_vlan_element *this, bcmolt_epon_oam_buf *buf);
16984
16985/** Unpacks a bcmolt_epon_oam_ctc_vlan_element from bytes
16986 *
16987 * \param this Pointer to the object to unpack
16988 * \param buf Pointer to the buffer to read from
16989 * \param extra_mem Pointer to the first location in memory to use to store
16990 * pointer fields that are NULL. Setting this to NULL will cause an error when
16991 * a NULL pointer is encountered.
16992 * \return TRUE if the unpack was successful, FALSE otherwise
16993 */
16994bcmos_bool bcmolt_epon_oam_ctc_vlan_element_unpack(bcmolt_epon_oam_ctc_vlan_element *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
16995
16996/** Scans past a packed bcmolt_epon_oam_ctc_vlan_element struct and collects
16997 * memory requirements above and beyond sizeof()
16998 *
16999 * \param packed A stream pointing to the packed byte stream
17000 * \param extra_mem Number of additional storage bytes required
17001 * \return TRUE on success, FALSE on failure
17002 */
17003bcmos_bool bcmolt_epon_oam_ctc_vlan_element_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17004
17005/** Packs a bcmolt_epon_oam_ctc_vlan_translation to bytes
17006 *
17007 * \param this Pointer to the object to pack
17008 * \param buf Pointer to the buffer to write to
17009 * \return TRUE if the pack was successful, FALSE otherwise
17010 */
17011bcmos_bool bcmolt_epon_oam_ctc_vlan_translation_pack(bcmolt_epon_oam_ctc_vlan_translation *this, bcmolt_epon_oam_buf *buf);
17012
17013/** Unpacks a bcmolt_epon_oam_ctc_vlan_translation from bytes
17014 *
17015 * \param this Pointer to the object to unpack
17016 * \param buf Pointer to the buffer to read from
17017 * \param extra_mem Pointer to the first location in memory to use to store
17018 * pointer fields that are NULL. Setting this to NULL will cause an error when
17019 * a NULL pointer is encountered.
17020 * \return TRUE if the unpack was successful, FALSE otherwise
17021 */
17022bcmos_bool bcmolt_epon_oam_ctc_vlan_translation_unpack(bcmolt_epon_oam_ctc_vlan_translation *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17023
17024/** Scans past a packed bcmolt_epon_oam_ctc_vlan_translation struct and collects
17025 * memory requirements above and beyond sizeof()
17026 *
17027 * \param packed A stream pointing to the packed byte stream
17028 * \param extra_mem Number of additional storage bytes required
17029 * \return TRUE on success, FALSE on failure
17030 */
17031bcmos_bool bcmolt_epon_oam_ctc_vlan_translation_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17032
17033/** Packs a bcmolt_epon_oam_ctc_vlan_aggregate_table to bytes
17034 *
17035 * \param this Pointer to the object to pack
17036 * \param buf Pointer to the buffer to write to
17037 * \return TRUE if the pack was successful, FALSE otherwise
17038 */
17039bcmos_bool bcmolt_epon_oam_ctc_vlan_aggregate_table_pack(bcmolt_epon_oam_ctc_vlan_aggregate_table *this, bcmolt_epon_oam_buf *buf);
17040
17041/** Gets the number of bytes that a bcmolt_epon_oam_ctc_vlan_aggregate_table
17042 * would occupy on the wire
17043 *
17044 * \return The structure size in bytes
17045 */
17046uint32_t bcmolt_epon_oam_ctc_vlan_aggregate_table_get_packed_length(bcmolt_epon_oam_ctc_vlan_aggregate_table *this);
17047
17048/** Unpacks a bcmolt_epon_oam_ctc_vlan_aggregate_table from bytes
17049 *
17050 * \param this Pointer to the object to unpack
17051 * \param buf Pointer to the buffer to read from
17052 * \param extra_mem Pointer to the first location in memory to use to store
17053 * pointer fields that are NULL. Setting this to NULL will cause an error when
17054 * a NULL pointer is encountered.
17055 * \return TRUE if the unpack was successful, FALSE otherwise
17056 */
17057bcmos_bool bcmolt_epon_oam_ctc_vlan_aggregate_table_unpack(bcmolt_epon_oam_ctc_vlan_aggregate_table *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17058
17059/** Scans past a packed bcmolt_epon_oam_ctc_vlan_aggregate_table struct and
17060 * collects memory requirements above and beyond sizeof()
17061 *
17062 * \param packed A stream pointing to the packed byte stream
17063 * \param extra_mem Number of additional storage bytes required
17064 * \return TRUE on success, FALSE on failure
17065 */
17066bcmos_bool bcmolt_epon_oam_ctc_vlan_aggregate_table_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17067
17068/** Packs a bcmolt_epon_oam_ctc_vlan_prov_base to bytes
17069 *
17070 * \param this Pointer to the object to pack
17071 * \param buf Pointer to the buffer to write to
17072 * \return TRUE if the pack was successful, FALSE otherwise
17073 */
17074bcmos_bool bcmolt_epon_oam_ctc_vlan_prov_base_pack(bcmolt_epon_oam_ctc_vlan_prov_base *this, bcmolt_epon_oam_buf *buf);
17075
17076/** Gets the number of bytes that a bcmolt_epon_oam_ctc_vlan_prov_base would
17077 * occupy on the wire
17078 *
17079 * \return The structure size in bytes
17080 */
17081uint32_t bcmolt_epon_oam_ctc_vlan_prov_base_get_packed_length(bcmolt_epon_oam_ctc_vlan_prov_base *this);
17082
17083/** Unpacks a bcmolt_epon_oam_ctc_vlan_prov_base from bytes
17084 *
17085 * \param this Pointer to the object to unpack
17086 * \param buf Pointer to the buffer to read from
17087 * \param extra_mem Pointer to the first location in memory to use to store
17088 * pointer fields that are NULL. Setting this to NULL will cause an error when
17089 * a NULL pointer is encountered.
17090 * \return TRUE if the unpack was successful, FALSE otherwise
17091 */
17092bcmos_bool bcmolt_epon_oam_ctc_vlan_prov_base_unpack(bcmolt_epon_oam_ctc_vlan_prov_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17093
17094/** Scans past a packed bcmolt_epon_oam_ctc_vlan_prov_base struct and collects
17095 * memory requirements above and beyond sizeof()
17096 *
17097 * \param packed A stream pointing to the packed byte stream
17098 * \param extra_mem Number of additional storage bytes required
17099 * \return TRUE on success, FALSE on failure
17100 */
17101bcmos_bool bcmolt_epon_oam_ctc_vlan_prov_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17102
17103/** Counts the number of elements in the continuous list
17104 *
17105 * \param buf Buffer pointing to packed list
17106 * \return Number of elements in the list
17107 */
17108uint32_t bcmolt_epon_oam_ctc_vlan_prov_base_translation_count_translations(bcmolt_epon_oam_buf *buf);
17109
17110/** Counts the number of elements in the continuous list
17111 *
17112 * \param buf Buffer pointing to packed list
17113 * \return Number of elements in the list
17114 */
17115uint32_t bcmolt_epon_oam_ctc_vlan_prov_base_trunk_count_permitted_vlans(bcmolt_epon_oam_buf *buf);
17116
17117/** Counts the number of elements in the continuous list
17118 *
17119 * \param buf Buffer pointing to packed list
17120 * \return Number of elements in the list
17121 */
17122uint32_t bcmolt_epon_oam_ctc_vlan_prov_base_trunk_mdu_count_permitted_vlans(bcmolt_epon_oam_buf *buf);
17123
17124/** Counts the number of elements in the continuous list
17125 *
17126 * \param buf Buffer pointing to packed list
17127 * \return Number of elements in the list
17128 */
17129uint32_t bcmolt_epon_oam_ctc_vlan_prov_base_hybrid_count_permitted_vlans(bcmolt_epon_oam_buf *buf);
17130
17131/** Packs a bcmolt_epon_oam_ctc_onu_classif_clause_base to bytes
17132 *
17133 * \param this Pointer to the object to pack
17134 * \param buf Pointer to the buffer to write to
17135 * \return TRUE if the pack was successful, FALSE otherwise
17136 */
17137bcmos_bool bcmolt_epon_oam_ctc_onu_classif_clause_base_pack(bcmolt_epon_oam_ctc_onu_classif_clause_base *this, bcmolt_epon_oam_buf *buf);
17138
17139/** Gets the number of bytes that a bcmolt_epon_oam_ctc_onu_classif_clause_base
17140 * would occupy on the wire
17141 *
17142 * \return The structure size in bytes
17143 */
17144uint32_t bcmolt_epon_oam_ctc_onu_classif_clause_base_get_packed_length(bcmolt_epon_oam_ctc_onu_classif_clause_base *this);
17145
17146/** Unpacks a bcmolt_epon_oam_ctc_onu_classif_clause_base from bytes
17147 *
17148 * \param this Pointer to the object to unpack
17149 * \param buf Pointer to the buffer to read from
17150 * \param extra_mem Pointer to the first location in memory to use to store
17151 * pointer fields that are NULL. Setting this to NULL will cause an error when
17152 * a NULL pointer is encountered.
17153 * \return TRUE if the unpack was successful, FALSE otherwise
17154 */
17155bcmos_bool bcmolt_epon_oam_ctc_onu_classif_clause_base_unpack(bcmolt_epon_oam_ctc_onu_classif_clause_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17156
17157/** Scans past a packed bcmolt_epon_oam_ctc_onu_classif_clause_base struct and
17158 * collects memory requirements above and beyond sizeof()
17159 *
17160 * \param packed A stream pointing to the packed byte stream
17161 * \param extra_mem Number of additional storage bytes required
17162 * \return TRUE on success, FALSE on failure
17163 */
17164bcmos_bool bcmolt_epon_oam_ctc_onu_classif_clause_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17165
17166/** Packs a bcmolt_epon_oam_ctc_rule to bytes
17167 *
17168 * \param this Pointer to the object to pack
17169 * \param buf Pointer to the buffer to write to
17170 * \return TRUE if the pack was successful, FALSE otherwise
17171 */
17172bcmos_bool bcmolt_epon_oam_ctc_rule_pack(bcmolt_epon_oam_ctc_rule *this, bcmolt_epon_oam_buf *buf);
17173
17174/** Gets the number of bytes that a bcmolt_epon_oam_ctc_rule would occupy on the
17175 * wire
17176 *
17177 * \return The structure size in bytes
17178 */
17179uint32_t bcmolt_epon_oam_ctc_rule_get_packed_length(bcmolt_epon_oam_ctc_rule *this);
17180
17181/** Unpacks a bcmolt_epon_oam_ctc_rule from bytes
17182 *
17183 * \param this Pointer to the object to unpack
17184 * \param buf Pointer to the buffer to read from
17185 * \param extra_mem Pointer to the first location in memory to use to store
17186 * pointer fields that are NULL. Setting this to NULL will cause an error when
17187 * a NULL pointer is encountered.
17188 * \return TRUE if the unpack was successful, FALSE otherwise
17189 */
17190bcmos_bool bcmolt_epon_oam_ctc_rule_unpack(bcmolt_epon_oam_ctc_rule *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17191
17192/** Scans past a packed bcmolt_epon_oam_ctc_rule struct and collects memory
17193 * requirements above and beyond sizeof()
17194 *
17195 * \param packed A stream pointing to the packed byte stream
17196 * \param extra_mem Number of additional storage bytes required
17197 * \return TRUE on success, FALSE on failure
17198 */
17199bcmos_bool bcmolt_epon_oam_ctc_rule_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17200
17201/** Packs a bcmolt_epon_oam_ctc_multicast_vlan_prov to bytes
17202 *
17203 * \param this Pointer to the object to pack
17204 * \param buf Pointer to the buffer to write to
17205 * \return TRUE if the pack was successful, FALSE otherwise
17206 */
17207bcmos_bool bcmolt_epon_oam_ctc_multicast_vlan_prov_pack(bcmolt_epon_oam_ctc_multicast_vlan_prov *this, bcmolt_epon_oam_buf *buf);
17208
17209/** Gets the number of bytes that a bcmolt_epon_oam_ctc_multicast_vlan_prov
17210 * would occupy on the wire
17211 *
17212 * \return The structure size in bytes
17213 */
17214uint32_t bcmolt_epon_oam_ctc_multicast_vlan_prov_get_packed_length(bcmolt_epon_oam_ctc_multicast_vlan_prov *this);
17215
17216/** Unpacks a bcmolt_epon_oam_ctc_multicast_vlan_prov from bytes
17217 *
17218 * \param this Pointer to the object to unpack
17219 * \param buf Pointer to the buffer to read from
17220 * \param extra_mem Pointer to the first location in memory to use to store
17221 * pointer fields that are NULL. Setting this to NULL will cause an error when
17222 * a NULL pointer is encountered.
17223 * \return TRUE if the unpack was successful, FALSE otherwise
17224 */
17225bcmos_bool bcmolt_epon_oam_ctc_multicast_vlan_prov_unpack(bcmolt_epon_oam_ctc_multicast_vlan_prov *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17226
17227/** Scans past a packed bcmolt_epon_oam_ctc_multicast_vlan_prov struct and
17228 * collects memory requirements above and beyond sizeof()
17229 *
17230 * \param packed A stream pointing to the packed byte stream
17231 * \param extra_mem Number of additional storage bytes required
17232 * \return TRUE on success, FALSE on failure
17233 */
17234bcmos_bool bcmolt_epon_oam_ctc_multicast_vlan_prov_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17235
17236/** Counts the number of elements in the continuous list
17237 *
17238 * \param buf Buffer pointing to packed list
17239 * \return Number of elements in the list
17240 */
17241uint32_t bcmolt_epon_oam_ctc_multicast_vlan_prov_delete_count_multicast_vlans(bcmolt_epon_oam_buf *buf);
17242
17243/** Counts the number of elements in the continuous list
17244 *
17245 * \param buf Buffer pointing to packed list
17246 * \return Number of elements in the list
17247 */
17248uint32_t bcmolt_epon_oam_ctc_multicast_vlan_prov_add_count_multicast_vlans(bcmolt_epon_oam_buf *buf);
17249
17250/** Counts the number of elements in the continuous list
17251 *
17252 * \param buf Buffer pointing to packed list
17253 * \return Number of elements in the list
17254 */
17255uint32_t bcmolt_epon_oam_ctc_multicast_vlan_prov_list_count_multicast_vlans(bcmolt_epon_oam_buf *buf);
17256
17257/** Packs a bcmolt_epon_oam_ctc_iptv_vlan_entry to bytes
17258 *
17259 * \param this Pointer to the object to pack
17260 * \param buf Pointer to the buffer to write to
17261 * \return TRUE if the pack was successful, FALSE otherwise
17262 */
17263bcmos_bool bcmolt_epon_oam_ctc_iptv_vlan_entry_pack(bcmolt_epon_oam_ctc_iptv_vlan_entry *this, bcmolt_epon_oam_buf *buf);
17264
17265/** Unpacks a bcmolt_epon_oam_ctc_iptv_vlan_entry from bytes
17266 *
17267 * \param this Pointer to the object to unpack
17268 * \param buf Pointer to the buffer to read from
17269 * \param extra_mem Pointer to the first location in memory to use to store
17270 * pointer fields that are NULL. Setting this to NULL will cause an error when
17271 * a NULL pointer is encountered.
17272 * \return TRUE if the unpack was successful, FALSE otherwise
17273 */
17274bcmos_bool bcmolt_epon_oam_ctc_iptv_vlan_entry_unpack(bcmolt_epon_oam_ctc_iptv_vlan_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17275
17276/** Scans past a packed bcmolt_epon_oam_ctc_iptv_vlan_entry struct and collects
17277 * memory requirements above and beyond sizeof()
17278 *
17279 * \param packed A stream pointing to the packed byte stream
17280 * \param extra_mem Number of additional storage bytes required
17281 * \return TRUE on success, FALSE on failure
17282 */
17283bcmos_bool bcmolt_epon_oam_ctc_iptv_vlan_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17284
17285/** Packs a bcmolt_epon_oam_ctc_multicast_tag_operation_base to bytes
17286 *
17287 * \param this Pointer to the object to pack
17288 * \param buf Pointer to the buffer to write to
17289 * \return TRUE if the pack was successful, FALSE otherwise
17290 */
17291bcmos_bool bcmolt_epon_oam_ctc_multicast_tag_operation_base_pack(bcmolt_epon_oam_ctc_multicast_tag_operation_base *this, bcmolt_epon_oam_buf *buf);
17292
17293/** Gets the number of bytes that a
17294 * bcmolt_epon_oam_ctc_multicast_tag_operation_base would occupy on the wire
17295 *
17296 * \return The structure size in bytes
17297 */
17298uint32_t bcmolt_epon_oam_ctc_multicast_tag_operation_base_get_packed_length(bcmolt_epon_oam_ctc_multicast_tag_operation_base *this);
17299
17300/** Unpacks a bcmolt_epon_oam_ctc_multicast_tag_operation_base from bytes
17301 *
17302 * \param this Pointer to the object to unpack
17303 * \param buf Pointer to the buffer to read from
17304 * \param extra_mem Pointer to the first location in memory to use to store
17305 * pointer fields that are NULL. Setting this to NULL will cause an error when
17306 * a NULL pointer is encountered.
17307 * \return TRUE if the unpack was successful, FALSE otherwise
17308 */
17309bcmos_bool bcmolt_epon_oam_ctc_multicast_tag_operation_base_unpack(bcmolt_epon_oam_ctc_multicast_tag_operation_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17310
17311/** Scans past a packed bcmolt_epon_oam_ctc_multicast_tag_operation_base struct
17312 * and collects memory requirements above and beyond sizeof()
17313 *
17314 * \param packed A stream pointing to the packed byte stream
17315 * \param extra_mem Number of additional storage bytes required
17316 * \return TRUE on success, FALSE on failure
17317 */
17318bcmos_bool bcmolt_epon_oam_ctc_multicast_tag_operation_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17319
17320/** Packs a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only to bytes
17321 *
17322 * \param this Pointer to the object to pack
17323 * \param buf Pointer to the buffer to write to
17324 * \return TRUE if the pack was successful, FALSE otherwise
17325 */
17326bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only *this, bcmolt_epon_oam_buf *buf);
17327
17328/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only from
17329 * bytes
17330 *
17331 * \param this Pointer to the object to unpack
17332 * \param buf Pointer to the buffer to read from
17333 * \param extra_mem Pointer to the first location in memory to use to store
17334 * pointer fields that are NULL. Setting this to NULL will cause an error when
17335 * a NULL pointer is encountered.
17336 * \return TRUE if the unpack was successful, FALSE otherwise
17337 */
17338bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17339
17340/** Scans past a packed bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only
17341 * struct and collects memory requirements above and beyond sizeof()
17342 *
17343 * \param packed A stream pointing to the packed byte stream
17344 * \param extra_mem Number of additional storage bytes required
17345 * \return TRUE on success, FALSE on failure
17346 */
17347bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_only_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17348
17349/** Packs a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id to
17350 * bytes
17351 *
17352 * \param this Pointer to the object to pack
17353 * \param buf Pointer to the buffer to write to
17354 * \return TRUE if the pack was successful, FALSE otherwise
17355 */
17356bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id *this, bcmolt_epon_oam_buf *buf);
17357
17358/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id
17359 * from bytes
17360 *
17361 * \param this Pointer to the object to unpack
17362 * \param buf Pointer to the buffer to read from
17363 * \param extra_mem Pointer to the first location in memory to use to store
17364 * pointer fields that are NULL. Setting this to NULL will cause an error when
17365 * a NULL pointer is encountered.
17366 * \return TRUE if the unpack was successful, FALSE otherwise
17367 */
17368bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17369
17370/** Scans past a packed
17371 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id struct and
17372 * collects memory requirements above and beyond sizeof()
17373 *
17374 * \param packed A stream pointing to the packed byte stream
17375 * \param extra_mem Number of additional storage bytes required
17376 * \return TRUE on success, FALSE on failure
17377 */
17378bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_vlan_id_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17379
17380/** Packs a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa to
17381 * bytes
17382 *
17383 * \param this Pointer to the object to pack
17384 * \param buf Pointer to the buffer to write to
17385 * \return TRUE if the pack was successful, FALSE otherwise
17386 */
17387bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa *this, bcmolt_epon_oam_buf *buf);
17388
17389/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa
17390 * from bytes
17391 *
17392 * \param this Pointer to the object to unpack
17393 * \param buf Pointer to the buffer to read from
17394 * \param extra_mem Pointer to the first location in memory to use to store
17395 * pointer fields that are NULL. Setting this to NULL will cause an error when
17396 * a NULL pointer is encountered.
17397 * \return TRUE if the unpack was successful, FALSE otherwise
17398 */
17399bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17400
17401/** Scans past a packed
17402 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa struct and
17403 * collects memory requirements above and beyond sizeof()
17404 *
17405 * \param packed A stream pointing to the packed byte stream
17406 * \param extra_mem Number of additional storage bytes required
17407 * \return TRUE on success, FALSE on failure
17408 */
17409bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv4sa_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17410
17411/** Packs a bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id
17412 * to bytes
17413 *
17414 * \param this Pointer to the object to pack
17415 * \param buf Pointer to the buffer to write to
17416 * \return TRUE if the pack was successful, FALSE otherwise
17417 */
17418bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id *this, bcmolt_epon_oam_buf *buf);
17419
17420/** Unpacks a
17421 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id from
17422 * bytes
17423 *
17424 * \param this Pointer to the object to unpack
17425 * \param buf Pointer to the buffer to read from
17426 * \param extra_mem Pointer to the first location in memory to use to store
17427 * pointer fields that are NULL. Setting this to NULL will cause an error when
17428 * a NULL pointer is encountered.
17429 * \return TRUE if the unpack was successful, FALSE otherwise
17430 */
17431bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17432
17433/** Scans past a packed
17434 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id struct
17435 * and collects memory requirements above and beyond sizeof()
17436 *
17437 * \param packed A stream pointing to the packed byte stream
17438 * \param extra_mem Number of additional storage bytes required
17439 * \return TRUE on success, FALSE on failure
17440 */
17441bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipplus_mcast_vlan_id_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17442
17443/** Packs a
17444 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id to
17445 * bytes
17446 *
17447 * \param this Pointer to the object to pack
17448 * \param buf Pointer to the buffer to write to
17449 * \return TRUE if the pack was successful, FALSE otherwise
17450 */
17451bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id *this, bcmolt_epon_oam_buf *buf);
17452
17453/** Unpacks a
17454 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id from
17455 * bytes
17456 *
17457 * \param this Pointer to the object to unpack
17458 * \param buf Pointer to the buffer to read from
17459 * \param extra_mem Pointer to the first location in memory to use to store
17460 * pointer fields that are NULL. Setting this to NULL will cause an error when
17461 * a NULL pointer is encountered.
17462 * \return TRUE if the unpack was successful, FALSE otherwise
17463 */
17464bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17465
17466/** Scans past a packed
17467 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id
17468 * struct and collects memory requirements above and beyond sizeof()
17469 *
17470 * \param packed A stream pointing to the packed byte stream
17471 * \param extra_mem Number of additional storage bytes required
17472 * \return TRUE on success, FALSE on failure
17473 */
17474bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_ipv6plus_mcast_vlan_id_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17475
17476/** Packs a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa to
17477 * bytes
17478 *
17479 * \param this Pointer to the object to pack
17480 * \param buf Pointer to the buffer to write to
17481 * \return TRUE if the pack was successful, FALSE otherwise
17482 */
17483bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa_pack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa *this, bcmolt_epon_oam_buf *buf);
17484
17485/** Unpacks a bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa
17486 * from bytes
17487 *
17488 * \param this Pointer to the object to unpack
17489 * \param buf Pointer to the buffer to read from
17490 * \param extra_mem Pointer to the first location in memory to use to store
17491 * pointer fields that are NULL. Setting this to NULL will cause an error when
17492 * a NULL pointer is encountered.
17493 * \return TRUE if the unpack was successful, FALSE otherwise
17494 */
17495bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa_unpack(bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17496
17497/** Scans past a packed
17498 * bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa struct and
17499 * collects memory requirements above and beyond sizeof()
17500 *
17501 * \param packed A stream pointing to the packed byte stream
17502 * \param extra_mem Number of additional storage bytes required
17503 * \return TRUE on success, FALSE on failure
17504 */
17505bcmos_bool bcmolt_epon_oam_ctc_multicast_control_entry_gda_mac_plus_ipv6sa_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17506
17507/** Packs a bcmolt_epon_oam_ctc_multicast_control to bytes
17508 *
17509 * \param this Pointer to the object to pack
17510 * \param buf Pointer to the buffer to write to
17511 * \return TRUE if the pack was successful, FALSE otherwise
17512 */
17513bcmos_bool bcmolt_epon_oam_ctc_multicast_control_pack(bcmolt_epon_oam_ctc_multicast_control *this, bcmolt_epon_oam_buf *buf);
17514
17515/** Gets the number of bytes that a bcmolt_epon_oam_ctc_multicast_control would
17516 * occupy on the wire
17517 *
17518 * \return The structure size in bytes
17519 */
17520uint32_t bcmolt_epon_oam_ctc_multicast_control_get_packed_length(bcmolt_epon_oam_ctc_multicast_control *this);
17521
17522/** Unpacks a bcmolt_epon_oam_ctc_multicast_control from bytes
17523 *
17524 * \param this Pointer to the object to unpack
17525 * \param buf Pointer to the buffer to read from
17526 * \param extra_mem Pointer to the first location in memory to use to store
17527 * pointer fields that are NULL. Setting this to NULL will cause an error when
17528 * a NULL pointer is encountered.
17529 * \return TRUE if the unpack was successful, FALSE otherwise
17530 */
17531bcmos_bool bcmolt_epon_oam_ctc_multicast_control_unpack(bcmolt_epon_oam_ctc_multicast_control *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17532
17533/** Scans past a packed bcmolt_epon_oam_ctc_multicast_control struct and
17534 * collects memory requirements above and beyond sizeof()
17535 *
17536 * \param packed A stream pointing to the packed byte stream
17537 * \param extra_mem Number of additional storage bytes required
17538 * \return TRUE on success, FALSE on failure
17539 */
17540bcmos_bool bcmolt_epon_oam_ctc_multicast_control_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17541
17542/** Counts the number of elements in the continuous list
17543 *
17544 * \param buf Buffer pointing to packed list
17545 * \return Number of elements in the list
17546 */
17547uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_mac_only_count_entries(bcmolt_epon_oam_buf *buf);
17548
17549/** Counts the number of elements in the continuous list
17550 *
17551 * \param buf Buffer pointing to packed list
17552 * \return Number of elements in the list
17553 */
17554uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_mac_plus_vlan_id_count_entries(bcmolt_epon_oam_buf *buf);
17555
17556/** Counts the number of elements in the continuous list
17557 *
17558 * \param buf Buffer pointing to packed list
17559 * \return Number of elements in the list
17560 */
17561uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_mac_plus_ipv4sa_count_entries(bcmolt_epon_oam_buf *buf);
17562
17563/** Counts the number of elements in the continuous list
17564 *
17565 * \param buf Buffer pointing to packed list
17566 * \return Number of elements in the list
17567 */
17568uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_ipplus_mcast_vlan_id_count_entries(bcmolt_epon_oam_buf *buf);
17569
17570/** Counts the number of elements in the continuous list
17571 *
17572 * \param buf Buffer pointing to packed list
17573 * \return Number of elements in the list
17574 */
17575uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_ipv6plus_mcast_vlan_id_count_entries(bcmolt_epon_oam_buf *buf);
17576
17577/** Counts the number of elements in the continuous list
17578 *
17579 * \param buf Buffer pointing to packed list
17580 * \return Number of elements in the list
17581 */
17582uint32_t bcmolt_epon_oam_ctc_multicast_control_gda_mac_plus_ipv6sa_count_entries(bcmolt_epon_oam_buf *buf);
17583
17584/** Packs a bcmolt_epon_oam_ctc_onu_llid_queue to bytes
17585 *
17586 * \param this Pointer to the object to pack
17587 * \param buf Pointer to the buffer to write to
17588 * \return TRUE if the pack was successful, FALSE otherwise
17589 */
17590bcmos_bool bcmolt_epon_oam_ctc_onu_llid_queue_pack(bcmolt_epon_oam_ctc_onu_llid_queue *this, bcmolt_epon_oam_buf *buf);
17591
17592/** Unpacks a bcmolt_epon_oam_ctc_onu_llid_queue from bytes
17593 *
17594 * \param this Pointer to the object to unpack
17595 * \param buf Pointer to the buffer to read from
17596 * \param extra_mem Pointer to the first location in memory to use to store
17597 * pointer fields that are NULL. Setting this to NULL will cause an error when
17598 * a NULL pointer is encountered.
17599 * \return TRUE if the unpack was successful, FALSE otherwise
17600 */
17601bcmos_bool bcmolt_epon_oam_ctc_onu_llid_queue_unpack(bcmolt_epon_oam_ctc_onu_llid_queue *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17602
17603/** Scans past a packed bcmolt_epon_oam_ctc_onu_llid_queue struct and collects
17604 * memory requirements above and beyond sizeof()
17605 *
17606 * \param packed A stream pointing to the packed byte stream
17607 * \param extra_mem Number of additional storage bytes required
17608 * \return TRUE on success, FALSE on failure
17609 */
17610bcmos_bool bcmolt_epon_oam_ctc_onu_llid_queue_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17611
17612/** Packs a bcmolt_epon_oam_zte_vlan_mac to bytes
17613 *
17614 * \param this Pointer to the object to pack
17615 * \param buf Pointer to the buffer to write to
17616 * \return TRUE if the pack was successful, FALSE otherwise
17617 */
17618bcmos_bool bcmolt_epon_oam_zte_vlan_mac_pack(bcmolt_epon_oam_zte_vlan_mac *this, bcmolt_epon_oam_buf *buf);
17619
17620/** Unpacks a bcmolt_epon_oam_zte_vlan_mac from bytes
17621 *
17622 * \param this Pointer to the object to unpack
17623 * \param buf Pointer to the buffer to read from
17624 * \param extra_mem Pointer to the first location in memory to use to store
17625 * pointer fields that are NULL. Setting this to NULL will cause an error when
17626 * a NULL pointer is encountered.
17627 * \return TRUE if the unpack was successful, FALSE otherwise
17628 */
17629bcmos_bool bcmolt_epon_oam_zte_vlan_mac_unpack(bcmolt_epon_oam_zte_vlan_mac *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17630
17631/** Scans past a packed bcmolt_epon_oam_zte_vlan_mac struct and collects memory
17632 * requirements above and beyond sizeof()
17633 *
17634 * \param packed A stream pointing to the packed byte stream
17635 * \param extra_mem Number of additional storage bytes required
17636 * \return TRUE on success, FALSE on failure
17637 */
17638bcmos_bool bcmolt_epon_oam_zte_vlan_mac_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17639
17640/** Packs a bcmolt_epon_oam_ctc_ext_attribute_value_base to bytes
17641 *
17642 * \param this Pointer to the object to pack
17643 * \param buf Pointer to the buffer to write to
17644 * \return TRUE if the pack was successful, FALSE otherwise
17645 */
17646bcmos_bool bcmolt_epon_oam_ctc_ext_attribute_value_base_pack(bcmolt_epon_oam_ctc_ext_attribute_value_base *this, bcmolt_epon_oam_buf *buf);
17647
17648/** Gets the number of bytes that a bcmolt_epon_oam_ctc_ext_attribute_value_base
17649 * would occupy on the wire
17650 *
17651 * \return The structure size in bytes
17652 */
17653uint32_t bcmolt_epon_oam_ctc_ext_attribute_value_base_get_packed_length(bcmolt_epon_oam_ctc_ext_attribute_value_base *this);
17654
17655/** Unpacks a bcmolt_epon_oam_ctc_ext_attribute_value_base from bytes
17656 *
17657 * \param this Pointer to the object to unpack
17658 * \param buf Pointer to the buffer to read from
17659 * \param extra_mem Pointer to the first location in memory to use to store
17660 * pointer fields that are NULL. Setting this to NULL will cause an error when
17661 * a NULL pointer is encountered.
17662 * \return TRUE if the unpack was successful, FALSE otherwise
17663 */
17664bcmos_bool bcmolt_epon_oam_ctc_ext_attribute_value_base_unpack(bcmolt_epon_oam_ctc_ext_attribute_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17665
17666/** Scans past a packed bcmolt_epon_oam_ctc_ext_attribute_value_base struct and
17667 * collects memory requirements above and beyond sizeof()
17668 *
17669 * \param packed A stream pointing to the packed byte stream
17670 * \param extra_mem Number of additional storage bytes required
17671 * \return TRUE on success, FALSE on failure
17672 */
17673bcmos_bool bcmolt_epon_oam_ctc_ext_attribute_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17674
17675/** Counts the number of elements in the continuous list
17676 *
17677 * \param buf Buffer pointing to packed list
17678 * \return Number of elements in the list
17679 */
17680uint32_t bcmolt_epon_oam_ctc_ext_attribute_value_base_def_count_unknown(bcmolt_epon_oam_buf *buf);
17681
17682/** Counts the number of elements in the continuous list
17683 *
17684 * \param buf Buffer pointing to packed list
17685 * \return Number of elements in the list
17686 */
17687uint32_t bcmolt_epon_oam_ctc_ext_attribute_value_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
17688
17689/** Counts the number of elements in the continuous list
17690 *
17691 * \param buf Buffer pointing to packed list
17692 * \return Number of elements in the list
17693 */
17694uint32_t bcmolt_epon_oam_ctc_ext_attribute_value_base_firmware_version_count_firmware_version(bcmolt_epon_oam_buf *buf);
17695
17696/** Packs a bcmolt_epon_oam_ctc_file_check_base to bytes
17697 *
17698 * \param this Pointer to the object to pack
17699 * \param buf Pointer to the buffer to write to
17700 * \return TRUE if the pack was successful, FALSE otherwise
17701 */
17702bcmos_bool bcmolt_epon_oam_ctc_file_check_base_pack(bcmolt_epon_oam_ctc_file_check_base *this, bcmolt_epon_oam_buf *buf);
17703
17704/** Gets the number of bytes that a bcmolt_epon_oam_ctc_file_check_base would
17705 * occupy on the wire
17706 *
17707 * \return The structure size in bytes
17708 */
17709uint32_t bcmolt_epon_oam_ctc_file_check_base_get_packed_length(bcmolt_epon_oam_ctc_file_check_base *this);
17710
17711/** Unpacks a bcmolt_epon_oam_ctc_file_check_base from bytes
17712 *
17713 * \param this Pointer to the object to unpack
17714 * \param buf Pointer to the buffer to read from
17715 * \param extra_mem Pointer to the first location in memory to use to store
17716 * pointer fields that are NULL. Setting this to NULL will cause an error when
17717 * a NULL pointer is encountered.
17718 * \return TRUE if the unpack was successful, FALSE otherwise
17719 */
17720bcmos_bool bcmolt_epon_oam_ctc_file_check_base_unpack(bcmolt_epon_oam_ctc_file_check_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17721
17722/** Scans past a packed bcmolt_epon_oam_ctc_file_check_base struct and collects
17723 * memory requirements above and beyond sizeof()
17724 *
17725 * \param packed A stream pointing to the packed byte stream
17726 * \param extra_mem Number of additional storage bytes required
17727 * \return TRUE on success, FALSE on failure
17728 */
17729bcmos_bool bcmolt_epon_oam_ctc_file_check_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17730
17731/** Packs a bcmolt_epon_oam_ctc_oui_version_pair to bytes
17732 *
17733 * \param this Pointer to the object to pack
17734 * \param buf Pointer to the buffer to write to
17735 * \return TRUE if the pack was successful, FALSE otherwise
17736 */
17737bcmos_bool bcmolt_epon_oam_ctc_oui_version_pair_pack(bcmolt_epon_oam_ctc_oui_version_pair *this, bcmolt_epon_oam_buf *buf);
17738
17739/** Unpacks a bcmolt_epon_oam_ctc_oui_version_pair from bytes
17740 *
17741 * \param this Pointer to the object to unpack
17742 * \param buf Pointer to the buffer to read from
17743 * \param extra_mem Pointer to the first location in memory to use to store
17744 * pointer fields that are NULL. Setting this to NULL will cause an error when
17745 * a NULL pointer is encountered.
17746 * \return TRUE if the unpack was successful, FALSE otherwise
17747 */
17748bcmos_bool bcmolt_epon_oam_ctc_oui_version_pair_unpack(bcmolt_epon_oam_ctc_oui_version_pair *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17749
17750/** Scans past a packed bcmolt_epon_oam_ctc_oui_version_pair struct and collects
17751 * memory requirements above and beyond sizeof()
17752 *
17753 * \param packed A stream pointing to the packed byte stream
17754 * \param extra_mem Number of additional storage bytes required
17755 * \return TRUE on success, FALSE on failure
17756 */
17757bcmos_bool bcmolt_epon_oam_ctc_oui_version_pair_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17758
17759/** Packs a bcmolt_epon_oam_ctc_performance_monitoring_data to bytes
17760 *
17761 * \param this Pointer to the object to pack
17762 * \param buf Pointer to the buffer to write to
17763 * \return TRUE if the pack was successful, FALSE otherwise
17764 */
17765bcmos_bool bcmolt_epon_oam_ctc_performance_monitoring_data_pack(bcmolt_epon_oam_ctc_performance_monitoring_data *this, bcmolt_epon_oam_buf *buf);
17766
17767/** Unpacks a bcmolt_epon_oam_ctc_performance_monitoring_data from bytes
17768 *
17769 * \param this Pointer to the object to unpack
17770 * \param buf Pointer to the buffer to read from
17771 * \param extra_mem Pointer to the first location in memory to use to store
17772 * pointer fields that are NULL. Setting this to NULL will cause an error when
17773 * a NULL pointer is encountered.
17774 * \return TRUE if the unpack was successful, FALSE otherwise
17775 */
17776bcmos_bool bcmolt_epon_oam_ctc_performance_monitoring_data_unpack(bcmolt_epon_oam_ctc_performance_monitoring_data *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17777
17778/** Scans past a packed bcmolt_epon_oam_ctc_performance_monitoring_data struct
17779 * and collects memory requirements above and beyond sizeof()
17780 *
17781 * \param packed A stream pointing to the packed byte stream
17782 * \param extra_mem Number of additional storage bytes required
17783 * \return TRUE on success, FALSE on failure
17784 */
17785bcmos_bool bcmolt_epon_oam_ctc_performance_monitoring_data_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17786
17787/** Packs a bcmolt_epon_oam_ctc_tftp_base to bytes
17788 *
17789 * \param this Pointer to the object to pack
17790 * \param buf Pointer to the buffer to write to
17791 * \return TRUE if the pack was successful, FALSE otherwise
17792 */
17793bcmos_bool bcmolt_epon_oam_ctc_tftp_base_pack(bcmolt_epon_oam_ctc_tftp_base *this, bcmolt_epon_oam_buf *buf);
17794
17795/** Gets the number of bytes that a bcmolt_epon_oam_ctc_tftp_base would occupy
17796 * on the wire
17797 *
17798 * \return The structure size in bytes
17799 */
17800uint32_t bcmolt_epon_oam_ctc_tftp_base_get_packed_length(bcmolt_epon_oam_ctc_tftp_base *this);
17801
17802/** Unpacks a bcmolt_epon_oam_ctc_tftp_base from bytes
17803 *
17804 * \param this Pointer to the object to unpack
17805 * \param buf Pointer to the buffer to read from
17806 * \param extra_mem Pointer to the first location in memory to use to store
17807 * pointer fields that are NULL. Setting this to NULL will cause an error when
17808 * a NULL pointer is encountered.
17809 * \return TRUE if the unpack was successful, FALSE otherwise
17810 */
17811bcmos_bool bcmolt_epon_oam_ctc_tftp_base_unpack(bcmolt_epon_oam_ctc_tftp_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17812
17813/** Scans past a packed bcmolt_epon_oam_ctc_tftp_base struct and collects memory
17814 * requirements above and beyond sizeof()
17815 *
17816 * \param packed A stream pointing to the packed byte stream
17817 * \param extra_mem Number of additional storage bytes required
17818 * \return TRUE on success, FALSE on failure
17819 */
17820bcmos_bool bcmolt_epon_oam_ctc_tftp_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17821
17822/** Counts the number of elements in the continuous list
17823 *
17824 * \param buf Buffer pointing to packed list
17825 * \return Number of elements in the list
17826 */
17827uint32_t bcmolt_epon_oam_ctc_tftp_base_write_request_count_filename(bcmolt_epon_oam_buf *buf);
17828
17829/** Counts the number of elements in the continuous list
17830 *
17831 * \param buf Buffer pointing to packed list
17832 * \return Number of elements in the list
17833 */
17834uint32_t bcmolt_epon_oam_ctc_tftp_base_write_request_count_mode(bcmolt_epon_oam_buf *buf);
17835
17836/** Counts the number of elements in the continuous list
17837 *
17838 * \param buf Buffer pointing to packed list
17839 * \return Number of elements in the list
17840 */
17841uint32_t bcmolt_epon_oam_ctc_tftp_base_data_count_data(bcmolt_epon_oam_buf *buf);
17842
17843/** Counts the number of elements in the continuous list
17844 *
17845 * \param buf Buffer pointing to packed list
17846 * \return Number of elements in the list
17847 */
17848uint32_t bcmolt_epon_oam_ctc_tftp_base_error_count_message(bcmolt_epon_oam_buf *buf);
17849
17850/** Packs a bcmolt_epon_oam_ctc_swmirror_base to bytes
17851 *
17852 * \param this Pointer to the object to pack
17853 * \param buf Pointer to the buffer to write to
17854 * \return TRUE if the pack was successful, FALSE otherwise
17855 */
17856bcmos_bool bcmolt_epon_oam_ctc_swmirror_base_pack(bcmolt_epon_oam_ctc_swmirror_base *this, bcmolt_epon_oam_buf *buf);
17857
17858/** Gets the number of bytes that a bcmolt_epon_oam_ctc_swmirror_base would
17859 * occupy on the wire
17860 *
17861 * \return The structure size in bytes
17862 */
17863uint32_t bcmolt_epon_oam_ctc_swmirror_base_get_packed_length(bcmolt_epon_oam_ctc_swmirror_base *this);
17864
17865/** Unpacks a bcmolt_epon_oam_ctc_swmirror_base from bytes
17866 *
17867 * \param this Pointer to the object to unpack
17868 * \param buf Pointer to the buffer to read from
17869 * \param extra_mem Pointer to the first location in memory to use to store
17870 * pointer fields that are NULL. Setting this to NULL will cause an error when
17871 * a NULL pointer is encountered.
17872 * \return TRUE if the unpack was successful, FALSE otherwise
17873 */
17874bcmos_bool bcmolt_epon_oam_ctc_swmirror_base_unpack(bcmolt_epon_oam_ctc_swmirror_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17875
17876/** Scans past a packed bcmolt_epon_oam_ctc_swmirror_base struct and collects
17877 * memory requirements above and beyond sizeof()
17878 *
17879 * \param packed A stream pointing to the packed byte stream
17880 * \param extra_mem Number of additional storage bytes required
17881 * \return TRUE on success, FALSE on failure
17882 */
17883bcmos_bool bcmolt_epon_oam_ctc_swmirror_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17884
17885/** Packs a bcmolt_epon_oam_ctc_software_download_prov_base to bytes
17886 *
17887 * \param this Pointer to the object to pack
17888 * \param buf Pointer to the buffer to write to
17889 * \return TRUE if the pack was successful, FALSE otherwise
17890 */
17891bcmos_bool bcmolt_epon_oam_ctc_software_download_prov_base_pack(bcmolt_epon_oam_ctc_software_download_prov_base *this, bcmolt_epon_oam_buf *buf);
17892
17893/** Gets the number of bytes that a
17894 * bcmolt_epon_oam_ctc_software_download_prov_base would occupy on the wire
17895 *
17896 * \return The structure size in bytes
17897 */
17898uint32_t bcmolt_epon_oam_ctc_software_download_prov_base_get_packed_length(bcmolt_epon_oam_ctc_software_download_prov_base *this);
17899
17900/** Unpacks a bcmolt_epon_oam_ctc_software_download_prov_base from bytes
17901 *
17902 * \param this Pointer to the object to unpack
17903 * \param buf Pointer to the buffer to read from
17904 * \param extra_mem Pointer to the first location in memory to use to store
17905 * pointer fields that are NULL. Setting this to NULL will cause an error when
17906 * a NULL pointer is encountered.
17907 * \return TRUE if the unpack was successful, FALSE otherwise
17908 */
17909bcmos_bool bcmolt_epon_oam_ctc_software_download_prov_base_unpack(bcmolt_epon_oam_ctc_software_download_prov_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17910
17911/** Scans past a packed bcmolt_epon_oam_ctc_software_download_prov_base struct
17912 * and collects memory requirements above and beyond sizeof()
17913 *
17914 * \param packed A stream pointing to the packed byte stream
17915 * \param extra_mem Number of additional storage bytes required
17916 * \return TRUE on success, FALSE on failure
17917 */
17918bcmos_bool bcmolt_epon_oam_ctc_software_download_prov_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17919
17920/** Packs a bcmolt_epon_oam_ktqueue_drop_counter to bytes
17921 *
17922 * \param this Pointer to the object to pack
17923 * \param buf Pointer to the buffer to write to
17924 * \return TRUE if the pack was successful, FALSE otherwise
17925 */
17926bcmos_bool bcmolt_epon_oam_ktqueue_drop_counter_pack(bcmolt_epon_oam_ktqueue_drop_counter *this, bcmolt_epon_oam_buf *buf);
17927
17928/** Unpacks a bcmolt_epon_oam_ktqueue_drop_counter from bytes
17929 *
17930 * \param this Pointer to the object to unpack
17931 * \param buf Pointer to the buffer to read from
17932 * \param extra_mem Pointer to the first location in memory to use to store
17933 * pointer fields that are NULL. Setting this to NULL will cause an error when
17934 * a NULL pointer is encountered.
17935 * \return TRUE if the unpack was successful, FALSE otherwise
17936 */
17937bcmos_bool bcmolt_epon_oam_ktqueue_drop_counter_unpack(bcmolt_epon_oam_ktqueue_drop_counter *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17938
17939/** Scans past a packed bcmolt_epon_oam_ktqueue_drop_counter struct and collects
17940 * memory requirements above and beyond sizeof()
17941 *
17942 * \param packed A stream pointing to the packed byte stream
17943 * \param extra_mem Number of additional storage bytes required
17944 * \return TRUE on success, FALSE on failure
17945 */
17946bcmos_bool bcmolt_epon_oam_ktqueue_drop_counter_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17947
17948/** Packs a bcmolt_epon_oam_ktattribute_value_base to bytes
17949 *
17950 * \param this Pointer to the object to pack
17951 * \param buf Pointer to the buffer to write to
17952 * \return TRUE if the pack was successful, FALSE otherwise
17953 */
17954bcmos_bool bcmolt_epon_oam_ktattribute_value_base_pack(bcmolt_epon_oam_ktattribute_value_base *this, bcmolt_epon_oam_buf *buf);
17955
17956/** Gets the number of bytes that a bcmolt_epon_oam_ktattribute_value_base would
17957 * occupy on the wire
17958 *
17959 * \return The structure size in bytes
17960 */
17961uint32_t bcmolt_epon_oam_ktattribute_value_base_get_packed_length(bcmolt_epon_oam_ktattribute_value_base *this);
17962
17963/** Unpacks a bcmolt_epon_oam_ktattribute_value_base from bytes
17964 *
17965 * \param this Pointer to the object to unpack
17966 * \param buf Pointer to the buffer to read from
17967 * \param extra_mem Pointer to the first location in memory to use to store
17968 * pointer fields that are NULL. Setting this to NULL will cause an error when
17969 * a NULL pointer is encountered.
17970 * \return TRUE if the unpack was successful, FALSE otherwise
17971 */
17972bcmos_bool bcmolt_epon_oam_ktattribute_value_base_unpack(bcmolt_epon_oam_ktattribute_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
17973
17974/** Scans past a packed bcmolt_epon_oam_ktattribute_value_base struct and
17975 * collects memory requirements above and beyond sizeof()
17976 *
17977 * \param packed A stream pointing to the packed byte stream
17978 * \param extra_mem Number of additional storage bytes required
17979 * \return TRUE on success, FALSE on failure
17980 */
17981bcmos_bool bcmolt_epon_oam_ktattribute_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
17982
17983/** Packs a bcmolt_epon_oam_ktaction_value_base to bytes
17984 *
17985 * \param this Pointer to the object to pack
17986 * \param buf Pointer to the buffer to write to
17987 * \return TRUE if the pack was successful, FALSE otherwise
17988 */
17989bcmos_bool bcmolt_epon_oam_ktaction_value_base_pack(bcmolt_epon_oam_ktaction_value_base *this, bcmolt_epon_oam_buf *buf);
17990
17991/** Gets the number of bytes that a bcmolt_epon_oam_ktaction_value_base would
17992 * occupy on the wire
17993 *
17994 * \return The structure size in bytes
17995 */
17996uint32_t bcmolt_epon_oam_ktaction_value_base_get_packed_length(bcmolt_epon_oam_ktaction_value_base *this);
17997
17998/** Unpacks a bcmolt_epon_oam_ktaction_value_base from bytes
17999 *
18000 * \param this Pointer to the object to unpack
18001 * \param buf Pointer to the buffer to read from
18002 * \param extra_mem Pointer to the first location in memory to use to store
18003 * pointer fields that are NULL. Setting this to NULL will cause an error when
18004 * a NULL pointer is encountered.
18005 * \return TRUE if the unpack was successful, FALSE otherwise
18006 */
18007bcmos_bool bcmolt_epon_oam_ktaction_value_base_unpack(bcmolt_epon_oam_ktaction_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18008
18009/** Scans past a packed bcmolt_epon_oam_ktaction_value_base struct and collects
18010 * memory requirements above and beyond sizeof()
18011 *
18012 * \param packed A stream pointing to the packed byte stream
18013 * \param extra_mem Number of additional storage bytes required
18014 * \return TRUE on success, FALSE on failure
18015 */
18016bcmos_bool bcmolt_epon_oam_ktaction_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18017
18018/** Counts the number of elements in the continuous list
18019 *
18020 * \param buf Buffer pointing to packed list
18021 * \return Number of elements in the list
18022 */
18023uint32_t bcmolt_epon_oam_ktaction_value_base_restore_onu_count_unknown(bcmolt_epon_oam_buf *buf);
18024
18025/** Packs a bcmolt_epon_oam_ctc_var_container_base to bytes
18026 *
18027 * \param this Pointer to the object to pack
18028 * \param buf Pointer to the buffer to write to
18029 * \return TRUE if the pack was successful, FALSE otherwise
18030 */
18031bcmos_bool bcmolt_epon_oam_ctc_var_container_base_pack(bcmolt_epon_oam_ctc_var_container_base *this, bcmolt_epon_oam_buf *buf);
18032
18033/** Gets the number of bytes that a bcmolt_epon_oam_ctc_var_container_base would
18034 * occupy on the wire
18035 *
18036 * \return The structure size in bytes
18037 */
18038uint32_t bcmolt_epon_oam_ctc_var_container_base_get_packed_length(bcmolt_epon_oam_ctc_var_container_base *this);
18039
18040/** Unpacks a bcmolt_epon_oam_ctc_var_container_base from bytes
18041 *
18042 * \param this Pointer to the object to unpack
18043 * \param buf Pointer to the buffer to read from
18044 * \param extra_mem Pointer to the first location in memory to use to store
18045 * pointer fields that are NULL. Setting this to NULL will cause an error when
18046 * a NULL pointer is encountered.
18047 * \return TRUE if the unpack was successful, FALSE otherwise
18048 */
18049bcmos_bool bcmolt_epon_oam_ctc_var_container_base_unpack(bcmolt_epon_oam_ctc_var_container_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18050
18051/** Scans past a packed bcmolt_epon_oam_ctc_var_container_base struct and
18052 * collects memory requirements above and beyond sizeof()
18053 *
18054 * \param packed A stream pointing to the packed byte stream
18055 * \param extra_mem Number of additional storage bytes required
18056 * \return TRUE on success, FALSE on failure
18057 */
18058bcmos_bool bcmolt_epon_oam_ctc_var_container_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18059
18060/** Counts the number of elements in the continuous list
18061 *
18062 * \param buf Buffer pointing to packed list
18063 * \return Number of elements in the list
18064 */
18065uint32_t bcmolt_epon_oam_ctc_var_container_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
18066
18067/** Packs a bcmolt_epon_oam_ctc_var_descriptor to bytes
18068 *
18069 * \param this Pointer to the object to pack
18070 * \param buf Pointer to the buffer to write to
18071 * \return TRUE if the pack was successful, FALSE otherwise
18072 */
18073bcmos_bool bcmolt_epon_oam_ctc_var_descriptor_pack(bcmolt_epon_oam_ctc_var_descriptor *this, bcmolt_epon_oam_buf *buf);
18074
18075/** Gets the number of bytes that a bcmolt_epon_oam_ctc_var_descriptor would
18076 * occupy on the wire
18077 *
18078 * \return The structure size in bytes
18079 */
18080uint32_t bcmolt_epon_oam_ctc_var_descriptor_get_packed_length(bcmolt_epon_oam_ctc_var_descriptor *this);
18081
18082/** Unpacks a bcmolt_epon_oam_ctc_var_descriptor from bytes
18083 *
18084 * \param this Pointer to the object to unpack
18085 * \param buf Pointer to the buffer to read from
18086 * \param extra_mem Pointer to the first location in memory to use to store
18087 * pointer fields that are NULL. Setting this to NULL will cause an error when
18088 * a NULL pointer is encountered.
18089 * \return TRUE if the unpack was successful, FALSE otherwise
18090 */
18091bcmos_bool bcmolt_epon_oam_ctc_var_descriptor_unpack(bcmolt_epon_oam_ctc_var_descriptor *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18092
18093/** Scans past a packed bcmolt_epon_oam_ctc_var_descriptor struct and collects
18094 * memory requirements above and beyond sizeof()
18095 *
18096 * \param packed A stream pointing to the packed byte stream
18097 * \param extra_mem Number of additional storage bytes required
18098 * \return TRUE on success, FALSE on failure
18099 */
18100bcmos_bool bcmolt_epon_oam_ctc_var_descriptor_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18101
18102/** Counts the number of elements in the continuous list
18103 *
18104 * \param buf Buffer pointing to packed list
18105 * \return Number of elements in the list
18106 */
18107uint32_t bcmolt_epon_oam_ctc_var_descriptor_end_count_unknown(bcmolt_epon_oam_buf *buf);
18108
18109/** Packs a bcmolt_epon_oam_ktonu_event_base to bytes
18110 *
18111 * \param this Pointer to the object to pack
18112 * \param buf Pointer to the buffer to write to
18113 * \return TRUE if the pack was successful, FALSE otherwise
18114 */
18115bcmos_bool bcmolt_epon_oam_ktonu_event_base_pack(bcmolt_epon_oam_ktonu_event_base *this, bcmolt_epon_oam_buf *buf);
18116
18117/** Gets the number of bytes that a bcmolt_epon_oam_ktonu_event_base would
18118 * occupy on the wire
18119 *
18120 * \return The structure size in bytes
18121 */
18122uint32_t bcmolt_epon_oam_ktonu_event_base_get_packed_length(bcmolt_epon_oam_ktonu_event_base *this);
18123
18124/** Unpacks a bcmolt_epon_oam_ktonu_event_base from bytes
18125 *
18126 * \param this Pointer to the object to unpack
18127 * \param buf Pointer to the buffer to read from
18128 * \param extra_mem Pointer to the first location in memory to use to store
18129 * pointer fields that are NULL. Setting this to NULL will cause an error when
18130 * a NULL pointer is encountered.
18131 * \return TRUE if the unpack was successful, FALSE otherwise
18132 */
18133bcmos_bool bcmolt_epon_oam_ktonu_event_base_unpack(bcmolt_epon_oam_ktonu_event_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18134
18135/** Scans past a packed bcmolt_epon_oam_ktonu_event_base struct and collects
18136 * memory requirements above and beyond sizeof()
18137 *
18138 * \param packed A stream pointing to the packed byte stream
18139 * \param extra_mem Number of additional storage bytes required
18140 * \return TRUE on success, FALSE on failure
18141 */
18142bcmos_bool bcmolt_epon_oam_ktonu_event_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18143
18144/** Packs a bcmolt_epon_oam_ctc_vendor_extended_base to bytes
18145 *
18146 * \param this Pointer to the object to pack
18147 * \param buf Pointer to the buffer to write to
18148 * \return TRUE if the pack was successful, FALSE otherwise
18149 */
18150bcmos_bool bcmolt_epon_oam_ctc_vendor_extended_base_pack(bcmolt_epon_oam_ctc_vendor_extended_base *this, bcmolt_epon_oam_buf *buf);
18151
18152/** Gets the number of bytes that a bcmolt_epon_oam_ctc_vendor_extended_base
18153 * would occupy on the wire
18154 *
18155 * \return The structure size in bytes
18156 */
18157uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_get_packed_length(bcmolt_epon_oam_ctc_vendor_extended_base *this);
18158
18159/** Unpacks a bcmolt_epon_oam_ctc_vendor_extended_base from bytes
18160 *
18161 * \param this Pointer to the object to unpack
18162 * \param buf Pointer to the buffer to read from
18163 * \param extra_mem Pointer to the first location in memory to use to store
18164 * pointer fields that are NULL. Setting this to NULL will cause an error when
18165 * a NULL pointer is encountered.
18166 * \return TRUE if the unpack was successful, FALSE otherwise
18167 */
18168bcmos_bool bcmolt_epon_oam_ctc_vendor_extended_base_unpack(bcmolt_epon_oam_ctc_vendor_extended_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18169
18170/** Scans past a packed bcmolt_epon_oam_ctc_vendor_extended_base struct and
18171 * collects memory requirements above and beyond sizeof()
18172 *
18173 * \param packed A stream pointing to the packed byte stream
18174 * \param extra_mem Number of additional storage bytes required
18175 * \return TRUE on success, FALSE on failure
18176 */
18177bcmos_bool bcmolt_epon_oam_ctc_vendor_extended_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18178
18179/** Counts the number of elements in the continuous list
18180 *
18181 * \param buf Buffer pointing to packed list
18182 * \return Number of elements in the list
18183 */
18184uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_get_request_count_vars(bcmolt_epon_oam_buf *buf);
18185
18186/** Counts the number of elements in the continuous list
18187 *
18188 * \param buf Buffer pointing to packed list
18189 * \return Number of elements in the list
18190 */
18191uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_get_response_count_vars(bcmolt_epon_oam_buf *buf);
18192
18193/** Counts the number of elements in the continuous list
18194 *
18195 * \param buf Buffer pointing to packed list
18196 * \return Number of elements in the list
18197 */
18198uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_set_request_count_vars(bcmolt_epon_oam_buf *buf);
18199
18200/** Counts the number of elements in the continuous list
18201 *
18202 * \param buf Buffer pointing to packed list
18203 * \return Number of elements in the list
18204 */
18205uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_set_response_count_vars(bcmolt_epon_oam_buf *buf);
18206
18207/** Counts the number of elements in the continuous list
18208 *
18209 * \param buf Buffer pointing to packed list
18210 * \return Number of elements in the list
18211 */
18212uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_software_download_count_messages(bcmolt_epon_oam_buf *buf);
18213
18214/** Counts the number of elements in the continuous list
18215 *
18216 * \param buf Buffer pointing to packed list
18217 * \return Number of elements in the list
18218 */
18219uint32_t bcmolt_epon_oam_ctc_vendor_extended_base_ktonu_event_count_events(bcmolt_epon_oam_buf *buf);
18220
18221/** Packs a bcmolt_epon_oam_dasan_classifier_base to bytes
18222 *
18223 * \param this Pointer to the object to pack
18224 * \param buf Pointer to the buffer to write to
18225 * \return TRUE if the pack was successful, FALSE otherwise
18226 */
18227bcmos_bool bcmolt_epon_oam_dasan_classifier_base_pack(bcmolt_epon_oam_dasan_classifier_base *this, bcmolt_epon_oam_buf *buf);
18228
18229/** Gets the number of bytes that a bcmolt_epon_oam_dasan_classifier_base would
18230 * occupy on the wire
18231 *
18232 * \return The structure size in bytes
18233 */
18234uint32_t bcmolt_epon_oam_dasan_classifier_base_get_packed_length(bcmolt_epon_oam_dasan_classifier_base *this);
18235
18236/** Unpacks a bcmolt_epon_oam_dasan_classifier_base from bytes
18237 *
18238 * \param this Pointer to the object to unpack
18239 * \param buf Pointer to the buffer to read from
18240 * \param extra_mem Pointer to the first location in memory to use to store
18241 * pointer fields that are NULL. Setting this to NULL will cause an error when
18242 * a NULL pointer is encountered.
18243 * \return TRUE if the unpack was successful, FALSE otherwise
18244 */
18245bcmos_bool bcmolt_epon_oam_dasan_classifier_base_unpack(bcmolt_epon_oam_dasan_classifier_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18246
18247/** Scans past a packed bcmolt_epon_oam_dasan_classifier_base struct and
18248 * collects memory requirements above and beyond sizeof()
18249 *
18250 * \param packed A stream pointing to the packed byte stream
18251 * \param extra_mem Number of additional storage bytes required
18252 * \return TRUE on success, FALSE on failure
18253 */
18254bcmos_bool bcmolt_epon_oam_dasan_classifier_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18255
18256/** Packs a bcmolt_epon_oam_dasan_port to bytes
18257 *
18258 * \param this Pointer to the object to pack
18259 * \param buf Pointer to the buffer to write to
18260 * \return TRUE if the pack was successful, FALSE otherwise
18261 */
18262bcmos_bool bcmolt_epon_oam_dasan_port_pack(bcmolt_epon_oam_dasan_port *this, bcmolt_epon_oam_buf *buf);
18263
18264/** Unpacks a bcmolt_epon_oam_dasan_port from bytes
18265 *
18266 * \param this Pointer to the object to unpack
18267 * \param buf Pointer to the buffer to read from
18268 * \param extra_mem Pointer to the first location in memory to use to store
18269 * pointer fields that are NULL. Setting this to NULL will cause an error when
18270 * a NULL pointer is encountered.
18271 * \return TRUE if the unpack was successful, FALSE otherwise
18272 */
18273bcmos_bool bcmolt_epon_oam_dasan_port_unpack(bcmolt_epon_oam_dasan_port *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18274
18275/** Scans past a packed bcmolt_epon_oam_dasan_port struct and collects memory
18276 * requirements above and beyond sizeof()
18277 *
18278 * \param packed A stream pointing to the packed byte stream
18279 * \param extra_mem Number of additional storage bytes required
18280 * \return TRUE on success, FALSE on failure
18281 */
18282bcmos_bool bcmolt_epon_oam_dasan_port_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18283
18284/** Packs a bcmolt_epon_oam_dasan_vlan to bytes
18285 *
18286 * \param this Pointer to the object to pack
18287 * \param buf Pointer to the buffer to write to
18288 * \return TRUE if the pack was successful, FALSE otherwise
18289 */
18290bcmos_bool bcmolt_epon_oam_dasan_vlan_pack(bcmolt_epon_oam_dasan_vlan *this, bcmolt_epon_oam_buf *buf);
18291
18292/** Unpacks a bcmolt_epon_oam_dasan_vlan from bytes
18293 *
18294 * \param this Pointer to the object to unpack
18295 * \param buf Pointer to the buffer to read from
18296 * \param extra_mem Pointer to the first location in memory to use to store
18297 * pointer fields that are NULL. Setting this to NULL will cause an error when
18298 * a NULL pointer is encountered.
18299 * \return TRUE if the unpack was successful, FALSE otherwise
18300 */
18301bcmos_bool bcmolt_epon_oam_dasan_vlan_unpack(bcmolt_epon_oam_dasan_vlan *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18302
18303/** Scans past a packed bcmolt_epon_oam_dasan_vlan struct and collects memory
18304 * requirements above and beyond sizeof()
18305 *
18306 * \param packed A stream pointing to the packed byte stream
18307 * \param extra_mem Number of additional storage bytes required
18308 * \return TRUE on success, FALSE on failure
18309 */
18310bcmos_bool bcmolt_epon_oam_dasan_vlan_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18311
18312/** Packs a bcmolt_epon_oam_dasan_vlan_port to bytes
18313 *
18314 * \param this Pointer to the object to pack
18315 * \param buf Pointer to the buffer to write to
18316 * \return TRUE if the pack was successful, FALSE otherwise
18317 */
18318bcmos_bool bcmolt_epon_oam_dasan_vlan_port_pack(bcmolt_epon_oam_dasan_vlan_port *this, bcmolt_epon_oam_buf *buf);
18319
18320/** Gets the number of bytes that a bcmolt_epon_oam_dasan_vlan_port would occupy
18321 * on the wire
18322 *
18323 * \return The structure size in bytes
18324 */
18325uint32_t bcmolt_epon_oam_dasan_vlan_port_get_packed_length(bcmolt_epon_oam_dasan_vlan_port *this);
18326
18327/** Unpacks a bcmolt_epon_oam_dasan_vlan_port from bytes
18328 *
18329 * \param this Pointer to the object to unpack
18330 * \param buf Pointer to the buffer to read from
18331 * \param extra_mem Pointer to the first location in memory to use to store
18332 * pointer fields that are NULL. Setting this to NULL will cause an error when
18333 * a NULL pointer is encountered.
18334 * \return TRUE if the unpack was successful, FALSE otherwise
18335 */
18336bcmos_bool bcmolt_epon_oam_dasan_vlan_port_unpack(bcmolt_epon_oam_dasan_vlan_port *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18337
18338/** Scans past a packed bcmolt_epon_oam_dasan_vlan_port struct and collects
18339 * memory requirements above and beyond sizeof()
18340 *
18341 * \param packed A stream pointing to the packed byte stream
18342 * \param extra_mem Number of additional storage bytes required
18343 * \return TRUE on success, FALSE on failure
18344 */
18345bcmos_bool bcmolt_epon_oam_dasan_vlan_port_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18346
18347/** Packs a bcmolt_epon_oam_dasan_port_config to bytes
18348 *
18349 * \param this Pointer to the object to pack
18350 * \param buf Pointer to the buffer to write to
18351 * \return TRUE if the pack was successful, FALSE otherwise
18352 */
18353bcmos_bool bcmolt_epon_oam_dasan_port_config_pack(bcmolt_epon_oam_dasan_port_config *this, bcmolt_epon_oam_buf *buf);
18354
18355/** Unpacks a bcmolt_epon_oam_dasan_port_config from bytes
18356 *
18357 * \param this Pointer to the object to unpack
18358 * \param buf Pointer to the buffer to read from
18359 * \param extra_mem Pointer to the first location in memory to use to store
18360 * pointer fields that are NULL. Setting this to NULL will cause an error when
18361 * a NULL pointer is encountered.
18362 * \return TRUE if the unpack was successful, FALSE otherwise
18363 */
18364bcmos_bool bcmolt_epon_oam_dasan_port_config_unpack(bcmolt_epon_oam_dasan_port_config *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18365
18366/** Scans past a packed bcmolt_epon_oam_dasan_port_config struct and collects
18367 * memory requirements above and beyond sizeof()
18368 *
18369 * \param packed A stream pointing to the packed byte stream
18370 * \param extra_mem Number of additional storage bytes required
18371 * \return TRUE on success, FALSE on failure
18372 */
18373bcmos_bool bcmolt_epon_oam_dasan_port_config_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18374
18375/** Packs a bcmolt_epon_oam_dasan_port_stats to bytes
18376 *
18377 * \param this Pointer to the object to pack
18378 * \param buf Pointer to the buffer to write to
18379 * \return TRUE if the pack was successful, FALSE otherwise
18380 */
18381bcmos_bool bcmolt_epon_oam_dasan_port_stats_pack(bcmolt_epon_oam_dasan_port_stats *this, bcmolt_epon_oam_buf *buf);
18382
18383/** Unpacks a bcmolt_epon_oam_dasan_port_stats from bytes
18384 *
18385 * \param this Pointer to the object to unpack
18386 * \param buf Pointer to the buffer to read from
18387 * \param extra_mem Pointer to the first location in memory to use to store
18388 * pointer fields that are NULL. Setting this to NULL will cause an error when
18389 * a NULL pointer is encountered.
18390 * \return TRUE if the unpack was successful, FALSE otherwise
18391 */
18392bcmos_bool bcmolt_epon_oam_dasan_port_stats_unpack(bcmolt_epon_oam_dasan_port_stats *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18393
18394/** Scans past a packed bcmolt_epon_oam_dasan_port_stats struct and collects
18395 * memory requirements above and beyond sizeof()
18396 *
18397 * \param packed A stream pointing to the packed byte stream
18398 * \param extra_mem Number of additional storage bytes required
18399 * \return TRUE on success, FALSE on failure
18400 */
18401bcmos_bool bcmolt_epon_oam_dasan_port_stats_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18402
18403/** Packs a bcmolt_epon_oam_dasan_port_error_stats to bytes
18404 *
18405 * \param this Pointer to the object to pack
18406 * \param buf Pointer to the buffer to write to
18407 * \return TRUE if the pack was successful, FALSE otherwise
18408 */
18409bcmos_bool bcmolt_epon_oam_dasan_port_error_stats_pack(bcmolt_epon_oam_dasan_port_error_stats *this, bcmolt_epon_oam_buf *buf);
18410
18411/** Unpacks a bcmolt_epon_oam_dasan_port_error_stats from bytes
18412 *
18413 * \param this Pointer to the object to unpack
18414 * \param buf Pointer to the buffer to read from
18415 * \param extra_mem Pointer to the first location in memory to use to store
18416 * pointer fields that are NULL. Setting this to NULL will cause an error when
18417 * a NULL pointer is encountered.
18418 * \return TRUE if the unpack was successful, FALSE otherwise
18419 */
18420bcmos_bool bcmolt_epon_oam_dasan_port_error_stats_unpack(bcmolt_epon_oam_dasan_port_error_stats *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18421
18422/** Scans past a packed bcmolt_epon_oam_dasan_port_error_stats struct and
18423 * collects memory requirements above and beyond sizeof()
18424 *
18425 * \param packed A stream pointing to the packed byte stream
18426 * \param extra_mem Number of additional storage bytes required
18427 * \return TRUE on success, FALSE on failure
18428 */
18429bcmos_bool bcmolt_epon_oam_dasan_port_error_stats_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18430
18431/** Packs a bcmolt_epon_oam_dasan_stats_seq_base to bytes
18432 *
18433 * \param this Pointer to the object to pack
18434 * \param buf Pointer to the buffer to write to
18435 * \return TRUE if the pack was successful, FALSE otherwise
18436 */
18437bcmos_bool bcmolt_epon_oam_dasan_stats_seq_base_pack(bcmolt_epon_oam_dasan_stats_seq_base *this, bcmolt_epon_oam_buf *buf);
18438
18439/** Gets the number of bytes that a bcmolt_epon_oam_dasan_stats_seq_base would
18440 * occupy on the wire
18441 *
18442 * \return The structure size in bytes
18443 */
18444uint32_t bcmolt_epon_oam_dasan_stats_seq_base_get_packed_length(bcmolt_epon_oam_dasan_stats_seq_base *this);
18445
18446/** Unpacks a bcmolt_epon_oam_dasan_stats_seq_base from bytes
18447 *
18448 * \param this Pointer to the object to unpack
18449 * \param buf Pointer to the buffer to read from
18450 * \param extra_mem Pointer to the first location in memory to use to store
18451 * pointer fields that are NULL. Setting this to NULL will cause an error when
18452 * a NULL pointer is encountered.
18453 * \return TRUE if the unpack was successful, FALSE otherwise
18454 */
18455bcmos_bool bcmolt_epon_oam_dasan_stats_seq_base_unpack(bcmolt_epon_oam_dasan_stats_seq_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18456
18457/** Scans past a packed bcmolt_epon_oam_dasan_stats_seq_base struct and collects
18458 * memory requirements above and beyond sizeof()
18459 *
18460 * \param packed A stream pointing to the packed byte stream
18461 * \param extra_mem Number of additional storage bytes required
18462 * \return TRUE on success, FALSE on failure
18463 */
18464bcmos_bool bcmolt_epon_oam_dasan_stats_seq_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18465
18466/** Packs a bcmolt_epon_oam_dasan_stat_value to bytes
18467 *
18468 * \param this Pointer to the object to pack
18469 * \param buf Pointer to the buffer to write to
18470 * \return TRUE if the pack was successful, FALSE otherwise
18471 */
18472bcmos_bool bcmolt_epon_oam_dasan_stat_value_pack(bcmolt_epon_oam_dasan_stat_value *this, bcmolt_epon_oam_buf *buf);
18473
18474/** Unpacks a bcmolt_epon_oam_dasan_stat_value from bytes
18475 *
18476 * \param this Pointer to the object to unpack
18477 * \param buf Pointer to the buffer to read from
18478 * \param extra_mem Pointer to the first location in memory to use to store
18479 * pointer fields that are NULL. Setting this to NULL will cause an error when
18480 * a NULL pointer is encountered.
18481 * \return TRUE if the unpack was successful, FALSE otherwise
18482 */
18483bcmos_bool bcmolt_epon_oam_dasan_stat_value_unpack(bcmolt_epon_oam_dasan_stat_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18484
18485/** Scans past a packed bcmolt_epon_oam_dasan_stat_value struct and collects
18486 * memory requirements above and beyond sizeof()
18487 *
18488 * \param packed A stream pointing to the packed byte stream
18489 * \param extra_mem Number of additional storage bytes required
18490 * \return TRUE on success, FALSE on failure
18491 */
18492bcmos_bool bcmolt_epon_oam_dasan_stat_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18493
18494/** Packs a bcmolt_epon_oam_dasan_config_base to bytes
18495 *
18496 * \param this Pointer to the object to pack
18497 * \param buf Pointer to the buffer to write to
18498 * \return TRUE if the pack was successful, FALSE otherwise
18499 */
18500bcmos_bool bcmolt_epon_oam_dasan_config_base_pack(bcmolt_epon_oam_dasan_config_base *this, bcmolt_epon_oam_buf *buf);
18501
18502/** Gets the number of bytes that a bcmolt_epon_oam_dasan_config_base would
18503 * occupy on the wire
18504 *
18505 * \return The structure size in bytes
18506 */
18507uint32_t bcmolt_epon_oam_dasan_config_base_get_packed_length(bcmolt_epon_oam_dasan_config_base *this);
18508
18509/** Unpacks a bcmolt_epon_oam_dasan_config_base from bytes
18510 *
18511 * \param this Pointer to the object to unpack
18512 * \param buf Pointer to the buffer to read from
18513 * \param extra_mem Pointer to the first location in memory to use to store
18514 * pointer fields that are NULL. Setting this to NULL will cause an error when
18515 * a NULL pointer is encountered.
18516 * \return TRUE if the unpack was successful, FALSE otherwise
18517 */
18518bcmos_bool bcmolt_epon_oam_dasan_config_base_unpack(bcmolt_epon_oam_dasan_config_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18519
18520/** Scans past a packed bcmolt_epon_oam_dasan_config_base struct and collects
18521 * memory requirements above and beyond sizeof()
18522 *
18523 * \param packed A stream pointing to the packed byte stream
18524 * \param extra_mem Number of additional storage bytes required
18525 * \return TRUE on success, FALSE on failure
18526 */
18527bcmos_bool bcmolt_epon_oam_dasan_config_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18528
18529/** Counts the number of elements in the continuous list
18530 *
18531 * \param buf Buffer pointing to packed list
18532 * \return Number of elements in the list
18533 */
18534uint32_t bcmolt_epon_oam_dasan_config_base_onu_statistic_count_sequences(bcmolt_epon_oam_buf *buf);
18535
18536/** Packs a bcmolt_epon_oam_distinguished_name to bytes
18537 *
18538 * \param this Pointer to the object to pack
18539 * \param buf Pointer to the buffer to write to
18540 * \return TRUE if the pack was successful, FALSE otherwise
18541 */
18542bcmos_bool bcmolt_epon_oam_distinguished_name_pack(bcmolt_epon_oam_distinguished_name *this, bcmolt_epon_oam_buf *buf);
18543
18544/** Gets the number of bytes that a bcmolt_epon_oam_distinguished_name would
18545 * occupy on the wire
18546 *
18547 * \return The structure size in bytes
18548 */
18549uint32_t bcmolt_epon_oam_distinguished_name_get_packed_length(bcmolt_epon_oam_distinguished_name *this);
18550
18551/** Unpacks a bcmolt_epon_oam_distinguished_name from bytes
18552 *
18553 * \param this Pointer to the object to unpack
18554 * \param buf Pointer to the buffer to read from
18555 * \param extra_mem Pointer to the first location in memory to use to store
18556 * pointer fields that are NULL. Setting this to NULL will cause an error when
18557 * a NULL pointer is encountered.
18558 * \return TRUE if the unpack was successful, FALSE otherwise
18559 */
18560bcmos_bool bcmolt_epon_oam_distinguished_name_unpack(bcmolt_epon_oam_distinguished_name *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18561
18562/** Scans past a packed bcmolt_epon_oam_distinguished_name struct and collects
18563 * memory requirements above and beyond sizeof()
18564 *
18565 * \param packed A stream pointing to the packed byte stream
18566 * \param extra_mem Number of additional storage bytes required
18567 * \return TRUE on success, FALSE on failure
18568 */
18569bcmos_bool bcmolt_epon_oam_distinguished_name_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18570
18571/** Packs a bcmolt_epon_oam_distinguished_name_list to bytes
18572 *
18573 * \param this Pointer to the object to pack
18574 * \param buf Pointer to the buffer to write to
18575 * \return TRUE if the pack was successful, FALSE otherwise
18576 */
18577bcmos_bool bcmolt_epon_oam_distinguished_name_list_pack(bcmolt_epon_oam_distinguished_name_list *this, bcmolt_epon_oam_buf *buf);
18578
18579/** Gets the number of bytes that a bcmolt_epon_oam_distinguished_name_list
18580 * would occupy on the wire
18581 *
18582 * \return The structure size in bytes
18583 */
18584uint32_t bcmolt_epon_oam_distinguished_name_list_get_packed_length(bcmolt_epon_oam_distinguished_name_list *this);
18585
18586/** Unpacks a bcmolt_epon_oam_distinguished_name_list from bytes
18587 *
18588 * \param this Pointer to the object to unpack
18589 * \param buf Pointer to the buffer to read from
18590 * \param extra_mem Pointer to the first location in memory to use to store
18591 * pointer fields that are NULL. Setting this to NULL will cause an error when
18592 * a NULL pointer is encountered.
18593 * \return TRUE if the unpack was successful, FALSE otherwise
18594 */
18595bcmos_bool bcmolt_epon_oam_distinguished_name_list_unpack(bcmolt_epon_oam_distinguished_name_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18596
18597/** Scans past a packed bcmolt_epon_oam_distinguished_name_list struct and
18598 * collects memory requirements above and beyond sizeof()
18599 *
18600 * \param packed A stream pointing to the packed byte stream
18601 * \param extra_mem Number of additional storage bytes required
18602 * \return TRUE on success, FALSE on failure
18603 */
18604bcmos_bool bcmolt_epon_oam_distinguished_name_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18605
18606/** Counts the number of elements in the continuous list
18607 *
18608 * \param buf Buffer pointing to packed list
18609 * \return Number of elements in the list
18610 */
18611uint32_t bcmolt_epon_oam_distinguished_name_list_count_names(bcmolt_epon_oam_buf *buf);
18612
18613/** Packs a bcmolt_epon_oam_dpoe_mac_table to bytes
18614 *
18615 * \param this Pointer to the object to pack
18616 * \param buf Pointer to the buffer to write to
18617 * \return TRUE if the pack was successful, FALSE otherwise
18618 */
18619bcmos_bool bcmolt_epon_oam_dpoe_mac_table_pack(bcmolt_epon_oam_dpoe_mac_table *this, bcmolt_epon_oam_buf *buf);
18620
18621/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_mac_table would occupy
18622 * on the wire
18623 *
18624 * \return The structure size in bytes
18625 */
18626uint32_t bcmolt_epon_oam_dpoe_mac_table_get_packed_length(bcmolt_epon_oam_dpoe_mac_table *this);
18627
18628/** Unpacks a bcmolt_epon_oam_dpoe_mac_table from bytes
18629 *
18630 * \param this Pointer to the object to unpack
18631 * \param buf Pointer to the buffer to read from
18632 * \param extra_mem Pointer to the first location in memory to use to store
18633 * pointer fields that are NULL. Setting this to NULL will cause an error when
18634 * a NULL pointer is encountered.
18635 * \return TRUE if the unpack was successful, FALSE otherwise
18636 */
18637bcmos_bool bcmolt_epon_oam_dpoe_mac_table_unpack(bcmolt_epon_oam_dpoe_mac_table *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18638
18639/** Scans past a packed bcmolt_epon_oam_dpoe_mac_table struct and collects
18640 * memory requirements above and beyond sizeof()
18641 *
18642 * \param packed A stream pointing to the packed byte stream
18643 * \param extra_mem Number of additional storage bytes required
18644 * \return TRUE on success, FALSE on failure
18645 */
18646bcmos_bool bcmolt_epon_oam_dpoe_mac_table_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18647
18648/** Counts the number of elements in the continuous list
18649 *
18650 * \param buf Buffer pointing to packed list
18651 * \return Number of elements in the list
18652 */
18653uint32_t bcmolt_epon_oam_dpoe_mac_table_count_mac_address(bcmolt_epon_oam_buf *buf);
18654
18655/** Packs a bcmolt_epon_oam_dpoe_action_value_base to bytes
18656 *
18657 * \param this Pointer to the object to pack
18658 * \param buf Pointer to the buffer to write to
18659 * \return TRUE if the pack was successful, FALSE otherwise
18660 */
18661bcmos_bool bcmolt_epon_oam_dpoe_action_value_base_pack(bcmolt_epon_oam_dpoe_action_value_base *this, bcmolt_epon_oam_buf *buf);
18662
18663/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_action_value_base would
18664 * occupy on the wire
18665 *
18666 * \return The structure size in bytes
18667 */
18668uint32_t bcmolt_epon_oam_dpoe_action_value_base_get_packed_length(bcmolt_epon_oam_dpoe_action_value_base *this);
18669
18670/** Unpacks a bcmolt_epon_oam_dpoe_action_value_base from bytes
18671 *
18672 * \param this Pointer to the object to unpack
18673 * \param buf Pointer to the buffer to read from
18674 * \param extra_mem Pointer to the first location in memory to use to store
18675 * pointer fields that are NULL. Setting this to NULL will cause an error when
18676 * a NULL pointer is encountered.
18677 * \return TRUE if the unpack was successful, FALSE otherwise
18678 */
18679bcmos_bool bcmolt_epon_oam_dpoe_action_value_base_unpack(bcmolt_epon_oam_dpoe_action_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18680
18681/** Scans past a packed bcmolt_epon_oam_dpoe_action_value_base struct and
18682 * collects memory requirements above and beyond sizeof()
18683 *
18684 * \param packed A stream pointing to the packed byte stream
18685 * \param extra_mem Number of additional storage bytes required
18686 * \return TRUE on success, FALSE on failure
18687 */
18688bcmos_bool bcmolt_epon_oam_dpoe_action_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18689
18690/** Packs a bcmolt_epon_oam_dpoe_queue_set to bytes
18691 *
18692 * \param this Pointer to the object to pack
18693 * \param buf Pointer to the buffer to write to
18694 * \return TRUE if the pack was successful, FALSE otherwise
18695 */
18696bcmos_bool bcmolt_epon_oam_dpoe_queue_set_pack(bcmolt_epon_oam_dpoe_queue_set *this, bcmolt_epon_oam_buf *buf);
18697
18698/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_queue_set would occupy
18699 * on the wire
18700 *
18701 * \return The structure size in bytes
18702 */
18703uint32_t bcmolt_epon_oam_dpoe_queue_set_get_packed_length(bcmolt_epon_oam_dpoe_queue_set *this);
18704
18705/** Unpacks a bcmolt_epon_oam_dpoe_queue_set from bytes
18706 *
18707 * \param this Pointer to the object to unpack
18708 * \param buf Pointer to the buffer to read from
18709 * \param extra_mem Pointer to the first location in memory to use to store
18710 * pointer fields that are NULL. Setting this to NULL will cause an error when
18711 * a NULL pointer is encountered.
18712 * \return TRUE if the unpack was successful, FALSE otherwise
18713 */
18714bcmos_bool bcmolt_epon_oam_dpoe_queue_set_unpack(bcmolt_epon_oam_dpoe_queue_set *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18715
18716/** Scans past a packed bcmolt_epon_oam_dpoe_queue_set struct and collects
18717 * memory requirements above and beyond sizeof()
18718 *
18719 * \param packed A stream pointing to the packed byte stream
18720 * \param extra_mem Number of additional storage bytes required
18721 * \return TRUE on success, FALSE on failure
18722 */
18723bcmos_bool bcmolt_epon_oam_dpoe_queue_set_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18724
18725/** Packs a bcmolt_epon_oam_dpoe_queue to bytes
18726 *
18727 * \param this Pointer to the object to pack
18728 * \param buf Pointer to the buffer to write to
18729 * \return TRUE if the pack was successful, FALSE otherwise
18730 */
18731bcmos_bool bcmolt_epon_oam_dpoe_queue_pack(bcmolt_epon_oam_dpoe_queue *this, bcmolt_epon_oam_buf *buf);
18732
18733/** Unpacks a bcmolt_epon_oam_dpoe_queue from bytes
18734 *
18735 * \param this Pointer to the object to unpack
18736 * \param buf Pointer to the buffer to read from
18737 * \param extra_mem Pointer to the first location in memory to use to store
18738 * pointer fields that are NULL. Setting this to NULL will cause an error when
18739 * a NULL pointer is encountered.
18740 * \return TRUE if the unpack was successful, FALSE otherwise
18741 */
18742bcmos_bool bcmolt_epon_oam_dpoe_queue_unpack(bcmolt_epon_oam_dpoe_queue *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18743
18744/** Scans past a packed bcmolt_epon_oam_dpoe_queue struct and collects memory
18745 * requirements above and beyond sizeof()
18746 *
18747 * \param packed A stream pointing to the packed byte stream
18748 * \param extra_mem Number of additional storage bytes required
18749 * \return TRUE on success, FALSE on failure
18750 */
18751bcmos_bool bcmolt_epon_oam_dpoe_queue_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18752
18753/** Packs a bcmolt_epon_oam_dpoe_object_context_base to bytes
18754 *
18755 * \param this Pointer to the object to pack
18756 * \param buf Pointer to the buffer to write to
18757 * \return TRUE if the pack was successful, FALSE otherwise
18758 */
18759bcmos_bool bcmolt_epon_oam_dpoe_object_context_base_pack(bcmolt_epon_oam_dpoe_object_context_base *this, bcmolt_epon_oam_buf *buf);
18760
18761/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_object_context_base
18762 * would occupy on the wire
18763 *
18764 * \return The structure size in bytes
18765 */
18766uint32_t bcmolt_epon_oam_dpoe_object_context_base_get_packed_length(bcmolt_epon_oam_dpoe_object_context_base *this);
18767
18768/** Unpacks a bcmolt_epon_oam_dpoe_object_context_base from bytes
18769 *
18770 * \param this Pointer to the object to unpack
18771 * \param buf Pointer to the buffer to read from
18772 * \param extra_mem Pointer to the first location in memory to use to store
18773 * pointer fields that are NULL. Setting this to NULL will cause an error when
18774 * a NULL pointer is encountered.
18775 * \return TRUE if the unpack was successful, FALSE otherwise
18776 */
18777bcmos_bool bcmolt_epon_oam_dpoe_object_context_base_unpack(bcmolt_epon_oam_dpoe_object_context_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18778
18779/** Scans past a packed bcmolt_epon_oam_dpoe_object_context_base struct and
18780 * collects memory requirements above and beyond sizeof()
18781 *
18782 * \param packed A stream pointing to the packed byte stream
18783 * \param extra_mem Number of additional storage bytes required
18784 * \return TRUE on success, FALSE on failure
18785 */
18786bcmos_bool bcmolt_epon_oam_dpoe_object_context_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18787
18788/** Counts the number of elements in the continuous list
18789 *
18790 * \param buf Buffer pointing to packed list
18791 * \return Number of elements in the list
18792 */
18793uint32_t bcmolt_epon_oam_dpoe_object_context_base_network_pon_count_pon(bcmolt_epon_oam_buf *buf);
18794
18795/** Counts the number of elements in the continuous list
18796 *
18797 * \param buf Buffer pointing to packed list
18798 * \return Number of elements in the list
18799 */
18800uint32_t bcmolt_epon_oam_dpoe_object_context_base_link_count_link(bcmolt_epon_oam_buf *buf);
18801
18802/** Counts the number of elements in the continuous list
18803 *
18804 * \param buf Buffer pointing to packed list
18805 * \return Number of elements in the list
18806 */
18807uint32_t bcmolt_epon_oam_dpoe_object_context_base_user_port_count_port(bcmolt_epon_oam_buf *buf);
18808
18809/** Counts the number of elements in the continuous list
18810 *
18811 * \param buf Buffer pointing to packed list
18812 * \return Number of elements in the list
18813 */
18814uint32_t bcmolt_epon_oam_dpoe_object_context_base_bridge_count_bridge(bcmolt_epon_oam_buf *buf);
18815
18816/** Counts the number of elements in the continuous list
18817 *
18818 * \param buf Buffer pointing to packed list
18819 * \return Number of elements in the list
18820 */
18821uint32_t bcmolt_epon_oam_dpoe_object_context_base_bridge_port_count_port(bcmolt_epon_oam_buf *buf);
18822
18823/** Packs a bcmolt_epon_oam_dpoe_var_descriptor to bytes
18824 *
18825 * \param this Pointer to the object to pack
18826 * \param buf Pointer to the buffer to write to
18827 * \return TRUE if the pack was successful, FALSE otherwise
18828 */
18829bcmos_bool bcmolt_epon_oam_dpoe_var_descriptor_pack(bcmolt_epon_oam_dpoe_var_descriptor *this, bcmolt_epon_oam_buf *buf);
18830
18831/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_var_descriptor would
18832 * occupy on the wire
18833 *
18834 * \return The structure size in bytes
18835 */
18836uint32_t bcmolt_epon_oam_dpoe_var_descriptor_get_packed_length(bcmolt_epon_oam_dpoe_var_descriptor *this);
18837
18838/** Unpacks a bcmolt_epon_oam_dpoe_var_descriptor from bytes
18839 *
18840 * \param this Pointer to the object to unpack
18841 * \param buf Pointer to the buffer to read from
18842 * \param extra_mem Pointer to the first location in memory to use to store
18843 * pointer fields that are NULL. Setting this to NULL will cause an error when
18844 * a NULL pointer is encountered.
18845 * \return TRUE if the unpack was successful, FALSE otherwise
18846 */
18847bcmos_bool bcmolt_epon_oam_dpoe_var_descriptor_unpack(bcmolt_epon_oam_dpoe_var_descriptor *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18848
18849/** Scans past a packed bcmolt_epon_oam_dpoe_var_descriptor struct and collects
18850 * memory requirements above and beyond sizeof()
18851 *
18852 * \param packed A stream pointing to the packed byte stream
18853 * \param extra_mem Number of additional storage bytes required
18854 * \return TRUE on success, FALSE on failure
18855 */
18856bcmos_bool bcmolt_epon_oam_dpoe_var_descriptor_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18857
18858/** Counts the number of elements in the continuous list
18859 *
18860 * \param buf Buffer pointing to packed list
18861 * \return Number of elements in the list
18862 */
18863uint32_t bcmolt_epon_oam_dpoe_var_descriptor_end_count_unknown(bcmolt_epon_oam_buf *buf);
18864
18865/** Packs a bcmolt_epon_oam_dpoe_statistic_threshold to bytes
18866 *
18867 * \param this Pointer to the object to pack
18868 * \param buf Pointer to the buffer to write to
18869 * \return TRUE if the pack was successful, FALSE otherwise
18870 */
18871bcmos_bool bcmolt_epon_oam_dpoe_statistic_threshold_pack(bcmolt_epon_oam_dpoe_statistic_threshold *this, bcmolt_epon_oam_buf *buf);
18872
18873/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_statistic_threshold
18874 * would occupy on the wire
18875 *
18876 * \return The structure size in bytes
18877 */
18878uint32_t bcmolt_epon_oam_dpoe_statistic_threshold_get_packed_length(bcmolt_epon_oam_dpoe_statistic_threshold *this);
18879
18880/** Unpacks a bcmolt_epon_oam_dpoe_statistic_threshold from bytes
18881 *
18882 * \param this Pointer to the object to unpack
18883 * \param buf Pointer to the buffer to read from
18884 * \param extra_mem Pointer to the first location in memory to use to store
18885 * pointer fields that are NULL. Setting this to NULL will cause an error when
18886 * a NULL pointer is encountered.
18887 * \return TRUE if the unpack was successful, FALSE otherwise
18888 */
18889bcmos_bool bcmolt_epon_oam_dpoe_statistic_threshold_unpack(bcmolt_epon_oam_dpoe_statistic_threshold *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18890
18891/** Scans past a packed bcmolt_epon_oam_dpoe_statistic_threshold struct and
18892 * collects memory requirements above and beyond sizeof()
18893 *
18894 * \param packed A stream pointing to the packed byte stream
18895 * \param extra_mem Number of additional storage bytes required
18896 * \return TRUE on success, FALSE on failure
18897 */
18898bcmos_bool bcmolt_epon_oam_dpoe_statistic_threshold_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18899
18900/** Packs a bcmolt_epon_oam_dpoe_field to bytes
18901 *
18902 * \param this Pointer to the object to pack
18903 * \param buf Pointer to the buffer to write to
18904 * \return TRUE if the pack was successful, FALSE otherwise
18905 */
18906bcmos_bool bcmolt_epon_oam_dpoe_field_pack(bcmolt_epon_oam_dpoe_field *this, bcmolt_epon_oam_buf *buf);
18907
18908/** Unpacks a bcmolt_epon_oam_dpoe_field from bytes
18909 *
18910 * \param this Pointer to the object to unpack
18911 * \param buf Pointer to the buffer to read from
18912 * \param extra_mem Pointer to the first location in memory to use to store
18913 * pointer fields that are NULL. Setting this to NULL will cause an error when
18914 * a NULL pointer is encountered.
18915 * \return TRUE if the unpack was successful, FALSE otherwise
18916 */
18917bcmos_bool bcmolt_epon_oam_dpoe_field_unpack(bcmolt_epon_oam_dpoe_field *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18918
18919/** Scans past a packed bcmolt_epon_oam_dpoe_field struct and collects memory
18920 * requirements above and beyond sizeof()
18921 *
18922 * \param packed A stream pointing to the packed byte stream
18923 * \param extra_mem Number of additional storage bytes required
18924 * \return TRUE on success, FALSE on failure
18925 */
18926bcmos_bool bcmolt_epon_oam_dpoe_field_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18927
18928/** Packs a bcmolt_epon_oam_dpoe_rule_result_field_v2 to bytes
18929 *
18930 * \param this Pointer to the object to pack
18931 * \param buf Pointer to the buffer to write to
18932 * \return TRUE if the pack was successful, FALSE otherwise
18933 */
18934bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_v2_pack(bcmolt_epon_oam_dpoe_rule_result_field_v2 *this, bcmolt_epon_oam_buf *buf);
18935
18936/** Unpacks a bcmolt_epon_oam_dpoe_rule_result_field_v2 from bytes
18937 *
18938 * \param this Pointer to the object to unpack
18939 * \param buf Pointer to the buffer to read from
18940 * \param extra_mem Pointer to the first location in memory to use to store
18941 * pointer fields that are NULL. Setting this to NULL will cause an error when
18942 * a NULL pointer is encountered.
18943 * \return TRUE if the unpack was successful, FALSE otherwise
18944 */
18945bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_v2_unpack(bcmolt_epon_oam_dpoe_rule_result_field_v2 *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18946
18947/** Scans past a packed bcmolt_epon_oam_dpoe_rule_result_field_v2 struct and
18948 * collects memory requirements above and beyond sizeof()
18949 *
18950 * \param packed A stream pointing to the packed byte stream
18951 * \param extra_mem Number of additional storage bytes required
18952 * \return TRUE on success, FALSE on failure
18953 */
18954bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_v2_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18955
18956/** Packs a bcmolt_epon_oam_dpoe_rule_result_field to bytes
18957 *
18958 * \param this Pointer to the object to pack
18959 * \param buf Pointer to the buffer to write to
18960 * \return TRUE if the pack was successful, FALSE otherwise
18961 */
18962bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_pack(bcmolt_epon_oam_dpoe_rule_result_field *this, bcmolt_epon_oam_buf *buf);
18963
18964/** Unpacks a bcmolt_epon_oam_dpoe_rule_result_field from bytes
18965 *
18966 * \param this Pointer to the object to unpack
18967 * \param buf Pointer to the buffer to read from
18968 * \param extra_mem Pointer to the first location in memory to use to store
18969 * pointer fields that are NULL. Setting this to NULL will cause an error when
18970 * a NULL pointer is encountered.
18971 * \return TRUE if the unpack was successful, FALSE otherwise
18972 */
18973bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_unpack(bcmolt_epon_oam_dpoe_rule_result_field *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
18974
18975/** Scans past a packed bcmolt_epon_oam_dpoe_rule_result_field struct and
18976 * collects memory requirements above and beyond sizeof()
18977 *
18978 * \param packed A stream pointing to the packed byte stream
18979 * \param extra_mem Number of additional storage bytes required
18980 * \return TRUE on success, FALSE on failure
18981 */
18982bcmos_bool bcmolt_epon_oam_dpoe_rule_result_field_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
18983
18984/** Packs a bcmolt_epon_oam_dpoe_rule_result to bytes
18985 *
18986 * \param this Pointer to the object to pack
18987 * \param buf Pointer to the buffer to write to
18988 * \return TRUE if the pack was successful, FALSE otherwise
18989 */
18990bcmos_bool bcmolt_epon_oam_dpoe_rule_result_pack(bcmolt_epon_oam_dpoe_rule_result *this, bcmolt_epon_oam_buf *buf);
18991
18992/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_rule_result would
18993 * occupy on the wire
18994 *
18995 * \return The structure size in bytes
18996 */
18997uint32_t bcmolt_epon_oam_dpoe_rule_result_get_packed_length(bcmolt_epon_oam_dpoe_rule_result *this);
18998
18999/** Unpacks a bcmolt_epon_oam_dpoe_rule_result from bytes
19000 *
19001 * \param this Pointer to the object to unpack
19002 * \param buf Pointer to the buffer to read from
19003 * \param extra_mem Pointer to the first location in memory to use to store
19004 * pointer fields that are NULL. Setting this to NULL will cause an error when
19005 * a NULL pointer is encountered.
19006 * \return TRUE if the unpack was successful, FALSE otherwise
19007 */
19008bcmos_bool bcmolt_epon_oam_dpoe_rule_result_unpack(bcmolt_epon_oam_dpoe_rule_result *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19009
19010/** Scans past a packed bcmolt_epon_oam_dpoe_rule_result struct and collects
19011 * memory requirements above and beyond sizeof()
19012 *
19013 * \param packed A stream pointing to the packed byte stream
19014 * \param extra_mem Number of additional storage bytes required
19015 * \return TRUE on success, FALSE on failure
19016 */
19017bcmos_bool bcmolt_epon_oam_dpoe_rule_result_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19018
19019/** Counts the number of elements in the continuous list
19020 *
19021 * \param buf Buffer pointing to packed list
19022 * \return Number of elements in the list
19023 */
19024uint32_t bcmolt_epon_oam_dpoe_rule_result_set_count_value(bcmolt_epon_oam_buf *buf);
19025
19026/** Packs a bcmolt_epon_oam_dpoe_rule to bytes
19027 *
19028 * \param this Pointer to the object to pack
19029 * \param buf Pointer to the buffer to write to
19030 * \return TRUE if the pack was successful, FALSE otherwise
19031 */
19032bcmos_bool bcmolt_epon_oam_dpoe_rule_pack(bcmolt_epon_oam_dpoe_rule *this, bcmolt_epon_oam_buf *buf);
19033
19034/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_rule would occupy on
19035 * the wire
19036 *
19037 * \return The structure size in bytes
19038 */
19039uint32_t bcmolt_epon_oam_dpoe_rule_get_packed_length(bcmolt_epon_oam_dpoe_rule *this);
19040
19041/** Unpacks a bcmolt_epon_oam_dpoe_rule from bytes
19042 *
19043 * \param this Pointer to the object to unpack
19044 * \param buf Pointer to the buffer to read from
19045 * \param extra_mem Pointer to the first location in memory to use to store
19046 * pointer fields that are NULL. Setting this to NULL will cause an error when
19047 * a NULL pointer is encountered.
19048 * \return TRUE if the unpack was successful, FALSE otherwise
19049 */
19050bcmos_bool bcmolt_epon_oam_dpoe_rule_unpack(bcmolt_epon_oam_dpoe_rule *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19051
19052/** Scans past a packed bcmolt_epon_oam_dpoe_rule struct and collects memory
19053 * requirements above and beyond sizeof()
19054 *
19055 * \param packed A stream pointing to the packed byte stream
19056 * \param extra_mem Number of additional storage bytes required
19057 * \return TRUE on success, FALSE on failure
19058 */
19059bcmos_bool bcmolt_epon_oam_dpoe_rule_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19060
19061/** Packs a bcmolt_epon_oam_dpoe_shaper to bytes
19062 *
19063 * \param this Pointer to the object to pack
19064 * \param buf Pointer to the buffer to write to
19065 * \return TRUE if the pack was successful, FALSE otherwise
19066 */
19067bcmos_bool bcmolt_epon_oam_dpoe_shaper_pack(bcmolt_epon_oam_dpoe_shaper *this, bcmolt_epon_oam_buf *buf);
19068
19069/** Unpacks a bcmolt_epon_oam_dpoe_shaper from bytes
19070 *
19071 * \param this Pointer to the object to unpack
19072 * \param buf Pointer to the buffer to read from
19073 * \param extra_mem Pointer to the first location in memory to use to store
19074 * pointer fields that are NULL. Setting this to NULL will cause an error when
19075 * a NULL pointer is encountered.
19076 * \return TRUE if the unpack was successful, FALSE otherwise
19077 */
19078bcmos_bool bcmolt_epon_oam_dpoe_shaper_unpack(bcmolt_epon_oam_dpoe_shaper *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19079
19080/** Scans past a packed bcmolt_epon_oam_dpoe_shaper struct and collects memory
19081 * requirements above and beyond sizeof()
19082 *
19083 * \param packed A stream pointing to the packed byte stream
19084 * \param extra_mem Number of additional storage bytes required
19085 * \return TRUE on success, FALSE on failure
19086 */
19087bcmos_bool bcmolt_epon_oam_dpoe_shaper_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19088
19089/** Packs a bcmolt_epon_oam_dpoe_rate_level to bytes
19090 *
19091 * \param this Pointer to the object to pack
19092 * \param buf Pointer to the buffer to write to
19093 * \return TRUE if the pack was successful, FALSE otherwise
19094 */
19095bcmos_bool bcmolt_epon_oam_dpoe_rate_level_pack(bcmolt_epon_oam_dpoe_rate_level *this, bcmolt_epon_oam_buf *buf);
19096
19097/** Unpacks a bcmolt_epon_oam_dpoe_rate_level from bytes
19098 *
19099 * \param this Pointer to the object to unpack
19100 * \param buf Pointer to the buffer to read from
19101 * \param extra_mem Pointer to the first location in memory to use to store
19102 * pointer fields that are NULL. Setting this to NULL will cause an error when
19103 * a NULL pointer is encountered.
19104 * \return TRUE if the unpack was successful, FALSE otherwise
19105 */
19106bcmos_bool bcmolt_epon_oam_dpoe_rate_level_unpack(bcmolt_epon_oam_dpoe_rate_level *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19107
19108/** Scans past a packed bcmolt_epon_oam_dpoe_rate_level struct and collects
19109 * memory requirements above and beyond sizeof()
19110 *
19111 * \param packed A stream pointing to the packed byte stream
19112 * \param extra_mem Number of additional storage bytes required
19113 * \return TRUE on success, FALSE on failure
19114 */
19115bcmos_bool bcmolt_epon_oam_dpoe_rate_level_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19116
19117/** Packs a bcmolt_epon_oam_dpoe_event_options to bytes
19118 *
19119 * \param this Pointer to the object to pack
19120 * \param buf Pointer to the buffer to write to
19121 * \return TRUE if the pack was successful, FALSE otherwise
19122 */
19123bcmos_bool bcmolt_epon_oam_dpoe_event_options_pack(bcmolt_epon_oam_dpoe_event_options *this, bcmolt_epon_oam_buf *buf);
19124
19125/** Unpacks a bcmolt_epon_oam_dpoe_event_options from bytes
19126 *
19127 * \param this Pointer to the object to unpack
19128 * \param buf Pointer to the buffer to read from
19129 * \param extra_mem Pointer to the first location in memory to use to store
19130 * pointer fields that are NULL. Setting this to NULL will cause an error when
19131 * a NULL pointer is encountered.
19132 * \return TRUE if the unpack was successful, FALSE otherwise
19133 */
19134bcmos_bool bcmolt_epon_oam_dpoe_event_options_unpack(bcmolt_epon_oam_dpoe_event_options *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19135
19136/** Scans past a packed bcmolt_epon_oam_dpoe_event_options struct and collects
19137 * memory requirements above and beyond sizeof()
19138 *
19139 * \param packed A stream pointing to the packed byte stream
19140 * \param extra_mem Number of additional storage bytes required
19141 * \return TRUE on success, FALSE on failure
19142 */
19143bcmos_bool bcmolt_epon_oam_dpoe_event_options_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19144
19145/** Packs a bcmolt_epon_oam_u16_list_u8 to bytes
19146 *
19147 * \param this Pointer to the object to pack
19148 * \param buf Pointer to the buffer to write to
19149 * \return TRUE if the pack was successful, FALSE otherwise
19150 */
19151bcmos_bool bcmolt_epon_oam_u16_list_u8_pack(bcmolt_epon_oam_u16_list_u8 *this, bcmolt_epon_oam_buf *buf);
19152
19153/** Gets the number of bytes that a bcmolt_epon_oam_u16_list_u8 would occupy on
19154 * the wire
19155 *
19156 * \return The structure size in bytes
19157 */
19158uint32_t bcmolt_epon_oam_u16_list_u8_get_packed_length(bcmolt_epon_oam_u16_list_u8 *this);
19159
19160/** Unpacks a bcmolt_epon_oam_u16_list_u8 from bytes
19161 *
19162 * \param this Pointer to the object to unpack
19163 * \param buf Pointer to the buffer to read from
19164 * \param extra_mem Pointer to the first location in memory to use to store
19165 * pointer fields that are NULL. Setting this to NULL will cause an error when
19166 * a NULL pointer is encountered.
19167 * \return TRUE if the unpack was successful, FALSE otherwise
19168 */
19169bcmos_bool bcmolt_epon_oam_u16_list_u8_unpack(bcmolt_epon_oam_u16_list_u8 *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19170
19171/** Scans past a packed bcmolt_epon_oam_u16_list_u8 struct and collects memory
19172 * requirements above and beyond sizeof()
19173 *
19174 * \param packed A stream pointing to the packed byte stream
19175 * \param extra_mem Number of additional storage bytes required
19176 * \return TRUE on success, FALSE on failure
19177 */
19178bcmos_bool bcmolt_epon_oam_u16_list_u8_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19179
19180/** Packs a bcmolt_epon_oam_dpoe_attribute_value_base to bytes
19181 *
19182 * \param this Pointer to the object to pack
19183 * \param buf Pointer to the buffer to write to
19184 * \return TRUE if the pack was successful, FALSE otherwise
19185 */
19186bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_base_pack(bcmolt_epon_oam_dpoe_attribute_value_base *this, bcmolt_epon_oam_buf *buf);
19187
19188/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_attribute_value_base
19189 * would occupy on the wire
19190 *
19191 * \return The structure size in bytes
19192 */
19193uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_get_packed_length(bcmolt_epon_oam_dpoe_attribute_value_base *this);
19194
19195/** Unpacks a bcmolt_epon_oam_dpoe_attribute_value_base from bytes
19196 *
19197 * \param this Pointer to the object to unpack
19198 * \param buf Pointer to the buffer to read from
19199 * \param extra_mem Pointer to the first location in memory to use to store
19200 * pointer fields that are NULL. Setting this to NULL will cause an error when
19201 * a NULL pointer is encountered.
19202 * \return TRUE if the unpack was successful, FALSE otherwise
19203 */
19204bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_base_unpack(bcmolt_epon_oam_dpoe_attribute_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19205
19206/** Scans past a packed bcmolt_epon_oam_dpoe_attribute_value_base struct and
19207 * collects memory requirements above and beyond sizeof()
19208 *
19209 * \param packed A stream pointing to the packed byte stream
19210 * \param extra_mem Number of additional storage bytes required
19211 * \return TRUE on success, FALSE on failure
19212 */
19213bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19214
19215/** Counts the number of elements in the continuous list
19216 *
19217 * \param buf Buffer pointing to packed list
19218 * \return Number of elements in the list
19219 */
19220uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_def_count_unknown(bcmolt_epon_oam_buf *buf);
19221
19222/** Counts the number of elements in the continuous list
19223 *
19224 * \param buf Buffer pointing to packed list
19225 * \return Number of elements in the list
19226 */
19227uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_manufacturer_info_count_def(bcmolt_epon_oam_buf *buf);
19228
19229/** Counts the number of elements in the continuous list
19230 *
19231 * \param buf Buffer pointing to packed list
19232 * \return Number of elements in the list
19233 */
19234uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_firmware_filename_count_firmware_filename(bcmolt_epon_oam_buf *buf);
19235
19236/** Counts the number of elements in the continuous list
19237 *
19238 * \param buf Buffer pointing to packed list
19239 * \return Number of elements in the list
19240 */
19241uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_mfr_name_count_man_name(bcmolt_epon_oam_buf *buf);
19242
19243/** Counts the number of elements in the continuous list
19244 *
19245 * \param buf Buffer pointing to packed list
19246 * \return Number of elements in the list
19247 */
19248uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_vendor_name_count_vendor_name(bcmolt_epon_oam_buf *buf);
19249
19250/** Counts the number of elements in the continuous list
19251 *
19252 * \param buf Buffer pointing to packed list
19253 * \return Number of elements in the list
19254 */
19255uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_model_number_count_model_number(bcmolt_epon_oam_buf *buf);
19256
19257/** Counts the number of elements in the continuous list
19258 *
19259 * \param buf Buffer pointing to packed list
19260 * \return Number of elements in the list
19261 */
19262uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_hw_version_count_hw_version(bcmolt_epon_oam_buf *buf);
19263
19264/** Counts the number of elements in the continuous list
19265 *
19266 * \param buf Buffer pointing to packed list
19267 * \return Number of elements in the list
19268 */
19269uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_opt_mon_temperature_count_current_temperature(bcmolt_epon_oam_buf *buf);
19270
19271/** Counts the number of elements in the continuous list
19272 *
19273 * \param buf Buffer pointing to packed list
19274 * \return Number of elements in the list
19275 */
19276uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_opt_mon_vcc_count_current_vcc(bcmolt_epon_oam_buf *buf);
19277
19278/** Counts the number of elements in the continuous list
19279 *
19280 * \param buf Buffer pointing to packed list
19281 * \return Number of elements in the list
19282 */
19283uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_opt_mon_tx_bias_count_current_tx_bias(bcmolt_epon_oam_buf *buf);
19284
19285/** Counts the number of elements in the continuous list
19286 *
19287 * \param buf Buffer pointing to packed list
19288 * \return Number of elements in the list
19289 */
19290uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_opt_mon_tx_power_count_current_tx_power(bcmolt_epon_oam_buf *buf);
19291
19292/** Counts the number of elements in the continuous list
19293 *
19294 * \param buf Buffer pointing to packed list
19295 * \return Number of elements in the list
19296 */
19297uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_opt_mon_rx_power_count_current_rx_power(bcmolt_epon_oam_buf *buf);
19298
19299/** Counts the number of elements in the continuous list
19300 *
19301 * \param buf Buffer pointing to packed list
19302 * \return Number of elements in the list
19303 */
19304uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_donu_port_type_count_port_type(bcmolt_epon_oam_buf *buf);
19305
19306/** Counts the number of elements in the continuous list
19307 *
19308 * \param buf Buffer pointing to packed list
19309 * \return Number of elements in the list
19310 */
19311uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_suspend_resume_alarm_reporting_count_def(bcmolt_epon_oam_buf *buf);
19312
19313/** Counts the number of elements in the continuous list
19314 *
19315 * \param buf Buffer pointing to packed list
19316 * \return Number of elements in the list
19317 */
19318uint32_t bcmolt_epon_oam_dpoe_attribute_value_base_time_transfer_count_tod_string(bcmolt_epon_oam_buf *buf);
19319
19320/** Packs a bcmolt_epon_oam_dpoe_attribute_value_mac_table to bytes
19321 *
19322 * \param this Pointer to the object to pack
19323 * \param buf Pointer to the buffer to write to
19324 * \return TRUE if the pack was successful, FALSE otherwise
19325 */
19326bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_mac_table_pack(bcmolt_epon_oam_dpoe_attribute_value_mac_table *this, bcmolt_epon_oam_buf *buf);
19327
19328/** Gets the number of bytes that a
19329 * bcmolt_epon_oam_dpoe_attribute_value_mac_table would occupy on the wire
19330 *
19331 * \return The structure size in bytes
19332 */
19333uint32_t bcmolt_epon_oam_dpoe_attribute_value_mac_table_get_packed_length(bcmolt_epon_oam_dpoe_attribute_value_mac_table *this);
19334
19335/** Unpacks a bcmolt_epon_oam_dpoe_attribute_value_mac_table from bytes
19336 *
19337 * \param this Pointer to the object to unpack
19338 * \param buf Pointer to the buffer to read from
19339 * \param extra_mem Pointer to the first location in memory to use to store
19340 * pointer fields that are NULL. Setting this to NULL will cause an error when
19341 * a NULL pointer is encountered.
19342 * \return TRUE if the unpack was successful, FALSE otherwise
19343 */
19344bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_mac_table_unpack(bcmolt_epon_oam_dpoe_attribute_value_mac_table *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19345
19346/** Scans past a packed bcmolt_epon_oam_dpoe_attribute_value_mac_table struct
19347 * and collects memory requirements above and beyond sizeof()
19348 *
19349 * \param packed A stream pointing to the packed byte stream
19350 * \param extra_mem Number of additional storage bytes required
19351 * \return TRUE on success, FALSE on failure
19352 */
19353bcmos_bool bcmolt_epon_oam_dpoe_attribute_value_mac_table_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19354
19355/** Counts the number of elements in the continuous list
19356 *
19357 * \param buf Buffer pointing to packed list
19358 * \return Number of elements in the list
19359 */
19360uint32_t bcmolt_epon_oam_dpoe_attribute_value_mac_table_count_mac_address(bcmolt_epon_oam_buf *buf);
19361
19362/** Packs a bcmolt_epon_oam_dpoe_event_base to bytes
19363 *
19364 * \param this Pointer to the object to pack
19365 * \param buf Pointer to the buffer to write to
19366 * \return TRUE if the pack was successful, FALSE otherwise
19367 */
19368bcmos_bool bcmolt_epon_oam_dpoe_event_base_pack(bcmolt_epon_oam_dpoe_event_base *this, bcmolt_epon_oam_buf *buf);
19369
19370/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_event_base would occupy
19371 * on the wire
19372 *
19373 * \return The structure size in bytes
19374 */
19375uint32_t bcmolt_epon_oam_dpoe_event_base_get_packed_length(bcmolt_epon_oam_dpoe_event_base *this);
19376
19377/** Unpacks a bcmolt_epon_oam_dpoe_event_base from bytes
19378 *
19379 * \param this Pointer to the object to unpack
19380 * \param buf Pointer to the buffer to read from
19381 * \param extra_mem Pointer to the first location in memory to use to store
19382 * pointer fields that are NULL. Setting this to NULL will cause an error when
19383 * a NULL pointer is encountered.
19384 * \return TRUE if the unpack was successful, FALSE otherwise
19385 */
19386bcmos_bool bcmolt_epon_oam_dpoe_event_base_unpack(bcmolt_epon_oam_dpoe_event_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19387
19388/** Scans past a packed bcmolt_epon_oam_dpoe_event_base struct and collects
19389 * memory requirements above and beyond sizeof()
19390 *
19391 * \param packed A stream pointing to the packed byte stream
19392 * \param extra_mem Number of additional storage bytes required
19393 * \return TRUE on success, FALSE on failure
19394 */
19395bcmos_bool bcmolt_epon_oam_dpoe_event_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19396
19397/** Packs a bcmolt_epon_oam_dpoe_file_transfer_base to bytes
19398 *
19399 * \param this Pointer to the object to pack
19400 * \param buf Pointer to the buffer to write to
19401 * \return TRUE if the pack was successful, FALSE otherwise
19402 */
19403bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_base_pack(bcmolt_epon_oam_dpoe_file_transfer_base *this, bcmolt_epon_oam_buf *buf);
19404
19405/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_file_transfer_base
19406 * would occupy on the wire
19407 *
19408 * \return The structure size in bytes
19409 */
19410uint32_t bcmolt_epon_oam_dpoe_file_transfer_base_get_packed_length(bcmolt_epon_oam_dpoe_file_transfer_base *this);
19411
19412/** Unpacks a bcmolt_epon_oam_dpoe_file_transfer_base from bytes
19413 *
19414 * \param this Pointer to the object to unpack
19415 * \param buf Pointer to the buffer to read from
19416 * \param extra_mem Pointer to the first location in memory to use to store
19417 * pointer fields that are NULL. Setting this to NULL will cause an error when
19418 * a NULL pointer is encountered.
19419 * \return TRUE if the unpack was successful, FALSE otherwise
19420 */
19421bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_base_unpack(bcmolt_epon_oam_dpoe_file_transfer_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19422
19423/** Scans past a packed bcmolt_epon_oam_dpoe_file_transfer_base struct and
19424 * collects memory requirements above and beyond sizeof()
19425 *
19426 * \param packed A stream pointing to the packed byte stream
19427 * \param extra_mem Number of additional storage bytes required
19428 * \return TRUE on success, FALSE on failure
19429 */
19430bcmos_bool bcmolt_epon_oam_dpoe_file_transfer_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19431
19432/** Counts the number of elements in the continuous list
19433 *
19434 * \param buf Buffer pointing to packed list
19435 * \return Number of elements in the list
19436 */
19437uint32_t bcmolt_epon_oam_dpoe_file_transfer_base_file_write_count_filename(bcmolt_epon_oam_buf *buf);
19438
19439/** Packs a bcmolt_epon_oam_dpoe_info_tlv to bytes
19440 *
19441 * \param this Pointer to the object to pack
19442 * \param buf Pointer to the buffer to write to
19443 * \return TRUE if the pack was successful, FALSE otherwise
19444 */
19445bcmos_bool bcmolt_epon_oam_dpoe_info_tlv_pack(bcmolt_epon_oam_dpoe_info_tlv *this, bcmolt_epon_oam_buf *buf);
19446
19447/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_info_tlv would occupy
19448 * on the wire
19449 *
19450 * \return The structure size in bytes
19451 */
19452uint32_t bcmolt_epon_oam_dpoe_info_tlv_get_packed_length(bcmolt_epon_oam_dpoe_info_tlv *this);
19453
19454/** Unpacks a bcmolt_epon_oam_dpoe_info_tlv from bytes
19455 *
19456 * \param this Pointer to the object to unpack
19457 * \param buf Pointer to the buffer to read from
19458 * \param extra_mem Pointer to the first location in memory to use to store
19459 * pointer fields that are NULL. Setting this to NULL will cause an error when
19460 * a NULL pointer is encountered.
19461 * \return TRUE if the unpack was successful, FALSE otherwise
19462 */
19463bcmos_bool bcmolt_epon_oam_dpoe_info_tlv_unpack(bcmolt_epon_oam_dpoe_info_tlv *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19464
19465/** Scans past a packed bcmolt_epon_oam_dpoe_info_tlv struct and collects memory
19466 * requirements above and beyond sizeof()
19467 *
19468 * \param packed A stream pointing to the packed byte stream
19469 * \param extra_mem Number of additional storage bytes required
19470 * \return TRUE on success, FALSE on failure
19471 */
19472bcmos_bool bcmolt_epon_oam_dpoe_info_tlv_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19473
19474/** Packs a bcmolt_epon_oam_u8value to bytes
19475 *
19476 * \param this Pointer to the object to pack
19477 * \param buf Pointer to the buffer to write to
19478 * \return TRUE if the pack was successful, FALSE otherwise
19479 */
19480bcmos_bool bcmolt_epon_oam_u8value_pack(bcmolt_epon_oam_u8value *this, bcmolt_epon_oam_buf *buf);
19481
19482/** Unpacks a bcmolt_epon_oam_u8value from bytes
19483 *
19484 * \param this Pointer to the object to unpack
19485 * \param buf Pointer to the buffer to read from
19486 * \param extra_mem Pointer to the first location in memory to use to store
19487 * pointer fields that are NULL. Setting this to NULL will cause an error when
19488 * a NULL pointer is encountered.
19489 * \return TRUE if the unpack was successful, FALSE otherwise
19490 */
19491bcmos_bool bcmolt_epon_oam_u8value_unpack(bcmolt_epon_oam_u8value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19492
19493/** Scans past a packed bcmolt_epon_oam_u8value struct and collects memory
19494 * requirements above and beyond sizeof()
19495 *
19496 * \param packed A stream pointing to the packed byte stream
19497 * \param extra_mem Number of additional storage bytes required
19498 * \return TRUE on success, FALSE on failure
19499 */
19500bcmos_bool bcmolt_epon_oam_u8value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19501
19502/** Packs a bcmolt_epon_oam_u64value to bytes
19503 *
19504 * \param this Pointer to the object to pack
19505 * \param buf Pointer to the buffer to write to
19506 * \return TRUE if the pack was successful, FALSE otherwise
19507 */
19508bcmos_bool bcmolt_epon_oam_u64value_pack(bcmolt_epon_oam_u64value *this, bcmolt_epon_oam_buf *buf);
19509
19510/** Unpacks a bcmolt_epon_oam_u64value from bytes
19511 *
19512 * \param this Pointer to the object to unpack
19513 * \param buf Pointer to the buffer to read from
19514 * \param extra_mem Pointer to the first location in memory to use to store
19515 * pointer fields that are NULL. Setting this to NULL will cause an error when
19516 * a NULL pointer is encountered.
19517 * \return TRUE if the unpack was successful, FALSE otherwise
19518 */
19519bcmos_bool bcmolt_epon_oam_u64value_unpack(bcmolt_epon_oam_u64value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19520
19521/** Scans past a packed bcmolt_epon_oam_u64value struct and collects memory
19522 * requirements above and beyond sizeof()
19523 *
19524 * \param packed A stream pointing to the packed byte stream
19525 * \param extra_mem Number of additional storage bytes required
19526 * \return TRUE on success, FALSE on failure
19527 */
19528bcmos_bool bcmolt_epon_oam_u64value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19529
19530/** Packs a bcmolt_epon_oam_std_attribute_value to bytes
19531 *
19532 * \param this Pointer to the object to pack
19533 * \param buf Pointer to the buffer to write to
19534 * \return TRUE if the pack was successful, FALSE otherwise
19535 */
19536bcmos_bool bcmolt_epon_oam_std_attribute_value_pack(bcmolt_epon_oam_std_attribute_value *this, bcmolt_epon_oam_buf *buf);
19537
19538/** Gets the number of bytes that a bcmolt_epon_oam_std_attribute_value would
19539 * occupy on the wire
19540 *
19541 * \return The structure size in bytes
19542 */
19543uint32_t bcmolt_epon_oam_std_attribute_value_get_packed_length(bcmolt_epon_oam_std_attribute_value *this);
19544
19545/** Unpacks a bcmolt_epon_oam_std_attribute_value from bytes
19546 *
19547 * \param this Pointer to the object to unpack
19548 * \param buf Pointer to the buffer to read from
19549 * \param extra_mem Pointer to the first location in memory to use to store
19550 * pointer fields that are NULL. Setting this to NULL will cause an error when
19551 * a NULL pointer is encountered.
19552 * \return TRUE if the unpack was successful, FALSE otherwise
19553 */
19554bcmos_bool bcmolt_epon_oam_std_attribute_value_unpack(bcmolt_epon_oam_std_attribute_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19555
19556/** Scans past a packed bcmolt_epon_oam_std_attribute_value struct and collects
19557 * memory requirements above and beyond sizeof()
19558 *
19559 * \param packed A stream pointing to the packed byte stream
19560 * \param extra_mem Number of additional storage bytes required
19561 * \return TRUE on success, FALSE on failure
19562 */
19563bcmos_bool bcmolt_epon_oam_std_attribute_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19564
19565/** Counts the number of elements in the continuous list
19566 *
19567 * \param buf Buffer pointing to packed list
19568 * \return Number of elements in the list
19569 */
19570uint32_t bcmolt_epon_oam_std_attribute_value_auto_neg_local_tech_ability_count_capabilities(bcmolt_epon_oam_buf *buf);
19571
19572/** Counts the number of elements in the continuous list
19573 *
19574 * \param buf Buffer pointing to packed list
19575 * \return Number of elements in the list
19576 */
19577uint32_t bcmolt_epon_oam_std_attribute_value_auto_neg_advertised_tech_ability_count_capabilities(bcmolt_epon_oam_buf *buf);
19578
19579/** Counts the number of elements in the continuous list
19580 *
19581 * \param buf Buffer pointing to packed list
19582 * \return Number of elements in the list
19583 */
19584uint32_t bcmolt_epon_oam_std_attribute_value_auto_neg_rx_tech_count_capabilities(bcmolt_epon_oam_buf *buf);
19585
19586/** Counts the number of elements in the continuous list
19587 *
19588 * \param buf Buffer pointing to packed list
19589 * \return Number of elements in the list
19590 */
19591uint32_t bcmolt_epon_oam_std_attribute_value_mac_ctrl_funcs_supported_count_functions(bcmolt_epon_oam_buf *buf);
19592
19593/** Packs a bcmolt_epon_oam_std_action_value_base to bytes
19594 *
19595 * \param this Pointer to the object to pack
19596 * \param buf Pointer to the buffer to write to
19597 * \return TRUE if the pack was successful, FALSE otherwise
19598 */
19599bcmos_bool bcmolt_epon_oam_std_action_value_base_pack(bcmolt_epon_oam_std_action_value_base *this, bcmolt_epon_oam_buf *buf);
19600
19601/** Unpacks a bcmolt_epon_oam_std_action_value_base from bytes
19602 *
19603 * \param this Pointer to the object to unpack
19604 * \param buf Pointer to the buffer to read from
19605 * \param extra_mem Pointer to the first location in memory to use to store
19606 * pointer fields that are NULL. Setting this to NULL will cause an error when
19607 * a NULL pointer is encountered.
19608 * \return TRUE if the unpack was successful, FALSE otherwise
19609 */
19610bcmos_bool bcmolt_epon_oam_std_action_value_base_unpack(bcmolt_epon_oam_std_action_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19611
19612/** Scans past a packed bcmolt_epon_oam_std_action_value_base struct and
19613 * collects memory requirements above and beyond sizeof()
19614 *
19615 * \param packed A stream pointing to the packed byte stream
19616 * \param extra_mem Number of additional storage bytes required
19617 * \return TRUE on success, FALSE on failure
19618 */
19619bcmos_bool bcmolt_epon_oam_std_action_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19620
19621/** Packs a bcmolt_epon_oam_dpoe_var_container_base to bytes
19622 *
19623 * \param this Pointer to the object to pack
19624 * \param buf Pointer to the buffer to write to
19625 * \return TRUE if the pack was successful, FALSE otherwise
19626 */
19627bcmos_bool bcmolt_epon_oam_dpoe_var_container_base_pack(bcmolt_epon_oam_dpoe_var_container_base *this, bcmolt_epon_oam_buf *buf);
19628
19629/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_var_container_base
19630 * would occupy on the wire
19631 *
19632 * \return The structure size in bytes
19633 */
19634uint32_t bcmolt_epon_oam_dpoe_var_container_base_get_packed_length(bcmolt_epon_oam_dpoe_var_container_base *this);
19635
19636/** Unpacks a bcmolt_epon_oam_dpoe_var_container_base from bytes
19637 *
19638 * \param this Pointer to the object to unpack
19639 * \param buf Pointer to the buffer to read from
19640 * \param extra_mem Pointer to the first location in memory to use to store
19641 * pointer fields that are NULL. Setting this to NULL will cause an error when
19642 * a NULL pointer is encountered.
19643 * \return TRUE if the unpack was successful, FALSE otherwise
19644 */
19645bcmos_bool bcmolt_epon_oam_dpoe_var_container_base_unpack(bcmolt_epon_oam_dpoe_var_container_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19646
19647/** Scans past a packed bcmolt_epon_oam_dpoe_var_container_base struct and
19648 * collects memory requirements above and beyond sizeof()
19649 *
19650 * \param packed A stream pointing to the packed byte stream
19651 * \param extra_mem Number of additional storage bytes required
19652 * \return TRUE on success, FALSE on failure
19653 */
19654bcmos_bool bcmolt_epon_oam_dpoe_var_container_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19655
19656/** Counts the number of elements in the continuous list
19657 *
19658 * \param buf Buffer pointing to packed list
19659 * \return Number of elements in the list
19660 */
19661uint32_t bcmolt_epon_oam_dpoe_var_container_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
19662
19663/** Packs a bcmolt_epon_oam_dpoe_vendor_extended_base to bytes
19664 *
19665 * \param this Pointer to the object to pack
19666 * \param buf Pointer to the buffer to write to
19667 * \return TRUE if the pack was successful, FALSE otherwise
19668 */
19669bcmos_bool bcmolt_epon_oam_dpoe_vendor_extended_base_pack(bcmolt_epon_oam_dpoe_vendor_extended_base *this, bcmolt_epon_oam_buf *buf);
19670
19671/** Gets the number of bytes that a bcmolt_epon_oam_dpoe_vendor_extended_base
19672 * would occupy on the wire
19673 *
19674 * \return The structure size in bytes
19675 */
19676uint32_t bcmolt_epon_oam_dpoe_vendor_extended_base_get_packed_length(bcmolt_epon_oam_dpoe_vendor_extended_base *this);
19677
19678/** Unpacks a bcmolt_epon_oam_dpoe_vendor_extended_base from bytes
19679 *
19680 * \param this Pointer to the object to unpack
19681 * \param buf Pointer to the buffer to read from
19682 * \param extra_mem Pointer to the first location in memory to use to store
19683 * pointer fields that are NULL. Setting this to NULL will cause an error when
19684 * a NULL pointer is encountered.
19685 * \return TRUE if the unpack was successful, FALSE otherwise
19686 */
19687bcmos_bool bcmolt_epon_oam_dpoe_vendor_extended_base_unpack(bcmolt_epon_oam_dpoe_vendor_extended_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19688
19689/** Scans past a packed bcmolt_epon_oam_dpoe_vendor_extended_base struct and
19690 * collects memory requirements above and beyond sizeof()
19691 *
19692 * \param packed A stream pointing to the packed byte stream
19693 * \param extra_mem Number of additional storage bytes required
19694 * \return TRUE on success, FALSE on failure
19695 */
19696bcmos_bool bcmolt_epon_oam_dpoe_vendor_extended_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19697
19698/** Counts the number of elements in the continuous list
19699 *
19700 * \param buf Buffer pointing to packed list
19701 * \return Number of elements in the list
19702 */
19703uint32_t bcmolt_epon_oam_dpoe_vendor_extended_base_get_request_count_vars(bcmolt_epon_oam_buf *buf);
19704
19705/** Counts the number of elements in the continuous list
19706 *
19707 * \param buf Buffer pointing to packed list
19708 * \return Number of elements in the list
19709 */
19710uint32_t bcmolt_epon_oam_dpoe_vendor_extended_base_get_response_count_vars(bcmolt_epon_oam_buf *buf);
19711
19712/** Counts the number of elements in the continuous list
19713 *
19714 * \param buf Buffer pointing to packed list
19715 * \return Number of elements in the list
19716 */
19717uint32_t bcmolt_epon_oam_dpoe_vendor_extended_base_set_request_count_vars(bcmolt_epon_oam_buf *buf);
19718
19719/** Counts the number of elements in the continuous list
19720 *
19721 * \param buf Buffer pointing to packed list
19722 * \return Number of elements in the list
19723 */
19724uint32_t bcmolt_epon_oam_dpoe_vendor_extended_base_set_response_count_vars(bcmolt_epon_oam_buf *buf);
19725
19726/** Packs a bcmolt_epon_oam_tls_version to bytes
19727 *
19728 * \param this Pointer to the object to pack
19729 * \param buf Pointer to the buffer to write to
19730 * \return TRUE if the pack was successful, FALSE otherwise
19731 */
19732bcmos_bool bcmolt_epon_oam_tls_version_pack(bcmolt_epon_oam_tls_version *this, bcmolt_epon_oam_buf *buf);
19733
19734/** Unpacks a bcmolt_epon_oam_tls_version from bytes
19735 *
19736 * \param this Pointer to the object to unpack
19737 * \param buf Pointer to the buffer to read from
19738 * \param extra_mem Pointer to the first location in memory to use to store
19739 * pointer fields that are NULL. Setting this to NULL will cause an error when
19740 * a NULL pointer is encountered.
19741 * \return TRUE if the unpack was successful, FALSE otherwise
19742 */
19743bcmos_bool bcmolt_epon_oam_tls_version_unpack(bcmolt_epon_oam_tls_version *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19744
19745/** Scans past a packed bcmolt_epon_oam_tls_version struct and collects memory
19746 * requirements above and beyond sizeof()
19747 *
19748 * \param packed A stream pointing to the packed byte stream
19749 * \param extra_mem Number of additional storage bytes required
19750 * \return TRUE on success, FALSE on failure
19751 */
19752bcmos_bool bcmolt_epon_oam_tls_version_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19753
19754/** Packs a bcmolt_epon_oam_tls_random to bytes
19755 *
19756 * \param this Pointer to the object to pack
19757 * \param buf Pointer to the buffer to write to
19758 * \return TRUE if the pack was successful, FALSE otherwise
19759 */
19760bcmos_bool bcmolt_epon_oam_tls_random_pack(bcmolt_epon_oam_tls_random *this, bcmolt_epon_oam_buf *buf);
19761
19762/** Unpacks a bcmolt_epon_oam_tls_random from bytes
19763 *
19764 * \param this Pointer to the object to unpack
19765 * \param buf Pointer to the buffer to read from
19766 * \param extra_mem Pointer to the first location in memory to use to store
19767 * pointer fields that are NULL. Setting this to NULL will cause an error when
19768 * a NULL pointer is encountered.
19769 * \return TRUE if the unpack was successful, FALSE otherwise
19770 */
19771bcmos_bool bcmolt_epon_oam_tls_random_unpack(bcmolt_epon_oam_tls_random *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19772
19773/** Scans past a packed bcmolt_epon_oam_tls_random struct and collects memory
19774 * requirements above and beyond sizeof()
19775 *
19776 * \param packed A stream pointing to the packed byte stream
19777 * \param extra_mem Number of additional storage bytes required
19778 * \return TRUE on success, FALSE on failure
19779 */
19780bcmos_bool bcmolt_epon_oam_tls_random_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19781
19782/** Packs a bcmolt_epon_oam_tls_session_id to bytes
19783 *
19784 * \param this Pointer to the object to pack
19785 * \param buf Pointer to the buffer to write to
19786 * \return TRUE if the pack was successful, FALSE otherwise
19787 */
19788bcmos_bool bcmolt_epon_oam_tls_session_id_pack(bcmolt_epon_oam_tls_session_id *this, bcmolt_epon_oam_buf *buf);
19789
19790/** Gets the number of bytes that a bcmolt_epon_oam_tls_session_id would occupy
19791 * on the wire
19792 *
19793 * \return The structure size in bytes
19794 */
19795uint32_t bcmolt_epon_oam_tls_session_id_get_packed_length(bcmolt_epon_oam_tls_session_id *this);
19796
19797/** Unpacks a bcmolt_epon_oam_tls_session_id from bytes
19798 *
19799 * \param this Pointer to the object to unpack
19800 * \param buf Pointer to the buffer to read from
19801 * \param extra_mem Pointer to the first location in memory to use to store
19802 * pointer fields that are NULL. Setting this to NULL will cause an error when
19803 * a NULL pointer is encountered.
19804 * \return TRUE if the unpack was successful, FALSE otherwise
19805 */
19806bcmos_bool bcmolt_epon_oam_tls_session_id_unpack(bcmolt_epon_oam_tls_session_id *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19807
19808/** Scans past a packed bcmolt_epon_oam_tls_session_id struct and collects
19809 * memory requirements above and beyond sizeof()
19810 *
19811 * \param packed A stream pointing to the packed byte stream
19812 * \param extra_mem Number of additional storage bytes required
19813 * \return TRUE on success, FALSE on failure
19814 */
19815bcmos_bool bcmolt_epon_oam_tls_session_id_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19816
19817/** Packs a bcmolt_epon_oam_tls_ciphersuite_list to bytes
19818 *
19819 * \param this Pointer to the object to pack
19820 * \param buf Pointer to the buffer to write to
19821 * \return TRUE if the pack was successful, FALSE otherwise
19822 */
19823bcmos_bool bcmolt_epon_oam_tls_ciphersuite_list_pack(bcmolt_epon_oam_tls_ciphersuite_list *this, bcmolt_epon_oam_buf *buf);
19824
19825/** Gets the number of bytes that a bcmolt_epon_oam_tls_ciphersuite_list would
19826 * occupy on the wire
19827 *
19828 * \return The structure size in bytes
19829 */
19830uint32_t bcmolt_epon_oam_tls_ciphersuite_list_get_packed_length(bcmolt_epon_oam_tls_ciphersuite_list *this);
19831
19832/** Unpacks a bcmolt_epon_oam_tls_ciphersuite_list from bytes
19833 *
19834 * \param this Pointer to the object to unpack
19835 * \param buf Pointer to the buffer to read from
19836 * \param extra_mem Pointer to the first location in memory to use to store
19837 * pointer fields that are NULL. Setting this to NULL will cause an error when
19838 * a NULL pointer is encountered.
19839 * \return TRUE if the unpack was successful, FALSE otherwise
19840 */
19841bcmos_bool bcmolt_epon_oam_tls_ciphersuite_list_unpack(bcmolt_epon_oam_tls_ciphersuite_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19842
19843/** Scans past a packed bcmolt_epon_oam_tls_ciphersuite_list struct and collects
19844 * memory requirements above and beyond sizeof()
19845 *
19846 * \param packed A stream pointing to the packed byte stream
19847 * \param extra_mem Number of additional storage bytes required
19848 * \return TRUE on success, FALSE on failure
19849 */
19850bcmos_bool bcmolt_epon_oam_tls_ciphersuite_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19851
19852/** Packs a bcmolt_epon_oam_tls_compression_list to bytes
19853 *
19854 * \param this Pointer to the object to pack
19855 * \param buf Pointer to the buffer to write to
19856 * \return TRUE if the pack was successful, FALSE otherwise
19857 */
19858bcmos_bool bcmolt_epon_oam_tls_compression_list_pack(bcmolt_epon_oam_tls_compression_list *this, bcmolt_epon_oam_buf *buf);
19859
19860/** Gets the number of bytes that a bcmolt_epon_oam_tls_compression_list would
19861 * occupy on the wire
19862 *
19863 * \return The structure size in bytes
19864 */
19865uint32_t bcmolt_epon_oam_tls_compression_list_get_packed_length(bcmolt_epon_oam_tls_compression_list *this);
19866
19867/** Unpacks a bcmolt_epon_oam_tls_compression_list from bytes
19868 *
19869 * \param this Pointer to the object to unpack
19870 * \param buf Pointer to the buffer to read from
19871 * \param extra_mem Pointer to the first location in memory to use to store
19872 * pointer fields that are NULL. Setting this to NULL will cause an error when
19873 * a NULL pointer is encountered.
19874 * \return TRUE if the unpack was successful, FALSE otherwise
19875 */
19876bcmos_bool bcmolt_epon_oam_tls_compression_list_unpack(bcmolt_epon_oam_tls_compression_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19877
19878/** Scans past a packed bcmolt_epon_oam_tls_compression_list struct and collects
19879 * memory requirements above and beyond sizeof()
19880 *
19881 * \param packed A stream pointing to the packed byte stream
19882 * \param extra_mem Number of additional storage bytes required
19883 * \return TRUE on success, FALSE on failure
19884 */
19885bcmos_bool bcmolt_epon_oam_tls_compression_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19886
19887/** Packs a bcmolt_epon_oam_tls_certificate_list to bytes
19888 *
19889 * \param this Pointer to the object to pack
19890 * \param buf Pointer to the buffer to write to
19891 * \return TRUE if the pack was successful, FALSE otherwise
19892 */
19893bcmos_bool bcmolt_epon_oam_tls_certificate_list_pack(bcmolt_epon_oam_tls_certificate_list *this, bcmolt_epon_oam_buf *buf);
19894
19895/** Gets the number of bytes that a bcmolt_epon_oam_tls_certificate_list would
19896 * occupy on the wire
19897 *
19898 * \return The structure size in bytes
19899 */
19900uint32_t bcmolt_epon_oam_tls_certificate_list_get_packed_length(bcmolt_epon_oam_tls_certificate_list *this);
19901
19902/** Unpacks a bcmolt_epon_oam_tls_certificate_list from bytes
19903 *
19904 * \param this Pointer to the object to unpack
19905 * \param buf Pointer to the buffer to read from
19906 * \param extra_mem Pointer to the first location in memory to use to store
19907 * pointer fields that are NULL. Setting this to NULL will cause an error when
19908 * a NULL pointer is encountered.
19909 * \return TRUE if the unpack was successful, FALSE otherwise
19910 */
19911bcmos_bool bcmolt_epon_oam_tls_certificate_list_unpack(bcmolt_epon_oam_tls_certificate_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19912
19913/** Scans past a packed bcmolt_epon_oam_tls_certificate_list struct and collects
19914 * memory requirements above and beyond sizeof()
19915 *
19916 * \param packed A stream pointing to the packed byte stream
19917 * \param extra_mem Number of additional storage bytes required
19918 * \return TRUE on success, FALSE on failure
19919 */
19920bcmos_bool bcmolt_epon_oam_tls_certificate_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19921
19922/** Counts the number of elements in the continuous list
19923 *
19924 * \param buf Buffer pointing to packed list
19925 * \return Number of elements in the list
19926 */
19927uint32_t bcmolt_epon_oam_tls_certificate_list_count_certificate_list(bcmolt_epon_oam_buf *buf);
19928
19929/** Packs a bcmolt_epon_oam_tls_certificate_type_list to bytes
19930 *
19931 * \param this Pointer to the object to pack
19932 * \param buf Pointer to the buffer to write to
19933 * \return TRUE if the pack was successful, FALSE otherwise
19934 */
19935bcmos_bool bcmolt_epon_oam_tls_certificate_type_list_pack(bcmolt_epon_oam_tls_certificate_type_list *this, bcmolt_epon_oam_buf *buf);
19936
19937/** Gets the number of bytes that a bcmolt_epon_oam_tls_certificate_type_list
19938 * would occupy on the wire
19939 *
19940 * \return The structure size in bytes
19941 */
19942uint32_t bcmolt_epon_oam_tls_certificate_type_list_get_packed_length(bcmolt_epon_oam_tls_certificate_type_list *this);
19943
19944/** Unpacks a bcmolt_epon_oam_tls_certificate_type_list from bytes
19945 *
19946 * \param this Pointer to the object to unpack
19947 * \param buf Pointer to the buffer to read from
19948 * \param extra_mem Pointer to the first location in memory to use to store
19949 * pointer fields that are NULL. Setting this to NULL will cause an error when
19950 * a NULL pointer is encountered.
19951 * \return TRUE if the unpack was successful, FALSE otherwise
19952 */
19953bcmos_bool bcmolt_epon_oam_tls_certificate_type_list_unpack(bcmolt_epon_oam_tls_certificate_type_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19954
19955/** Scans past a packed bcmolt_epon_oam_tls_certificate_type_list struct and
19956 * collects memory requirements above and beyond sizeof()
19957 *
19958 * \param packed A stream pointing to the packed byte stream
19959 * \param extra_mem Number of additional storage bytes required
19960 * \return TRUE on success, FALSE on failure
19961 */
19962bcmos_bool bcmolt_epon_oam_tls_certificate_type_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19963
19964/** Packs a bcmolt_epon_oam_tls_handshake to bytes
19965 *
19966 * \param this Pointer to the object to pack
19967 * \param buf Pointer to the buffer to write to
19968 * \return TRUE if the pack was successful, FALSE otherwise
19969 */
19970bcmos_bool bcmolt_epon_oam_tls_handshake_pack(bcmolt_epon_oam_tls_handshake *this, bcmolt_epon_oam_buf *buf);
19971
19972/** Gets the number of bytes that a bcmolt_epon_oam_tls_handshake would occupy
19973 * on the wire
19974 *
19975 * \return The structure size in bytes
19976 */
19977uint32_t bcmolt_epon_oam_tls_handshake_get_packed_length(bcmolt_epon_oam_tls_handshake *this);
19978
19979/** Unpacks a bcmolt_epon_oam_tls_handshake from bytes
19980 *
19981 * \param this Pointer to the object to unpack
19982 * \param buf Pointer to the buffer to read from
19983 * \param extra_mem Pointer to the first location in memory to use to store
19984 * pointer fields that are NULL. Setting this to NULL will cause an error when
19985 * a NULL pointer is encountered.
19986 * \return TRUE if the unpack was successful, FALSE otherwise
19987 */
19988bcmos_bool bcmolt_epon_oam_tls_handshake_unpack(bcmolt_epon_oam_tls_handshake *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
19989
19990/** Scans past a packed bcmolt_epon_oam_tls_handshake struct and collects memory
19991 * requirements above and beyond sizeof()
19992 *
19993 * \param packed A stream pointing to the packed byte stream
19994 * \param extra_mem Number of additional storage bytes required
19995 * \return TRUE on success, FALSE on failure
19996 */
19997bcmos_bool bcmolt_epon_oam_tls_handshake_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
19998
19999/** Counts the number of elements in the continuous list
20000 *
20001 * \param buf Buffer pointing to packed list
20002 * \return Number of elements in the list
20003 */
20004uint32_t bcmolt_epon_oam_tls_handshake_finished_count_verify_data(bcmolt_epon_oam_buf *buf);
20005
20006/** Packs a bcmolt_epon_oam_tls_record to bytes
20007 *
20008 * \param this Pointer to the object to pack
20009 * \param buf Pointer to the buffer to write to
20010 * \return TRUE if the pack was successful, FALSE otherwise
20011 */
20012bcmos_bool bcmolt_epon_oam_tls_record_pack(bcmolt_epon_oam_tls_record *this, bcmolt_epon_oam_buf *buf);
20013
20014/** Gets the number of bytes that a bcmolt_epon_oam_tls_record would occupy on
20015 * the wire
20016 *
20017 * \return The structure size in bytes
20018 */
20019uint32_t bcmolt_epon_oam_tls_record_get_packed_length(bcmolt_epon_oam_tls_record *this);
20020
20021/** Unpacks a bcmolt_epon_oam_tls_record from bytes
20022 *
20023 * \param this Pointer to the object to unpack
20024 * \param buf Pointer to the buffer to read from
20025 * \param extra_mem Pointer to the first location in memory to use to store
20026 * pointer fields that are NULL. Setting this to NULL will cause an error when
20027 * a NULL pointer is encountered.
20028 * \return TRUE if the unpack was successful, FALSE otherwise
20029 */
20030bcmos_bool bcmolt_epon_oam_tls_record_unpack(bcmolt_epon_oam_tls_record *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20031
20032/** Scans past a packed bcmolt_epon_oam_tls_record struct and collects memory
20033 * requirements above and beyond sizeof()
20034 *
20035 * \param packed A stream pointing to the packed byte stream
20036 * \param extra_mem Number of additional storage bytes required
20037 * \return TRUE on success, FALSE on failure
20038 */
20039bcmos_bool bcmolt_epon_oam_tls_record_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20040
20041/** Counts the number of elements in the continuous list
20042 *
20043 * \param buf Buffer pointing to packed list
20044 * \return Number of elements in the list
20045 */
20046uint32_t bcmolt_epon_oam_tls_record_handshake_count_handshake_records(bcmolt_epon_oam_buf *buf);
20047
20048/** Packs a bcmolt_epon_oam_eap_tls_message to bytes
20049 *
20050 * \param this Pointer to the object to pack
20051 * \param buf Pointer to the buffer to write to
20052 * \return TRUE if the pack was successful, FALSE otherwise
20053 */
20054bcmos_bool bcmolt_epon_oam_eap_tls_message_pack(bcmolt_epon_oam_eap_tls_message *this, bcmolt_epon_oam_buf *buf);
20055
20056/** Gets the number of bytes that a bcmolt_epon_oam_eap_tls_message would occupy
20057 * on the wire
20058 *
20059 * \return The structure size in bytes
20060 */
20061uint32_t bcmolt_epon_oam_eap_tls_message_get_packed_length(bcmolt_epon_oam_eap_tls_message *this);
20062
20063/** Unpacks a bcmolt_epon_oam_eap_tls_message from bytes
20064 *
20065 * \param this Pointer to the object to unpack
20066 * \param buf Pointer to the buffer to read from
20067 * \param extra_mem Pointer to the first location in memory to use to store
20068 * pointer fields that are NULL. Setting this to NULL will cause an error when
20069 * a NULL pointer is encountered.
20070 * \return TRUE if the unpack was successful, FALSE otherwise
20071 */
20072bcmos_bool bcmolt_epon_oam_eap_tls_message_unpack(bcmolt_epon_oam_eap_tls_message *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20073
20074/** Scans past a packed bcmolt_epon_oam_eap_tls_message struct and collects
20075 * memory requirements above and beyond sizeof()
20076 *
20077 * \param packed A stream pointing to the packed byte stream
20078 * \param extra_mem Number of additional storage bytes required
20079 * \return TRUE on success, FALSE on failure
20080 */
20081bcmos_bool bcmolt_epon_oam_eap_tls_message_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20082
20083/** Counts the number of elements in the continuous list
20084 *
20085 * \param buf Buffer pointing to packed list
20086 * \return Number of elements in the list
20087 */
20088uint32_t bcmolt_epon_oam_eap_tls_message_count_tls_records(bcmolt_epon_oam_buf *buf);
20089
20090/** Packs a bcmolt_epon_oam_eap_tls_header to bytes
20091 *
20092 * \param this Pointer to the object to pack
20093 * \param buf Pointer to the buffer to write to
20094 * \return TRUE if the pack was successful, FALSE otherwise
20095 */
20096bcmos_bool bcmolt_epon_oam_eap_tls_header_pack(bcmolt_epon_oam_eap_tls_header *this, bcmolt_epon_oam_buf *buf);
20097
20098/** Gets the number of bytes that a bcmolt_epon_oam_eap_tls_header would occupy
20099 * on the wire
20100 *
20101 * \return The structure size in bytes
20102 */
20103uint32_t bcmolt_epon_oam_eap_tls_header_get_packed_length(bcmolt_epon_oam_eap_tls_header *this);
20104
20105/** Unpacks a bcmolt_epon_oam_eap_tls_header from bytes
20106 *
20107 * \param this Pointer to the object to unpack
20108 * \param buf Pointer to the buffer to read from
20109 * \param extra_mem Pointer to the first location in memory to use to store
20110 * pointer fields that are NULL. Setting this to NULL will cause an error when
20111 * a NULL pointer is encountered.
20112 * \return TRUE if the unpack was successful, FALSE otherwise
20113 */
20114bcmos_bool bcmolt_epon_oam_eap_tls_header_unpack(bcmolt_epon_oam_eap_tls_header *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20115
20116/** Scans past a packed bcmolt_epon_oam_eap_tls_header struct and collects
20117 * memory requirements above and beyond sizeof()
20118 *
20119 * \param packed A stream pointing to the packed byte stream
20120 * \param extra_mem Number of additional storage bytes required
20121 * \return TRUE on success, FALSE on failure
20122 */
20123bcmos_bool bcmolt_epon_oam_eap_tls_header_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20124
20125/** Packs a bcmolt_epon_oam_eap_frame to bytes
20126 *
20127 * \param this Pointer to the object to pack
20128 * \param buf Pointer to the buffer to write to
20129 * \return TRUE if the pack was successful, FALSE otherwise
20130 */
20131bcmos_bool bcmolt_epon_oam_eap_frame_pack(bcmolt_epon_oam_eap_frame *this, bcmolt_epon_oam_buf *buf);
20132
20133/** Gets the number of bytes that a bcmolt_epon_oam_eap_frame would occupy on
20134 * the wire
20135 *
20136 * \return The structure size in bytes
20137 */
20138uint32_t bcmolt_epon_oam_eap_frame_get_packed_length(bcmolt_epon_oam_eap_frame *this);
20139
20140/** Unpacks a bcmolt_epon_oam_eap_frame from bytes
20141 *
20142 * \param this Pointer to the object to unpack
20143 * \param buf Pointer to the buffer to read from
20144 * \param extra_mem Pointer to the first location in memory to use to store
20145 * pointer fields that are NULL. Setting this to NULL will cause an error when
20146 * a NULL pointer is encountered.
20147 * \return TRUE if the unpack was successful, FALSE otherwise
20148 */
20149bcmos_bool bcmolt_epon_oam_eap_frame_unpack(bcmolt_epon_oam_eap_frame *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20150
20151/** Scans past a packed bcmolt_epon_oam_eap_frame struct and collects memory
20152 * requirements above and beyond sizeof()
20153 *
20154 * \param packed A stream pointing to the packed byte stream
20155 * \param extra_mem Number of additional storage bytes required
20156 * \return TRUE on success, FALSE on failure
20157 */
20158bcmos_bool bcmolt_epon_oam_eap_frame_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20159
20160/** Packs a bcmolt_epon_oam_eapol_pdu to bytes
20161 *
20162 * \param this Pointer to the object to pack
20163 * \param buf Pointer to the buffer to write to
20164 * \return TRUE if the pack was successful, FALSE otherwise
20165 */
20166bcmos_bool bcmolt_epon_oam_eapol_pdu_pack(bcmolt_epon_oam_eapol_pdu *this, bcmolt_epon_oam_buf *buf);
20167
20168/** Gets the number of bytes that a bcmolt_epon_oam_eapol_pdu would occupy on
20169 * the wire
20170 *
20171 * \return The structure size in bytes
20172 */
20173uint32_t bcmolt_epon_oam_eapol_pdu_get_packed_length(bcmolt_epon_oam_eapol_pdu *this);
20174
20175/** Unpacks a bcmolt_epon_oam_eapol_pdu from bytes
20176 *
20177 * \param this Pointer to the object to unpack
20178 * \param buf Pointer to the buffer to read from
20179 * \param extra_mem Pointer to the first location in memory to use to store
20180 * pointer fields that are NULL. Setting this to NULL will cause an error when
20181 * a NULL pointer is encountered.
20182 * \return TRUE if the unpack was successful, FALSE otherwise
20183 */
20184bcmos_bool bcmolt_epon_oam_eapol_pdu_unpack(bcmolt_epon_oam_eapol_pdu *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20185
20186/** Scans past a packed bcmolt_epon_oam_eapol_pdu struct and collects memory
20187 * requirements above and beyond sizeof()
20188 *
20189 * \param packed A stream pointing to the packed byte stream
20190 * \param extra_mem Number of additional storage bytes required
20191 * \return TRUE on success, FALSE on failure
20192 */
20193bcmos_bool bcmolt_epon_oam_eapol_pdu_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20194
20195/** Packs a bcmolt_epon_oam_eapol_protocol to bytes
20196 *
20197 * \param this Pointer to the object to pack
20198 * \param buf Pointer to the buffer to write to
20199 * \return TRUE if the pack was successful, FALSE otherwise
20200 */
20201bcmos_bool bcmolt_epon_oam_eapol_protocol_pack(bcmolt_epon_oam_eapol_protocol *this, bcmolt_epon_oam_buf *buf);
20202
20203/** Gets the number of bytes that a bcmolt_epon_oam_eapol_protocol would occupy
20204 * on the wire
20205 *
20206 * \return The structure size in bytes
20207 */
20208uint32_t bcmolt_epon_oam_eapol_protocol_get_packed_length(bcmolt_epon_oam_eapol_protocol *this);
20209
20210/** Unpacks a bcmolt_epon_oam_eapol_protocol from bytes
20211 *
20212 * \param this Pointer to the object to unpack
20213 * \param buf Pointer to the buffer to read from
20214 * \param extra_mem Pointer to the first location in memory to use to store
20215 * pointer fields that are NULL. Setting this to NULL will cause an error when
20216 * a NULL pointer is encountered.
20217 * \return TRUE if the unpack was successful, FALSE otherwise
20218 */
20219bcmos_bool bcmolt_epon_oam_eapol_protocol_unpack(bcmolt_epon_oam_eapol_protocol *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20220
20221/** Scans past a packed bcmolt_epon_oam_eapol_protocol struct and collects
20222 * memory requirements above and beyond sizeof()
20223 *
20224 * \param packed A stream pointing to the packed byte stream
20225 * \param extra_mem Number of additional storage bytes required
20226 * \return TRUE on success, FALSE on failure
20227 */
20228bcmos_bool bcmolt_epon_oam_eapol_protocol_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20229
20230/** Packs a bcmolt_epon_oam_vlan_value to bytes
20231 *
20232 * \param this Pointer to the object to pack
20233 * \param buf Pointer to the buffer to write to
20234 * \return TRUE if the pack was successful, FALSE otherwise
20235 */
20236bcmos_bool bcmolt_epon_oam_vlan_value_pack(bcmolt_epon_oam_vlan_value *this, bcmolt_epon_oam_buf *buf);
20237
20238/** Unpacks a bcmolt_epon_oam_vlan_value from bytes
20239 *
20240 * \param this Pointer to the object to unpack
20241 * \param buf Pointer to the buffer to read from
20242 * \param extra_mem Pointer to the first location in memory to use to store
20243 * pointer fields that are NULL. Setting this to NULL will cause an error when
20244 * a NULL pointer is encountered.
20245 * \return TRUE if the unpack was successful, FALSE otherwise
20246 */
20247bcmos_bool bcmolt_epon_oam_vlan_value_unpack(bcmolt_epon_oam_vlan_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20248
20249/** Scans past a packed bcmolt_epon_oam_vlan_value struct and collects memory
20250 * requirements above and beyond sizeof()
20251 *
20252 * \param packed A stream pointing to the packed byte stream
20253 * \param extra_mem Number of additional storage bytes required
20254 * \return TRUE on success, FALSE on failure
20255 */
20256bcmos_bool bcmolt_epon_oam_vlan_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20257
20258/** Packs a bcmolt_epon_oam_itag_value to bytes
20259 *
20260 * \param this Pointer to the object to pack
20261 * \param buf Pointer to the buffer to write to
20262 * \return TRUE if the pack was successful, FALSE otherwise
20263 */
20264bcmos_bool bcmolt_epon_oam_itag_value_pack(bcmolt_epon_oam_itag_value *this, bcmolt_epon_oam_buf *buf);
20265
20266/** Unpacks a bcmolt_epon_oam_itag_value from bytes
20267 *
20268 * \param this Pointer to the object to unpack
20269 * \param buf Pointer to the buffer to read from
20270 * \param extra_mem Pointer to the first location in memory to use to store
20271 * pointer fields that are NULL. Setting this to NULL will cause an error when
20272 * a NULL pointer is encountered.
20273 * \return TRUE if the unpack was successful, FALSE otherwise
20274 */
20275bcmos_bool bcmolt_epon_oam_itag_value_unpack(bcmolt_epon_oam_itag_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20276
20277/** Scans past a packed bcmolt_epon_oam_itag_value struct and collects memory
20278 * requirements above and beyond sizeof()
20279 *
20280 * \param packed A stream pointing to the packed byte stream
20281 * \param extra_mem Number of additional storage bytes required
20282 * \return TRUE on success, FALSE on failure
20283 */
20284bcmos_bool bcmolt_epon_oam_itag_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20285
20286/** Packs a bcmolt_epon_oam_tek_info_tlv to bytes
20287 *
20288 * \param this Pointer to the object to pack
20289 * \param buf Pointer to the buffer to write to
20290 * \return TRUE if the pack was successful, FALSE otherwise
20291 */
20292bcmos_bool bcmolt_epon_oam_tek_info_tlv_pack(bcmolt_epon_oam_tek_info_tlv *this, bcmolt_epon_oam_buf *buf);
20293
20294/** Gets the number of bytes that a bcmolt_epon_oam_tek_info_tlv would occupy on
20295 * the wire
20296 *
20297 * \return The structure size in bytes
20298 */
20299uint32_t bcmolt_epon_oam_tek_info_tlv_get_packed_length(bcmolt_epon_oam_tek_info_tlv *this);
20300
20301/** Unpacks a bcmolt_epon_oam_tek_info_tlv from bytes
20302 *
20303 * \param this Pointer to the object to unpack
20304 * \param buf Pointer to the buffer to read from
20305 * \param extra_mem Pointer to the first location in memory to use to store
20306 * pointer fields that are NULL. Setting this to NULL will cause an error when
20307 * a NULL pointer is encountered.
20308 * \return TRUE if the unpack was successful, FALSE otherwise
20309 */
20310bcmos_bool bcmolt_epon_oam_tek_info_tlv_unpack(bcmolt_epon_oam_tek_info_tlv *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20311
20312/** Scans past a packed bcmolt_epon_oam_tek_info_tlv struct and collects memory
20313 * requirements above and beyond sizeof()
20314 *
20315 * \param packed A stream pointing to the packed byte stream
20316 * \param extra_mem Number of additional storage bytes required
20317 * \return TRUE on success, FALSE on failure
20318 */
20319bcmos_bool bcmolt_epon_oam_tek_info_tlv_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20320
20321/** Packs a bcmolt_epon_oam_organization_specific_info to bytes
20322 *
20323 * \param this Pointer to the object to pack
20324 * \param buf Pointer to the buffer to write to
20325 * \return TRUE if the pack was successful, FALSE otherwise
20326 */
20327bcmos_bool bcmolt_epon_oam_organization_specific_info_pack(bcmolt_epon_oam_organization_specific_info *this, bcmolt_epon_oam_buf *buf);
20328
20329/** Gets the number of bytes that a bcmolt_epon_oam_organization_specific_info
20330 * would occupy on the wire
20331 *
20332 * \return The structure size in bytes
20333 */
20334uint32_t bcmolt_epon_oam_organization_specific_info_get_packed_length(bcmolt_epon_oam_organization_specific_info *this);
20335
20336/** Unpacks a bcmolt_epon_oam_organization_specific_info from bytes
20337 *
20338 * \param this Pointer to the object to unpack
20339 * \param buf Pointer to the buffer to read from
20340 * \param extra_mem Pointer to the first location in memory to use to store
20341 * pointer fields that are NULL. Setting this to NULL will cause an error when
20342 * a NULL pointer is encountered.
20343 * \return TRUE if the unpack was successful, FALSE otherwise
20344 */
20345bcmos_bool bcmolt_epon_oam_organization_specific_info_unpack(bcmolt_epon_oam_organization_specific_info *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20346
20347/** Scans past a packed bcmolt_epon_oam_organization_specific_info struct and
20348 * collects memory requirements above and beyond sizeof()
20349 *
20350 * \param packed A stream pointing to the packed byte stream
20351 * \param extra_mem Number of additional storage bytes required
20352 * \return TRUE on success, FALSE on failure
20353 */
20354bcmos_bool bcmolt_epon_oam_organization_specific_info_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20355
20356/** Counts the number of elements in the continuous list
20357 *
20358 * \param buf Buffer pointing to packed list
20359 * \return Number of elements in the list
20360 */
20361uint32_t bcmolt_epon_oam_organization_specific_info_ctc_count_supp_version(bcmolt_epon_oam_buf *buf);
20362
20363/** Packs a bcmolt_epon_oam_local_remote_info to bytes
20364 *
20365 * \param this Pointer to the object to pack
20366 * \param buf Pointer to the buffer to write to
20367 * \return TRUE if the pack was successful, FALSE otherwise
20368 */
20369bcmos_bool bcmolt_epon_oam_local_remote_info_pack(bcmolt_epon_oam_local_remote_info *this, bcmolt_epon_oam_buf *buf);
20370
20371/** Unpacks a bcmolt_epon_oam_local_remote_info from bytes
20372 *
20373 * \param this Pointer to the object to unpack
20374 * \param buf Pointer to the buffer to read from
20375 * \param extra_mem Pointer to the first location in memory to use to store
20376 * pointer fields that are NULL. Setting this to NULL will cause an error when
20377 * a NULL pointer is encountered.
20378 * \return TRUE if the unpack was successful, FALSE otherwise
20379 */
20380bcmos_bool bcmolt_epon_oam_local_remote_info_unpack(bcmolt_epon_oam_local_remote_info *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20381
20382/** Scans past a packed bcmolt_epon_oam_local_remote_info struct and collects
20383 * memory requirements above and beyond sizeof()
20384 *
20385 * \param packed A stream pointing to the packed byte stream
20386 * \param extra_mem Number of additional storage bytes required
20387 * \return TRUE on success, FALSE on failure
20388 */
20389bcmos_bool bcmolt_epon_oam_local_remote_info_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20390
20391/** Packs a bcmolt_epon_oam_info_tlv_base to bytes
20392 *
20393 * \param this Pointer to the object to pack
20394 * \param buf Pointer to the buffer to write to
20395 * \return TRUE if the pack was successful, FALSE otherwise
20396 */
20397bcmos_bool bcmolt_epon_oam_info_tlv_base_pack(bcmolt_epon_oam_info_tlv_base *this, bcmolt_epon_oam_buf *buf);
20398
20399/** Gets the number of bytes that a bcmolt_epon_oam_info_tlv_base would occupy
20400 * on the wire
20401 *
20402 * \return The structure size in bytes
20403 */
20404uint32_t bcmolt_epon_oam_info_tlv_base_get_packed_length(bcmolt_epon_oam_info_tlv_base *this);
20405
20406/** Unpacks a bcmolt_epon_oam_info_tlv_base from bytes
20407 *
20408 * \param this Pointer to the object to unpack
20409 * \param buf Pointer to the buffer to read from
20410 * \param extra_mem Pointer to the first location in memory to use to store
20411 * pointer fields that are NULL. Setting this to NULL will cause an error when
20412 * a NULL pointer is encountered.
20413 * \return TRUE if the unpack was successful, FALSE otherwise
20414 */
20415bcmos_bool bcmolt_epon_oam_info_tlv_base_unpack(bcmolt_epon_oam_info_tlv_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20416
20417/** Scans past a packed bcmolt_epon_oam_info_tlv_base struct and collects memory
20418 * requirements above and beyond sizeof()
20419 *
20420 * \param packed A stream pointing to the packed byte stream
20421 * \param extra_mem Number of additional storage bytes required
20422 * \return TRUE on success, FALSE on failure
20423 */
20424bcmos_bool bcmolt_epon_oam_info_tlv_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20425
20426/** Counts the number of elements in the continuous list
20427 *
20428 * \param buf Buffer pointing to packed list
20429 * \return Number of elements in the list
20430 */
20431uint32_t bcmolt_epon_oam_info_tlv_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
20432
20433/** Packs a bcmolt_epon_oam_organization_specific_link_event_base to bytes
20434 *
20435 * \param this Pointer to the object to pack
20436 * \param buf Pointer to the buffer to write to
20437 * \return TRUE if the pack was successful, FALSE otherwise
20438 */
20439bcmos_bool bcmolt_epon_oam_organization_specific_link_event_base_pack(bcmolt_epon_oam_organization_specific_link_event_base *this, bcmolt_epon_oam_buf *buf);
20440
20441/** Gets the number of bytes that a
20442 * bcmolt_epon_oam_organization_specific_link_event_base would occupy on the
20443 * wire
20444 *
20445 * \return The structure size in bytes
20446 */
20447uint32_t bcmolt_epon_oam_organization_specific_link_event_base_get_packed_length(bcmolt_epon_oam_organization_specific_link_event_base *this);
20448
20449/** Unpacks a bcmolt_epon_oam_organization_specific_link_event_base from bytes
20450 *
20451 * \param this Pointer to the object to unpack
20452 * \param buf Pointer to the buffer to read from
20453 * \param extra_mem Pointer to the first location in memory to use to store
20454 * pointer fields that are NULL. Setting this to NULL will cause an error when
20455 * a NULL pointer is encountered.
20456 * \return TRUE if the unpack was successful, FALSE otherwise
20457 */
20458bcmos_bool bcmolt_epon_oam_organization_specific_link_event_base_unpack(bcmolt_epon_oam_organization_specific_link_event_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20459
20460/** Scans past a packed bcmolt_epon_oam_organization_specific_link_event_base
20461 * struct and collects memory requirements above and beyond sizeof()
20462 *
20463 * \param packed A stream pointing to the packed byte stream
20464 * \param extra_mem Number of additional storage bytes required
20465 * \return TRUE on success, FALSE on failure
20466 */
20467bcmos_bool bcmolt_epon_oam_organization_specific_link_event_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20468
20469/** Packs a bcmolt_epon_oam_link_event_tlv_base to bytes
20470 *
20471 * \param this Pointer to the object to pack
20472 * \param buf Pointer to the buffer to write to
20473 * \return TRUE if the pack was successful, FALSE otherwise
20474 */
20475bcmos_bool bcmolt_epon_oam_link_event_tlv_base_pack(bcmolt_epon_oam_link_event_tlv_base *this, bcmolt_epon_oam_buf *buf);
20476
20477/** Gets the number of bytes that a bcmolt_epon_oam_link_event_tlv_base would
20478 * occupy on the wire
20479 *
20480 * \return The structure size in bytes
20481 */
20482uint32_t bcmolt_epon_oam_link_event_tlv_base_get_packed_length(bcmolt_epon_oam_link_event_tlv_base *this);
20483
20484/** Unpacks a bcmolt_epon_oam_link_event_tlv_base from bytes
20485 *
20486 * \param this Pointer to the object to unpack
20487 * \param buf Pointer to the buffer to read from
20488 * \param extra_mem Pointer to the first location in memory to use to store
20489 * pointer fields that are NULL. Setting this to NULL will cause an error when
20490 * a NULL pointer is encountered.
20491 * \return TRUE if the unpack was successful, FALSE otherwise
20492 */
20493bcmos_bool bcmolt_epon_oam_link_event_tlv_base_unpack(bcmolt_epon_oam_link_event_tlv_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20494
20495/** Scans past a packed bcmolt_epon_oam_link_event_tlv_base struct and collects
20496 * memory requirements above and beyond sizeof()
20497 *
20498 * \param packed A stream pointing to the packed byte stream
20499 * \param extra_mem Number of additional storage bytes required
20500 * \return TRUE on success, FALSE on failure
20501 */
20502bcmos_bool bcmolt_epon_oam_link_event_tlv_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20503
20504/** Counts the number of elements in the continuous list
20505 *
20506 * \param buf Buffer pointing to packed list
20507 * \return Number of elements in the list
20508 */
20509uint32_t bcmolt_epon_oam_link_event_tlv_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
20510
20511/** Packs a bcmolt_epon_oam_var_descriptor_base to bytes
20512 *
20513 * \param this Pointer to the object to pack
20514 * \param buf Pointer to the buffer to write to
20515 * \return TRUE if the pack was successful, FALSE otherwise
20516 */
20517bcmos_bool bcmolt_epon_oam_var_descriptor_base_pack(bcmolt_epon_oam_var_descriptor_base *this, bcmolt_epon_oam_buf *buf);
20518
20519/** Gets the number of bytes that a bcmolt_epon_oam_var_descriptor_base would
20520 * occupy on the wire
20521 *
20522 * \return The structure size in bytes
20523 */
20524uint32_t bcmolt_epon_oam_var_descriptor_base_get_packed_length(bcmolt_epon_oam_var_descriptor_base *this);
20525
20526/** Unpacks a bcmolt_epon_oam_var_descriptor_base from bytes
20527 *
20528 * \param this Pointer to the object to unpack
20529 * \param buf Pointer to the buffer to read from
20530 * \param extra_mem Pointer to the first location in memory to use to store
20531 * pointer fields that are NULL. Setting this to NULL will cause an error when
20532 * a NULL pointer is encountered.
20533 * \return TRUE if the unpack was successful, FALSE otherwise
20534 */
20535bcmos_bool bcmolt_epon_oam_var_descriptor_base_unpack(bcmolt_epon_oam_var_descriptor_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20536
20537/** Scans past a packed bcmolt_epon_oam_var_descriptor_base struct and collects
20538 * memory requirements above and beyond sizeof()
20539 *
20540 * \param packed A stream pointing to the packed byte stream
20541 * \param extra_mem Number of additional storage bytes required
20542 * \return TRUE on success, FALSE on failure
20543 */
20544bcmos_bool bcmolt_epon_oam_var_descriptor_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20545
20546/** Counts the number of elements in the continuous list
20547 *
20548 * \param buf Buffer pointing to packed list
20549 * \return Number of elements in the list
20550 */
20551uint32_t bcmolt_epon_oam_var_descriptor_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
20552
20553/** Packs a bcmolt_epon_oam_var_container_base to bytes
20554 *
20555 * \param this Pointer to the object to pack
20556 * \param buf Pointer to the buffer to write to
20557 * \return TRUE if the pack was successful, FALSE otherwise
20558 */
20559bcmos_bool bcmolt_epon_oam_var_container_base_pack(bcmolt_epon_oam_var_container_base *this, bcmolt_epon_oam_buf *buf);
20560
20561/** Gets the number of bytes that a bcmolt_epon_oam_var_container_base would
20562 * occupy on the wire
20563 *
20564 * \return The structure size in bytes
20565 */
20566uint32_t bcmolt_epon_oam_var_container_base_get_packed_length(bcmolt_epon_oam_var_container_base *this);
20567
20568/** Unpacks a bcmolt_epon_oam_var_container_base from bytes
20569 *
20570 * \param this Pointer to the object to unpack
20571 * \param buf Pointer to the buffer to read from
20572 * \param extra_mem Pointer to the first location in memory to use to store
20573 * pointer fields that are NULL. Setting this to NULL will cause an error when
20574 * a NULL pointer is encountered.
20575 * \return TRUE if the unpack was successful, FALSE otherwise
20576 */
20577bcmos_bool bcmolt_epon_oam_var_container_base_unpack(bcmolt_epon_oam_var_container_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20578
20579/** Scans past a packed bcmolt_epon_oam_var_container_base struct and collects
20580 * memory requirements above and beyond sizeof()
20581 *
20582 * \param packed A stream pointing to the packed byte stream
20583 * \param extra_mem Number of additional storage bytes required
20584 * \return TRUE on success, FALSE on failure
20585 */
20586bcmos_bool bcmolt_epon_oam_var_container_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20587
20588/** Counts the number of elements in the continuous list
20589 *
20590 * \param buf Buffer pointing to packed list
20591 * \return Number of elements in the list
20592 */
20593uint32_t bcmolt_epon_oam_var_container_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
20594
20595/** Counts the number of elements in the continuous list
20596 *
20597 * \param buf Buffer pointing to packed list
20598 * \return Number of elements in the list
20599 */
20600uint32_t bcmolt_epon_oam_var_container_base_object_count_value(bcmolt_epon_oam_buf *buf);
20601
20602/** Counts the number of elements in the continuous list
20603 *
20604 * \param buf Buffer pointing to packed list
20605 * \return Number of elements in the list
20606 */
20607uint32_t bcmolt_epon_oam_var_container_base_package_count_value(bcmolt_epon_oam_buf *buf);
20608
20609/** Counts the number of elements in the continuous list
20610 *
20611 * \param buf Buffer pointing to packed list
20612 * \return Number of elements in the list
20613 */
20614uint32_t bcmolt_epon_oam_var_container_base_name_binding_count_value(bcmolt_epon_oam_buf *buf);
20615
20616/** Counts the number of elements in the continuous list
20617 *
20618 * \param buf Buffer pointing to packed list
20619 * \return Number of elements in the list
20620 */
20621uint32_t bcmolt_epon_oam_var_container_base_attribute_count_value(bcmolt_epon_oam_buf *buf);
20622
20623/** Counts the number of elements in the continuous list
20624 *
20625 * \param buf Buffer pointing to packed list
20626 * \return Number of elements in the list
20627 */
20628uint32_t bcmolt_epon_oam_var_container_base_action_count_value(bcmolt_epon_oam_buf *buf);
20629
20630/** Packs a bcmolt_epon_oam_tek_object_queue_name to bytes
20631 *
20632 * \param this Pointer to the object to pack
20633 * \param buf Pointer to the buffer to write to
20634 * \return TRUE if the pack was successful, FALSE otherwise
20635 */
20636bcmos_bool bcmolt_epon_oam_tek_object_queue_name_pack(bcmolt_epon_oam_tek_object_queue_name *this, bcmolt_epon_oam_buf *buf);
20637
20638/** Unpacks a bcmolt_epon_oam_tek_object_queue_name from bytes
20639 *
20640 * \param this Pointer to the object to unpack
20641 * \param buf Pointer to the buffer to read from
20642 * \param extra_mem Pointer to the first location in memory to use to store
20643 * pointer fields that are NULL. Setting this to NULL will cause an error when
20644 * a NULL pointer is encountered.
20645 * \return TRUE if the unpack was successful, FALSE otherwise
20646 */
20647bcmos_bool bcmolt_epon_oam_tek_object_queue_name_unpack(bcmolt_epon_oam_tek_object_queue_name *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20648
20649/** Scans past a packed bcmolt_epon_oam_tek_object_queue_name struct and
20650 * collects memory requirements above and beyond sizeof()
20651 *
20652 * \param packed A stream pointing to the packed byte stream
20653 * \param extra_mem Number of additional storage bytes required
20654 * \return TRUE on success, FALSE on failure
20655 */
20656bcmos_bool bcmolt_epon_oam_tek_object_queue_name_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20657
20658/** Packs a bcmolt_epon_oam_tek_object_context to bytes
20659 *
20660 * \param this Pointer to the object to pack
20661 * \param buf Pointer to the buffer to write to
20662 * \return TRUE if the pack was successful, FALSE otherwise
20663 */
20664bcmos_bool bcmolt_epon_oam_tek_object_context_pack(bcmolt_epon_oam_tek_object_context *this, bcmolt_epon_oam_buf *buf);
20665
20666/** Gets the number of bytes that a bcmolt_epon_oam_tek_object_context would
20667 * occupy on the wire
20668 *
20669 * \return The structure size in bytes
20670 */
20671uint32_t bcmolt_epon_oam_tek_object_context_get_packed_length(bcmolt_epon_oam_tek_object_context *this);
20672
20673/** Unpacks a bcmolt_epon_oam_tek_object_context from bytes
20674 *
20675 * \param this Pointer to the object to unpack
20676 * \param buf Pointer to the buffer to read from
20677 * \param extra_mem Pointer to the first location in memory to use to store
20678 * pointer fields that are NULL. Setting this to NULL will cause an error when
20679 * a NULL pointer is encountered.
20680 * \return TRUE if the unpack was successful, FALSE otherwise
20681 */
20682bcmos_bool bcmolt_epon_oam_tek_object_context_unpack(bcmolt_epon_oam_tek_object_context *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20683
20684/** Scans past a packed bcmolt_epon_oam_tek_object_context struct and collects
20685 * memory requirements above and beyond sizeof()
20686 *
20687 * \param packed A stream pointing to the packed byte stream
20688 * \param extra_mem Number of additional storage bytes required
20689 * \return TRUE on success, FALSE on failure
20690 */
20691bcmos_bool bcmolt_epon_oam_tek_object_context_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20692
20693/** Counts the number of elements in the continuous list
20694 *
20695 * \param buf Buffer pointing to packed list
20696 * \return Number of elements in the list
20697 */
20698uint32_t bcmolt_epon_oam_tek_object_context_logical_link_count_link_number(bcmolt_epon_oam_buf *buf);
20699
20700/** Counts the number of elements in the continuous list
20701 *
20702 * \param buf Buffer pointing to packed list
20703 * \return Number of elements in the list
20704 */
20705uint32_t bcmolt_epon_oam_tek_object_context_port_count_port_number(bcmolt_epon_oam_buf *buf);
20706
20707/** Counts the number of elements in the continuous list
20708 *
20709 * \param buf Buffer pointing to packed list
20710 * \return Number of elements in the list
20711 */
20712uint32_t bcmolt_epon_oam_tek_object_context_network_pon_count_pon_number(bcmolt_epon_oam_buf *buf);
20713
20714/** Counts the number of elements in the continuous list
20715 *
20716 * \param buf Buffer pointing to packed list
20717 * \return Number of elements in the list
20718 */
20719uint32_t bcmolt_epon_oam_tek_object_context_user_pon_count_pon_number(bcmolt_epon_oam_buf *buf);
20720
20721/** Counts the number of elements in the continuous list
20722 *
20723 * \param buf Buffer pointing to packed list
20724 * \return Number of elements in the list
20725 */
20726uint32_t bcmolt_epon_oam_tek_object_context_bridge_count_bridge_number(bcmolt_epon_oam_buf *buf);
20727
20728/** Counts the number of elements in the continuous list
20729 *
20730 * \param buf Buffer pointing to packed list
20731 * \return Number of elements in the list
20732 */
20733uint32_t bcmolt_epon_oam_tek_object_context_bridge_port_count_port_number(bcmolt_epon_oam_buf *buf);
20734
20735/** Packs a bcmolt_epon_oam_tek_var_descriptor to bytes
20736 *
20737 * \param this Pointer to the object to pack
20738 * \param buf Pointer to the buffer to write to
20739 * \return TRUE if the pack was successful, FALSE otherwise
20740 */
20741bcmos_bool bcmolt_epon_oam_tek_var_descriptor_pack(bcmolt_epon_oam_tek_var_descriptor *this, bcmolt_epon_oam_buf *buf);
20742
20743/** Gets the number of bytes that a bcmolt_epon_oam_tek_var_descriptor would
20744 * occupy on the wire
20745 *
20746 * \return The structure size in bytes
20747 */
20748uint32_t bcmolt_epon_oam_tek_var_descriptor_get_packed_length(bcmolt_epon_oam_tek_var_descriptor *this);
20749
20750/** Unpacks a bcmolt_epon_oam_tek_var_descriptor from bytes
20751 *
20752 * \param this Pointer to the object to unpack
20753 * \param buf Pointer to the buffer to read from
20754 * \param extra_mem Pointer to the first location in memory to use to store
20755 * pointer fields that are NULL. Setting this to NULL will cause an error when
20756 * a NULL pointer is encountered.
20757 * \return TRUE if the unpack was successful, FALSE otherwise
20758 */
20759bcmos_bool bcmolt_epon_oam_tek_var_descriptor_unpack(bcmolt_epon_oam_tek_var_descriptor *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20760
20761/** Scans past a packed bcmolt_epon_oam_tek_var_descriptor struct and collects
20762 * memory requirements above and beyond sizeof()
20763 *
20764 * \param packed A stream pointing to the packed byte stream
20765 * \param extra_mem Number of additional storage bytes required
20766 * \return TRUE on success, FALSE on failure
20767 */
20768bcmos_bool bcmolt_epon_oam_tek_var_descriptor_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20769
20770/** Counts the number of elements in the continuous list
20771 *
20772 * \param buf Buffer pointing to packed list
20773 * \return Number of elements in the list
20774 */
20775uint32_t bcmolt_epon_oam_tek_var_descriptor_end_count_unknown(bcmolt_epon_oam_buf *buf);
20776
20777/** Packs a bcmolt_epon_oam_lue_field_select_entry to bytes
20778 *
20779 * \param this Pointer to the object to pack
20780 * \param buf Pointer to the buffer to write to
20781 * \return TRUE if the pack was successful, FALSE otherwise
20782 */
20783bcmos_bool bcmolt_epon_oam_lue_field_select_entry_pack(bcmolt_epon_oam_lue_field_select_entry *this, bcmolt_epon_oam_buf *buf);
20784
20785/** Unpacks a bcmolt_epon_oam_lue_field_select_entry from bytes
20786 *
20787 * \param this Pointer to the object to unpack
20788 * \param buf Pointer to the buffer to read from
20789 * \param extra_mem Pointer to the first location in memory to use to store
20790 * pointer fields that are NULL. Setting this to NULL will cause an error when
20791 * a NULL pointer is encountered.
20792 * \return TRUE if the unpack was successful, FALSE otherwise
20793 */
20794bcmos_bool bcmolt_epon_oam_lue_field_select_entry_unpack(bcmolt_epon_oam_lue_field_select_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20795
20796/** Scans past a packed bcmolt_epon_oam_lue_field_select_entry struct and
20797 * collects memory requirements above and beyond sizeof()
20798 *
20799 * \param packed A stream pointing to the packed byte stream
20800 * \param extra_mem Number of additional storage bytes required
20801 * \return TRUE on success, FALSE on failure
20802 */
20803bcmos_bool bcmolt_epon_oam_lue_field_select_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20804
20805/** Packs a bcmolt_epon_oam_tek_onu_rule_clause to bytes
20806 *
20807 * \param this Pointer to the object to pack
20808 * \param buf Pointer to the buffer to write to
20809 * \return TRUE if the pack was successful, FALSE otherwise
20810 */
20811bcmos_bool bcmolt_epon_oam_tek_onu_rule_clause_pack(bcmolt_epon_oam_tek_onu_rule_clause *this, bcmolt_epon_oam_buf *buf);
20812
20813/** Unpacks a bcmolt_epon_oam_tek_onu_rule_clause from bytes
20814 *
20815 * \param this Pointer to the object to unpack
20816 * \param buf Pointer to the buffer to read from
20817 * \param extra_mem Pointer to the first location in memory to use to store
20818 * pointer fields that are NULL. Setting this to NULL will cause an error when
20819 * a NULL pointer is encountered.
20820 * \return TRUE if the unpack was successful, FALSE otherwise
20821 */
20822bcmos_bool bcmolt_epon_oam_tek_onu_rule_clause_unpack(bcmolt_epon_oam_tek_onu_rule_clause *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20823
20824/** Scans past a packed bcmolt_epon_oam_tek_onu_rule_clause struct and collects
20825 * memory requirements above and beyond sizeof()
20826 *
20827 * \param packed A stream pointing to the packed byte stream
20828 * \param extra_mem Number of additional storage bytes required
20829 * \return TRUE on success, FALSE on failure
20830 */
20831bcmos_bool bcmolt_epon_oam_tek_onu_rule_clause_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20832
20833/** Packs a bcmolt_epon_oam_tek_onu_rule to bytes
20834 *
20835 * \param this Pointer to the object to pack
20836 * \param buf Pointer to the buffer to write to
20837 * \return TRUE if the pack was successful, FALSE otherwise
20838 */
20839bcmos_bool bcmolt_epon_oam_tek_onu_rule_pack(bcmolt_epon_oam_tek_onu_rule *this, bcmolt_epon_oam_buf *buf);
20840
20841/** Gets the number of bytes that a bcmolt_epon_oam_tek_onu_rule would occupy on
20842 * the wire
20843 *
20844 * \return The structure size in bytes
20845 */
20846uint32_t bcmolt_epon_oam_tek_onu_rule_get_packed_length(bcmolt_epon_oam_tek_onu_rule *this);
20847
20848/** Unpacks a bcmolt_epon_oam_tek_onu_rule from bytes
20849 *
20850 * \param this Pointer to the object to unpack
20851 * \param buf Pointer to the buffer to read from
20852 * \param extra_mem Pointer to the first location in memory to use to store
20853 * pointer fields that are NULL. Setting this to NULL will cause an error when
20854 * a NULL pointer is encountered.
20855 * \return TRUE if the unpack was successful, FALSE otherwise
20856 */
20857bcmos_bool bcmolt_epon_oam_tek_onu_rule_unpack(bcmolt_epon_oam_tek_onu_rule *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20858
20859/** Scans past a packed bcmolt_epon_oam_tek_onu_rule struct and collects memory
20860 * requirements above and beyond sizeof()
20861 *
20862 * \param packed A stream pointing to the packed byte stream
20863 * \param extra_mem Number of additional storage bytes required
20864 * \return TRUE on success, FALSE on failure
20865 */
20866bcmos_bool bcmolt_epon_oam_tek_onu_rule_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20867
20868/** Packs a bcmolt_epon_oam_tek_onu_igmp_vlan to bytes
20869 *
20870 * \param this Pointer to the object to pack
20871 * \param buf Pointer to the buffer to write to
20872 * \return TRUE if the pack was successful, FALSE otherwise
20873 */
20874bcmos_bool bcmolt_epon_oam_tek_onu_igmp_vlan_pack(bcmolt_epon_oam_tek_onu_igmp_vlan *this, bcmolt_epon_oam_buf *buf);
20875
20876/** Unpacks a bcmolt_epon_oam_tek_onu_igmp_vlan from bytes
20877 *
20878 * \param this Pointer to the object to unpack
20879 * \param buf Pointer to the buffer to read from
20880 * \param extra_mem Pointer to the first location in memory to use to store
20881 * pointer fields that are NULL. Setting this to NULL will cause an error when
20882 * a NULL pointer is encountered.
20883 * \return TRUE if the unpack was successful, FALSE otherwise
20884 */
20885bcmos_bool bcmolt_epon_oam_tek_onu_igmp_vlan_unpack(bcmolt_epon_oam_tek_onu_igmp_vlan *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20886
20887/** Scans past a packed bcmolt_epon_oam_tek_onu_igmp_vlan struct and collects
20888 * memory requirements above and beyond sizeof()
20889 *
20890 * \param packed A stream pointing to the packed byte stream
20891 * \param extra_mem Number of additional storage bytes required
20892 * \return TRUE on success, FALSE on failure
20893 */
20894bcmos_bool bcmolt_epon_oam_tek_onu_igmp_vlan_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20895
20896/** Packs a bcmolt_epon_oam_tek_vlan_destination_mapping to bytes
20897 *
20898 * \param this Pointer to the object to pack
20899 * \param buf Pointer to the buffer to write to
20900 * \return TRUE if the pack was successful, FALSE otherwise
20901 */
20902bcmos_bool bcmolt_epon_oam_tek_vlan_destination_mapping_pack(bcmolt_epon_oam_tek_vlan_destination_mapping *this, bcmolt_epon_oam_buf *buf);
20903
20904/** Unpacks a bcmolt_epon_oam_tek_vlan_destination_mapping from bytes
20905 *
20906 * \param this Pointer to the object to unpack
20907 * \param buf Pointer to the buffer to read from
20908 * \param extra_mem Pointer to the first location in memory to use to store
20909 * pointer fields that are NULL. Setting this to NULL will cause an error when
20910 * a NULL pointer is encountered.
20911 * \return TRUE if the unpack was successful, FALSE otherwise
20912 */
20913bcmos_bool bcmolt_epon_oam_tek_vlan_destination_mapping_unpack(bcmolt_epon_oam_tek_vlan_destination_mapping *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20914
20915/** Scans past a packed bcmolt_epon_oam_tek_vlan_destination_mapping struct and
20916 * collects memory requirements above and beyond sizeof()
20917 *
20918 * \param packed A stream pointing to the packed byte stream
20919 * \param extra_mem Number of additional storage bytes required
20920 * \return TRUE on success, FALSE on failure
20921 */
20922bcmos_bool bcmolt_epon_oam_tek_vlan_destination_mapping_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20923
20924/** Packs a bcmolt_epon_oam_tek_firmware_timestamp to bytes
20925 *
20926 * \param this Pointer to the object to pack
20927 * \param buf Pointer to the buffer to write to
20928 * \return TRUE if the pack was successful, FALSE otherwise
20929 */
20930bcmos_bool bcmolt_epon_oam_tek_firmware_timestamp_pack(bcmolt_epon_oam_tek_firmware_timestamp *this, bcmolt_epon_oam_buf *buf);
20931
20932/** Unpacks a bcmolt_epon_oam_tek_firmware_timestamp from bytes
20933 *
20934 * \param this Pointer to the object to unpack
20935 * \param buf Pointer to the buffer to read from
20936 * \param extra_mem Pointer to the first location in memory to use to store
20937 * pointer fields that are NULL. Setting this to NULL will cause an error when
20938 * a NULL pointer is encountered.
20939 * \return TRUE if the unpack was successful, FALSE otherwise
20940 */
20941bcmos_bool bcmolt_epon_oam_tek_firmware_timestamp_unpack(bcmolt_epon_oam_tek_firmware_timestamp *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20942
20943/** Scans past a packed bcmolt_epon_oam_tek_firmware_timestamp struct and
20944 * collects memory requirements above and beyond sizeof()
20945 *
20946 * \param packed A stream pointing to the packed byte stream
20947 * \param extra_mem Number of additional storage bytes required
20948 * \return TRUE on success, FALSE on failure
20949 */
20950bcmos_bool bcmolt_epon_oam_tek_firmware_timestamp_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20951
20952/** Packs a bcmolt_epon_oam_rule_entry to bytes
20953 *
20954 * \param this Pointer to the object to pack
20955 * \param buf Pointer to the buffer to write to
20956 * \return TRUE if the pack was successful, FALSE otherwise
20957 */
20958bcmos_bool bcmolt_epon_oam_rule_entry_pack(bcmolt_epon_oam_rule_entry *this, bcmolt_epon_oam_buf *buf);
20959
20960/** Gets the number of bytes that a bcmolt_epon_oam_rule_entry would occupy on
20961 * the wire
20962 *
20963 * \return The structure size in bytes
20964 */
20965uint32_t bcmolt_epon_oam_rule_entry_get_packed_length(bcmolt_epon_oam_rule_entry *this);
20966
20967/** Unpacks a bcmolt_epon_oam_rule_entry from bytes
20968 *
20969 * \param this Pointer to the object to unpack
20970 * \param buf Pointer to the buffer to read from
20971 * \param extra_mem Pointer to the first location in memory to use to store
20972 * pointer fields that are NULL. Setting this to NULL will cause an error when
20973 * a NULL pointer is encountered.
20974 * \return TRUE if the unpack was successful, FALSE otherwise
20975 */
20976bcmos_bool bcmolt_epon_oam_rule_entry_unpack(bcmolt_epon_oam_rule_entry *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
20977
20978/** Scans past a packed bcmolt_epon_oam_rule_entry struct and collects memory
20979 * requirements above and beyond sizeof()
20980 *
20981 * \param packed A stream pointing to the packed byte stream
20982 * \param extra_mem Number of additional storage bytes required
20983 * \return TRUE on success, FALSE on failure
20984 */
20985bcmos_bool bcmolt_epon_oam_rule_entry_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
20986
20987/** Packs a bcmolt_epon_oam_tek_attribute_value_rule to bytes
20988 *
20989 * \param this Pointer to the object to pack
20990 * \param buf Pointer to the buffer to write to
20991 * \return TRUE if the pack was successful, FALSE otherwise
20992 */
20993bcmos_bool bcmolt_epon_oam_tek_attribute_value_rule_pack(bcmolt_epon_oam_tek_attribute_value_rule *this, bcmolt_epon_oam_buf *buf);
20994
20995/** Gets the number of bytes that a bcmolt_epon_oam_tek_attribute_value_rule
20996 * would occupy on the wire
20997 *
20998 * \return The structure size in bytes
20999 */
21000uint32_t bcmolt_epon_oam_tek_attribute_value_rule_get_packed_length(bcmolt_epon_oam_tek_attribute_value_rule *this);
21001
21002/** Unpacks a bcmolt_epon_oam_tek_attribute_value_rule from bytes
21003 *
21004 * \param this Pointer to the object to unpack
21005 * \param buf Pointer to the buffer to read from
21006 * \param extra_mem Pointer to the first location in memory to use to store
21007 * pointer fields that are NULL. Setting this to NULL will cause an error when
21008 * a NULL pointer is encountered.
21009 * \return TRUE if the unpack was successful, FALSE otherwise
21010 */
21011bcmos_bool bcmolt_epon_oam_tek_attribute_value_rule_unpack(bcmolt_epon_oam_tek_attribute_value_rule *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21012
21013/** Scans past a packed bcmolt_epon_oam_tek_attribute_value_rule struct and
21014 * collects memory requirements above and beyond sizeof()
21015 *
21016 * \param packed A stream pointing to the packed byte stream
21017 * \param extra_mem Number of additional storage bytes required
21018 * \return TRUE on success, FALSE on failure
21019 */
21020bcmos_bool bcmolt_epon_oam_tek_attribute_value_rule_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21021
21022/** Counts the number of elements in the continuous list
21023 *
21024 * \param buf Buffer pointing to packed list
21025 * \return Number of elements in the list
21026 */
21027uint32_t bcmolt_epon_oam_tek_attribute_value_rule_clause_count_match_value(bcmolt_epon_oam_buf *buf);
21028
21029/** Counts the number of elements in the continuous list
21030 *
21031 * \param buf Buffer pointing to packed list
21032 * \return Number of elements in the list
21033 */
21034uint32_t bcmolt_epon_oam_tek_attribute_value_rule_result_count_parameter(bcmolt_epon_oam_buf *buf);
21035
21036/** Packs a bcmolt_epon_oam_uni_shaper to bytes
21037 *
21038 * \param this Pointer to the object to pack
21039 * \param buf Pointer to the buffer to write to
21040 * \return TRUE if the pack was successful, FALSE otherwise
21041 */
21042bcmos_bool bcmolt_epon_oam_uni_shaper_pack(bcmolt_epon_oam_uni_shaper *this, bcmolt_epon_oam_buf *buf);
21043
21044/** Unpacks a bcmolt_epon_oam_uni_shaper from bytes
21045 *
21046 * \param this Pointer to the object to unpack
21047 * \param buf Pointer to the buffer to read from
21048 * \param extra_mem Pointer to the first location in memory to use to store
21049 * pointer fields that are NULL. Setting this to NULL will cause an error when
21050 * a NULL pointer is encountered.
21051 * \return TRUE if the unpack was successful, FALSE otherwise
21052 */
21053bcmos_bool bcmolt_epon_oam_uni_shaper_unpack(bcmolt_epon_oam_uni_shaper *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21054
21055/** Scans past a packed bcmolt_epon_oam_uni_shaper struct and collects memory
21056 * requirements above and beyond sizeof()
21057 *
21058 * \param packed A stream pointing to the packed byte stream
21059 * \param extra_mem Number of additional storage bytes required
21060 * \return TRUE on success, FALSE on failure
21061 */
21062bcmos_bool bcmolt_epon_oam_uni_shaper_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21063
21064/** Packs a bcmolt_epon_oam_extended_version_number to bytes
21065 *
21066 * \param this Pointer to the object to pack
21067 * \param buf Pointer to the buffer to write to
21068 * \return TRUE if the pack was successful, FALSE otherwise
21069 */
21070bcmos_bool bcmolt_epon_oam_extended_version_number_pack(bcmolt_epon_oam_extended_version_number *this, bcmolt_epon_oam_buf *buf);
21071
21072/** Unpacks a bcmolt_epon_oam_extended_version_number from bytes
21073 *
21074 * \param this Pointer to the object to unpack
21075 * \param buf Pointer to the buffer to read from
21076 * \param extra_mem Pointer to the first location in memory to use to store
21077 * pointer fields that are NULL. Setting this to NULL will cause an error when
21078 * a NULL pointer is encountered.
21079 * \return TRUE if the unpack was successful, FALSE otherwise
21080 */
21081bcmos_bool bcmolt_epon_oam_extended_version_number_unpack(bcmolt_epon_oam_extended_version_number *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21082
21083/** Scans past a packed bcmolt_epon_oam_extended_version_number struct and
21084 * collects memory requirements above and beyond sizeof()
21085 *
21086 * \param packed A stream pointing to the packed byte stream
21087 * \param extra_mem Number of additional storage bytes required
21088 * \return TRUE on success, FALSE on failure
21089 */
21090bcmos_bool bcmolt_epon_oam_extended_version_number_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21091
21092/** Packs a bcmolt_epon_oam_extended_load_label to bytes
21093 *
21094 * \param this Pointer to the object to pack
21095 * \param buf Pointer to the buffer to write to
21096 * \return TRUE if the pack was successful, FALSE otherwise
21097 */
21098bcmos_bool bcmolt_epon_oam_extended_load_label_pack(bcmolt_epon_oam_extended_load_label *this, bcmolt_epon_oam_buf *buf);
21099
21100/** Unpacks a bcmolt_epon_oam_extended_load_label from bytes
21101 *
21102 * \param this Pointer to the object to unpack
21103 * \param buf Pointer to the buffer to read from
21104 * \param extra_mem Pointer to the first location in memory to use to store
21105 * pointer fields that are NULL. Setting this to NULL will cause an error when
21106 * a NULL pointer is encountered.
21107 * \return TRUE if the unpack was successful, FALSE otherwise
21108 */
21109bcmos_bool bcmolt_epon_oam_extended_load_label_unpack(bcmolt_epon_oam_extended_load_label *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21110
21111/** Scans past a packed bcmolt_epon_oam_extended_load_label struct and collects
21112 * memory requirements above and beyond sizeof()
21113 *
21114 * \param packed A stream pointing to the packed byte stream
21115 * \param extra_mem Number of additional storage bytes required
21116 * \return TRUE on success, FALSE on failure
21117 */
21118bcmos_bool bcmolt_epon_oam_extended_load_label_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21119
21120/** Packs a bcmolt_epon_oam_file_info_firmware to bytes
21121 *
21122 * \param this Pointer to the object to pack
21123 * \param buf Pointer to the buffer to write to
21124 * \return TRUE if the pack was successful, FALSE otherwise
21125 */
21126bcmos_bool bcmolt_epon_oam_file_info_firmware_pack(bcmolt_epon_oam_file_info_firmware *this, bcmolt_epon_oam_buf *buf);
21127
21128/** Unpacks a bcmolt_epon_oam_file_info_firmware from bytes
21129 *
21130 * \param this Pointer to the object to unpack
21131 * \param buf Pointer to the buffer to read from
21132 * \param extra_mem Pointer to the first location in memory to use to store
21133 * pointer fields that are NULL. Setting this to NULL will cause an error when
21134 * a NULL pointer is encountered.
21135 * \return TRUE if the unpack was successful, FALSE otherwise
21136 */
21137bcmos_bool bcmolt_epon_oam_file_info_firmware_unpack(bcmolt_epon_oam_file_info_firmware *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21138
21139/** Scans past a packed bcmolt_epon_oam_file_info_firmware struct and collects
21140 * memory requirements above and beyond sizeof()
21141 *
21142 * \param packed A stream pointing to the packed byte stream
21143 * \param extra_mem Number of additional storage bytes required
21144 * \return TRUE on success, FALSE on failure
21145 */
21146bcmos_bool bcmolt_epon_oam_file_info_firmware_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21147
21148/** Packs a bcmolt_epon_oam_file_info_base to bytes
21149 *
21150 * \param this Pointer to the object to pack
21151 * \param buf Pointer to the buffer to write to
21152 * \return TRUE if the pack was successful, FALSE otherwise
21153 */
21154bcmos_bool bcmolt_epon_oam_file_info_base_pack(bcmolt_epon_oam_file_info_base *this, bcmolt_epon_oam_buf *buf);
21155
21156/** Gets the number of bytes that a bcmolt_epon_oam_file_info_base would occupy
21157 * on the wire
21158 *
21159 * \return The structure size in bytes
21160 */
21161uint32_t bcmolt_epon_oam_file_info_base_get_packed_length(bcmolt_epon_oam_file_info_base *this);
21162
21163/** Unpacks a bcmolt_epon_oam_file_info_base from bytes
21164 *
21165 * \param this Pointer to the object to unpack
21166 * \param buf Pointer to the buffer to read from
21167 * \param extra_mem Pointer to the first location in memory to use to store
21168 * pointer fields that are NULL. Setting this to NULL will cause an error when
21169 * a NULL pointer is encountered.
21170 * \return TRUE if the unpack was successful, FALSE otherwise
21171 */
21172bcmos_bool bcmolt_epon_oam_file_info_base_unpack(bcmolt_epon_oam_file_info_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21173
21174/** Scans past a packed bcmolt_epon_oam_file_info_base struct and collects
21175 * memory requirements above and beyond sizeof()
21176 *
21177 * \param packed A stream pointing to the packed byte stream
21178 * \param extra_mem Number of additional storage bytes required
21179 * \return TRUE on success, FALSE on failure
21180 */
21181bcmos_bool bcmolt_epon_oam_file_info_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21182
21183/** Packs a bcmolt_epon_oam_oam_epoc_bit_load to bytes
21184 *
21185 * \param this Pointer to the object to pack
21186 * \param buf Pointer to the buffer to write to
21187 * \return TRUE if the pack was successful, FALSE otherwise
21188 */
21189bcmos_bool bcmolt_epon_oam_oam_epoc_bit_load_pack(bcmolt_epon_oam_oam_epoc_bit_load *this, bcmolt_epon_oam_buf *buf);
21190
21191/** Unpacks a bcmolt_epon_oam_oam_epoc_bit_load from bytes
21192 *
21193 * \param this Pointer to the object to unpack
21194 * \param buf Pointer to the buffer to read from
21195 * \param extra_mem Pointer to the first location in memory to use to store
21196 * pointer fields that are NULL. Setting this to NULL will cause an error when
21197 * a NULL pointer is encountered.
21198 * \return TRUE if the unpack was successful, FALSE otherwise
21199 */
21200bcmos_bool bcmolt_epon_oam_oam_epoc_bit_load_unpack(bcmolt_epon_oam_oam_epoc_bit_load *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21201
21202/** Scans past a packed bcmolt_epon_oam_oam_epoc_bit_load struct and collects
21203 * memory requirements above and beyond sizeof()
21204 *
21205 * \param packed A stream pointing to the packed byte stream
21206 * \param extra_mem Number of additional storage bytes required
21207 * \return TRUE on success, FALSE on failure
21208 */
21209bcmos_bool bcmolt_epon_oam_oam_epoc_bit_load_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21210
21211/** Packs a bcmolt_epon_oam_oam_epoc_bit_loading to bytes
21212 *
21213 * \param this Pointer to the object to pack
21214 * \param buf Pointer to the buffer to write to
21215 * \return TRUE if the pack was successful, FALSE otherwise
21216 */
21217bcmos_bool bcmolt_epon_oam_oam_epoc_bit_loading_pack(bcmolt_epon_oam_oam_epoc_bit_loading *this, bcmolt_epon_oam_buf *buf);
21218
21219/** Unpacks a bcmolt_epon_oam_oam_epoc_bit_loading from bytes
21220 *
21221 * \param this Pointer to the object to unpack
21222 * \param buf Pointer to the buffer to read from
21223 * \param extra_mem Pointer to the first location in memory to use to store
21224 * pointer fields that are NULL. Setting this to NULL will cause an error when
21225 * a NULL pointer is encountered.
21226 * \return TRUE if the unpack was successful, FALSE otherwise
21227 */
21228bcmos_bool bcmolt_epon_oam_oam_epoc_bit_loading_unpack(bcmolt_epon_oam_oam_epoc_bit_loading *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21229
21230/** Scans past a packed bcmolt_epon_oam_oam_epoc_bit_loading struct and collects
21231 * memory requirements above and beyond sizeof()
21232 *
21233 * \param packed A stream pointing to the packed byte stream
21234 * \param extra_mem Number of additional storage bytes required
21235 * \return TRUE on success, FALSE on failure
21236 */
21237bcmos_bool bcmolt_epon_oam_oam_epoc_bit_loading_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21238
21239/** Packs a bcmolt_epon_oam_oam_epoc_stat to bytes
21240 *
21241 * \param this Pointer to the object to pack
21242 * \param buf Pointer to the buffer to write to
21243 * \return TRUE if the pack was successful, FALSE otherwise
21244 */
21245bcmos_bool bcmolt_epon_oam_oam_epoc_stat_pack(bcmolt_epon_oam_oam_epoc_stat *this, bcmolt_epon_oam_buf *buf);
21246
21247/** Gets the number of bytes that a bcmolt_epon_oam_oam_epoc_stat would occupy
21248 * on the wire
21249 *
21250 * \return The structure size in bytes
21251 */
21252uint32_t bcmolt_epon_oam_oam_epoc_stat_get_packed_length(bcmolt_epon_oam_oam_epoc_stat *this);
21253
21254/** Unpacks a bcmolt_epon_oam_oam_epoc_stat from bytes
21255 *
21256 * \param this Pointer to the object to unpack
21257 * \param buf Pointer to the buffer to read from
21258 * \param extra_mem Pointer to the first location in memory to use to store
21259 * pointer fields that are NULL. Setting this to NULL will cause an error when
21260 * a NULL pointer is encountered.
21261 * \return TRUE if the unpack was successful, FALSE otherwise
21262 */
21263bcmos_bool bcmolt_epon_oam_oam_epoc_stat_unpack(bcmolt_epon_oam_oam_epoc_stat *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21264
21265/** Scans past a packed bcmolt_epon_oam_oam_epoc_stat struct and collects memory
21266 * requirements above and beyond sizeof()
21267 *
21268 * \param packed A stream pointing to the packed byte stream
21269 * \param extra_mem Number of additional storage bytes required
21270 * \return TRUE on success, FALSE on failure
21271 */
21272bcmos_bool bcmolt_epon_oam_oam_epoc_stat_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21273
21274/** Counts the number of elements in the continuous list
21275 *
21276 * \param buf Buffer pointing to packed list
21277 * \return Number of elements in the list
21278 */
21279uint32_t bcmolt_epon_oam_oam_epoc_stat_count_value(bcmolt_epon_oam_buf *buf);
21280
21281/** Packs a bcmolt_epon_oam_tek_queue_config_v2priority to bytes
21282 *
21283 * \param this Pointer to the object to pack
21284 * \param buf Pointer to the buffer to write to
21285 * \return TRUE if the pack was successful, FALSE otherwise
21286 */
21287bcmos_bool bcmolt_epon_oam_tek_queue_config_v2priority_pack(bcmolt_epon_oam_tek_queue_config_v2priority *this, bcmolt_epon_oam_buf *buf);
21288
21289/** Gets the number of bytes that a bcmolt_epon_oam_tek_queue_config_v2priority
21290 * would occupy on the wire
21291 *
21292 * \return The structure size in bytes
21293 */
21294uint32_t bcmolt_epon_oam_tek_queue_config_v2priority_get_packed_length(bcmolt_epon_oam_tek_queue_config_v2priority *this);
21295
21296/** Unpacks a bcmolt_epon_oam_tek_queue_config_v2priority from bytes
21297 *
21298 * \param this Pointer to the object to unpack
21299 * \param buf Pointer to the buffer to read from
21300 * \param extra_mem Pointer to the first location in memory to use to store
21301 * pointer fields that are NULL. Setting this to NULL will cause an error when
21302 * a NULL pointer is encountered.
21303 * \return TRUE if the unpack was successful, FALSE otherwise
21304 */
21305bcmos_bool bcmolt_epon_oam_tek_queue_config_v2priority_unpack(bcmolt_epon_oam_tek_queue_config_v2priority *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21306
21307/** Scans past a packed bcmolt_epon_oam_tek_queue_config_v2priority struct and
21308 * collects memory requirements above and beyond sizeof()
21309 *
21310 * \param packed A stream pointing to the packed byte stream
21311 * \param extra_mem Number of additional storage bytes required
21312 * \return TRUE on success, FALSE on failure
21313 */
21314bcmos_bool bcmolt_epon_oam_tek_queue_config_v2priority_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21315
21316/** Packs a bcmolt_epon_oam_tek_queue_config_v2base to bytes
21317 *
21318 * \param this Pointer to the object to pack
21319 * \param buf Pointer to the buffer to write to
21320 * \return TRUE if the pack was successful, FALSE otherwise
21321 */
21322bcmos_bool bcmolt_epon_oam_tek_queue_config_v2base_pack(bcmolt_epon_oam_tek_queue_config_v2base *this, bcmolt_epon_oam_buf *buf);
21323
21324/** Gets the number of bytes that a bcmolt_epon_oam_tek_queue_config_v2base
21325 * would occupy on the wire
21326 *
21327 * \return The structure size in bytes
21328 */
21329uint32_t bcmolt_epon_oam_tek_queue_config_v2base_get_packed_length(bcmolt_epon_oam_tek_queue_config_v2base *this);
21330
21331/** Unpacks a bcmolt_epon_oam_tek_queue_config_v2base from bytes
21332 *
21333 * \param this Pointer to the object to unpack
21334 * \param buf Pointer to the buffer to read from
21335 * \param extra_mem Pointer to the first location in memory to use to store
21336 * pointer fields that are NULL. Setting this to NULL will cause an error when
21337 * a NULL pointer is encountered.
21338 * \return TRUE if the unpack was successful, FALSE otherwise
21339 */
21340bcmos_bool bcmolt_epon_oam_tek_queue_config_v2base_unpack(bcmolt_epon_oam_tek_queue_config_v2base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21341
21342/** Scans past a packed bcmolt_epon_oam_tek_queue_config_v2base struct and
21343 * collects memory requirements above and beyond sizeof()
21344 *
21345 * \param packed A stream pointing to the packed byte stream
21346 * \param extra_mem Number of additional storage bytes required
21347 * \return TRUE on success, FALSE on failure
21348 */
21349bcmos_bool bcmolt_epon_oam_tek_queue_config_v2base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21350
21351/** Packs a bcmolt_epon_oam_tek_sequence_number to bytes
21352 *
21353 * \param this Pointer to the object to pack
21354 * \param buf Pointer to the buffer to write to
21355 * \return TRUE if the pack was successful, FALSE otherwise
21356 */
21357bcmos_bool bcmolt_epon_oam_tek_sequence_number_pack(bcmolt_epon_oam_tek_sequence_number *this, bcmolt_epon_oam_buf *buf);
21358
21359/** Unpacks a bcmolt_epon_oam_tek_sequence_number from bytes
21360 *
21361 * \param this Pointer to the object to unpack
21362 * \param buf Pointer to the buffer to read from
21363 * \param extra_mem Pointer to the first location in memory to use to store
21364 * pointer fields that are NULL. Setting this to NULL will cause an error when
21365 * a NULL pointer is encountered.
21366 * \return TRUE if the unpack was successful, FALSE otherwise
21367 */
21368bcmos_bool bcmolt_epon_oam_tek_sequence_number_unpack(bcmolt_epon_oam_tek_sequence_number *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21369
21370/** Scans past a packed bcmolt_epon_oam_tek_sequence_number struct and collects
21371 * memory requirements above and beyond sizeof()
21372 *
21373 * \param packed A stream pointing to the packed byte stream
21374 * \param extra_mem Number of additional storage bytes required
21375 * \return TRUE on success, FALSE on failure
21376 */
21377bcmos_bool bcmolt_epon_oam_tek_sequence_number_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21378
21379/** Packs a bcmolt_epon_oam_onu_clock_transport_config to bytes
21380 *
21381 * \param this Pointer to the object to pack
21382 * \param buf Pointer to the buffer to write to
21383 * \return TRUE if the pack was successful, FALSE otherwise
21384 */
21385bcmos_bool bcmolt_epon_oam_onu_clock_transport_config_pack(bcmolt_epon_oam_onu_clock_transport_config *this, bcmolt_epon_oam_buf *buf);
21386
21387/** Unpacks a bcmolt_epon_oam_onu_clock_transport_config from bytes
21388 *
21389 * \param this Pointer to the object to unpack
21390 * \param buf Pointer to the buffer to read from
21391 * \param extra_mem Pointer to the first location in memory to use to store
21392 * pointer fields that are NULL. Setting this to NULL will cause an error when
21393 * a NULL pointer is encountered.
21394 * \return TRUE if the unpack was successful, FALSE otherwise
21395 */
21396bcmos_bool bcmolt_epon_oam_onu_clock_transport_config_unpack(bcmolt_epon_oam_onu_clock_transport_config *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21397
21398/** Scans past a packed bcmolt_epon_oam_onu_clock_transport_config struct and
21399 * collects memory requirements above and beyond sizeof()
21400 *
21401 * \param packed A stream pointing to the packed byte stream
21402 * \param extra_mem Number of additional storage bytes required
21403 * \return TRUE on success, FALSE on failure
21404 */
21405bcmos_bool bcmolt_epon_oam_onu_clock_transport_config_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21406
21407/** Packs a bcmolt_epon_oam_oam_mcast_domain_port_info to bytes
21408 *
21409 * \param this Pointer to the object to pack
21410 * \param buf Pointer to the buffer to write to
21411 * \return TRUE if the pack was successful, FALSE otherwise
21412 */
21413bcmos_bool bcmolt_epon_oam_oam_mcast_domain_port_info_pack(bcmolt_epon_oam_oam_mcast_domain_port_info *this, bcmolt_epon_oam_buf *buf);
21414
21415/** Unpacks a bcmolt_epon_oam_oam_mcast_domain_port_info from bytes
21416 *
21417 * \param this Pointer to the object to unpack
21418 * \param buf Pointer to the buffer to read from
21419 * \param extra_mem Pointer to the first location in memory to use to store
21420 * pointer fields that are NULL. Setting this to NULL will cause an error when
21421 * a NULL pointer is encountered.
21422 * \return TRUE if the unpack was successful, FALSE otherwise
21423 */
21424bcmos_bool bcmolt_epon_oam_oam_mcast_domain_port_info_unpack(bcmolt_epon_oam_oam_mcast_domain_port_info *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21425
21426/** Scans past a packed bcmolt_epon_oam_oam_mcast_domain_port_info struct and
21427 * collects memory requirements above and beyond sizeof()
21428 *
21429 * \param packed A stream pointing to the packed byte stream
21430 * \param extra_mem Number of additional storage bytes required
21431 * \return TRUE on success, FALSE on failure
21432 */
21433bcmos_bool bcmolt_epon_oam_oam_mcast_domain_port_info_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21434
21435/** Packs a bcmolt_epon_oam_oam_mcast_domain_info to bytes
21436 *
21437 * \param this Pointer to the object to pack
21438 * \param buf Pointer to the buffer to write to
21439 * \return TRUE if the pack was successful, FALSE otherwise
21440 */
21441bcmos_bool bcmolt_epon_oam_oam_mcast_domain_info_pack(bcmolt_epon_oam_oam_mcast_domain_info *this, bcmolt_epon_oam_buf *buf);
21442
21443/** Gets the number of bytes that a bcmolt_epon_oam_oam_mcast_domain_info would
21444 * occupy on the wire
21445 *
21446 * \return The structure size in bytes
21447 */
21448uint32_t bcmolt_epon_oam_oam_mcast_domain_info_get_packed_length(bcmolt_epon_oam_oam_mcast_domain_info *this);
21449
21450/** Unpacks a bcmolt_epon_oam_oam_mcast_domain_info from bytes
21451 *
21452 * \param this Pointer to the object to unpack
21453 * \param buf Pointer to the buffer to read from
21454 * \param extra_mem Pointer to the first location in memory to use to store
21455 * pointer fields that are NULL. Setting this to NULL will cause an error when
21456 * a NULL pointer is encountered.
21457 * \return TRUE if the unpack was successful, FALSE otherwise
21458 */
21459bcmos_bool bcmolt_epon_oam_oam_mcast_domain_info_unpack(bcmolt_epon_oam_oam_mcast_domain_info *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21460
21461/** Scans past a packed bcmolt_epon_oam_oam_mcast_domain_info struct and
21462 * collects memory requirements above and beyond sizeof()
21463 *
21464 * \param packed A stream pointing to the packed byte stream
21465 * \param extra_mem Number of additional storage bytes required
21466 * \return TRUE on success, FALSE on failure
21467 */
21468bcmos_bool bcmolt_epon_oam_oam_mcast_domain_info_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21469
21470/** Packs a bcmolt_epon_oam_oam_mcast_domain_record to bytes
21471 *
21472 * \param this Pointer to the object to pack
21473 * \param buf Pointer to the buffer to write to
21474 * \return TRUE if the pack was successful, FALSE otherwise
21475 */
21476bcmos_bool bcmolt_epon_oam_oam_mcast_domain_record_pack(bcmolt_epon_oam_oam_mcast_domain_record *this, bcmolt_epon_oam_buf *buf);
21477
21478/** Gets the number of bytes that a bcmolt_epon_oam_oam_mcast_domain_record
21479 * would occupy on the wire
21480 *
21481 * \return The structure size in bytes
21482 */
21483uint32_t bcmolt_epon_oam_oam_mcast_domain_record_get_packed_length(bcmolt_epon_oam_oam_mcast_domain_record *this);
21484
21485/** Unpacks a bcmolt_epon_oam_oam_mcast_domain_record from bytes
21486 *
21487 * \param this Pointer to the object to unpack
21488 * \param buf Pointer to the buffer to read from
21489 * \param extra_mem Pointer to the first location in memory to use to store
21490 * pointer fields that are NULL. Setting this to NULL will cause an error when
21491 * a NULL pointer is encountered.
21492 * \return TRUE if the unpack was successful, FALSE otherwise
21493 */
21494bcmos_bool bcmolt_epon_oam_oam_mcast_domain_record_unpack(bcmolt_epon_oam_oam_mcast_domain_record *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21495
21496/** Scans past a packed bcmolt_epon_oam_oam_mcast_domain_record struct and
21497 * collects memory requirements above and beyond sizeof()
21498 *
21499 * \param packed A stream pointing to the packed byte stream
21500 * \param extra_mem Number of additional storage bytes required
21501 * \return TRUE on success, FALSE on failure
21502 */
21503bcmos_bool bcmolt_epon_oam_oam_mcast_domain_record_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21504
21505/** Packs a bcmolt_epon_oam_tek_attribute_value to bytes
21506 *
21507 * \param this Pointer to the object to pack
21508 * \param buf Pointer to the buffer to write to
21509 * \return TRUE if the pack was successful, FALSE otherwise
21510 */
21511bcmos_bool bcmolt_epon_oam_tek_attribute_value_pack(bcmolt_epon_oam_tek_attribute_value *this, bcmolt_epon_oam_buf *buf);
21512
21513/** Gets the number of bytes that a bcmolt_epon_oam_tek_attribute_value would
21514 * occupy on the wire
21515 *
21516 * \return The structure size in bytes
21517 */
21518uint32_t bcmolt_epon_oam_tek_attribute_value_get_packed_length(bcmolt_epon_oam_tek_attribute_value *this);
21519
21520/** Unpacks a bcmolt_epon_oam_tek_attribute_value from bytes
21521 *
21522 * \param this Pointer to the object to unpack
21523 * \param buf Pointer to the buffer to read from
21524 * \param extra_mem Pointer to the first location in memory to use to store
21525 * pointer fields that are NULL. Setting this to NULL will cause an error when
21526 * a NULL pointer is encountered.
21527 * \return TRUE if the unpack was successful, FALSE otherwise
21528 */
21529bcmos_bool bcmolt_epon_oam_tek_attribute_value_unpack(bcmolt_epon_oam_tek_attribute_value *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21530
21531/** Scans past a packed bcmolt_epon_oam_tek_attribute_value struct and collects
21532 * memory requirements above and beyond sizeof()
21533 *
21534 * \param packed A stream pointing to the packed byte stream
21535 * \param extra_mem Number of additional storage bytes required
21536 * \return TRUE on success, FALSE on failure
21537 */
21538bcmos_bool bcmolt_epon_oam_tek_attribute_value_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21539
21540/** Counts the number of elements in the continuous list
21541 *
21542 * \param buf Buffer pointing to packed list
21543 * \return Number of elements in the list
21544 */
21545uint32_t bcmolt_epon_oam_tek_attribute_value_report_thresholds_count_thresholds(bcmolt_epon_oam_buf *buf);
21546
21547/** Counts the number of elements in the continuous list
21548 *
21549 * \param buf Buffer pointing to packed list
21550 * \return Number of elements in the list
21551 */
21552uint32_t bcmolt_epon_oam_tek_attribute_value_new_dn_filter_tbl_count_rules(bcmolt_epon_oam_buf *buf);
21553
21554/** Counts the number of elements in the continuous list
21555 *
21556 * \param buf Buffer pointing to packed list
21557 * \return Number of elements in the list
21558 */
21559uint32_t bcmolt_epon_oam_tek_attribute_value_new_up_filter_tbl_count_rules(bcmolt_epon_oam_buf *buf);
21560
21561/** Counts the number of elements in the continuous list
21562 *
21563 * \param buf Buffer pointing to packed list
21564 * \return Number of elements in the list
21565 */
21566uint32_t bcmolt_epon_oam_tek_attribute_value_nvs_scratchpad_count_data(bcmolt_epon_oam_buf *buf);
21567
21568/** Packs a bcmolt_epon_oam_tek_onu_queue_config to bytes
21569 *
21570 * \param this Pointer to the object to pack
21571 * \param buf Pointer to the buffer to write to
21572 * \return TRUE if the pack was successful, FALSE otherwise
21573 */
21574bcmos_bool bcmolt_epon_oam_tek_onu_queue_config_pack(bcmolt_epon_oam_tek_onu_queue_config *this, bcmolt_epon_oam_buf *buf);
21575
21576/** Gets the number of bytes that a bcmolt_epon_oam_tek_onu_queue_config would
21577 * occupy on the wire
21578 *
21579 * \return The structure size in bytes
21580 */
21581uint32_t bcmolt_epon_oam_tek_onu_queue_config_get_packed_length(bcmolt_epon_oam_tek_onu_queue_config *this);
21582
21583/** Unpacks a bcmolt_epon_oam_tek_onu_queue_config from bytes
21584 *
21585 * \param this Pointer to the object to unpack
21586 * \param buf Pointer to the buffer to read from
21587 * \param extra_mem Pointer to the first location in memory to use to store
21588 * pointer fields that are NULL. Setting this to NULL will cause an error when
21589 * a NULL pointer is encountered.
21590 * \return TRUE if the unpack was successful, FALSE otherwise
21591 */
21592bcmos_bool bcmolt_epon_oam_tek_onu_queue_config_unpack(bcmolt_epon_oam_tek_onu_queue_config *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21593
21594/** Scans past a packed bcmolt_epon_oam_tek_onu_queue_config struct and collects
21595 * memory requirements above and beyond sizeof()
21596 *
21597 * \param packed A stream pointing to the packed byte stream
21598 * \param extra_mem Number of additional storage bytes required
21599 * \return TRUE on success, FALSE on failure
21600 */
21601bcmos_bool bcmolt_epon_oam_tek_onu_queue_config_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21602
21603/** Packs a bcmolt_epon_oam_tek_igmp_snooping_port_config to bytes
21604 *
21605 * \param this Pointer to the object to pack
21606 * \param buf Pointer to the buffer to write to
21607 * \return TRUE if the pack was successful, FALSE otherwise
21608 */
21609bcmos_bool bcmolt_epon_oam_tek_igmp_snooping_port_config_pack(bcmolt_epon_oam_tek_igmp_snooping_port_config *this, bcmolt_epon_oam_buf *buf);
21610
21611/** Unpacks a bcmolt_epon_oam_tek_igmp_snooping_port_config from bytes
21612 *
21613 * \param this Pointer to the object to unpack
21614 * \param buf Pointer to the buffer to read from
21615 * \param extra_mem Pointer to the first location in memory to use to store
21616 * pointer fields that are NULL. Setting this to NULL will cause an error when
21617 * a NULL pointer is encountered.
21618 * \return TRUE if the unpack was successful, FALSE otherwise
21619 */
21620bcmos_bool bcmolt_epon_oam_tek_igmp_snooping_port_config_unpack(bcmolt_epon_oam_tek_igmp_snooping_port_config *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21621
21622/** Scans past a packed bcmolt_epon_oam_tek_igmp_snooping_port_config struct and
21623 * collects memory requirements above and beyond sizeof()
21624 *
21625 * \param packed A stream pointing to the packed byte stream
21626 * \param extra_mem Number of additional storage bytes required
21627 * \return TRUE on success, FALSE on failure
21628 */
21629bcmos_bool bcmolt_epon_oam_tek_igmp_snooping_port_config_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21630
21631/** Packs a bcmolt_epon_oam_tek_onu_igmp_group_no_vid to bytes
21632 *
21633 * \param this Pointer to the object to pack
21634 * \param buf Pointer to the buffer to write to
21635 * \return TRUE if the pack was successful, FALSE otherwise
21636 */
21637bcmos_bool bcmolt_epon_oam_tek_onu_igmp_group_no_vid_pack(bcmolt_epon_oam_tek_onu_igmp_group_no_vid *this, bcmolt_epon_oam_buf *buf);
21638
21639/** Unpacks a bcmolt_epon_oam_tek_onu_igmp_group_no_vid from bytes
21640 *
21641 * \param this Pointer to the object to unpack
21642 * \param buf Pointer to the buffer to read from
21643 * \param extra_mem Pointer to the first location in memory to use to store
21644 * pointer fields that are NULL. Setting this to NULL will cause an error when
21645 * a NULL pointer is encountered.
21646 * \return TRUE if the unpack was successful, FALSE otherwise
21647 */
21648bcmos_bool bcmolt_epon_oam_tek_onu_igmp_group_no_vid_unpack(bcmolt_epon_oam_tek_onu_igmp_group_no_vid *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21649
21650/** Scans past a packed bcmolt_epon_oam_tek_onu_igmp_group_no_vid struct and
21651 * collects memory requirements above and beyond sizeof()
21652 *
21653 * \param packed A stream pointing to the packed byte stream
21654 * \param extra_mem Number of additional storage bytes required
21655 * \return TRUE on success, FALSE on failure
21656 */
21657bcmos_bool bcmolt_epon_oam_tek_onu_igmp_group_no_vid_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21658
21659/** Packs a bcmolt_epon_oam_tek_action_value_base to bytes
21660 *
21661 * \param this Pointer to the object to pack
21662 * \param buf Pointer to the buffer to write to
21663 * \return TRUE if the pack was successful, FALSE otherwise
21664 */
21665bcmos_bool bcmolt_epon_oam_tek_action_value_base_pack(bcmolt_epon_oam_tek_action_value_base *this, bcmolt_epon_oam_buf *buf);
21666
21667/** Gets the number of bytes that a bcmolt_epon_oam_tek_action_value_base would
21668 * occupy on the wire
21669 *
21670 * \return The structure size in bytes
21671 */
21672uint32_t bcmolt_epon_oam_tek_action_value_base_get_packed_length(bcmolt_epon_oam_tek_action_value_base *this);
21673
21674/** Unpacks a bcmolt_epon_oam_tek_action_value_base from bytes
21675 *
21676 * \param this Pointer to the object to unpack
21677 * \param buf Pointer to the buffer to read from
21678 * \param extra_mem Pointer to the first location in memory to use to store
21679 * pointer fields that are NULL. Setting this to NULL will cause an error when
21680 * a NULL pointer is encountered.
21681 * \return TRUE if the unpack was successful, FALSE otherwise
21682 */
21683bcmos_bool bcmolt_epon_oam_tek_action_value_base_unpack(bcmolt_epon_oam_tek_action_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21684
21685/** Scans past a packed bcmolt_epon_oam_tek_action_value_base struct and
21686 * collects memory requirements above and beyond sizeof()
21687 *
21688 * \param packed A stream pointing to the packed byte stream
21689 * \param extra_mem Number of additional storage bytes required
21690 * \return TRUE on success, FALSE on failure
21691 */
21692bcmos_bool bcmolt_epon_oam_tek_action_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21693
21694/** Counts the number of elements in the continuous list
21695 *
21696 * \param buf Buffer pointing to packed list
21697 * \return Number of elements in the list
21698 */
21699uint32_t bcmolt_epon_oam_tek_action_value_base_add_rule_count_rules(bcmolt_epon_oam_buf *buf);
21700
21701/** Counts the number of elements in the continuous list
21702 *
21703 * \param buf Buffer pointing to packed list
21704 * \return Number of elements in the list
21705 */
21706uint32_t bcmolt_epon_oam_tek_action_value_base_new_del_rule_count_rules(bcmolt_epon_oam_buf *buf);
21707
21708/** Counts the number of elements in the continuous list
21709 *
21710 * \param buf Buffer pointing to packed list
21711 * \return Number of elements in the list
21712 */
21713uint32_t bcmolt_epon_oam_tek_action_value_base_delete_rule_count_rules(bcmolt_epon_oam_buf *buf);
21714
21715/** Packs a bcmolt_epon_oam_tek_var_container to bytes
21716 *
21717 * \param this Pointer to the object to pack
21718 * \param buf Pointer to the buffer to write to
21719 * \return TRUE if the pack was successful, FALSE otherwise
21720 */
21721bcmos_bool bcmolt_epon_oam_tek_var_container_pack(bcmolt_epon_oam_tek_var_container *this, bcmolt_epon_oam_buf *buf);
21722
21723/** Gets the number of bytes that a bcmolt_epon_oam_tek_var_container would
21724 * occupy on the wire
21725 *
21726 * \return The structure size in bytes
21727 */
21728uint32_t bcmolt_epon_oam_tek_var_container_get_packed_length(bcmolt_epon_oam_tek_var_container *this);
21729
21730/** Unpacks a bcmolt_epon_oam_tek_var_container from bytes
21731 *
21732 * \param this Pointer to the object to unpack
21733 * \param buf Pointer to the buffer to read from
21734 * \param extra_mem Pointer to the first location in memory to use to store
21735 * pointer fields that are NULL. Setting this to NULL will cause an error when
21736 * a NULL pointer is encountered.
21737 * \return TRUE if the unpack was successful, FALSE otherwise
21738 */
21739bcmos_bool bcmolt_epon_oam_tek_var_container_unpack(bcmolt_epon_oam_tek_var_container *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21740
21741/** Scans past a packed bcmolt_epon_oam_tek_var_container struct and collects
21742 * memory requirements above and beyond sizeof()
21743 *
21744 * \param packed A stream pointing to the packed byte stream
21745 * \param extra_mem Number of additional storage bytes required
21746 * \return TRUE on success, FALSE on failure
21747 */
21748bcmos_bool bcmolt_epon_oam_tek_var_container_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21749
21750/** Counts the number of elements in the continuous list
21751 *
21752 * \param buf Buffer pointing to packed list
21753 * \return Number of elements in the list
21754 */
21755uint32_t bcmolt_epon_oam_tek_var_container_end_count_unknown(bcmolt_epon_oam_buf *buf);
21756
21757/** Packs a bcmolt_epon_oam_tek_set_resp_action_value_base to bytes
21758 *
21759 * \param this Pointer to the object to pack
21760 * \param buf Pointer to the buffer to write to
21761 * \return TRUE if the pack was successful, FALSE otherwise
21762 */
21763bcmos_bool bcmolt_epon_oam_tek_set_resp_action_value_base_pack(bcmolt_epon_oam_tek_set_resp_action_value_base *this, bcmolt_epon_oam_buf *buf);
21764
21765/** Gets the number of bytes that a
21766 * bcmolt_epon_oam_tek_set_resp_action_value_base would occupy on the wire
21767 *
21768 * \return The structure size in bytes
21769 */
21770uint32_t bcmolt_epon_oam_tek_set_resp_action_value_base_get_packed_length(bcmolt_epon_oam_tek_set_resp_action_value_base *this);
21771
21772/** Unpacks a bcmolt_epon_oam_tek_set_resp_action_value_base from bytes
21773 *
21774 * \param this Pointer to the object to unpack
21775 * \param buf Pointer to the buffer to read from
21776 * \param extra_mem Pointer to the first location in memory to use to store
21777 * pointer fields that are NULL. Setting this to NULL will cause an error when
21778 * a NULL pointer is encountered.
21779 * \return TRUE if the unpack was successful, FALSE otherwise
21780 */
21781bcmos_bool bcmolt_epon_oam_tek_set_resp_action_value_base_unpack(bcmolt_epon_oam_tek_set_resp_action_value_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21782
21783/** Scans past a packed bcmolt_epon_oam_tek_set_resp_action_value_base struct
21784 * and collects memory requirements above and beyond sizeof()
21785 *
21786 * \param packed A stream pointing to the packed byte stream
21787 * \param extra_mem Number of additional storage bytes required
21788 * \return TRUE on success, FALSE on failure
21789 */
21790bcmos_bool bcmolt_epon_oam_tek_set_resp_action_value_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21791
21792/** Counts the number of elements in the continuous list
21793 *
21794 * \param buf Buffer pointing to packed list
21795 * \return Number of elements in the list
21796 */
21797uint32_t bcmolt_epon_oam_tek_set_resp_action_value_base_def_count_unknown(bcmolt_epon_oam_buf *buf);
21798
21799/** Packs a bcmolt_epon_oam_tek_set_resp_var_container_base to bytes
21800 *
21801 * \param this Pointer to the object to pack
21802 * \param buf Pointer to the buffer to write to
21803 * \return TRUE if the pack was successful, FALSE otherwise
21804 */
21805bcmos_bool bcmolt_epon_oam_tek_set_resp_var_container_base_pack(bcmolt_epon_oam_tek_set_resp_var_container_base *this, bcmolt_epon_oam_buf *buf);
21806
21807/** Gets the number of bytes that a
21808 * bcmolt_epon_oam_tek_set_resp_var_container_base would occupy on the wire
21809 *
21810 * \return The structure size in bytes
21811 */
21812uint32_t bcmolt_epon_oam_tek_set_resp_var_container_base_get_packed_length(bcmolt_epon_oam_tek_set_resp_var_container_base *this);
21813
21814/** Unpacks a bcmolt_epon_oam_tek_set_resp_var_container_base from bytes
21815 *
21816 * \param this Pointer to the object to unpack
21817 * \param buf Pointer to the buffer to read from
21818 * \param extra_mem Pointer to the first location in memory to use to store
21819 * pointer fields that are NULL. Setting this to NULL will cause an error when
21820 * a NULL pointer is encountered.
21821 * \return TRUE if the unpack was successful, FALSE otherwise
21822 */
21823bcmos_bool bcmolt_epon_oam_tek_set_resp_var_container_base_unpack(bcmolt_epon_oam_tek_set_resp_var_container_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21824
21825/** Scans past a packed bcmolt_epon_oam_tek_set_resp_var_container_base struct
21826 * and collects memory requirements above and beyond sizeof()
21827 *
21828 * \param packed A stream pointing to the packed byte stream
21829 * \param extra_mem Number of additional storage bytes required
21830 * \return TRUE on success, FALSE on failure
21831 */
21832bcmos_bool bcmolt_epon_oam_tek_set_resp_var_container_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21833
21834/** Counts the number of elements in the continuous list
21835 *
21836 * \param buf Buffer pointing to packed list
21837 * \return Number of elements in the list
21838 */
21839uint32_t bcmolt_epon_oam_tek_set_resp_var_container_base_end_count_unknown(bcmolt_epon_oam_buf *buf);
21840
21841/** Packs a bcmolt_epon_oam_tek_vendor_extended to bytes
21842 *
21843 * \param this Pointer to the object to pack
21844 * \param buf Pointer to the buffer to write to
21845 * \return TRUE if the pack was successful, FALSE otherwise
21846 */
21847bcmos_bool bcmolt_epon_oam_tek_vendor_extended_pack(bcmolt_epon_oam_tek_vendor_extended *this, bcmolt_epon_oam_buf *buf);
21848
21849/** Gets the number of bytes that a bcmolt_epon_oam_tek_vendor_extended would
21850 * occupy on the wire
21851 *
21852 * \return The structure size in bytes
21853 */
21854uint32_t bcmolt_epon_oam_tek_vendor_extended_get_packed_length(bcmolt_epon_oam_tek_vendor_extended *this);
21855
21856/** Unpacks a bcmolt_epon_oam_tek_vendor_extended from bytes
21857 *
21858 * \param this Pointer to the object to unpack
21859 * \param buf Pointer to the buffer to read from
21860 * \param extra_mem Pointer to the first location in memory to use to store
21861 * pointer fields that are NULL. Setting this to NULL will cause an error when
21862 * a NULL pointer is encountered.
21863 * \return TRUE if the unpack was successful, FALSE otherwise
21864 */
21865bcmos_bool bcmolt_epon_oam_tek_vendor_extended_unpack(bcmolt_epon_oam_tek_vendor_extended *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21866
21867/** Scans past a packed bcmolt_epon_oam_tek_vendor_extended struct and collects
21868 * memory requirements above and beyond sizeof()
21869 *
21870 * \param packed A stream pointing to the packed byte stream
21871 * \param extra_mem Number of additional storage bytes required
21872 * \return TRUE on success, FALSE on failure
21873 */
21874bcmos_bool bcmolt_epon_oam_tek_vendor_extended_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21875
21876/** Counts the number of elements in the continuous list
21877 *
21878 * \param buf Buffer pointing to packed list
21879 * \return Number of elements in the list
21880 */
21881uint32_t bcmolt_epon_oam_tek_vendor_extended_get_request_count_vars(bcmolt_epon_oam_buf *buf);
21882
21883/** Counts the number of elements in the continuous list
21884 *
21885 * \param buf Buffer pointing to packed list
21886 * \return Number of elements in the list
21887 */
21888uint32_t bcmolt_epon_oam_tek_vendor_extended_get_response_count_vars(bcmolt_epon_oam_buf *buf);
21889
21890/** Counts the number of elements in the continuous list
21891 *
21892 * \param buf Buffer pointing to packed list
21893 * \return Number of elements in the list
21894 */
21895uint32_t bcmolt_epon_oam_tek_vendor_extended_set_request_count_vars(bcmolt_epon_oam_buf *buf);
21896
21897/** Counts the number of elements in the continuous list
21898 *
21899 * \param buf Buffer pointing to packed list
21900 * \return Number of elements in the list
21901 */
21902uint32_t bcmolt_epon_oam_tek_vendor_extended_set_response_count_vars(bcmolt_epon_oam_buf *buf);
21903
21904/** Counts the number of elements in the continuous list
21905 *
21906 * \param buf Buffer pointing to packed list
21907 * \return Number of elements in the list
21908 */
21909uint32_t bcmolt_epon_oam_tek_vendor_extended_unacked_action_count_variable_containers(bcmolt_epon_oam_buf *buf);
21910
21911/** Packs a bcmolt_epon_oam_pmc_file_base to bytes
21912 *
21913 * \param this Pointer to the object to pack
21914 * \param buf Pointer to the buffer to write to
21915 * \return TRUE if the pack was successful, FALSE otherwise
21916 */
21917bcmos_bool bcmolt_epon_oam_pmc_file_base_pack(bcmolt_epon_oam_pmc_file_base *this, bcmolt_epon_oam_buf *buf);
21918
21919/** Gets the number of bytes that a bcmolt_epon_oam_pmc_file_base would occupy
21920 * on the wire
21921 *
21922 * \return The structure size in bytes
21923 */
21924uint32_t bcmolt_epon_oam_pmc_file_base_get_packed_length(bcmolt_epon_oam_pmc_file_base *this);
21925
21926/** Unpacks a bcmolt_epon_oam_pmc_file_base from bytes
21927 *
21928 * \param this Pointer to the object to unpack
21929 * \param buf Pointer to the buffer to read from
21930 * \param extra_mem Pointer to the first location in memory to use to store
21931 * pointer fields that are NULL. Setting this to NULL will cause an error when
21932 * a NULL pointer is encountered.
21933 * \return TRUE if the unpack was successful, FALSE otherwise
21934 */
21935bcmos_bool bcmolt_epon_oam_pmc_file_base_unpack(bcmolt_epon_oam_pmc_file_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21936
21937/** Scans past a packed bcmolt_epon_oam_pmc_file_base struct and collects memory
21938 * requirements above and beyond sizeof()
21939 *
21940 * \param packed A stream pointing to the packed byte stream
21941 * \param extra_mem Number of additional storage bytes required
21942 * \return TRUE on success, FALSE on failure
21943 */
21944bcmos_bool bcmolt_epon_oam_pmc_file_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21945
21946/** Counts the number of elements in the continuous list
21947 *
21948 * \param buf Buffer pointing to packed list
21949 * \return Number of elements in the list
21950 */
21951uint32_t bcmolt_epon_oam_pmc_file_base_data_count_data(bcmolt_epon_oam_buf *buf);
21952
21953/** Packs a bcmolt_epon_oam_pmc_vendor_extended_base to bytes
21954 *
21955 * \param this Pointer to the object to pack
21956 * \param buf Pointer to the buffer to write to
21957 * \return TRUE if the pack was successful, FALSE otherwise
21958 */
21959bcmos_bool bcmolt_epon_oam_pmc_vendor_extended_base_pack(bcmolt_epon_oam_pmc_vendor_extended_base *this, bcmolt_epon_oam_buf *buf);
21960
21961/** Gets the number of bytes that a bcmolt_epon_oam_pmc_vendor_extended_base
21962 * would occupy on the wire
21963 *
21964 * \return The structure size in bytes
21965 */
21966uint32_t bcmolt_epon_oam_pmc_vendor_extended_base_get_packed_length(bcmolt_epon_oam_pmc_vendor_extended_base *this);
21967
21968/** Unpacks a bcmolt_epon_oam_pmc_vendor_extended_base from bytes
21969 *
21970 * \param this Pointer to the object to unpack
21971 * \param buf Pointer to the buffer to read from
21972 * \param extra_mem Pointer to the first location in memory to use to store
21973 * pointer fields that are NULL. Setting this to NULL will cause an error when
21974 * a NULL pointer is encountered.
21975 * \return TRUE if the unpack was successful, FALSE otherwise
21976 */
21977bcmos_bool bcmolt_epon_oam_pmc_vendor_extended_base_unpack(bcmolt_epon_oam_pmc_vendor_extended_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
21978
21979/** Scans past a packed bcmolt_epon_oam_pmc_vendor_extended_base struct and
21980 * collects memory requirements above and beyond sizeof()
21981 *
21982 * \param packed A stream pointing to the packed byte stream
21983 * \param extra_mem Number of additional storage bytes required
21984 * \return TRUE on success, FALSE on failure
21985 */
21986bcmos_bool bcmolt_epon_oam_pmc_vendor_extended_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
21987
21988/** Packs a bcmolt_epon_oam_vendor_extended_oam_base to bytes
21989 *
21990 * \param this Pointer to the object to pack
21991 * \param buf Pointer to the buffer to write to
21992 * \return TRUE if the pack was successful, FALSE otherwise
21993 */
21994bcmos_bool bcmolt_epon_oam_vendor_extended_oam_base_pack(bcmolt_epon_oam_vendor_extended_oam_base *this, bcmolt_epon_oam_buf *buf);
21995
21996/** Gets the number of bytes that a bcmolt_epon_oam_vendor_extended_oam_base
21997 * would occupy on the wire
21998 *
21999 * \return The structure size in bytes
22000 */
22001uint32_t bcmolt_epon_oam_vendor_extended_oam_base_get_packed_length(bcmolt_epon_oam_vendor_extended_oam_base *this);
22002
22003/** Unpacks a bcmolt_epon_oam_vendor_extended_oam_base from bytes
22004 *
22005 * \param this Pointer to the object to unpack
22006 * \param buf Pointer to the buffer to read from
22007 * \param extra_mem Pointer to the first location in memory to use to store
22008 * pointer fields that are NULL. Setting this to NULL will cause an error when
22009 * a NULL pointer is encountered.
22010 * \return TRUE if the unpack was successful, FALSE otherwise
22011 */
22012bcmos_bool bcmolt_epon_oam_vendor_extended_oam_base_unpack(bcmolt_epon_oam_vendor_extended_oam_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22013
22014/** Scans past a packed bcmolt_epon_oam_vendor_extended_oam_base struct and
22015 * collects memory requirements above and beyond sizeof()
22016 *
22017 * \param packed A stream pointing to the packed byte stream
22018 * \param extra_mem Number of additional storage bytes required
22019 * \return TRUE on success, FALSE on failure
22020 */
22021bcmos_bool bcmolt_epon_oam_vendor_extended_oam_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22022
22023/** Counts the number of elements in the continuous list
22024 *
22025 * \param buf Buffer pointing to packed list
22026 * \return Number of elements in the list
22027 */
22028uint32_t bcmolt_epon_oam_vendor_extended_oam_base_def_count_unknown(bcmolt_epon_oam_buf *buf);
22029
22030/** Packs a bcmolt_epon_oam_oam_pdu_content to bytes
22031 *
22032 * \param this Pointer to the object to pack
22033 * \param buf Pointer to the buffer to write to
22034 * \return TRUE if the pack was successful, FALSE otherwise
22035 */
22036bcmos_bool bcmolt_epon_oam_oam_pdu_content_pack(bcmolt_epon_oam_oam_pdu_content *this, bcmolt_epon_oam_buf *buf);
22037
22038/** Gets the number of bytes that a bcmolt_epon_oam_oam_pdu_content would occupy
22039 * on the wire
22040 *
22041 * \return The structure size in bytes
22042 */
22043uint32_t bcmolt_epon_oam_oam_pdu_content_get_packed_length(bcmolt_epon_oam_oam_pdu_content *this);
22044
22045/** Unpacks a bcmolt_epon_oam_oam_pdu_content from bytes
22046 *
22047 * \param this Pointer to the object to unpack
22048 * \param buf Pointer to the buffer to read from
22049 * \param extra_mem Pointer to the first location in memory to use to store
22050 * pointer fields that are NULL. Setting this to NULL will cause an error when
22051 * a NULL pointer is encountered.
22052 * \return TRUE if the unpack was successful, FALSE otherwise
22053 */
22054bcmos_bool bcmolt_epon_oam_oam_pdu_content_unpack(bcmolt_epon_oam_oam_pdu_content *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22055
22056/** Scans past a packed bcmolt_epon_oam_oam_pdu_content struct and collects
22057 * memory requirements above and beyond sizeof()
22058 *
22059 * \param packed A stream pointing to the packed byte stream
22060 * \param extra_mem Number of additional storage bytes required
22061 * \return TRUE on success, FALSE on failure
22062 */
22063bcmos_bool bcmolt_epon_oam_oam_pdu_content_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22064
22065/** Counts the number of elements in the continuous list
22066 *
22067 * \param buf Buffer pointing to packed list
22068 * \return Number of elements in the list
22069 */
22070uint32_t bcmolt_epon_oam_oam_pdu_content_info_count_tlvs(bcmolt_epon_oam_buf *buf);
22071
22072/** Counts the number of elements in the continuous list
22073 *
22074 * \param buf Buffer pointing to packed list
22075 * \return Number of elements in the list
22076 */
22077uint32_t bcmolt_epon_oam_oam_pdu_content_event_notification_count_tlvs(bcmolt_epon_oam_buf *buf);
22078
22079/** Counts the number of elements in the continuous list
22080 *
22081 * \param buf Buffer pointing to packed list
22082 * \return Number of elements in the list
22083 */
22084uint32_t bcmolt_epon_oam_oam_pdu_content_var_request_count_vars(bcmolt_epon_oam_buf *buf);
22085
22086/** Counts the number of elements in the continuous list
22087 *
22088 * \param buf Buffer pointing to packed list
22089 * \return Number of elements in the list
22090 */
22091uint32_t bcmolt_epon_oam_oam_pdu_content_var_response_count_vars(bcmolt_epon_oam_buf *buf);
22092
22093/** Packs a bcmolt_epon_oam_master_end_point to bytes
22094 *
22095 * \param this Pointer to the object to pack
22096 * \param buf Pointer to the buffer to write to
22097 * \return TRUE if the pack was successful, FALSE otherwise
22098 */
22099bcmos_bool bcmolt_epon_oam_master_end_point_pack(bcmolt_epon_oam_master_end_point *this, bcmolt_epon_oam_buf *buf);
22100
22101/** Unpacks a bcmolt_epon_oam_master_end_point from bytes
22102 *
22103 * \param this Pointer to the object to unpack
22104 * \param buf Pointer to the buffer to read from
22105 * \param extra_mem Pointer to the first location in memory to use to store
22106 * pointer fields that are NULL. Setting this to NULL will cause an error when
22107 * a NULL pointer is encountered.
22108 * \return TRUE if the unpack was successful, FALSE otherwise
22109 */
22110bcmos_bool bcmolt_epon_oam_master_end_point_unpack(bcmolt_epon_oam_master_end_point *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22111
22112/** Scans past a packed bcmolt_epon_oam_master_end_point struct and collects
22113 * memory requirements above and beyond sizeof()
22114 *
22115 * \param packed A stream pointing to the packed byte stream
22116 * \param extra_mem Number of additional storage bytes required
22117 * \return TRUE on success, FALSE on failure
22118 */
22119bcmos_bool bcmolt_epon_oam_master_end_point_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22120
22121/** Packs a bcmolt_epon_oam_onu_master_oam_content to bytes
22122 *
22123 * \param this Pointer to the object to pack
22124 * \param buf Pointer to the buffer to write to
22125 * \return TRUE if the pack was successful, FALSE otherwise
22126 */
22127bcmos_bool bcmolt_epon_oam_onu_master_oam_content_pack(bcmolt_epon_oam_onu_master_oam_content *this, bcmolt_epon_oam_buf *buf);
22128
22129/** Gets the number of bytes that a bcmolt_epon_oam_onu_master_oam_content would
22130 * occupy on the wire
22131 *
22132 * \return The structure size in bytes
22133 */
22134uint32_t bcmolt_epon_oam_onu_master_oam_content_get_packed_length(bcmolt_epon_oam_onu_master_oam_content *this);
22135
22136/** Unpacks a bcmolt_epon_oam_onu_master_oam_content from bytes
22137 *
22138 * \param this Pointer to the object to unpack
22139 * \param buf Pointer to the buffer to read from
22140 * \param extra_mem Pointer to the first location in memory to use to store
22141 * pointer fields that are NULL. Setting this to NULL will cause an error when
22142 * a NULL pointer is encountered.
22143 * \return TRUE if the unpack was successful, FALSE otherwise
22144 */
22145bcmos_bool bcmolt_epon_oam_onu_master_oam_content_unpack(bcmolt_epon_oam_onu_master_oam_content *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22146
22147/** Scans past a packed bcmolt_epon_oam_onu_master_oam_content struct and
22148 * collects memory requirements above and beyond sizeof()
22149 *
22150 * \param packed A stream pointing to the packed byte stream
22151 * \param extra_mem Number of additional storage bytes required
22152 * \return TRUE on success, FALSE on failure
22153 */
22154bcmos_bool bcmolt_epon_oam_onu_master_oam_content_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22155
22156/** Packs a bcmolt_epon_oam_oam_reg_info_vendor_oui to bytes
22157 *
22158 * \param this Pointer to the object to pack
22159 * \param buf Pointer to the buffer to write to
22160 * \return TRUE if the pack was successful, FALSE otherwise
22161 */
22162bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_oui_pack(bcmolt_epon_oam_oam_reg_info_vendor_oui *this, bcmolt_epon_oam_buf *buf);
22163
22164/** Unpacks a bcmolt_epon_oam_oam_reg_info_vendor_oui from bytes
22165 *
22166 * \param this Pointer to the object to unpack
22167 * \param buf Pointer to the buffer to read from
22168 * \param extra_mem Pointer to the first location in memory to use to store
22169 * pointer fields that are NULL. Setting this to NULL will cause an error when
22170 * a NULL pointer is encountered.
22171 * \return TRUE if the unpack was successful, FALSE otherwise
22172 */
22173bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_oui_unpack(bcmolt_epon_oam_oam_reg_info_vendor_oui *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22174
22175/** Scans past a packed bcmolt_epon_oam_oam_reg_info_vendor_oui struct and
22176 * collects memory requirements above and beyond sizeof()
22177 *
22178 * \param packed A stream pointing to the packed byte stream
22179 * \param extra_mem Number of additional storage bytes required
22180 * \return TRUE on success, FALSE on failure
22181 */
22182bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_oui_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22183
22184/** Packs a bcmolt_epon_oam_oam_reg_info_vendor to bytes
22185 *
22186 * \param this Pointer to the object to pack
22187 * \param buf Pointer to the buffer to write to
22188 * \return TRUE if the pack was successful, FALSE otherwise
22189 */
22190bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_pack(bcmolt_epon_oam_oam_reg_info_vendor *this, bcmolt_epon_oam_buf *buf);
22191
22192/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_info_vendor would
22193 * occupy on the wire
22194 *
22195 * \return The structure size in bytes
22196 */
22197uint32_t bcmolt_epon_oam_oam_reg_info_vendor_get_packed_length(bcmolt_epon_oam_oam_reg_info_vendor *this);
22198
22199/** Unpacks a bcmolt_epon_oam_oam_reg_info_vendor from bytes
22200 *
22201 * \param this Pointer to the object to unpack
22202 * \param buf Pointer to the buffer to read from
22203 * \param extra_mem Pointer to the first location in memory to use to store
22204 * pointer fields that are NULL. Setting this to NULL will cause an error when
22205 * a NULL pointer is encountered.
22206 * \return TRUE if the unpack was successful, FALSE otherwise
22207 */
22208bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_unpack(bcmolt_epon_oam_oam_reg_info_vendor *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22209
22210/** Scans past a packed bcmolt_epon_oam_oam_reg_info_vendor struct and collects
22211 * memory requirements above and beyond sizeof()
22212 *
22213 * \param packed A stream pointing to the packed byte stream
22214 * \param extra_mem Number of additional storage bytes required
22215 * \return TRUE on success, FALSE on failure
22216 */
22217bcmos_bool bcmolt_epon_oam_oam_reg_info_vendor_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22218
22219/** Packs a bcmolt_epon_oam_oam_reg_info_tlv to bytes
22220 *
22221 * \param this Pointer to the object to pack
22222 * \param buf Pointer to the buffer to write to
22223 * \return TRUE if the pack was successful, FALSE otherwise
22224 */
22225bcmos_bool bcmolt_epon_oam_oam_reg_info_tlv_pack(bcmolt_epon_oam_oam_reg_info_tlv *this, bcmolt_epon_oam_buf *buf);
22226
22227/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_info_tlv would
22228 * occupy on the wire
22229 *
22230 * \return The structure size in bytes
22231 */
22232uint32_t bcmolt_epon_oam_oam_reg_info_tlv_get_packed_length(bcmolt_epon_oam_oam_reg_info_tlv *this);
22233
22234/** Unpacks a bcmolt_epon_oam_oam_reg_info_tlv from bytes
22235 *
22236 * \param this Pointer to the object to unpack
22237 * \param buf Pointer to the buffer to read from
22238 * \param extra_mem Pointer to the first location in memory to use to store
22239 * pointer fields that are NULL. Setting this to NULL will cause an error when
22240 * a NULL pointer is encountered.
22241 * \return TRUE if the unpack was successful, FALSE otherwise
22242 */
22243bcmos_bool bcmolt_epon_oam_oam_reg_info_tlv_unpack(bcmolt_epon_oam_oam_reg_info_tlv *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22244
22245/** Scans past a packed bcmolt_epon_oam_oam_reg_info_tlv struct and collects
22246 * memory requirements above and beyond sizeof()
22247 *
22248 * \param packed A stream pointing to the packed byte stream
22249 * \param extra_mem Number of additional storage bytes required
22250 * \return TRUE on success, FALSE on failure
22251 */
22252bcmos_bool bcmolt_epon_oam_oam_reg_info_tlv_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22253
22254/** Packs a bcmolt_epon_oam_oam_reg_info_cont to bytes
22255 *
22256 * \param this Pointer to the object to pack
22257 * \param buf Pointer to the buffer to write to
22258 * \return TRUE if the pack was successful, FALSE otherwise
22259 */
22260bcmos_bool bcmolt_epon_oam_oam_reg_info_cont_pack(bcmolt_epon_oam_oam_reg_info_cont *this, bcmolt_epon_oam_buf *buf);
22261
22262/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_info_cont would
22263 * occupy on the wire
22264 *
22265 * \return The structure size in bytes
22266 */
22267uint32_t bcmolt_epon_oam_oam_reg_info_cont_get_packed_length(bcmolt_epon_oam_oam_reg_info_cont *this);
22268
22269/** Unpacks a bcmolt_epon_oam_oam_reg_info_cont from bytes
22270 *
22271 * \param this Pointer to the object to unpack
22272 * \param buf Pointer to the buffer to read from
22273 * \param extra_mem Pointer to the first location in memory to use to store
22274 * pointer fields that are NULL. Setting this to NULL will cause an error when
22275 * a NULL pointer is encountered.
22276 * \return TRUE if the unpack was successful, FALSE otherwise
22277 */
22278bcmos_bool bcmolt_epon_oam_oam_reg_info_cont_unpack(bcmolt_epon_oam_oam_reg_info_cont *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22279
22280/** Scans past a packed bcmolt_epon_oam_oam_reg_info_cont struct and collects
22281 * memory requirements above and beyond sizeof()
22282 *
22283 * \param packed A stream pointing to the packed byte stream
22284 * \param extra_mem Number of additional storage bytes required
22285 * \return TRUE on success, FALSE on failure
22286 */
22287bcmos_bool bcmolt_epon_oam_oam_reg_info_cont_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22288
22289/** Packs a bcmolt_epon_oam_oam_reg_info to bytes
22290 *
22291 * \param this Pointer to the object to pack
22292 * \param buf Pointer to the buffer to write to
22293 * \return TRUE if the pack was successful, FALSE otherwise
22294 */
22295bcmos_bool bcmolt_epon_oam_oam_reg_info_pack(bcmolt_epon_oam_oam_reg_info *this, bcmolt_epon_oam_buf *buf);
22296
22297/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_info would occupy on
22298 * the wire
22299 *
22300 * \return The structure size in bytes
22301 */
22302uint32_t bcmolt_epon_oam_oam_reg_info_get_packed_length(bcmolt_epon_oam_oam_reg_info *this);
22303
22304/** Unpacks a bcmolt_epon_oam_oam_reg_info from bytes
22305 *
22306 * \param this Pointer to the object to unpack
22307 * \param buf Pointer to the buffer to read from
22308 * \param extra_mem Pointer to the first location in memory to use to store
22309 * pointer fields that are NULL. Setting this to NULL will cause an error when
22310 * a NULL pointer is encountered.
22311 * \return TRUE if the unpack was successful, FALSE otherwise
22312 */
22313bcmos_bool bcmolt_epon_oam_oam_reg_info_unpack(bcmolt_epon_oam_oam_reg_info *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22314
22315/** Scans past a packed bcmolt_epon_oam_oam_reg_info struct and collects memory
22316 * requirements above and beyond sizeof()
22317 *
22318 * \param packed A stream pointing to the packed byte stream
22319 * \param extra_mem Number of additional storage bytes required
22320 * \return TRUE on success, FALSE on failure
22321 */
22322bcmos_bool bcmolt_epon_oam_oam_reg_info_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22323
22324/** Packs a bcmolt_epon_oam_oam_reg_ctc_var_desc to bytes
22325 *
22326 * \param this Pointer to the object to pack
22327 * \param buf Pointer to the buffer to write to
22328 * \return TRUE if the pack was successful, FALSE otherwise
22329 */
22330bcmos_bool bcmolt_epon_oam_oam_reg_ctc_var_desc_pack(bcmolt_epon_oam_oam_reg_ctc_var_desc *this, bcmolt_epon_oam_buf *buf);
22331
22332/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_var_desc from bytes
22333 *
22334 * \param this Pointer to the object to unpack
22335 * \param buf Pointer to the buffer to read from
22336 * \param extra_mem Pointer to the first location in memory to use to store
22337 * pointer fields that are NULL. Setting this to NULL will cause an error when
22338 * a NULL pointer is encountered.
22339 * \return TRUE if the unpack was successful, FALSE otherwise
22340 */
22341bcmos_bool bcmolt_epon_oam_oam_reg_ctc_var_desc_unpack(bcmolt_epon_oam_oam_reg_ctc_var_desc *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22342
22343/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_var_desc struct and collects
22344 * memory requirements above and beyond sizeof()
22345 *
22346 * \param packed A stream pointing to the packed byte stream
22347 * \param extra_mem Number of additional storage bytes required
22348 * \return TRUE on success, FALSE on failure
22349 */
22350bcmos_bool bcmolt_epon_oam_oam_reg_ctc_var_desc_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22351
22352/** Packs a bcmolt_epon_oam_oam_reg_ctc_variable to bytes
22353 *
22354 * \param this Pointer to the object to pack
22355 * \param buf Pointer to the buffer to write to
22356 * \return TRUE if the pack was successful, FALSE otherwise
22357 */
22358bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_pack(bcmolt_epon_oam_oam_reg_ctc_variable *this, bcmolt_epon_oam_buf *buf);
22359
22360/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_variable from bytes
22361 *
22362 * \param this Pointer to the object to unpack
22363 * \param buf Pointer to the buffer to read from
22364 * \param extra_mem Pointer to the first location in memory to use to store
22365 * pointer fields that are NULL. Setting this to NULL will cause an error when
22366 * a NULL pointer is encountered.
22367 * \return TRUE if the unpack was successful, FALSE otherwise
22368 */
22369bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_unpack(bcmolt_epon_oam_oam_reg_ctc_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22370
22371/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_variable struct and collects
22372 * memory requirements above and beyond sizeof()
22373 *
22374 * \param packed A stream pointing to the packed byte stream
22375 * \param extra_mem Number of additional storage bytes required
22376 * \return TRUE on success, FALSE on failure
22377 */
22378bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22379
22380/** Packs a bcmolt_epon_oam_oam_reg_ctc_variable_list to bytes
22381 *
22382 * \param this Pointer to the object to pack
22383 * \param buf Pointer to the buffer to write to
22384 * \return TRUE if the pack was successful, FALSE otherwise
22385 */
22386bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_list_pack(bcmolt_epon_oam_oam_reg_ctc_variable_list *this, bcmolt_epon_oam_buf *buf);
22387
22388/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_ctc_variable_list
22389 * would occupy on the wire
22390 *
22391 * \return The structure size in bytes
22392 */
22393uint32_t bcmolt_epon_oam_oam_reg_ctc_variable_list_get_packed_length(bcmolt_epon_oam_oam_reg_ctc_variable_list *this);
22394
22395/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_variable_list from bytes
22396 *
22397 * \param this Pointer to the object to unpack
22398 * \param buf Pointer to the buffer to read from
22399 * \param extra_mem Pointer to the first location in memory to use to store
22400 * pointer fields that are NULL. Setting this to NULL will cause an error when
22401 * a NULL pointer is encountered.
22402 * \return TRUE if the unpack was successful, FALSE otherwise
22403 */
22404bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_list_unpack(bcmolt_epon_oam_oam_reg_ctc_variable_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22405
22406/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_variable_list struct and
22407 * collects memory requirements above and beyond sizeof()
22408 *
22409 * \param packed A stream pointing to the packed byte stream
22410 * \param extra_mem Number of additional storage bytes required
22411 * \return TRUE on success, FALSE on failure
22412 */
22413bcmos_bool bcmolt_epon_oam_oam_reg_ctc_variable_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22414
22415/** Packs a bcmolt_epon_oam_oam_reg_ctc_op_variable to bytes
22416 *
22417 * \param this Pointer to the object to pack
22418 * \param buf Pointer to the buffer to write to
22419 * \return TRUE if the pack was successful, FALSE otherwise
22420 */
22421bcmos_bool bcmolt_epon_oam_oam_reg_ctc_op_variable_pack(bcmolt_epon_oam_oam_reg_ctc_op_variable *this, bcmolt_epon_oam_buf *buf);
22422
22423/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_ctc_op_variable
22424 * would occupy on the wire
22425 *
22426 * \return The structure size in bytes
22427 */
22428uint32_t bcmolt_epon_oam_oam_reg_ctc_op_variable_get_packed_length(bcmolt_epon_oam_oam_reg_ctc_op_variable *this);
22429
22430/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_op_variable from bytes
22431 *
22432 * \param this Pointer to the object to unpack
22433 * \param buf Pointer to the buffer to read from
22434 * \param extra_mem Pointer to the first location in memory to use to store
22435 * pointer fields that are NULL. Setting this to NULL will cause an error when
22436 * a NULL pointer is encountered.
22437 * \return TRUE if the unpack was successful, FALSE otherwise
22438 */
22439bcmos_bool bcmolt_epon_oam_oam_reg_ctc_op_variable_unpack(bcmolt_epon_oam_oam_reg_ctc_op_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22440
22441/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_op_variable struct and
22442 * collects memory requirements above and beyond sizeof()
22443 *
22444 * \param packed A stream pointing to the packed byte stream
22445 * \param extra_mem Number of additional storage bytes required
22446 * \return TRUE on success, FALSE on failure
22447 */
22448bcmos_bool bcmolt_epon_oam_oam_reg_ctc_op_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22449
22450/** Packs a bcmolt_epon_oam_oam_reg_ctc_opcode to bytes
22451 *
22452 * \param this Pointer to the object to pack
22453 * \param buf Pointer to the buffer to write to
22454 * \return TRUE if the pack was successful, FALSE otherwise
22455 */
22456bcmos_bool bcmolt_epon_oam_oam_reg_ctc_opcode_pack(bcmolt_epon_oam_oam_reg_ctc_opcode *this, bcmolt_epon_oam_buf *buf);
22457
22458/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_ctc_opcode would
22459 * occupy on the wire
22460 *
22461 * \return The structure size in bytes
22462 */
22463uint32_t bcmolt_epon_oam_oam_reg_ctc_opcode_get_packed_length(bcmolt_epon_oam_oam_reg_ctc_opcode *this);
22464
22465/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_opcode from bytes
22466 *
22467 * \param this Pointer to the object to unpack
22468 * \param buf Pointer to the buffer to read from
22469 * \param extra_mem Pointer to the first location in memory to use to store
22470 * pointer fields that are NULL. Setting this to NULL will cause an error when
22471 * a NULL pointer is encountered.
22472 * \return TRUE if the unpack was successful, FALSE otherwise
22473 */
22474bcmos_bool bcmolt_epon_oam_oam_reg_ctc_opcode_unpack(bcmolt_epon_oam_oam_reg_ctc_opcode *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22475
22476/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_opcode struct and collects
22477 * memory requirements above and beyond sizeof()
22478 *
22479 * \param packed A stream pointing to the packed byte stream
22480 * \param extra_mem Number of additional storage bytes required
22481 * \return TRUE on success, FALSE on failure
22482 */
22483bcmos_bool bcmolt_epon_oam_oam_reg_ctc_opcode_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22484
22485/** Packs a bcmolt_epon_oam_oam_reg_ctc_cont to bytes
22486 *
22487 * \param this Pointer to the object to pack
22488 * \param buf Pointer to the buffer to write to
22489 * \return TRUE if the pack was successful, FALSE otherwise
22490 */
22491bcmos_bool bcmolt_epon_oam_oam_reg_ctc_cont_pack(bcmolt_epon_oam_oam_reg_ctc_cont *this, bcmolt_epon_oam_buf *buf);
22492
22493/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_ctc_cont would
22494 * occupy on the wire
22495 *
22496 * \return The structure size in bytes
22497 */
22498uint32_t bcmolt_epon_oam_oam_reg_ctc_cont_get_packed_length(bcmolt_epon_oam_oam_reg_ctc_cont *this);
22499
22500/** Unpacks a bcmolt_epon_oam_oam_reg_ctc_cont from bytes
22501 *
22502 * \param this Pointer to the object to unpack
22503 * \param buf Pointer to the buffer to read from
22504 * \param extra_mem Pointer to the first location in memory to use to store
22505 * pointer fields that are NULL. Setting this to NULL will cause an error when
22506 * a NULL pointer is encountered.
22507 * \return TRUE if the unpack was successful, FALSE otherwise
22508 */
22509bcmos_bool bcmolt_epon_oam_oam_reg_ctc_cont_unpack(bcmolt_epon_oam_oam_reg_ctc_cont *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22510
22511/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc_cont struct and collects
22512 * memory requirements above and beyond sizeof()
22513 *
22514 * \param packed A stream pointing to the packed byte stream
22515 * \param extra_mem Number of additional storage bytes required
22516 * \return TRUE on success, FALSE on failure
22517 */
22518bcmos_bool bcmolt_epon_oam_oam_reg_ctc_cont_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22519
22520/** Packs a bcmolt_epon_oam_oam_reg_ctc to bytes
22521 *
22522 * \param this Pointer to the object to pack
22523 * \param buf Pointer to the buffer to write to
22524 * \return TRUE if the pack was successful, FALSE otherwise
22525 */
22526bcmos_bool bcmolt_epon_oam_oam_reg_ctc_pack(bcmolt_epon_oam_oam_reg_ctc *this, bcmolt_epon_oam_buf *buf);
22527
22528/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_ctc would occupy on
22529 * the wire
22530 *
22531 * \return The structure size in bytes
22532 */
22533uint32_t bcmolt_epon_oam_oam_reg_ctc_get_packed_length(bcmolt_epon_oam_oam_reg_ctc *this);
22534
22535/** Unpacks a bcmolt_epon_oam_oam_reg_ctc from bytes
22536 *
22537 * \param this Pointer to the object to unpack
22538 * \param buf Pointer to the buffer to read from
22539 * \param extra_mem Pointer to the first location in memory to use to store
22540 * pointer fields that are NULL. Setting this to NULL will cause an error when
22541 * a NULL pointer is encountered.
22542 * \return TRUE if the unpack was successful, FALSE otherwise
22543 */
22544bcmos_bool bcmolt_epon_oam_oam_reg_ctc_unpack(bcmolt_epon_oam_oam_reg_ctc *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22545
22546/** Scans past a packed bcmolt_epon_oam_oam_reg_ctc struct and collects memory
22547 * requirements above and beyond sizeof()
22548 *
22549 * \param packed A stream pointing to the packed byte stream
22550 * \param extra_mem Number of additional storage bytes required
22551 * \return TRUE on success, FALSE on failure
22552 */
22553bcmos_bool bcmolt_epon_oam_oam_reg_ctc_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22554
22555/** Packs a bcmolt_epon_oam_oam_reg_tek_var_desc to bytes
22556 *
22557 * \param this Pointer to the object to pack
22558 * \param buf Pointer to the buffer to write to
22559 * \return TRUE if the pack was successful, FALSE otherwise
22560 */
22561bcmos_bool bcmolt_epon_oam_oam_reg_tek_var_desc_pack(bcmolt_epon_oam_oam_reg_tek_var_desc *this, bcmolt_epon_oam_buf *buf);
22562
22563/** Unpacks a bcmolt_epon_oam_oam_reg_tek_var_desc from bytes
22564 *
22565 * \param this Pointer to the object to unpack
22566 * \param buf Pointer to the buffer to read from
22567 * \param extra_mem Pointer to the first location in memory to use to store
22568 * pointer fields that are NULL. Setting this to NULL will cause an error when
22569 * a NULL pointer is encountered.
22570 * \return TRUE if the unpack was successful, FALSE otherwise
22571 */
22572bcmos_bool bcmolt_epon_oam_oam_reg_tek_var_desc_unpack(bcmolt_epon_oam_oam_reg_tek_var_desc *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22573
22574/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_var_desc struct and collects
22575 * memory requirements above and beyond sizeof()
22576 *
22577 * \param packed A stream pointing to the packed byte stream
22578 * \param extra_mem Number of additional storage bytes required
22579 * \return TRUE on success, FALSE on failure
22580 */
22581bcmos_bool bcmolt_epon_oam_oam_reg_tek_var_desc_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22582
22583/** Packs a bcmolt_epon_oam_oam_reg_tek_variable to bytes
22584 *
22585 * \param this Pointer to the object to pack
22586 * \param buf Pointer to the buffer to write to
22587 * \return TRUE if the pack was successful, FALSE otherwise
22588 */
22589bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_pack(bcmolt_epon_oam_oam_reg_tek_variable *this, bcmolt_epon_oam_buf *buf);
22590
22591/** Unpacks a bcmolt_epon_oam_oam_reg_tek_variable from bytes
22592 *
22593 * \param this Pointer to the object to unpack
22594 * \param buf Pointer to the buffer to read from
22595 * \param extra_mem Pointer to the first location in memory to use to store
22596 * pointer fields that are NULL. Setting this to NULL will cause an error when
22597 * a NULL pointer is encountered.
22598 * \return TRUE if the unpack was successful, FALSE otherwise
22599 */
22600bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_unpack(bcmolt_epon_oam_oam_reg_tek_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22601
22602/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_variable struct and collects
22603 * memory requirements above and beyond sizeof()
22604 *
22605 * \param packed A stream pointing to the packed byte stream
22606 * \param extra_mem Number of additional storage bytes required
22607 * \return TRUE on success, FALSE on failure
22608 */
22609bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22610
22611/** Packs a bcmolt_epon_oam_oam_reg_tek_variable_list to bytes
22612 *
22613 * \param this Pointer to the object to pack
22614 * \param buf Pointer to the buffer to write to
22615 * \return TRUE if the pack was successful, FALSE otherwise
22616 */
22617bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_list_pack(bcmolt_epon_oam_oam_reg_tek_variable_list *this, bcmolt_epon_oam_buf *buf);
22618
22619/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_tek_variable_list
22620 * would occupy on the wire
22621 *
22622 * \return The structure size in bytes
22623 */
22624uint32_t bcmolt_epon_oam_oam_reg_tek_variable_list_get_packed_length(bcmolt_epon_oam_oam_reg_tek_variable_list *this);
22625
22626/** Unpacks a bcmolt_epon_oam_oam_reg_tek_variable_list from bytes
22627 *
22628 * \param this Pointer to the object to unpack
22629 * \param buf Pointer to the buffer to read from
22630 * \param extra_mem Pointer to the first location in memory to use to store
22631 * pointer fields that are NULL. Setting this to NULL will cause an error when
22632 * a NULL pointer is encountered.
22633 * \return TRUE if the unpack was successful, FALSE otherwise
22634 */
22635bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_list_unpack(bcmolt_epon_oam_oam_reg_tek_variable_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22636
22637/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_variable_list struct and
22638 * collects memory requirements above and beyond sizeof()
22639 *
22640 * \param packed A stream pointing to the packed byte stream
22641 * \param extra_mem Number of additional storage bytes required
22642 * \return TRUE on success, FALSE on failure
22643 */
22644bcmos_bool bcmolt_epon_oam_oam_reg_tek_variable_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22645
22646/** Packs a bcmolt_epon_oam_oam_reg_tek_op_variable to bytes
22647 *
22648 * \param this Pointer to the object to pack
22649 * \param buf Pointer to the buffer to write to
22650 * \return TRUE if the pack was successful, FALSE otherwise
22651 */
22652bcmos_bool bcmolt_epon_oam_oam_reg_tek_op_variable_pack(bcmolt_epon_oam_oam_reg_tek_op_variable *this, bcmolt_epon_oam_buf *buf);
22653
22654/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_tek_op_variable
22655 * would occupy on the wire
22656 *
22657 * \return The structure size in bytes
22658 */
22659uint32_t bcmolt_epon_oam_oam_reg_tek_op_variable_get_packed_length(bcmolt_epon_oam_oam_reg_tek_op_variable *this);
22660
22661/** Unpacks a bcmolt_epon_oam_oam_reg_tek_op_variable from bytes
22662 *
22663 * \param this Pointer to the object to unpack
22664 * \param buf Pointer to the buffer to read from
22665 * \param extra_mem Pointer to the first location in memory to use to store
22666 * pointer fields that are NULL. Setting this to NULL will cause an error when
22667 * a NULL pointer is encountered.
22668 * \return TRUE if the unpack was successful, FALSE otherwise
22669 */
22670bcmos_bool bcmolt_epon_oam_oam_reg_tek_op_variable_unpack(bcmolt_epon_oam_oam_reg_tek_op_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22671
22672/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_op_variable struct and
22673 * collects memory requirements above and beyond sizeof()
22674 *
22675 * \param packed A stream pointing to the packed byte stream
22676 * \param extra_mem Number of additional storage bytes required
22677 * \return TRUE on success, FALSE on failure
22678 */
22679bcmos_bool bcmolt_epon_oam_oam_reg_tek_op_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22680
22681/** Packs a bcmolt_epon_oam_oam_reg_tek_opcode to bytes
22682 *
22683 * \param this Pointer to the object to pack
22684 * \param buf Pointer to the buffer to write to
22685 * \return TRUE if the pack was successful, FALSE otherwise
22686 */
22687bcmos_bool bcmolt_epon_oam_oam_reg_tek_opcode_pack(bcmolt_epon_oam_oam_reg_tek_opcode *this, bcmolt_epon_oam_buf *buf);
22688
22689/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_tek_opcode would
22690 * occupy on the wire
22691 *
22692 * \return The structure size in bytes
22693 */
22694uint32_t bcmolt_epon_oam_oam_reg_tek_opcode_get_packed_length(bcmolt_epon_oam_oam_reg_tek_opcode *this);
22695
22696/** Unpacks a bcmolt_epon_oam_oam_reg_tek_opcode from bytes
22697 *
22698 * \param this Pointer to the object to unpack
22699 * \param buf Pointer to the buffer to read from
22700 * \param extra_mem Pointer to the first location in memory to use to store
22701 * pointer fields that are NULL. Setting this to NULL will cause an error when
22702 * a NULL pointer is encountered.
22703 * \return TRUE if the unpack was successful, FALSE otherwise
22704 */
22705bcmos_bool bcmolt_epon_oam_oam_reg_tek_opcode_unpack(bcmolt_epon_oam_oam_reg_tek_opcode *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22706
22707/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_opcode struct and collects
22708 * memory requirements above and beyond sizeof()
22709 *
22710 * \param packed A stream pointing to the packed byte stream
22711 * \param extra_mem Number of additional storage bytes required
22712 * \return TRUE on success, FALSE on failure
22713 */
22714bcmos_bool bcmolt_epon_oam_oam_reg_tek_opcode_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22715
22716/** Packs a bcmolt_epon_oam_oam_reg_tek_cont to bytes
22717 *
22718 * \param this Pointer to the object to pack
22719 * \param buf Pointer to the buffer to write to
22720 * \return TRUE if the pack was successful, FALSE otherwise
22721 */
22722bcmos_bool bcmolt_epon_oam_oam_reg_tek_cont_pack(bcmolt_epon_oam_oam_reg_tek_cont *this, bcmolt_epon_oam_buf *buf);
22723
22724/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_tek_cont would
22725 * occupy on the wire
22726 *
22727 * \return The structure size in bytes
22728 */
22729uint32_t bcmolt_epon_oam_oam_reg_tek_cont_get_packed_length(bcmolt_epon_oam_oam_reg_tek_cont *this);
22730
22731/** Unpacks a bcmolt_epon_oam_oam_reg_tek_cont from bytes
22732 *
22733 * \param this Pointer to the object to unpack
22734 * \param buf Pointer to the buffer to read from
22735 * \param extra_mem Pointer to the first location in memory to use to store
22736 * pointer fields that are NULL. Setting this to NULL will cause an error when
22737 * a NULL pointer is encountered.
22738 * \return TRUE if the unpack was successful, FALSE otherwise
22739 */
22740bcmos_bool bcmolt_epon_oam_oam_reg_tek_cont_unpack(bcmolt_epon_oam_oam_reg_tek_cont *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22741
22742/** Scans past a packed bcmolt_epon_oam_oam_reg_tek_cont struct and collects
22743 * memory requirements above and beyond sizeof()
22744 *
22745 * \param packed A stream pointing to the packed byte stream
22746 * \param extra_mem Number of additional storage bytes required
22747 * \return TRUE on success, FALSE on failure
22748 */
22749bcmos_bool bcmolt_epon_oam_oam_reg_tek_cont_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22750
22751/** Packs a bcmolt_epon_oam_oam_reg_tek to bytes
22752 *
22753 * \param this Pointer to the object to pack
22754 * \param buf Pointer to the buffer to write to
22755 * \return TRUE if the pack was successful, FALSE otherwise
22756 */
22757bcmos_bool bcmolt_epon_oam_oam_reg_tek_pack(bcmolt_epon_oam_oam_reg_tek *this, bcmolt_epon_oam_buf *buf);
22758
22759/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_tek would occupy on
22760 * the wire
22761 *
22762 * \return The structure size in bytes
22763 */
22764uint32_t bcmolt_epon_oam_oam_reg_tek_get_packed_length(bcmolt_epon_oam_oam_reg_tek *this);
22765
22766/** Unpacks a bcmolt_epon_oam_oam_reg_tek from bytes
22767 *
22768 * \param this Pointer to the object to unpack
22769 * \param buf Pointer to the buffer to read from
22770 * \param extra_mem Pointer to the first location in memory to use to store
22771 * pointer fields that are NULL. Setting this to NULL will cause an error when
22772 * a NULL pointer is encountered.
22773 * \return TRUE if the unpack was successful, FALSE otherwise
22774 */
22775bcmos_bool bcmolt_epon_oam_oam_reg_tek_unpack(bcmolt_epon_oam_oam_reg_tek *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22776
22777/** Scans past a packed bcmolt_epon_oam_oam_reg_tek struct and collects memory
22778 * requirements above and beyond sizeof()
22779 *
22780 * \param packed A stream pointing to the packed byte stream
22781 * \param extra_mem Number of additional storage bytes required
22782 * \return TRUE on success, FALSE on failure
22783 */
22784bcmos_bool bcmolt_epon_oam_oam_reg_tek_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22785
22786/** Packs a bcmolt_epon_oam_oam_reg_dpoe_var_desc to bytes
22787 *
22788 * \param this Pointer to the object to pack
22789 * \param buf Pointer to the buffer to write to
22790 * \return TRUE if the pack was successful, FALSE otherwise
22791 */
22792bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_var_desc_pack(bcmolt_epon_oam_oam_reg_dpoe_var_desc *this, bcmolt_epon_oam_buf *buf);
22793
22794/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_var_desc from bytes
22795 *
22796 * \param this Pointer to the object to unpack
22797 * \param buf Pointer to the buffer to read from
22798 * \param extra_mem Pointer to the first location in memory to use to store
22799 * pointer fields that are NULL. Setting this to NULL will cause an error when
22800 * a NULL pointer is encountered.
22801 * \return TRUE if the unpack was successful, FALSE otherwise
22802 */
22803bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_var_desc_unpack(bcmolt_epon_oam_oam_reg_dpoe_var_desc *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22804
22805/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_var_desc struct and
22806 * collects memory requirements above and beyond sizeof()
22807 *
22808 * \param packed A stream pointing to the packed byte stream
22809 * \param extra_mem Number of additional storage bytes required
22810 * \return TRUE on success, FALSE on failure
22811 */
22812bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_var_desc_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22813
22814/** Packs a bcmolt_epon_oam_oam_reg_dpoe_variable to bytes
22815 *
22816 * \param this Pointer to the object to pack
22817 * \param buf Pointer to the buffer to write to
22818 * \return TRUE if the pack was successful, FALSE otherwise
22819 */
22820bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_pack(bcmolt_epon_oam_oam_reg_dpoe_variable *this, bcmolt_epon_oam_buf *buf);
22821
22822/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_variable from bytes
22823 *
22824 * \param this Pointer to the object to unpack
22825 * \param buf Pointer to the buffer to read from
22826 * \param extra_mem Pointer to the first location in memory to use to store
22827 * pointer fields that are NULL. Setting this to NULL will cause an error when
22828 * a NULL pointer is encountered.
22829 * \return TRUE if the unpack was successful, FALSE otherwise
22830 */
22831bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_unpack(bcmolt_epon_oam_oam_reg_dpoe_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22832
22833/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_variable struct and
22834 * collects memory requirements above and beyond sizeof()
22835 *
22836 * \param packed A stream pointing to the packed byte stream
22837 * \param extra_mem Number of additional storage bytes required
22838 * \return TRUE on success, FALSE on failure
22839 */
22840bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22841
22842/** Packs a bcmolt_epon_oam_oam_reg_dpoe_variable_list to bytes
22843 *
22844 * \param this Pointer to the object to pack
22845 * \param buf Pointer to the buffer to write to
22846 * \return TRUE if the pack was successful, FALSE otherwise
22847 */
22848bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_list_pack(bcmolt_epon_oam_oam_reg_dpoe_variable_list *this, bcmolt_epon_oam_buf *buf);
22849
22850/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_dpoe_variable_list
22851 * would occupy on the wire
22852 *
22853 * \return The structure size in bytes
22854 */
22855uint32_t bcmolt_epon_oam_oam_reg_dpoe_variable_list_get_packed_length(bcmolt_epon_oam_oam_reg_dpoe_variable_list *this);
22856
22857/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_variable_list from bytes
22858 *
22859 * \param this Pointer to the object to unpack
22860 * \param buf Pointer to the buffer to read from
22861 * \param extra_mem Pointer to the first location in memory to use to store
22862 * pointer fields that are NULL. Setting this to NULL will cause an error when
22863 * a NULL pointer is encountered.
22864 * \return TRUE if the unpack was successful, FALSE otherwise
22865 */
22866bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_list_unpack(bcmolt_epon_oam_oam_reg_dpoe_variable_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22867
22868/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_variable_list struct and
22869 * collects memory requirements above and beyond sizeof()
22870 *
22871 * \param packed A stream pointing to the packed byte stream
22872 * \param extra_mem Number of additional storage bytes required
22873 * \return TRUE on success, FALSE on failure
22874 */
22875bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_variable_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22876
22877/** Packs a bcmolt_epon_oam_oam_reg_dpoe_op_variable to bytes
22878 *
22879 * \param this Pointer to the object to pack
22880 * \param buf Pointer to the buffer to write to
22881 * \return TRUE if the pack was successful, FALSE otherwise
22882 */
22883bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_op_variable_pack(bcmolt_epon_oam_oam_reg_dpoe_op_variable *this, bcmolt_epon_oam_buf *buf);
22884
22885/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_dpoe_op_variable
22886 * would occupy on the wire
22887 *
22888 * \return The structure size in bytes
22889 */
22890uint32_t bcmolt_epon_oam_oam_reg_dpoe_op_variable_get_packed_length(bcmolt_epon_oam_oam_reg_dpoe_op_variable *this);
22891
22892/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_op_variable from bytes
22893 *
22894 * \param this Pointer to the object to unpack
22895 * \param buf Pointer to the buffer to read from
22896 * \param extra_mem Pointer to the first location in memory to use to store
22897 * pointer fields that are NULL. Setting this to NULL will cause an error when
22898 * a NULL pointer is encountered.
22899 * \return TRUE if the unpack was successful, FALSE otherwise
22900 */
22901bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_op_variable_unpack(bcmolt_epon_oam_oam_reg_dpoe_op_variable *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22902
22903/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_op_variable struct and
22904 * collects memory requirements above and beyond sizeof()
22905 *
22906 * \param packed A stream pointing to the packed byte stream
22907 * \param extra_mem Number of additional storage bytes required
22908 * \return TRUE on success, FALSE on failure
22909 */
22910bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_op_variable_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22911
22912/** Packs a bcmolt_epon_oam_oam_reg_dpoe_opcode to bytes
22913 *
22914 * \param this Pointer to the object to pack
22915 * \param buf Pointer to the buffer to write to
22916 * \return TRUE if the pack was successful, FALSE otherwise
22917 */
22918bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_opcode_pack(bcmolt_epon_oam_oam_reg_dpoe_opcode *this, bcmolt_epon_oam_buf *buf);
22919
22920/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_dpoe_opcode would
22921 * occupy on the wire
22922 *
22923 * \return The structure size in bytes
22924 */
22925uint32_t bcmolt_epon_oam_oam_reg_dpoe_opcode_get_packed_length(bcmolt_epon_oam_oam_reg_dpoe_opcode *this);
22926
22927/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_opcode from bytes
22928 *
22929 * \param this Pointer to the object to unpack
22930 * \param buf Pointer to the buffer to read from
22931 * \param extra_mem Pointer to the first location in memory to use to store
22932 * pointer fields that are NULL. Setting this to NULL will cause an error when
22933 * a NULL pointer is encountered.
22934 * \return TRUE if the unpack was successful, FALSE otherwise
22935 */
22936bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_opcode_unpack(bcmolt_epon_oam_oam_reg_dpoe_opcode *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22937
22938/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_opcode struct and collects
22939 * memory requirements above and beyond sizeof()
22940 *
22941 * \param packed A stream pointing to the packed byte stream
22942 * \param extra_mem Number of additional storage bytes required
22943 * \return TRUE on success, FALSE on failure
22944 */
22945bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_opcode_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22946
22947/** Packs a bcmolt_epon_oam_oam_reg_dpoe_cont to bytes
22948 *
22949 * \param this Pointer to the object to pack
22950 * \param buf Pointer to the buffer to write to
22951 * \return TRUE if the pack was successful, FALSE otherwise
22952 */
22953bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_cont_pack(bcmolt_epon_oam_oam_reg_dpoe_cont *this, bcmolt_epon_oam_buf *buf);
22954
22955/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_dpoe_cont would
22956 * occupy on the wire
22957 *
22958 * \return The structure size in bytes
22959 */
22960uint32_t bcmolt_epon_oam_oam_reg_dpoe_cont_get_packed_length(bcmolt_epon_oam_oam_reg_dpoe_cont *this);
22961
22962/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe_cont from bytes
22963 *
22964 * \param this Pointer to the object to unpack
22965 * \param buf Pointer to the buffer to read from
22966 * \param extra_mem Pointer to the first location in memory to use to store
22967 * pointer fields that are NULL. Setting this to NULL will cause an error when
22968 * a NULL pointer is encountered.
22969 * \return TRUE if the unpack was successful, FALSE otherwise
22970 */
22971bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_cont_unpack(bcmolt_epon_oam_oam_reg_dpoe_cont *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
22972
22973/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe_cont struct and collects
22974 * memory requirements above and beyond sizeof()
22975 *
22976 * \param packed A stream pointing to the packed byte stream
22977 * \param extra_mem Number of additional storage bytes required
22978 * \return TRUE on success, FALSE on failure
22979 */
22980bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_cont_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
22981
22982/** Packs a bcmolt_epon_oam_oam_reg_dpoe to bytes
22983 *
22984 * \param this Pointer to the object to pack
22985 * \param buf Pointer to the buffer to write to
22986 * \return TRUE if the pack was successful, FALSE otherwise
22987 */
22988bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_pack(bcmolt_epon_oam_oam_reg_dpoe *this, bcmolt_epon_oam_buf *buf);
22989
22990/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_dpoe would occupy on
22991 * the wire
22992 *
22993 * \return The structure size in bytes
22994 */
22995uint32_t bcmolt_epon_oam_oam_reg_dpoe_get_packed_length(bcmolt_epon_oam_oam_reg_dpoe *this);
22996
22997/** Unpacks a bcmolt_epon_oam_oam_reg_dpoe from bytes
22998 *
22999 * \param this Pointer to the object to unpack
23000 * \param buf Pointer to the buffer to read from
23001 * \param extra_mem Pointer to the first location in memory to use to store
23002 * pointer fields that are NULL. Setting this to NULL will cause an error when
23003 * a NULL pointer is encountered.
23004 * \return TRUE if the unpack was successful, FALSE otherwise
23005 */
23006bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_unpack(bcmolt_epon_oam_oam_reg_dpoe *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23007
23008/** Scans past a packed bcmolt_epon_oam_oam_reg_dpoe struct and collects memory
23009 * requirements above and beyond sizeof()
23010 *
23011 * \param packed A stream pointing to the packed byte stream
23012 * \param extra_mem Number of additional storage bytes required
23013 * \return TRUE on success, FALSE on failure
23014 */
23015bcmos_bool bcmolt_epon_oam_oam_reg_dpoe_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23016
23017/** Packs a bcmolt_epon_oam_oam_reg_vendor_oui to bytes
23018 *
23019 * \param this Pointer to the object to pack
23020 * \param buf Pointer to the buffer to write to
23021 * \return TRUE if the pack was successful, FALSE otherwise
23022 */
23023bcmos_bool bcmolt_epon_oam_oam_reg_vendor_oui_pack(bcmolt_epon_oam_oam_reg_vendor_oui *this, bcmolt_epon_oam_buf *buf);
23024
23025/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_vendor_oui would
23026 * occupy on the wire
23027 *
23028 * \return The structure size in bytes
23029 */
23030uint32_t bcmolt_epon_oam_oam_reg_vendor_oui_get_packed_length(bcmolt_epon_oam_oam_reg_vendor_oui *this);
23031
23032/** Unpacks a bcmolt_epon_oam_oam_reg_vendor_oui from bytes
23033 *
23034 * \param this Pointer to the object to unpack
23035 * \param buf Pointer to the buffer to read from
23036 * \param extra_mem Pointer to the first location in memory to use to store
23037 * pointer fields that are NULL. Setting this to NULL will cause an error when
23038 * a NULL pointer is encountered.
23039 * \return TRUE if the unpack was successful, FALSE otherwise
23040 */
23041bcmos_bool bcmolt_epon_oam_oam_reg_vendor_oui_unpack(bcmolt_epon_oam_oam_reg_vendor_oui *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23042
23043/** Scans past a packed bcmolt_epon_oam_oam_reg_vendor_oui struct and collects
23044 * memory requirements above and beyond sizeof()
23045 *
23046 * \param packed A stream pointing to the packed byte stream
23047 * \param extra_mem Number of additional storage bytes required
23048 * \return TRUE on success, FALSE on failure
23049 */
23050bcmos_bool bcmolt_epon_oam_oam_reg_vendor_oui_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23051
23052/** Packs a bcmolt_epon_oam_oam_reg_vendor_cont to bytes
23053 *
23054 * \param this Pointer to the object to pack
23055 * \param buf Pointer to the buffer to write to
23056 * \return TRUE if the pack was successful, FALSE otherwise
23057 */
23058bcmos_bool bcmolt_epon_oam_oam_reg_vendor_cont_pack(bcmolt_epon_oam_oam_reg_vendor_cont *this, bcmolt_epon_oam_buf *buf);
23059
23060/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_vendor_cont would
23061 * occupy on the wire
23062 *
23063 * \return The structure size in bytes
23064 */
23065uint32_t bcmolt_epon_oam_oam_reg_vendor_cont_get_packed_length(bcmolt_epon_oam_oam_reg_vendor_cont *this);
23066
23067/** Unpacks a bcmolt_epon_oam_oam_reg_vendor_cont from bytes
23068 *
23069 * \param this Pointer to the object to unpack
23070 * \param buf Pointer to the buffer to read from
23071 * \param extra_mem Pointer to the first location in memory to use to store
23072 * pointer fields that are NULL. Setting this to NULL will cause an error when
23073 * a NULL pointer is encountered.
23074 * \return TRUE if the unpack was successful, FALSE otherwise
23075 */
23076bcmos_bool bcmolt_epon_oam_oam_reg_vendor_cont_unpack(bcmolt_epon_oam_oam_reg_vendor_cont *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23077
23078/** Scans past a packed bcmolt_epon_oam_oam_reg_vendor_cont struct and collects
23079 * memory requirements above and beyond sizeof()
23080 *
23081 * \param packed A stream pointing to the packed byte stream
23082 * \param extra_mem Number of additional storage bytes required
23083 * \return TRUE on success, FALSE on failure
23084 */
23085bcmos_bool bcmolt_epon_oam_oam_reg_vendor_cont_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23086
23087/** Packs a bcmolt_epon_oam_oam_reg_vendor to bytes
23088 *
23089 * \param this Pointer to the object to pack
23090 * \param buf Pointer to the buffer to write to
23091 * \return TRUE if the pack was successful, FALSE otherwise
23092 */
23093bcmos_bool bcmolt_epon_oam_oam_reg_vendor_pack(bcmolt_epon_oam_oam_reg_vendor *this, bcmolt_epon_oam_buf *buf);
23094
23095/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_vendor would occupy
23096 * on the wire
23097 *
23098 * \return The structure size in bytes
23099 */
23100uint32_t bcmolt_epon_oam_oam_reg_vendor_get_packed_length(bcmolt_epon_oam_oam_reg_vendor *this);
23101
23102/** Unpacks a bcmolt_epon_oam_oam_reg_vendor from bytes
23103 *
23104 * \param this Pointer to the object to unpack
23105 * \param buf Pointer to the buffer to read from
23106 * \param extra_mem Pointer to the first location in memory to use to store
23107 * pointer fields that are NULL. Setting this to NULL will cause an error when
23108 * a NULL pointer is encountered.
23109 * \return TRUE if the unpack was successful, FALSE otherwise
23110 */
23111bcmos_bool bcmolt_epon_oam_oam_reg_vendor_unpack(bcmolt_epon_oam_oam_reg_vendor *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23112
23113/** Scans past a packed bcmolt_epon_oam_oam_reg_vendor struct and collects
23114 * memory requirements above and beyond sizeof()
23115 *
23116 * \param packed A stream pointing to the packed byte stream
23117 * \param extra_mem Number of additional storage bytes required
23118 * \return TRUE on success, FALSE on failure
23119 */
23120bcmos_bool bcmolt_epon_oam_oam_reg_vendor_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23121
23122/** Packs a bcmolt_epon_oam_oam_reg_opcode to bytes
23123 *
23124 * \param this Pointer to the object to pack
23125 * \param buf Pointer to the buffer to write to
23126 * \return TRUE if the pack was successful, FALSE otherwise
23127 */
23128bcmos_bool bcmolt_epon_oam_oam_reg_opcode_pack(bcmolt_epon_oam_oam_reg_opcode *this, bcmolt_epon_oam_buf *buf);
23129
23130/** Gets the number of bytes that a bcmolt_epon_oam_oam_reg_opcode would occupy
23131 * on the wire
23132 *
23133 * \return The structure size in bytes
23134 */
23135uint32_t bcmolt_epon_oam_oam_reg_opcode_get_packed_length(bcmolt_epon_oam_oam_reg_opcode *this);
23136
23137/** Unpacks a bcmolt_epon_oam_oam_reg_opcode from bytes
23138 *
23139 * \param this Pointer to the object to unpack
23140 * \param buf Pointer to the buffer to read from
23141 * \param extra_mem Pointer to the first location in memory to use to store
23142 * pointer fields that are NULL. Setting this to NULL will cause an error when
23143 * a NULL pointer is encountered.
23144 * \return TRUE if the unpack was successful, FALSE otherwise
23145 */
23146bcmos_bool bcmolt_epon_oam_oam_reg_opcode_unpack(bcmolt_epon_oam_oam_reg_opcode *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23147
23148/** Scans past a packed bcmolt_epon_oam_oam_reg_opcode struct and collects
23149 * memory requirements above and beyond sizeof()
23150 *
23151 * \param packed A stream pointing to the packed byte stream
23152 * \param extra_mem Number of additional storage bytes required
23153 * \return TRUE on success, FALSE on failure
23154 */
23155bcmos_bool bcmolt_epon_oam_oam_reg_opcode_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23156
23157/** Packs a bcmolt_epon_oam_oam_registration to bytes
23158 *
23159 * \param this Pointer to the object to pack
23160 * \param buf Pointer to the buffer to write to
23161 * \return TRUE if the pack was successful, FALSE otherwise
23162 */
23163bcmos_bool bcmolt_epon_oam_oam_registration_pack(bcmolt_epon_oam_oam_registration *this, bcmolt_epon_oam_buf *buf);
23164
23165/** Gets the number of bytes that a bcmolt_epon_oam_oam_registration would
23166 * occupy on the wire
23167 *
23168 * \return The structure size in bytes
23169 */
23170uint32_t bcmolt_epon_oam_oam_registration_get_packed_length(bcmolt_epon_oam_oam_registration *this);
23171
23172/** Unpacks a bcmolt_epon_oam_oam_registration from bytes
23173 *
23174 * \param this Pointer to the object to unpack
23175 * \param buf Pointer to the buffer to read from
23176 * \param extra_mem Pointer to the first location in memory to use to store
23177 * pointer fields that are NULL. Setting this to NULL will cause an error when
23178 * a NULL pointer is encountered.
23179 * \return TRUE if the unpack was successful, FALSE otherwise
23180 */
23181bcmos_bool bcmolt_epon_oam_oam_registration_unpack(bcmolt_epon_oam_oam_registration *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23182
23183/** Scans past a packed bcmolt_epon_oam_oam_registration struct and collects
23184 * memory requirements above and beyond sizeof()
23185 *
23186 * \param packed A stream pointing to the packed byte stream
23187 * \param extra_mem Number of additional storage bytes required
23188 * \return TRUE on success, FALSE on failure
23189 */
23190bcmos_bool bcmolt_epon_oam_oam_registration_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23191
23192/** Packs a bcmolt_epon_oam_oam_registration_list to bytes
23193 *
23194 * \param this Pointer to the object to pack
23195 * \param buf Pointer to the buffer to write to
23196 * \return TRUE if the pack was successful, FALSE otherwise
23197 */
23198bcmos_bool bcmolt_epon_oam_oam_registration_list_pack(bcmolt_epon_oam_oam_registration_list *this, bcmolt_epon_oam_buf *buf);
23199
23200/** Gets the number of bytes that a bcmolt_epon_oam_oam_registration_list would
23201 * occupy on the wire
23202 *
23203 * \return The structure size in bytes
23204 */
23205uint32_t bcmolt_epon_oam_oam_registration_list_get_packed_length(bcmolt_epon_oam_oam_registration_list *this);
23206
23207/** Unpacks a bcmolt_epon_oam_oam_registration_list from bytes
23208 *
23209 * \param this Pointer to the object to unpack
23210 * \param buf Pointer to the buffer to read from
23211 * \param extra_mem Pointer to the first location in memory to use to store
23212 * pointer fields that are NULL. Setting this to NULL will cause an error when
23213 * a NULL pointer is encountered.
23214 * \return TRUE if the unpack was successful, FALSE otherwise
23215 */
23216bcmos_bool bcmolt_epon_oam_oam_registration_list_unpack(bcmolt_epon_oam_oam_registration_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23217
23218/** Scans past a packed bcmolt_epon_oam_oam_registration_list struct and
23219 * collects memory requirements above and beyond sizeof()
23220 *
23221 * \param packed A stream pointing to the packed byte stream
23222 * \param extra_mem Number of additional storage bytes required
23223 * \return TRUE on success, FALSE on failure
23224 */
23225bcmos_bool bcmolt_epon_oam_oam_registration_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23226
23227/** Packs a bcmolt_epon_oam_master_context_tlv to bytes
23228 *
23229 * \param this Pointer to the object to pack
23230 * \param buf Pointer to the buffer to write to
23231 * \return TRUE if the pack was successful, FALSE otherwise
23232 */
23233bcmos_bool bcmolt_epon_oam_master_context_tlv_pack(bcmolt_epon_oam_master_context_tlv *this, bcmolt_epon_oam_buf *buf);
23234
23235/** Gets the number of bytes that a bcmolt_epon_oam_master_context_tlv would
23236 * occupy on the wire
23237 *
23238 * \return The structure size in bytes
23239 */
23240uint32_t bcmolt_epon_oam_master_context_tlv_get_packed_length(bcmolt_epon_oam_master_context_tlv *this);
23241
23242/** Unpacks a bcmolt_epon_oam_master_context_tlv from bytes
23243 *
23244 * \param this Pointer to the object to unpack
23245 * \param buf Pointer to the buffer to read from
23246 * \param extra_mem Pointer to the first location in memory to use to store
23247 * pointer fields that are NULL. Setting this to NULL will cause an error when
23248 * a NULL pointer is encountered.
23249 * \return TRUE if the unpack was successful, FALSE otherwise
23250 */
23251bcmos_bool bcmolt_epon_oam_master_context_tlv_unpack(bcmolt_epon_oam_master_context_tlv *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23252
23253/** Scans past a packed bcmolt_epon_oam_master_context_tlv struct and collects
23254 * memory requirements above and beyond sizeof()
23255 *
23256 * \param packed A stream pointing to the packed byte stream
23257 * \param extra_mem Number of additional storage bytes required
23258 * \return TRUE on success, FALSE on failure
23259 */
23260bcmos_bool bcmolt_epon_oam_master_context_tlv_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23261
23262/** Packs a bcmolt_epon_oam_negotiated_oam to bytes
23263 *
23264 * \param this Pointer to the object to pack
23265 * \param buf Pointer to the buffer to write to
23266 * \return TRUE if the pack was successful, FALSE otherwise
23267 */
23268bcmos_bool bcmolt_epon_oam_negotiated_oam_pack(bcmolt_epon_oam_negotiated_oam *this, bcmolt_epon_oam_buf *buf);
23269
23270/** Gets the number of bytes that a bcmolt_epon_oam_negotiated_oam would occupy
23271 * on the wire
23272 *
23273 * \return The structure size in bytes
23274 */
23275uint32_t bcmolt_epon_oam_negotiated_oam_get_packed_length(bcmolt_epon_oam_negotiated_oam *this);
23276
23277/** Unpacks a bcmolt_epon_oam_negotiated_oam from bytes
23278 *
23279 * \param this Pointer to the object to unpack
23280 * \param buf Pointer to the buffer to read from
23281 * \param extra_mem Pointer to the first location in memory to use to store
23282 * pointer fields that are NULL. Setting this to NULL will cause an error when
23283 * a NULL pointer is encountered.
23284 * \return TRUE if the unpack was successful, FALSE otherwise
23285 */
23286bcmos_bool bcmolt_epon_oam_negotiated_oam_unpack(bcmolt_epon_oam_negotiated_oam *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23287
23288/** Scans past a packed bcmolt_epon_oam_negotiated_oam struct and collects
23289 * memory requirements above and beyond sizeof()
23290 *
23291 * \param packed A stream pointing to the packed byte stream
23292 * \param extra_mem Number of additional storage bytes required
23293 * \return TRUE on success, FALSE on failure
23294 */
23295bcmos_bool bcmolt_epon_oam_negotiated_oam_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23296
23297/** Packs a bcmolt_epon_oam_negotiated_oam_list to bytes
23298 *
23299 * \param this Pointer to the object to pack
23300 * \param buf Pointer to the buffer to write to
23301 * \return TRUE if the pack was successful, FALSE otherwise
23302 */
23303bcmos_bool bcmolt_epon_oam_negotiated_oam_list_pack(bcmolt_epon_oam_negotiated_oam_list *this, bcmolt_epon_oam_buf *buf);
23304
23305/** Gets the number of bytes that a bcmolt_epon_oam_negotiated_oam_list would
23306 * occupy on the wire
23307 *
23308 * \return The structure size in bytes
23309 */
23310uint32_t bcmolt_epon_oam_negotiated_oam_list_get_packed_length(bcmolt_epon_oam_negotiated_oam_list *this);
23311
23312/** Unpacks a bcmolt_epon_oam_negotiated_oam_list from bytes
23313 *
23314 * \param this Pointer to the object to unpack
23315 * \param buf Pointer to the buffer to read from
23316 * \param extra_mem Pointer to the first location in memory to use to store
23317 * pointer fields that are NULL. Setting this to NULL will cause an error when
23318 * a NULL pointer is encountered.
23319 * \return TRUE if the unpack was successful, FALSE otherwise
23320 */
23321bcmos_bool bcmolt_epon_oam_negotiated_oam_list_unpack(bcmolt_epon_oam_negotiated_oam_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23322
23323/** Scans past a packed bcmolt_epon_oam_negotiated_oam_list struct and collects
23324 * memory requirements above and beyond sizeof()
23325 *
23326 * \param packed A stream pointing to the packed byte stream
23327 * \param extra_mem Number of additional storage bytes required
23328 * \return TRUE on success, FALSE on failure
23329 */
23330bcmos_bool bcmolt_epon_oam_negotiated_oam_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23331
23332/** Packs a bcmolt_epon_oam_onu_master_command to bytes
23333 *
23334 * \param this Pointer to the object to pack
23335 * \param buf Pointer to the buffer to write to
23336 * \return TRUE if the pack was successful, FALSE otherwise
23337 */
23338bcmos_bool bcmolt_epon_oam_onu_master_command_pack(bcmolt_epon_oam_onu_master_command *this, bcmolt_epon_oam_buf *buf);
23339
23340/** Gets the number of bytes that a bcmolt_epon_oam_onu_master_command would
23341 * occupy on the wire
23342 *
23343 * \return The structure size in bytes
23344 */
23345uint32_t bcmolt_epon_oam_onu_master_command_get_packed_length(bcmolt_epon_oam_onu_master_command *this);
23346
23347/** Unpacks a bcmolt_epon_oam_onu_master_command from bytes
23348 *
23349 * \param this Pointer to the object to unpack
23350 * \param buf Pointer to the buffer to read from
23351 * \param extra_mem Pointer to the first location in memory to use to store
23352 * pointer fields that are NULL. Setting this to NULL will cause an error when
23353 * a NULL pointer is encountered.
23354 * \return TRUE if the unpack was successful, FALSE otherwise
23355 */
23356bcmos_bool bcmolt_epon_oam_onu_master_command_unpack(bcmolt_epon_oam_onu_master_command *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23357
23358/** Scans past a packed bcmolt_epon_oam_onu_master_command struct and collects
23359 * memory requirements above and beyond sizeof()
23360 *
23361 * \param packed A stream pointing to the packed byte stream
23362 * \param extra_mem Number of additional storage bytes required
23363 * \return TRUE on success, FALSE on failure
23364 */
23365bcmos_bool bcmolt_epon_oam_onu_master_command_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23366
23367/** Packs a bcmolt_epon_oam_onu_master_response to bytes
23368 *
23369 * \param this Pointer to the object to pack
23370 * \param buf Pointer to the buffer to write to
23371 * \return TRUE if the pack was successful, FALSE otherwise
23372 */
23373bcmos_bool bcmolt_epon_oam_onu_master_response_pack(bcmolt_epon_oam_onu_master_response *this, bcmolt_epon_oam_buf *buf);
23374
23375/** Gets the number of bytes that a bcmolt_epon_oam_onu_master_response would
23376 * occupy on the wire
23377 *
23378 * \return The structure size in bytes
23379 */
23380uint32_t bcmolt_epon_oam_onu_master_response_get_packed_length(bcmolt_epon_oam_onu_master_response *this);
23381
23382/** Unpacks a bcmolt_epon_oam_onu_master_response from bytes
23383 *
23384 * \param this Pointer to the object to unpack
23385 * \param buf Pointer to the buffer to read from
23386 * \param extra_mem Pointer to the first location in memory to use to store
23387 * pointer fields that are NULL. Setting this to NULL will cause an error when
23388 * a NULL pointer is encountered.
23389 * \return TRUE if the unpack was successful, FALSE otherwise
23390 */
23391bcmos_bool bcmolt_epon_oam_onu_master_response_unpack(bcmolt_epon_oam_onu_master_response *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23392
23393/** Scans past a packed bcmolt_epon_oam_onu_master_response struct and collects
23394 * memory requirements above and beyond sizeof()
23395 *
23396 * \param packed A stream pointing to the packed byte stream
23397 * \param extra_mem Number of additional storage bytes required
23398 * \return TRUE on success, FALSE on failure
23399 */
23400bcmos_bool bcmolt_epon_oam_onu_master_response_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23401
23402/** Packs a bcmolt_epon_oam_onu_master_communication to bytes
23403 *
23404 * \param this Pointer to the object to pack
23405 * \param buf Pointer to the buffer to write to
23406 * \return TRUE if the pack was successful, FALSE otherwise
23407 */
23408bcmos_bool bcmolt_epon_oam_onu_master_communication_pack(bcmolt_epon_oam_onu_master_communication *this, bcmolt_epon_oam_buf *buf);
23409
23410/** Gets the number of bytes that a bcmolt_epon_oam_onu_master_communication
23411 * would occupy on the wire
23412 *
23413 * \return The structure size in bytes
23414 */
23415uint32_t bcmolt_epon_oam_onu_master_communication_get_packed_length(bcmolt_epon_oam_onu_master_communication *this);
23416
23417/** Unpacks a bcmolt_epon_oam_onu_master_communication from bytes
23418 *
23419 * \param this Pointer to the object to unpack
23420 * \param buf Pointer to the buffer to read from
23421 * \param extra_mem Pointer to the first location in memory to use to store
23422 * pointer fields that are NULL. Setting this to NULL will cause an error when
23423 * a NULL pointer is encountered.
23424 * \return TRUE if the unpack was successful, FALSE otherwise
23425 */
23426bcmos_bool bcmolt_epon_oam_onu_master_communication_unpack(bcmolt_epon_oam_onu_master_communication *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23427
23428/** Scans past a packed bcmolt_epon_oam_onu_master_communication struct and
23429 * collects memory requirements above and beyond sizeof()
23430 *
23431 * \param packed A stream pointing to the packed byte stream
23432 * \param extra_mem Number of additional storage bytes required
23433 * \return TRUE on success, FALSE on failure
23434 */
23435bcmos_bool bcmolt_epon_oam_onu_master_communication_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23436
23437/** Packs a bcmolt_epon_oam_master_pdu_common to bytes
23438 *
23439 * \param this Pointer to the object to pack
23440 * \param buf Pointer to the buffer to write to
23441 * \return TRUE if the pack was successful, FALSE otherwise
23442 */
23443bcmos_bool bcmolt_epon_oam_master_pdu_common_pack(bcmolt_epon_oam_master_pdu_common *this, bcmolt_epon_oam_buf *buf);
23444
23445/** Gets the number of bytes that a bcmolt_epon_oam_master_pdu_common would
23446 * occupy on the wire
23447 *
23448 * \return The structure size in bytes
23449 */
23450uint32_t bcmolt_epon_oam_master_pdu_common_get_packed_length(bcmolt_epon_oam_master_pdu_common *this);
23451
23452/** Unpacks a bcmolt_epon_oam_master_pdu_common from bytes
23453 *
23454 * \param this Pointer to the object to unpack
23455 * \param buf Pointer to the buffer to read from
23456 * \param extra_mem Pointer to the first location in memory to use to store
23457 * pointer fields that are NULL. Setting this to NULL will cause an error when
23458 * a NULL pointer is encountered.
23459 * \return TRUE if the unpack was successful, FALSE otherwise
23460 */
23461bcmos_bool bcmolt_epon_oam_master_pdu_common_unpack(bcmolt_epon_oam_master_pdu_common *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23462
23463/** Scans past a packed bcmolt_epon_oam_master_pdu_common struct and collects
23464 * memory requirements above and beyond sizeof()
23465 *
23466 * \param packed A stream pointing to the packed byte stream
23467 * \param extra_mem Number of additional storage bytes required
23468 * \return TRUE on success, FALSE on failure
23469 */
23470bcmos_bool bcmolt_epon_oam_master_pdu_common_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23471
23472/** Packs a bcmolt_epon_oam_organization_specific_slow_protocol to bytes
23473 *
23474 * \param this Pointer to the object to pack
23475 * \param buf Pointer to the buffer to write to
23476 * \return TRUE if the pack was successful, FALSE otherwise
23477 */
23478bcmos_bool bcmolt_epon_oam_organization_specific_slow_protocol_pack(bcmolt_epon_oam_organization_specific_slow_protocol *this, bcmolt_epon_oam_buf *buf);
23479
23480/** Gets the number of bytes that a
23481 * bcmolt_epon_oam_organization_specific_slow_protocol would occupy on the wire
23482 *
23483 * \return The structure size in bytes
23484 */
23485uint32_t bcmolt_epon_oam_organization_specific_slow_protocol_get_packed_length(bcmolt_epon_oam_organization_specific_slow_protocol *this);
23486
23487/** Unpacks a bcmolt_epon_oam_organization_specific_slow_protocol from bytes
23488 *
23489 * \param this Pointer to the object to unpack
23490 * \param buf Pointer to the buffer to read from
23491 * \param extra_mem Pointer to the first location in memory to use to store
23492 * pointer fields that are NULL. Setting this to NULL will cause an error when
23493 * a NULL pointer is encountered.
23494 * \return TRUE if the unpack was successful, FALSE otherwise
23495 */
23496bcmos_bool bcmolt_epon_oam_organization_specific_slow_protocol_unpack(bcmolt_epon_oam_organization_specific_slow_protocol *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23497
23498/** Scans past a packed bcmolt_epon_oam_organization_specific_slow_protocol
23499 * struct and collects memory requirements above and beyond sizeof()
23500 *
23501 * \param packed A stream pointing to the packed byte stream
23502 * \param extra_mem Number of additional storage bytes required
23503 * \return TRUE on success, FALSE on failure
23504 */
23505bcmos_bool bcmolt_epon_oam_organization_specific_slow_protocol_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23506
23507/** Packs a bcmolt_epon_oam_slow_protocol to bytes
23508 *
23509 * \param this Pointer to the object to pack
23510 * \param buf Pointer to the buffer to write to
23511 * \return TRUE if the pack was successful, FALSE otherwise
23512 */
23513bcmos_bool bcmolt_epon_oam_slow_protocol_pack(bcmolt_epon_oam_slow_protocol *this, bcmolt_epon_oam_buf *buf);
23514
23515/** Gets the number of bytes that a bcmolt_epon_oam_slow_protocol would occupy
23516 * on the wire
23517 *
23518 * \return The structure size in bytes
23519 */
23520uint32_t bcmolt_epon_oam_slow_protocol_get_packed_length(bcmolt_epon_oam_slow_protocol *this);
23521
23522/** Unpacks a bcmolt_epon_oam_slow_protocol from bytes
23523 *
23524 * \param this Pointer to the object to unpack
23525 * \param buf Pointer to the buffer to read from
23526 * \param extra_mem Pointer to the first location in memory to use to store
23527 * pointer fields that are NULL. Setting this to NULL will cause an error when
23528 * a NULL pointer is encountered.
23529 * \return TRUE if the unpack was successful, FALSE otherwise
23530 */
23531bcmos_bool bcmolt_epon_oam_slow_protocol_unpack(bcmolt_epon_oam_slow_protocol *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23532
23533/** Scans past a packed bcmolt_epon_oam_slow_protocol struct and collects memory
23534 * requirements above and beyond sizeof()
23535 *
23536 * \param packed A stream pointing to the packed byte stream
23537 * \param extra_mem Number of additional storage bytes required
23538 * \return TRUE on success, FALSE on failure
23539 */
23540bcmos_bool bcmolt_epon_oam_slow_protocol_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23541
23542/** Packs a bcmolt_epon_oam_ethernet_protocol to bytes
23543 *
23544 * \param this Pointer to the object to pack
23545 * \param buf Pointer to the buffer to write to
23546 * \return TRUE if the pack was successful, FALSE otherwise
23547 */
23548bcmos_bool bcmolt_epon_oam_ethernet_protocol_pack(bcmolt_epon_oam_ethernet_protocol *this, bcmolt_epon_oam_buf *buf);
23549
23550/** Gets the number of bytes that a bcmolt_epon_oam_ethernet_protocol would
23551 * occupy on the wire
23552 *
23553 * \return The structure size in bytes
23554 */
23555uint32_t bcmolt_epon_oam_ethernet_protocol_get_packed_length(bcmolt_epon_oam_ethernet_protocol *this);
23556
23557/** Unpacks a bcmolt_epon_oam_ethernet_protocol from bytes
23558 *
23559 * \param this Pointer to the object to unpack
23560 * \param buf Pointer to the buffer to read from
23561 * \param extra_mem Pointer to the first location in memory to use to store
23562 * pointer fields that are NULL. Setting this to NULL will cause an error when
23563 * a NULL pointer is encountered.
23564 * \return TRUE if the unpack was successful, FALSE otherwise
23565 */
23566bcmos_bool bcmolt_epon_oam_ethernet_protocol_unpack(bcmolt_epon_oam_ethernet_protocol *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23567
23568/** Scans past a packed bcmolt_epon_oam_ethernet_protocol struct and collects
23569 * memory requirements above and beyond sizeof()
23570 *
23571 * \param packed A stream pointing to the packed byte stream
23572 * \param extra_mem Number of additional storage bytes required
23573 * \return TRUE on success, FALSE on failure
23574 */
23575bcmos_bool bcmolt_epon_oam_ethernet_protocol_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23576
23577/** Counts the number of elements in the continuous list
23578 *
23579 * \param buf Buffer pointing to packed list
23580 * \return Number of elements in the list
23581 */
23582uint32_t bcmolt_epon_oam_ethernet_protocol_def_count_unknown(bcmolt_epon_oam_buf *buf);
23583
23584/** Counts the number of elements in the continuous list
23585 *
23586 * \param buf Buffer pointing to packed list
23587 * \return Number of elements in the list
23588 */
23589uint32_t bcmolt_epon_oam_ethernet_protocol_zero_count_padding(bcmolt_epon_oam_buf *buf);
23590
23591/** Packs a bcmolt_epon_oam_ethernet_frame to bytes
23592 *
23593 * \param this Pointer to the object to pack
23594 * \param buf Pointer to the buffer to write to
23595 * \return TRUE if the pack was successful, FALSE otherwise
23596 */
23597bcmos_bool bcmolt_epon_oam_ethernet_frame_pack(bcmolt_epon_oam_ethernet_frame *this, bcmolt_epon_oam_buf *buf);
23598
23599/** Gets the number of bytes that a bcmolt_epon_oam_ethernet_frame would occupy
23600 * on the wire
23601 *
23602 * \return The structure size in bytes
23603 */
23604uint32_t bcmolt_epon_oam_ethernet_frame_get_packed_length(bcmolt_epon_oam_ethernet_frame *this);
23605
23606/** Unpacks a bcmolt_epon_oam_ethernet_frame from bytes
23607 *
23608 * \param this Pointer to the object to unpack
23609 * \param buf Pointer to the buffer to read from
23610 * \param extra_mem Pointer to the first location in memory to use to store
23611 * pointer fields that are NULL. Setting this to NULL will cause an error when
23612 * a NULL pointer is encountered.
23613 * \return TRUE if the unpack was successful, FALSE otherwise
23614 */
23615bcmos_bool bcmolt_epon_oam_ethernet_frame_unpack(bcmolt_epon_oam_ethernet_frame *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23616
23617/** Scans past a packed bcmolt_epon_oam_ethernet_frame struct and collects
23618 * memory requirements above and beyond sizeof()
23619 *
23620 * \param packed A stream pointing to the packed byte stream
23621 * \param extra_mem Number of additional storage bytes required
23622 * \return TRUE on success, FALSE on failure
23623 */
23624bcmos_bool bcmolt_epon_oam_ethernet_frame_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23625
23626/** Counts the number of elements in the continuous list
23627 *
23628 * \param buf Buffer pointing to packed list
23629 * \return Number of elements in the list
23630 */
23631uint32_t bcmolt_epon_oam_ethernet_frame_count_protocols(bcmolt_epon_oam_buf *buf);
23632
23633/** Packs a bcmolt_epon_oam_oam_pdu_base to bytes
23634 *
23635 * \param this Pointer to the object to pack
23636 * \param buf Pointer to the buffer to write to
23637 * \return TRUE if the pack was successful, FALSE otherwise
23638 */
23639bcmos_bool bcmolt_epon_oam_oam_pdu_base_pack(bcmolt_epon_oam_oam_pdu_base *this, bcmolt_epon_oam_buf *buf);
23640
23641/** Gets the number of bytes that a bcmolt_epon_oam_oam_pdu_base would occupy on
23642 * the wire
23643 *
23644 * \return The structure size in bytes
23645 */
23646uint32_t bcmolt_epon_oam_oam_pdu_base_get_packed_length(bcmolt_epon_oam_oam_pdu_base *this);
23647
23648/** Unpacks a bcmolt_epon_oam_oam_pdu_base from bytes
23649 *
23650 * \param this Pointer to the object to unpack
23651 * \param buf Pointer to the buffer to read from
23652 * \param extra_mem Pointer to the first location in memory to use to store
23653 * pointer fields that are NULL. Setting this to NULL will cause an error when
23654 * a NULL pointer is encountered.
23655 * \return TRUE if the unpack was successful, FALSE otherwise
23656 */
23657bcmos_bool bcmolt_epon_oam_oam_pdu_base_unpack(bcmolt_epon_oam_oam_pdu_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23658
23659/** Scans past a packed bcmolt_epon_oam_oam_pdu_base struct and collects memory
23660 * requirements above and beyond sizeof()
23661 *
23662 * \param packed A stream pointing to the packed byte stream
23663 * \param extra_mem Number of additional storage bytes required
23664 * \return TRUE on success, FALSE on failure
23665 */
23666bcmos_bool bcmolt_epon_oam_oam_pdu_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23667
23668/** Packs a bcmolt_epon_oam_oam_tek_event_gpio to bytes
23669 *
23670 * \param this Pointer to the object to pack
23671 * \param buf Pointer to the buffer to write to
23672 * \return TRUE if the pack was successful, FALSE otherwise
23673 */
23674bcmos_bool bcmolt_epon_oam_oam_tek_event_gpio_pack(bcmolt_epon_oam_oam_tek_event_gpio *this, bcmolt_epon_oam_buf *buf);
23675
23676/** Unpacks a bcmolt_epon_oam_oam_tek_event_gpio from bytes
23677 *
23678 * \param this Pointer to the object to unpack
23679 * \param buf Pointer to the buffer to read from
23680 * \param extra_mem Pointer to the first location in memory to use to store
23681 * pointer fields that are NULL. Setting this to NULL will cause an error when
23682 * a NULL pointer is encountered.
23683 * \return TRUE if the unpack was successful, FALSE otherwise
23684 */
23685bcmos_bool bcmolt_epon_oam_oam_tek_event_gpio_unpack(bcmolt_epon_oam_oam_tek_event_gpio *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23686
23687/** Scans past a packed bcmolt_epon_oam_oam_tek_event_gpio struct and collects
23688 * memory requirements above and beyond sizeof()
23689 *
23690 * \param packed A stream pointing to the packed byte stream
23691 * \param extra_mem Number of additional storage bytes required
23692 * \return TRUE on success, FALSE on failure
23693 */
23694bcmos_bool bcmolt_epon_oam_oam_tek_event_gpio_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23695
23696/** Packs a bcmolt_epon_oam_oam_tek_event to bytes
23697 *
23698 * \param this Pointer to the object to pack
23699 * \param buf Pointer to the buffer to write to
23700 * \return TRUE if the pack was successful, FALSE otherwise
23701 */
23702bcmos_bool bcmolt_epon_oam_oam_tek_event_pack(bcmolt_epon_oam_oam_tek_event *this, bcmolt_epon_oam_buf *buf);
23703
23704/** Gets the number of bytes that a bcmolt_epon_oam_oam_tek_event would occupy
23705 * on the wire
23706 *
23707 * \return The structure size in bytes
23708 */
23709uint32_t bcmolt_epon_oam_oam_tek_event_get_packed_length(bcmolt_epon_oam_oam_tek_event *this);
23710
23711/** Unpacks a bcmolt_epon_oam_oam_tek_event from bytes
23712 *
23713 * \param this Pointer to the object to unpack
23714 * \param buf Pointer to the buffer to read from
23715 * \param extra_mem Pointer to the first location in memory to use to store
23716 * pointer fields that are NULL. Setting this to NULL will cause an error when
23717 * a NULL pointer is encountered.
23718 * \return TRUE if the unpack was successful, FALSE otherwise
23719 */
23720bcmos_bool bcmolt_epon_oam_oam_tek_event_unpack(bcmolt_epon_oam_oam_tek_event *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23721
23722/** Scans past a packed bcmolt_epon_oam_oam_tek_event struct and collects memory
23723 * requirements above and beyond sizeof()
23724 *
23725 * \param packed A stream pointing to the packed byte stream
23726 * \param extra_mem Number of additional storage bytes required
23727 * \return TRUE on success, FALSE on failure
23728 */
23729bcmos_bool bcmolt_epon_oam_oam_tek_event_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23730
23731/** Packs a bcmolt_epon_oam_std_mac_address to bytes
23732 *
23733 * \param this Pointer to the object to pack
23734 * \param buf Pointer to the buffer to write to
23735 * \return TRUE if the pack was successful, FALSE otherwise
23736 */
23737bcmos_bool bcmolt_epon_oam_std_mac_address_pack(bcmolt_epon_oam_std_mac_address *this, bcmolt_epon_oam_buf *buf);
23738
23739/** Unpacks a bcmolt_epon_oam_std_mac_address from bytes
23740 *
23741 * \param this Pointer to the object to unpack
23742 * \param buf Pointer to the buffer to read from
23743 * \param extra_mem Pointer to the first location in memory to use to store
23744 * pointer fields that are NULL. Setting this to NULL will cause an error when
23745 * a NULL pointer is encountered.
23746 * \return TRUE if the unpack was successful, FALSE otherwise
23747 */
23748bcmos_bool bcmolt_epon_oam_std_mac_address_unpack(bcmolt_epon_oam_std_mac_address *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23749
23750/** Scans past a packed bcmolt_epon_oam_std_mac_address struct and collects
23751 * memory requirements above and beyond sizeof()
23752 *
23753 * \param packed A stream pointing to the packed byte stream
23754 * \param extra_mem Number of additional storage bytes required
23755 * \return TRUE on success, FALSE on failure
23756 */
23757bcmos_bool bcmolt_epon_oam_std_mac_address_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23758
23759/** Packs a bcmolt_epon_oam_tek_var_desc_attr_base to bytes
23760 *
23761 * \param this Pointer to the object to pack
23762 * \param buf Pointer to the buffer to write to
23763 * \return TRUE if the pack was successful, FALSE otherwise
23764 */
23765bcmos_bool bcmolt_epon_oam_tek_var_desc_attr_base_pack(bcmolt_epon_oam_tek_var_desc_attr_base *this, bcmolt_epon_oam_buf *buf);
23766
23767/** Gets the number of bytes that a bcmolt_epon_oam_tek_var_desc_attr_base would
23768 * occupy on the wire
23769 *
23770 * \return The structure size in bytes
23771 */
23772uint32_t bcmolt_epon_oam_tek_var_desc_attr_base_get_packed_length(bcmolt_epon_oam_tek_var_desc_attr_base *this);
23773
23774/** Unpacks a bcmolt_epon_oam_tek_var_desc_attr_base from bytes
23775 *
23776 * \param this Pointer to the object to unpack
23777 * \param buf Pointer to the buffer to read from
23778 * \param extra_mem Pointer to the first location in memory to use to store
23779 * pointer fields that are NULL. Setting this to NULL will cause an error when
23780 * a NULL pointer is encountered.
23781 * \return TRUE if the unpack was successful, FALSE otherwise
23782 */
23783bcmos_bool bcmolt_epon_oam_tek_var_desc_attr_base_unpack(bcmolt_epon_oam_tek_var_desc_attr_base *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23784
23785/** Scans past a packed bcmolt_epon_oam_tek_var_desc_attr_base struct and
23786 * collects memory requirements above and beyond sizeof()
23787 *
23788 * \param packed A stream pointing to the packed byte stream
23789 * \param extra_mem Number of additional storage bytes required
23790 * \return TRUE on success, FALSE on failure
23791 */
23792bcmos_bool bcmolt_epon_oam_tek_var_desc_attr_base_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23793
23794/** Packs a bcmolt_epon_oam_tls_record_continued to bytes
23795 *
23796 * \param this Pointer to the object to pack
23797 * \param buf Pointer to the buffer to write to
23798 * \return TRUE if the pack was successful, FALSE otherwise
23799 */
23800bcmos_bool bcmolt_epon_oam_tls_record_continued_pack(bcmolt_epon_oam_tls_record_continued *this, bcmolt_epon_oam_buf *buf);
23801
23802/** Gets the number of bytes that a bcmolt_epon_oam_tls_record_continued would
23803 * occupy on the wire
23804 *
23805 * \return The structure size in bytes
23806 */
23807uint32_t bcmolt_epon_oam_tls_record_continued_get_packed_length(bcmolt_epon_oam_tls_record_continued *this);
23808
23809/** Unpacks a bcmolt_epon_oam_tls_record_continued from bytes
23810 *
23811 * \param this Pointer to the object to unpack
23812 * \param buf Pointer to the buffer to read from
23813 * \param extra_mem Pointer to the first location in memory to use to store
23814 * pointer fields that are NULL. Setting this to NULL will cause an error when
23815 * a NULL pointer is encountered.
23816 * \return TRUE if the unpack was successful, FALSE otherwise
23817 */
23818bcmos_bool bcmolt_epon_oam_tls_record_continued_unpack(bcmolt_epon_oam_tls_record_continued *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23819
23820/** Scans past a packed bcmolt_epon_oam_tls_record_continued struct and collects
23821 * memory requirements above and beyond sizeof()
23822 *
23823 * \param packed A stream pointing to the packed byte stream
23824 * \param extra_mem Number of additional storage bytes required
23825 * \return TRUE on success, FALSE on failure
23826 */
23827bcmos_bool bcmolt_epon_oam_tls_record_continued_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23828
23829/** Counts the number of elements in the continuous list
23830 *
23831 * \param buf Buffer pointing to packed list
23832 * \return Number of elements in the list
23833 */
23834uint32_t bcmolt_epon_oam_tls_record_continued_def_count_data(bcmolt_epon_oam_buf *buf);
23835
23836/** Packs a bcmolt_epon_oam_tls_signature_and_hash_algorithm to bytes
23837 *
23838 * \param this Pointer to the object to pack
23839 * \param buf Pointer to the buffer to write to
23840 * \return TRUE if the pack was successful, FALSE otherwise
23841 */
23842bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_pack(bcmolt_epon_oam_tls_signature_and_hash_algorithm *this, bcmolt_epon_oam_buf *buf);
23843
23844/** Unpacks a bcmolt_epon_oam_tls_signature_and_hash_algorithm from bytes
23845 *
23846 * \param this Pointer to the object to unpack
23847 * \param buf Pointer to the buffer to read from
23848 * \param extra_mem Pointer to the first location in memory to use to store
23849 * pointer fields that are NULL. Setting this to NULL will cause an error when
23850 * a NULL pointer is encountered.
23851 * \return TRUE if the unpack was successful, FALSE otherwise
23852 */
23853bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_unpack(bcmolt_epon_oam_tls_signature_and_hash_algorithm *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23854
23855/** Scans past a packed bcmolt_epon_oam_tls_signature_and_hash_algorithm struct
23856 * and collects memory requirements above and beyond sizeof()
23857 *
23858 * \param packed A stream pointing to the packed byte stream
23859 * \param extra_mem Number of additional storage bytes required
23860 * \return TRUE on success, FALSE on failure
23861 */
23862bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23863
23864/** Packs a bcmolt_epon_oam_tls_signature_and_hash_algorithm_list to bytes
23865 *
23866 * \param this Pointer to the object to pack
23867 * \param buf Pointer to the buffer to write to
23868 * \return TRUE if the pack was successful, FALSE otherwise
23869 */
23870bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_list_pack(bcmolt_epon_oam_tls_signature_and_hash_algorithm_list *this, bcmolt_epon_oam_buf *buf);
23871
23872/** Gets the number of bytes that a
23873 * bcmolt_epon_oam_tls_signature_and_hash_algorithm_list would occupy on the
23874 * wire
23875 *
23876 * \return The structure size in bytes
23877 */
23878uint32_t bcmolt_epon_oam_tls_signature_and_hash_algorithm_list_get_packed_length(bcmolt_epon_oam_tls_signature_and_hash_algorithm_list *this);
23879
23880/** Unpacks a bcmolt_epon_oam_tls_signature_and_hash_algorithm_list from bytes
23881 *
23882 * \param this Pointer to the object to unpack
23883 * \param buf Pointer to the buffer to read from
23884 * \param extra_mem Pointer to the first location in memory to use to store
23885 * pointer fields that are NULL. Setting this to NULL will cause an error when
23886 * a NULL pointer is encountered.
23887 * \return TRUE if the unpack was successful, FALSE otherwise
23888 */
23889bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_list_unpack(bcmolt_epon_oam_tls_signature_and_hash_algorithm_list *this, bcmolt_epon_oam_buf *buf, void **extra_mem);
23890
23891/** Scans past a packed bcmolt_epon_oam_tls_signature_and_hash_algorithm_list
23892 * struct and collects memory requirements above and beyond sizeof()
23893 *
23894 * \param packed A stream pointing to the packed byte stream
23895 * \param extra_mem Number of additional storage bytes required
23896 * \return TRUE on success, FALSE on failure
23897 */
23898bcmos_bool bcmolt_epon_oam_tls_signature_and_hash_algorithm_list_scan(bcmolt_epon_oam_buf *packed, uint32_t *extra_mem);
23899
23900/** Counts the number of elements in the continuous list
23901 *
23902 * \param buf Buffer pointing to packed list
23903 * \return Number of elements in the list
23904 */
23905uint32_t bcmolt_epon_oam_tls_signature_and_hash_algorithm_list_count_supported_signature_algorithms(bcmolt_epon_oam_buf *buf);
23906#endif /* BCMOLT_EPON_OAM_TYPES_H_ */