RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
EPON (Ethernet Passive Optical Network) uses a passive optical network. DPoE (Data Over Cable Service Interface Specification (DOCSIS) Provisioning of Ethernet Passive Optical Network) specifications implement the DOCSIS service layer interface on existing Ethernet PON. EPON Agent component provides an abstraction layer known as DPoE Hardware Abstraction Layer.
Access Layer
Data Model Management Layer
EPON Agent HAL Integration (backend) Layer, a.k.a, component-specific HAL
EPON Agent objects in its DML layer:
Device.DPoE. Device.DPoE.DPoE_FirmwareInfo. Device.DPoE.DPoE_ChipInfo. Device.DPoE.DPoE_ManufacturerInfo. Device.DPoE.DPoE_DeviceSysDescrInfo. Device.DPoE.DPoE_OnuPacketBufferCapabilities. Device.DPoE.DPoE_LlidForwardingState. Device.DPoE.DPoE_OamFrameRate. Device.DPoE.DPoE_DynamicMacTable. Device.DPoE.DPoE_StaticMacTable. Device.DPoE.DPoE_OnuLinkStatistics.
This HAL layer is intended to support DPoE drivers through an open API based on the DOCSIS Provisioning of EPON Specifications.
dpoe_hal.h file provides the function call prototypes and structure definitions used for the RDK-Broadband DPoE hardware abstraction layer.
dpoe_hal.h will be available in the CMF repo path ./rdkb/components/opensource/ccsp/halinterface/
Some of the DPoE Subsystem level function prototypes are listed below:
Function | Description |
dpoe_getOnuId | The ONU ID is a non-volatile number that uniquely identifies a physical DPoE ONU. All logical links on a DPoE ONU report the same DPoE ONU ID, despite having different link MAC addresses. This function is called to fetch the DPoE parameter: Device.DPoE.Mac_address |
dpoe_getFirmwareInfo | The DPoE ONU firmware version number uniquely identifies a particular version of the ONU firmware. Format is defined by the ONU vendor. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_FirmwareInfo.bootVersion |
dpoe_getManufacturerInfo | This function will return information corresponding to multiple OAM messages. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_ManufacturerInfo.info |
dpoe_getMaxLogicalLinks | The maximum number of logical links the ONU supports on the EPON. |
dpoe_getNumberOfNetworkPorts | This attribute provides the total number of TU interface ports on the ONU. This function is called to fetch the DPoE parameter: Device.DPoE.NumberOfNetworkPorts |
dpoe_getNumberOfS1Interfaces | This attribute provides the number of S1 interfaces on the DPoE ONU. This function is called to fetch the DPoE parameter: Device.DPoE.NumberOfS1Interfaces |
dpoe_getOnuPacketBufferCapabilities | This message provides a means for the DPoE ONU to convey information about packet buffer capabilities to the DPoE System. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_OnuPacketBufferCapabilities.upstreamQueues |
dpoe_getLlidForwardingState | This attribute represents the current traffic state for an LLID. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_LlidForwardingState.link |
dpoe_getOamFrameRate | This attribute represents the maximum rate at which OAM PDUs are transmitted on a link. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_OamFrameRate.link |
dpoe_getDeviceSysDescrInfo | This function will return multiple pieces of device system information: Vendor Name, Model Number, HardwareInfo. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_DeviceSysDescrInfo.vendorName |
dpoe_setResetOnu | This attribute resets the ONU, as if from power on. This function is called to fetch the DPoE parameter: Device.DPoE.ResetOnu |
dpoe_getDynamicMacAddressAgeLimit | This attribute represents Dynamic MAC learning table age limit. This function is called to fetch the DPoE parameter: Device.DPoE.DynamicMacAddressAgeLimit |
dpoe_getDynamicMacLearningTableSize | This attribute is a capability attribute that represents the maximum size of the DPoE ONU MAC address learning table for the entire DPoE ONU. This function is called to fetch the DPoE parameter: Device.DPoE.DynamicMacLearningTableSize |
dpoe_getDynamicMacTable | This attribute represents the dynamically learned MAC address rules. This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_DynamicMacTable.link |
dpoe_getStaticMacTable | This attribute represents the statically provisioned MAC address table This function is called to fetch the DPoE parameters listed below: Device.DPoE.DPoE_StaticMacTable.link |
dpoe_getMacLearningAggregateLimit | This message represents the aggregate dynamic MAC address limitfor the DPoE ONU as a whole. This is the maximum number of addresses that can be learned by all ports combined. This function is called to fetch the DPoE parameter: Device.DPoE.MacLearningAggregateLimit |
dpoe_setClearOnuLinkStatistics | This function will clear all statistics for the DPoE ONU. This function is called to fetch the DPoE parameter: Device.DPoE.ClearOnuLinkStatistics |