RDK-B
dpoe_hal.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 /**********************************************************************
20  Copyright [2015] [Broadcom Corporation]
21 
22  Licensed under the Apache License, Version 2.0 (the "License");
23  you may not use this file except in compliance with the License.
24  You may obtain a copy of the License at
25 
26  http://www.apache.org/licenses/LICENSE-2.0
27 
28  Unless required by applicable law or agreed to in writing, software
29  distributed under the License is distributed on an "AS IS" BASIS,
30  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  See the License for the specific language governing permissions and
32  limitations under the License.
33 **********************************************************************/
34 
35 /**********************************************************************
36 
37  Module: dpoe_hal.h
38 
39  For CCSP Component: DPoE management
40 
41  ---------------------------------------------------------------
42 
43  Description:
44 
45  This header file gives the function call prototypes and
46  structure definitions used for the RDK-Broadband
47  DPoE hardware abstraction layer as per the DPoE-SP-OAMv1.0-I08-140807
48  specification.
49 
50  ---------------------------------------------------------------
51 
52  Environment:
53  This HAL layer is intended to support DPoE drivers
54  through an open API based on the
55  CableLabs Cable Data Services DOCSIS Provisioning of EPON Specifications
56  DPoE OAM Extensions Specification
57 
58  ---------------------------------------------------------------
59  HAL version:
60  The version of the DPoE HAL is specified in #defines below.
61 
62  ---------------------------------------------------------------
63  Author:
64  Broadcom Corporation
65 
66 **********************************************************************/
67 
68 #ifndef __DPOE_HAL_H__
69 #define __DPOE_HAL_H__
70 
71 /**
72 * @defgroup DPoE_HAL DPoE HAL
73 *
74 * @defgroup DPoE_HAL_TYPES DPoE HAL Data Types
75 * @ingroup DPoE_HAL
76 *
77 * @defgroup DPoE_HAL_APIS DPoE HAL APIs
78 * @ingroup DPoE_HAL
79 *
80 **/
81 
82 /**********************************************************************
83  CONSTANT DEFINITIONS
84 **********************************************************************/
85 /**
86  * @addtogroup DPoE_HAL_TYPES
87  * @{
88  */
89 #ifndef CHAR
90 #define CHAR char
91 #endif
92 
93 #ifndef UCHAR
94 #define UCHAR unsigned char
95 #endif
96 
97 #ifndef BOOLEAN
98 #define BOOLEAN unsigned char
99 #endif
100 
101 #ifndef USHORT
102 #define USHORT unsigned short
103 #endif
104 
105 #ifndef INT
106 #define INT int
107 #endif
108 
109 #ifndef UINT8
110 #define UINT8 unsigned char
111 #endif
112 
113 #ifndef ULONG
114 #define ULONG unsigned long
115 #endif
116 
117 #ifndef ULONGLONG
118 #define ULONGLONG unsigned long long
119 #endif
120 
121 #ifndef TRUE
122 #define TRUE 1
123 #endif
124 
125 #ifndef FALSE
126 #define FALSE 0
127 #endif
128 
129 #ifndef RETURN_OK
130 #define RETURN_OK 0
131 #endif
132 
133 #ifndef RETURN_ERR
134 #define RETURN_ERR -1
135 #endif
136 
137 #define DPOE_HAL_MAJOR_VERSION 1 //!< This is the major version of this HAL.
138 #define DPOE_HAL_MINOR_VERSION 0 //!< This is the minor version of the HAL.
139 #define DPOE_HAL_MAINTENANCE_VERSION 1 //!< This is the maintenance version of the HAL.
140 
141 
142 /**********************************************************************
143  STRUCTURE DEFINITIONS
144 **********************************************************************/
145 
146 typedef struct dpoe_mac_address
147 {
148  UCHAR macAddress[6];
150 
151 typedef struct dpoe_link_mac_address
152 {
156 
157 typedef struct dpoe_firmware_info
158 {
164 
165 typedef struct dpoe_epon_chip_info
166 {
171 
173 {
178 
179 typedef struct dpoe_manufacturer
180 {
185 
187 {
198 
199 
201 {
206 
208 {
212 
213 
214 typedef struct dpoe_traffic_stats
215 {
240 
242 {
246 
248 {
252 
254 {
259 
261 {
265 
267 {
271 
272 /**
273  * @}
274  */
275 
276 /**
277  * @addtogroup DPoE_HAL_APIS
278  * @{
279  */
280 
281 
282 /**********************************************************************************
283  DPoE Subsystem level function prototypes
284 **********************************************************************************/
285 
286 /* Function: dpoe_getOnuId */
287 
288 /**
289 * @description The ONU ID is a non-volatile number that uniquely identifies a physical DPoE ONU.
290 * By definition, the DPoE ONU ID is the lowest (numerically smallest) MAC address among all
291 * MAC addresses associated with the TU interface port of a DPoE ONU. All logical links on a
292 * DPoE ONU report the same DPoE ONU ID, despite having different link MAC addresses (per [802.3]).
293 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
294 * <br>@ref Context: ONU
295 *
296 * @param dpoe_mac_address_t *pOnuId - Info of OnuId, to be returned
297 *
298 * @return The status of the operation.
299 * @retval RETURN_OK if successful.
300 * @retval RETURN_ERR if any error is detected
301 *
302 */
303 
305 
306 /* Function: dpoe_getFirmwareInfo */
307 /**
308 * @description This attribute represents the DPoE ONU firmware version.
309 * The version number uniquely identifies a particular version of the ONU firmware.
310 * Format is defined by the ONU vendor. DPoE Systems can compare this value for equality
311 * with a provisioned value for the currently correct firmware version. "Newer than" or
312 * "compatible with" comparisons depend on version number format and should not be
313 * performed with a simple comparison. The Boot Version can be used to populate the BOOTR
314 * field in the sysDescr MIB variable. The Application Version can be used to populate
315 * the SW_REV field in the sysDescr MIB variable (see [DPoE-SP-OSSIv1.0]).
316 * Version values 0x0000 and 0xFFFF are reserved, and indicate loads that
317 * are not installed or are not available.
318 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
319 * <br>Context: ONU
320 *
321 * @param dpoe_firmware_info_t *pFirmwareInfo - Info of Firmware, to be returned
322 *
323 * @return The status of the operation.
324 * @retval RETURN_OK if successful.
325 * @retval RETURN_ERR if any error is detected
326 */
328 
329 /* Function: dpoe_getEponChipInfo */
330 /**
331 * @description This attribute represents the type of EPON chip used on the DPoE ONU.
332 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
333 * <br>Context: ONU
334 *
335 ** @param dpoe_epon_chip_info_t *pEponChipInfo - Info of epon chip, to be returned
336 *
337 * @return The status of the operation.
338 * @retval RETURN_OK if successful.
339 * @retval RETURN_ERR if any error is detected
340 */
342 
343 /* Function: dpoe_getManufacturerInfo */
344 /**
345 * @description This function will return information corresponding to multiple OAM messages.
346 *
347 * - Date of Manufacture (D7/00 05)
348 * - Manufacturer Info (D7/00 06)
349 * - ONU Manufacturer Organization Name (D7/00 0E)
350 * Date of Manufacture: The date the DPoE ONU was manufactured, encoded in Binary Coded Decimal
351 * (BCD) digits as YYYYMMDD. For example, June 24, 2010, would be represented as 20 10 06 24.
352 * Manufacturer Info: This attribute holds manufacturer-specific information that identifies this individual ONU.
353 * This attribute typically contains a serial number, and possibly other manufacturing information,
354 * such as lot numbers or component revisions. Format is defined by the ONU vendor.
355 * ONU Manufacturer Organization Name: This attribute represents the organization which manufactured the D-ONU.
356 * It is used to validate the manufacturer CVC during secure software download.
357 * The value must exactly match the subject organizationName value in the firmware manufacturer CVC.
358 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
359 * <br>Context: ONU
360 *
361 * @param dpoe_manufacturer_t *pManufacturerInfo - Info of manufacturer, to be returned
362 *
363 * @return The status of the operation.
364 * @retval RETURN_OK if successful.
365 * @retval RETURN_ERR if any error is detected
366 */
368 
369 /* Function: dpoe_getMaxLogicalLinks */
370 /**
371 * @description The maximum number of logical links the ONU supports on the EPON.
372 *
373 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
374 * <br>Context: ONU
375 *
376 * @param dpoe_onu_max_logical_links_t *pMaxLogicalLinks - Info of logical links, to be returned
377 *
378 * @return The status of the operation.
379 * @retval RETURN_OK if successful.
380 * @retval RETURN_ERR if any error is detected
381 */
383 
384 /* Function: dpoe_getNumberOfNetworkPorts */
385 /**
386 * @description This attribute provides the total number of TU interface ports on the ONU.
387 *
388 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
389 * <br>Context: ONU
390 *
391 * @param ULONG *pNumPorts - Number of ports, to be returned
392 *
393 * @return The status of the operation.
394 * @retval RETURN_OK if successful.
395 * @retval RETURN_ERR if any error is detected
396 */
398 
399 /* Function: dpoe_getNumberOfS1Interfaces */
400 /**
401 * @description This attribute provides the number of S1 interfaces on the DPoE ONU.
402 *
403 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
404 * <br>Context: ONU
405 *
406 * @param ULONG *pNumS1Interfaces - Number of S1 interfaces, to be returned
407 *
408 * @return The status of the operation.
409 * @retval RETURN_OK if successful.
410 * @retval RETURN_ERR if any error is detected
411 */
412 INT dpoe_getNumberOfS1Interfaces(ULONG *pNumS1Interfaces);
413 
414 /* Function: dpoe_getOnuPacketBufferCapabilities */
415 /**
416 * @description This message provides a means for the DPoE ONU to convey information about
417 * packet buffer capabilities to the DPoE System.
418 *
419 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
420 * <br>Context: ONU
421 *
422 * @param dpoe_onu_packet_buffer_capabilities_t *pCapabilities - info of packet buffer capabilities
423 *
424 * @return The status of the operation.
425 * @retval RETURN_OK if successful.
426 * @retval RETURN_ERR if any error is detected
427 */
429 
430 /* Function: dpoe_getLlidForwardingState */
431 /**
432 * @description This attribute represents the current traffic state for an LLID. User data traffic
433 * may be enabled (normal operation) or disabled (discarded by the DPoE ONU).
434 * Only OAM and MPCP remain enabled regardless of the LLID forwarding state.
435 *
436 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
437 * <br>Context: Logical Link
438 *
439 * @param dpoe_link_forwarding_state_t linkForwardingState[] - Info of Link forwarding state, to be returned
440 * @param USHORT numEntries - Number of entries
441 *
442 * @return The status of the operation.
443 * @retval RETURN_OK if successful.
444 * @retval RETURN_ERR if any error is detected
445 */
446 INT dpoe_getLlidForwardingState(dpoe_link_forwarding_state_t linkForwardingState[], USHORT numEntries);
447 
448 /* Function: dpoe_getOamFrameRate */
449 /**
450 * @description This attribute represents the maximum rate at which OAM PDUs are transmitted on a link.
451 *
452 * Setting the Maximum OAM Frame Rate to 0 disables rate control.
453 * The Minimum OAM Frame Rate is the heartbeat rate. This is the rate at which OAM PDUs are sent
454 * between the ONU and DPoE System, using an Info PDU as a "heartbeat" if there is no other OAM activity,
455 * as per [802.3]. The heartbeat rate is specified as one heartbeat PDU per specified time interval.
456 * The time interval is specified as the value provisioned in the message x 100ms.
457 * Therefore, setting the Minimum OAM Frame Rate to 10 specifies a rate of 1 PDU per 10 x 100ms.
458 * This equals 1 PDU per 1 second. The DPoE ONU implementation maintains one instance of the OAM rate.
459 * This rate applies to all links on the ONU.
460 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
461 * <br>Context: Logical Link
462 *
463 * @param dpoe_link_oam_frame_rate_t linkOamFrameRate[] - Info of which OAM PDUs are transmitted on a link
464 * @param USHORT numEntries - Number of entries
465 *
466 * @return The status of the operation.
467 * @retval RETURN_OK if successful.
468 * @retval RETURN_ERR if any error is detected
469 */
470 INT dpoe_getOamFrameRate(dpoe_link_oam_frame_rate_t linkOamFrameRate[], USHORT numEntries);
471 
472 /* Function: dpoe_getDeviceSysDescrInfo */
473 /**
474 * @description This function will return multiple pieces of device system information.
475 *
476 * Vendor Name: This attribute represents the ONU vendor name.
477 * It can be used to populate the VENDOR field in the sysDescr
478 * MIB variable (see [DPoE-SP-OSSIv1.0]), and may or may not be the same as the ONU
479 * Manufacturer Organization Name. Format of the vendor name is vendor specific.
480 * Model Number: This attribute represents the ONU model number.
481 * It can be used to populate the MODEL field in the sysDescr MIB variable (see [DPoE-SP-OSSIv1.0]).
482 * Format of the model number is vendor specific. The D-ONU SHOULD limit the model number length to less than 32 bytes.
483 * HardwareInfo: This attribute represents the ONU hardware version.
484 * It can be used to populate the HW_REV field in the sysDescr MIB variable (see [DPoE-SP-OSSIv1.0]).
485 * Format of the hardware version information is vendor specific.
486 * The D-ONU SHOULD limit the vendor name, model number, and hardware version length to less than 32 bytes.
487 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
488 * <br>Context: ONU
489 *
490 * @param dpoe_device_sys_descr_info_t *pDeviceSysDescrInfo - Multiple pieces of device system information
491 *
492 * @return The status of the operation.
493 * @retval RETURN_OK if successful.
494 * @retval RETURN_ERR if any error is detected
495 */
497 
498 
499 /* Function: dpoe_getEponMode */
500 /**
501 * @description This attribute represents the EPON mode(s) supported by this ONU.
502 *
503 * DPoE Systems that support 2G-EPON MUST support this attribute. DPoE ONUs that support 2G-EPON MUST
504 * support this attribute. DPoE Systems that support 1G-EPON and 10G-EPON SHOULD support this attribute. DPoE
505 * ONUs that support 1G-EPON and 10G-EPON SHOULD support this attribute.
506 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification ( see spec for intepretation of return value )
507 * <br>Context: ONU
508 *
509 * @param USHORT *pMode - Return the EPON mode(s) supported by this ONU
510 *
511 * @return The status of the operation.
512 * @retval RETURN_OK if successful.
513 * @retval RETURN_ERR if any error is detected
514 */
515 INT dpoe_getEponMode(USHORT *pMode);
516 
517 /* Function: dpoe_setResetOnu */
518 /**
519 @description This attribute resets the ONU, as if from power on.
520 *
521 *<br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
522 *<br>Context: ONU
523 *
524 * @param None.
525 *
526 * @return The status of the operation.
527 * @retval RETURN_OK if successful.
528 * @retval RETURN_ERR if any error is detected
529 */
530 INT dpoe_setResetOnu(void);
531 
532 /* Function: dpoe_getDynamicMacAddressAgeLimit */
533 /**
534 * @description This attribute represents Dynamic MAC learning table age limit.
535 *
536 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
537 * <br>Context: ONU
538 *
539 * @param USHORT *pAgeLimit - Return the age limit
540 *
541 * @return The status of the operation.
542 * @retval RETURN_OK if successful.
543 * @retval RETURN_ERR if any error is detected
544 */
546 
547 /* Function: dpoe_getDynamicMacLearningTableSize */
548 /**
549 * @description This attribute is a capability attribute that represents
550 * the maximum size of the DPoE ONU MAC address learning table for the
551 * entire DPoE ONU.
552 *
553 * The total number of MAC addresses learned by the DPoE ONU cannot exceed this number.
554 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
555 * <br>Context: ONU
556 *
557 * @param USHORT *pNumEntries - Number of entries, to be returned
558 *
559 * @return The status of the operation.
560 * @retval RETURN_OK if successful.
561 * @retval RETURN_ERR if any error is detected
562 */
564 
565 /* Function: dpoe_getDynamicMacTable */
566 /**
567 * @description This attribute represents the dynamically learned MAC address rules.
568 *
569 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
570 * <br>Context: Logical Link
571 *
572 * @param dpoe_link_mac_address_t linkDynamicMacTable[] - Dynamically learned MAC address, to be returned
573 * @param USHORT numEntries - Number of entries
574 *
575 * @return The status of the operation.
576 * @retval RETURN_OK if successful.
577 * @retval RETURN_ERR if any error is detected
578 */
579 INT dpoe_getDynamicMacTable(dpoe_link_mac_address_t linkDynamicMacTable[], USHORT numEntries);
580 
581 /* Function: dpoe_getStaticMacTable */
582 /**
583 * @description This attribute represents the statically provisioned MAC address table.
584 *
585 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
586 * <br>Context: Logical Link
587 *
588 * @param dpoe_link_mac_address_t linkStaticMacTable[] - Statically provisioned MAC address tabl, to be returned
589 * @param USHORT numEntries - Number of entries
590 *
591 * @return The status of the operation.
592 * @retval RETURN_OK if successful.
593 * @retval RETURN_ERR if any error is detected
594 */
595 INT dpoe_getStaticMacTable(dpoe_link_mac_address_t linkStaticMacTable[], USHORT numEntries);
596 
597 /* Function: dpoe_getMacLearningAggregateLimit */
598 /**
599 * @description This message represents the aggregate dynamic MAC address limit
600 * for the DPoE ONU as a whole. This is the maximum number of addresses
601 * that can be learned by all ports combined.
602 *
603 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
604 * <br>Context: ONU
605 *
606 * @param USHORT *pAggregrateLimit - Aggregate dynamic MAC address limit, to be returned
607 *
608 * @return The status of the operation.
609 * @retval RETURN_OK if successful.
610 * @retval RETURN_ERR if any error is detected
611 */
612 
613 INT dpoe_getMacLearningAggregateLimit(USHORT *pAggregrateLimit);
614 
615 
616 /* Function: dpoe_getOnuLinkStatistics */
617 /**
618 * @description This function will return a list of all LLID port traffic statistics
619 * for this ONU.
620 *
621 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
622 * <br><br>
623 * Example Usage:
624 * <br>
625 * dpoe_link_traffic_stats_t *pMyLinkStats = (dpoe_link_traffic_stats_t *)malloc((sizeof (dpoe_link_traffic_stats_t)*dpoe_getMaxLogicalLinks()));
626 * <br> memset((char *)pMyLinkStats, 0x00, (sizeof(dpoe_link_traffic_stats_t)*dpoe_getMaxLogicalLinks()));
627 * <br> dpoe_getOnuLinkStatistics(pMyLinkStats, dpoe_getMaxLogicalLinks());
628 * <br>Context: Logical Link
629 *
630 * @param dpoe_link_traffic_stats_t pOnuTrafficStats - This pointer should allocate 'numEntries' times of dpoe_llid_traffic_stats_t size memory
631 * @param USHORT numEntries - Which is determined by dpoe_getMaxLogicalLinks().
632 *
633 * @return The status of the operation.
634 * @retval RETURN_OK if successful.
635 * @retval RETURN_ERR if any error is detected
636 */
637 INT dpoe_getOnuLinkStatistics(dpoe_link_traffic_stats_t onuLinkTrafficStats[], USHORT numEntries);
638 
639 /* Function: dpoe_setClearOnuLinkStatistics */
640 /**
641 * @description This function will clear all statistics for the DPoE ONU.
642 *
643 * <br>Reference: DPoE-SP-OAMv1.0-I08-140807 specification
644 * <br>Context: ONU
645 *
646 * @param None.
647 *
648 * @return The status of the operation.
649 * @retval RETURN_OK if successful.
650 * @retval RETURN_ERR if any error is detected
651 */
653 
654 /* Function: dpoe_hal_Reboot_Ready */
655 /**
656 * @description Get the Reboot Ready Status
657 *
658 * @param ULONG *pValue - Values of 1 for Ready, 2 for Not Ready
659 *
660 * @return the status of the operation.
661 * @retval RETURN_OK if successful.
662 * @retval RETURN_ERR if any error is detected
663 */
665 
666 /* Function: dpoe_hal_ReinitMac */
667 /**
668 * @description Reinit DPoE. Performs reinit MAC only to same DS/US.
669 *
670 * @param None.
671 *
672 * @return The status of the operation.
673 * @retval RETURN_OK if successful.
674 * @retval RETURN_ERR if any error is detected
675 *
676 * @execution Synchronous.
677 * @sideeffect None.
678 *
679 * @note This function must not suspend and must not invoke any blocking system
680 * calls. It should probably just send a message to a driver event handler task.
681 */
683 
684 /* Function: dpoe_GetProvIpType */
685 /*
686 * @description Retrieve the provisioned IP type.
687 *
688 * @param CHAR* pValue - ip type currently provisioned values are "IPv4", "IPv6", or "unknown"
689 
690 * @return The status of the operation.
691 * @retval RETURN_OK if successful.
692 * @retval RETURN_ERR if any error is detected
693 
694 * @execution Synchronous.
695 * @sideeffect None.
696 
697 * @note This function must not suspend and must not invoke any blocking system
698 * calls. It should probably just send a message to a driver event handler task.
699 */
700 //INT dpoe_GetProvIpType(CHAR *pValue);
701 //dpoe_If3CmMdCfgIpProvMode - return what the eRouter is using (honor mvd, ipv6, ipv4). Hardcode to IPv6
702 
703 /* Function: dpoe_hal_Get_eponResetCount */
704 /**
705 * @description Retrieve the count of epon resets
706 *
707 * @param ULONG *resetcnt - Count to be returned
708 *
709 * @return The status of the operation.
710 * @retval RETURN_OK if successful.
711 * @retval RETURN_ERR if any error is detected
712 *
713 * @execution Synchronous.
714 * @sideeffect None.
715 *
716 * @note This function must not suspend and must not invoke any blocking system
717 * calls. It should probably just send a message to a driver event handler task.
718 */
720 
721 /* Function: dpoe_hal_LocalResetCount */
722 /**
723 * @description Retrieve the count of local reset
724 *
725 * @param ULONG *resetcnt - Count to be returned
726 *
727 * @return The status of the operation.
728 * @retval RETURN_OK if successful.
729 * @retval RETURN_ERR if any error is detected
730 *
731 * @execution Synchronous.
732 * @sideeffect None.
733 *
734 * @note This function must not suspend and must not invoke any blocking system
735 * calls. It should probably just send a message to a driver event handler task.
736 */
738 
739 /* Function: dpoe_hal_Get_ErouterResetCount */
740 /**
741 * @description Retrieve the count of erouter reset
742 *
743 * @param ULONG *resetcnt - Count to be returned
744 *
745 * @return The status of the operation.
746 * @retval RETURN_OK if successful.
747 * @retval RETURN_ERR if any error is detected
748 *
749 * @execution Synchronous.
750 * @sideeffect None.
751 *
752 * @note This function must not suspend and must not invoke any blocking system
753 * calls. It should probably just send a message to a driver event handler task.
754 */
756 
757 
758 /* Function: dpoe_LlidForwardingStateGetEntryCount */
759 /**
760 * @description Retrieve the count of max logical links
761 *
762 * @param ULONG *pNumEntry - Count to be returned
763 *
764 * @return The status of the operation.
765 * @retval RETURN_OK if successful.
766 * @retval RETURN_ERR if any error is detected
767 *
768 * @execution Synchronous.
769 * @sideeffect None.
770 *
771 * @note This function must not suspend and must not invoke any blocking system
772 * calls. It should probably just send a message to a driver event handler task.
773 */
775 
776 /* Function: dpoe_OamFrameRateGetEntryCount */
777 /**
778 * @description Retrieve the count of max logical links.
779 *
780 * @param ULONG *pNumEntry - Count to be returned
781 *
782 * @return The status of the operation.
783 * @retval RETURN_OK if successful.
784 * @retval RETURN_ERR if any error is detected
785 *
786 * @execution Synchronous.
787 * @sideeffect None.
788 *
789 * @note This function must not suspend and must not invoke any blocking system
790 * calls. It should probably just send a message to a driver event handler task.
791 */
793 
794 /* Function: dpoe_OnuLinkStatisticsGetEntryCount */
795 /**
796 * @description Retrieve the count of max logical links
797 *
798 * @param ULONG *pNumEntry - Count to be returned
799 *
800 * @return The status of the operation.
801 * @retval RETURN_OK if successful.
802 * @retval RETURN_ERR if any error is detected
803 *
804 * @execution Synchronous.
805 * @sideeffect None.
806 *
807 * @note This function must not suspend and must not invoke any blocking system
808 * calls. It should probably just send a message to a driver event handler task.
809 */
811 
812 
813 #endif
814 /** #ifndef __DPOE_HAL_H__ **/
815 
816 /**
817  * @}
818  */
819 
820 
821 
822 
dpoe_traffic_stats
Definition: dpoe_hal.h:214
dpoe_traffic_stats_t
struct dpoe_traffic_stats dpoe_traffic_stats_t
dpoe_hal_Get_eponResetCount
int dpoe_hal_Get_eponResetCount(unsigned long *resetcnt)
dpoe_traffic_stats::port_RxFrame64
unsigned long long port_RxFrame64
Definition: dpoe_hal.h:219
dpoe_epon_chip_info
Definition: dpoe_hal.h:165
dpoe_traffic_stats::port_RxFrame128_255
unsigned long long port_RxFrame128_255
Definition: dpoe_hal.h:221
dpoe_firmware_info::info_bootCrc32
unsigned long info_bootCrc32
Definition: dpoe_hal.h:160
dpoe_manufacturer_date::manufacturer_DateYear
unsigned short manufacturer_DateYear
Definition: dpoe_hal.h:174
dpoe_epon_chip_info_t
struct dpoe_epon_chip_info dpoe_epon_chip_info_t
dpoe_traffic_stats::port_TxFrame256_511
unsigned long long port_TxFrame256_511
Definition: dpoe_hal.h:229
dpoe_onu_packet_buffer_capabilities::capabilities_UpQueueIncrement
unsigned char capabilities_UpQueueIncrement
Definition: dpoe_hal.h:190
dpoe_traffic_stats::port_TxUnicastFrames
unsigned long long port_TxUnicastFrames
Definition: dpoe_hal.h:217
dpoe_traffic_stats::port_OpticalMonTxPower
unsigned short port_OpticalMonTxPower
Definition: dpoe_hal.h:237
dpoe_traffic_stats::port_RxFrameTooShort
unsigned long long port_RxFrameTooShort
Definition: dpoe_hal.h:218
dpoe_device_sys_descr_info_t
struct dpoe_device_sys_descr_info dpoe_device_sys_descr_info_t
dpoe_link_encrypt_mode::link_Id
unsigned char link_Id
Definition: dpoe_hal.h:268
dpoe_traffic_stats::port_TxFrame65_127
unsigned long long port_TxFrame65_127
Definition: dpoe_hal.h:227
dpoe_traffic_stats::port_TxFrame128_255
unsigned long long port_TxFrame128_255
Definition: dpoe_hal.h:228
dpoe_link_oam_frame_rate_t
struct dpoe_link_oam_frame_rate dpoe_link_oam_frame_rate_t
dpoe_getNumberOfS1Interfaces
int dpoe_getNumberOfS1Interfaces(unsigned long *pNumS1Interfaces)
dpoe_mac_address_t
struct dpoe_mac_address dpoe_mac_address_t
dpoe_onu_max_logical_links::links_downstreamonly
unsigned short links_downstreamonly
Definition: dpoe_hal.h:210
dpoe_manufacturer
Definition: dpoe_hal.h:179
dpoe_setClearOnuLinkStatistics
int dpoe_setClearOnuLinkStatistics(void)
dpoe_link_oam_frame_rate::link_Id
unsigned char link_Id
Definition: dpoe_hal.h:255
dpoe_onu_packet_buffer_capabilities::capabilities_TotalPacketBuffer
unsigned short capabilities_TotalPacketBuffer
Definition: dpoe_hal.h:194
dpoe_getDynamicMacAddressAgeLimit
int dpoe_getDynamicMacAddressAgeLimit(unsigned short *pAgeLimit)
dpoe_link_traffic_stats::link_TrafficStats
dpoe_traffic_stats_t link_TrafficStats
Definition: dpoe_hal.h:244
dpoe_link_mac_address_t
struct dpoe_link_mac_address dpoe_link_mac_address_t
dpoe_link_forwarding_state::link_Id
unsigned char link_Id
Definition: dpoe_hal.h:249
dpoe_link_encrypt_expiry_time::link_Id
unsigned char link_Id
Definition: dpoe_hal.h:262
dpoe_getDeviceSysDescrInfo
int dpoe_getDeviceSysDescrInfo(dpoe_device_sys_descr_info_t *pDeviceSysDescrInfo)
dpoe_traffic_stats::port_TxFrame512_1023
unsigned long long port_TxFrame512_1023
Definition: dpoe_hal.h:230
dpoe_OnuLinkStatisticsGetEntryCount
int dpoe_OnuLinkStatisticsGetEntryCount(unsigned short *pNumEntry)
dpoe_onu_packet_buffer_capabilities::capabilities_UpstreamQueues
unsigned char capabilities_UpstreamQueues
Definition: dpoe_hal.h:188
dpoe_device_sys_descr_info::info_HardwareVersion
unsigned char info_HardwareVersion[32]
Definition: dpoe_hal.h:204
dpoe_traffic_stats::port_RxUnicastFrames
unsigned long long port_RxUnicastFrames
Definition: dpoe_hal.h:216
dpoe_manufacturer::manufacturer_Date
dpoe_manufacturer_date_t manufacturer_Date
Definition: dpoe_hal.h:183
dpoe_hal_ReinitMac
int dpoe_hal_ReinitMac()
dpoe_traffic_stats::port_OpticalMonTxBiasCurrent
unsigned short port_OpticalMonTxBiasCurrent
Definition: dpoe_hal.h:236
dpoe_firmware_info::info_bootVersion
unsigned short info_bootVersion
Definition: dpoe_hal.h:159
dpoe_onu_packet_buffer_capabilities::capabilities_DnPacketBuffer
unsigned short capabilities_DnPacketBuffer
Definition: dpoe_hal.h:196
dpoe_getEponChipInfo
int dpoe_getEponChipInfo(dpoe_epon_chip_info_t *pEponChipInfo)
dpoe_traffic_stats::port_TxFrame_1519_Plus
unsigned long long port_TxFrame_1519_Plus
Definition: dpoe_hal.h:232
ULONGLONG
#define ULONGLONG
Definition: dpoe_hal.h:118
dpoe_onu_packet_buffer_capabilities
Definition: dpoe_hal.h:186
dpoe_epon_chip_info::info_JedecId
unsigned short info_JedecId
Definition: dpoe_hal.h:167
dpoe_hal_Get_ErouterResetCount
int dpoe_hal_Get_ErouterResetCount(unsigned long *resetcnt)
UCHAR
#define UCHAR
Definition: dpoe_hal.h:94
dpoe_traffic_stats::port_RxFrame65_127
unsigned long long port_RxFrame65_127
Definition: dpoe_hal.h:220
dpoe_firmware_info::info_appCrc32
unsigned long info_appCrc32
Definition: dpoe_hal.h:162
dpoe_getEponMode
int dpoe_getEponMode(unsigned short *pMode)
dpoe_link_encrypt_mode_t
struct dpoe_link_encrypt_mode dpoe_link_encrypt_mode_t
dpoe_epon_chip_info::info_ChipVersion
unsigned long info_ChipVersion
Definition: dpoe_hal.h:169
dpoe_setResetOnu
int dpoe_setResetOnu(void)
dpoe_manufacturer_date
Definition: dpoe_hal.h:172
dpoe_device_sys_descr_info::info_VendorName
unsigned char info_VendorName[32]
Definition: dpoe_hal.h:202
dpoe_link_forwarding_state::link_ForwardingState
unsigned char link_ForwardingState
Definition: dpoe_hal.h:250
dpoe_OamFrameRateGetEntryCount
int dpoe_OamFrameRateGetEntryCount(unsigned short *pNumEntry)
dpoe_firmware_info::info_appVersion
unsigned short info_appVersion
Definition: dpoe_hal.h:161
dpoe_mac_address::macAddress
unsigned char macAddress[6]
Definition: dpoe_hal.h:150
dpoe_getOamFrameRate
int dpoe_getOamFrameRate(dpoe_link_oam_frame_rate_t linkOamFrameRate[], unsigned short numEntries)
dpoe_onu_packet_buffer_capabilities::capabilities_UpQueuesMaxPerLink
unsigned char capabilities_UpQueuesMaxPerLink
Definition: dpoe_hal.h:189
dpoe_firmware_info
Definition: dpoe_hal.h:157
dpoe_traffic_stats::port_RxFrame1519_Plus
unsigned long long port_RxFrame1519_Plus
Definition: dpoe_hal.h:225
dpoe_manufacturer_date_t
struct dpoe_manufacturer_date dpoe_manufacturer_date_t
dpoe_traffic_stats::port_TxFrame_1024_1518
unsigned long long port_TxFrame_1024_1518
Definition: dpoe_hal.h:231
dpoe_traffic_stats::port_BytesDropped
unsigned long long port_BytesDropped
Definition: dpoe_hal.h:234
dpoe_traffic_stats::port_RxFrame1024_1518
unsigned long long port_RxFrame1024_1518
Definition: dpoe_hal.h:224
dpoe_hal_Reboot_Ready
int dpoe_hal_Reboot_Ready(unsigned long *pValue)
dpoe_getNumberOfNetworkPorts
int dpoe_getNumberOfNetworkPorts(unsigned long *pNumPorts)
dpoe_link_oam_frame_rate::link_MinRate
unsigned char link_MinRate
Definition: dpoe_hal.h:257
ULONG
#define ULONG
Definition: dpoe_hal.h:114
dpoe_getDynamicMacTable
int dpoe_getDynamicMacTable(dpoe_link_mac_address_t linkDynamicMacTable[], unsigned short numEntries)
INT
#define INT
Definition: dpoe_hal.h:106
USHORT
#define USHORT
Definition: dpoe_hal.h:102
dpoe_getOnuId
int dpoe_getOnuId(dpoe_mac_address_t *pOnuId)
dpoe_getOnuLinkStatistics
int dpoe_getOnuLinkStatistics(dpoe_link_traffic_stats_t onuLinkTrafficStats[], unsigned short numEntries)
BOOLEAN
#define BOOLEAN
Definition: dpoe_hal.h:98
dpoe_firmware_info_t
struct dpoe_firmware_info dpoe_firmware_info_t
dpoe_manufacturer_date::manufacturer_DateMonth
unsigned char manufacturer_DateMonth
Definition: dpoe_hal.h:175
dpoe_getManufacturerInfo
int dpoe_getManufacturerInfo(dpoe_manufacturer_t *pManufacturerInfo)
dpoe_onu_packet_buffer_capabilities::capabilities_DownstreamQueues
unsigned char capabilities_DownstreamQueues
Definition: dpoe_hal.h:191
dpoe_link_encrypt_expiry_time::link_EncryptExpiryTime
unsigned short link_EncryptExpiryTime
Definition: dpoe_hal.h:263
dpoe_traffic_stats::port_FramesDropped
unsigned long long port_FramesDropped
Definition: dpoe_hal.h:233
dpoe_onu_max_logical_links::links_bidirectional
unsigned short links_bidirectional
Definition: dpoe_hal.h:209
dpoe_getMacLearningAggregateLimit
int dpoe_getMacLearningAggregateLimit(unsigned short *pAggregrateLimit)
dpoe_onu_packet_buffer_capabilities_t
struct dpoe_onu_packet_buffer_capabilities dpoe_onu_packet_buffer_capabilities_t
dpoe_link_forwarding_state_t
struct dpoe_link_forwarding_state dpoe_link_forwarding_state_t
dpoe_onu_packet_buffer_capabilities::capabilities_DnQueuesMaxPerPort
unsigned char capabilities_DnQueuesMaxPerPort
Definition: dpoe_hal.h:192
dpoe_traffic_stats::port_RxFrame512_1023
unsigned long long port_RxFrame512_1023
Definition: dpoe_hal.h:223
dpoe_hal_LocalResetCount
int dpoe_hal_LocalResetCount(unsigned long *resetcnt)
dpoe_onu_max_logical_links_t
struct dpoe_onu_max_logical_links dpoe_onu_max_logical_links_t
dpoe_manufacturer::manufacturer_OrganizationName
unsigned char manufacturer_OrganizationName[255]
Definition: dpoe_hal.h:182
dpoe_traffic_stats::port_RxFrame256_511
unsigned long long port_RxFrame256_511
Definition: dpoe_hal.h:222
dpoe_manufacturer_date::manufacturer_DateDay
unsigned char manufacturer_DateDay
Definition: dpoe_hal.h:176
dpoe_link_encrypt_expiry_time_t
struct dpoe_link_encrypt_expiry_time dpoe_link_encrypt_expiry_time_t
dpoe_manufacturer_t
struct dpoe_manufacturer dpoe_manufacturer_t
dpoe_traffic_stats::port_OpticalMonVcc
unsigned short port_OpticalMonVcc
Definition: dpoe_hal.h:235
dpoe_getOnuPacketBufferCapabilities
int dpoe_getOnuPacketBufferCapabilities(dpoe_onu_packet_buffer_capabilities_t *pCapabilities)
dpoe_traffic_stats::port_TxFrame64
unsigned long long port_TxFrame64
Definition: dpoe_hal.h:226
dpoe_getMaxLogicalLinks
unsigned short dpoe_getMaxLogicalLinks(dpoe_onu_max_logical_links_t *pMaxLogicalLinks)
dpoe_onu_packet_buffer_capabilities::capabilities_UpPacketBuffer
unsigned short capabilities_UpPacketBuffer
Definition: dpoe_hal.h:195
dpoe_device_sys_descr_info
Definition: dpoe_hal.h:200
dpoe_getDynamicMacLearningTableSize
int dpoe_getDynamicMacLearningTableSize(unsigned short *pNumEntries)
dpoe_manufacturer::manufacturer_Info
unsigned char manufacturer_Info[255]
Definition: dpoe_hal.h:181
dpoe_LlidForwardingStateGetEntryCount
int dpoe_LlidForwardingStateGetEntryCount(unsigned short *pNumEntry)
dpoe_getFirmwareInfo
int dpoe_getFirmwareInfo(dpoe_firmware_info_t *pFirmwareInfo)
dpoe_device_sys_descr_info::info_ModelNumber
unsigned char info_ModelNumber[32]
Definition: dpoe_hal.h:203
dpoe_traffic_stats::port_OpticalMonRxPower
unsigned short port_OpticalMonRxPower
Definition: dpoe_hal.h:238
dpoe_mac_address
Definition: dpoe_hal.h:146
dpoe_link_oam_frame_rate::link_MaxRate
unsigned char link_MaxRate
Definition: dpoe_hal.h:256
dpoe_link_mac_address::numEntries
unsigned short numEntries
Definition: dpoe_hal.h:153
dpoe_link_mac_address::pMacAddress
dpoe_mac_address_t * pMacAddress
Definition: dpoe_hal.h:154
dpoe_link_traffic_stats_t
struct dpoe_link_traffic_stats dpoe_link_traffic_stats_t
dpoe_epon_chip_info::info_ChipModel
unsigned long info_ChipModel
Definition: dpoe_hal.h:168
dpoe_onu_packet_buffer_capabilities::capabilities_DnQueueIncrement
unsigned char capabilities_DnQueueIncrement
Definition: dpoe_hal.h:193
dpoe_getStaticMacTable
int dpoe_getStaticMacTable(dpoe_link_mac_address_t linkStaticMacTable[], unsigned short numEntries)
dpoe_link_encrypt_mode::link_EncryptMode
unsigned char link_EncryptMode
Definition: dpoe_hal.h:269
dpoe_link_traffic_stats::link_Id
unsigned char link_Id
Definition: dpoe_hal.h:243
dpoe_getLlidForwardingState
int dpoe_getLlidForwardingState(dpoe_link_forwarding_state_t linkForwardingState[], unsigned short numEntries)