Functions | |
| void | EIP_DLR_init (EIP_DLRHandle dlrHandle) |
| API to initialize the DLR driver. More... | |
| void | EIP_DLR_deinit (EIP_DLRHandle dlrHandle) |
| API to de-initialize the DLR driver. More... | |
| void | EIP_DLR_start (EIP_DLRHandle dlrHandle) |
| API to start the DLR driver Calling this enables DLR on the device. More... | |
| void | EIP_DLR_stop (EIP_DLRHandle dlrHandle) |
| API to stop the DLR driver Halt DLR. Calling this disables DLR on the device. More... | |
| void | EIP_DLR_port0ISR (uintptr_t arg) |
| Fast ISR for Port 0, bypasses the buffer copy and NDK. More... | |
| void | EIP_DLR_port1ISR (uintptr_t arg) |
| Fast ISR for Port 1, bypasses the buffer copy and NDK. More... | |
| void | EIP_DLR_beaconTimeoutISR_P0 (uintptr_t arg) |
| ISR for beacon timeout for Port 0. More... | |
| void | EIP_DLR_beaconTimeoutISR_P1 (uintptr_t arg) |
| ISR for beacon timeout for Port 1. More... | |
| void | EIP_DLR_port0ProcessLinkBrk (uint8_t linkStatus, void *arg2) |
| Process DLR state machine in the event of a link break on Port0. More... | |
| void | EIP_DLR_port1ProcessLinkBrk (uint8_t linkStatus, void *arg2) |
| Process DLR state machine in the event of a link break on Port1. More... | |
| void | EIP_DLR_neighborTimeoutISR0 (ClockP_Object *obj, void *arg) |
| ISR for Neighbor timeout timer for port 0. More... | |
| void | EIP_DLR_neighborTimeoutISR1 (ClockP_Object *obj, void *arg) |
| ISR for Neighbor timeout timer for port 1. More... | |
| void | EIP_DLR_addVlanID (uint8_t *src, uint16_t vlanID) |
| void | EIP_DLR_genNCReqFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t sourcePort) |
| void | EIP_DLR_genNCResFrame (uint8_t *src, uint8_t sourcePort, uint8_t reqSrcPort, uint32_t sequenceId) |
| void | EIP_DLR_genNeighborLinkStatFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t sourcePort, uint8_t linkOrNeighbor, uint8_t linkStatus) |
| void | EIP_DLR_initDLRFrameHeader (uint8_t *src, uint8_t *header) |
| void | EIP_DLR_addSignOnNumNodes (uint8_t *src, uint16_t numNodes) |
| void | EIP_DLR_processDLRFrame (EIP_DLRHandle dlrHandle, uint8_t *pktBuffer, uint8_t portNum, uint16_t size) |
| Processes a sign on and Neighbor check request frame. More... | |
| void | EIP_DLR_dRAMInit (EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_resetStateMachine (EIP_DLRHandle dlrHandle) |
| Initialize the state machine when it goes back to idle state. More... | |
| void | EIP_DLR_setDefaultValue (EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_switchToFault (EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_switchToNormal (EIP_DLRHandle dlrHandle) |
| int32_t | EIP_DLR_isrInit (EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_periodicProcessing (ClockP_Object *obj, void *userArg) |
| void | EIP_DLR_addToExceptionList (EIP_DLRHandle dlrHandle, uint8_t *macId) |
| void | EIP_DLR_clearExceptionList (EIP_DLRHandle dlrHandle) |
| uint8_t | EIP_DLR_checkSupervisorException (uint8_t *macId, EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_setDividerIEPWatchdog (EIP_DLRHandle dlrHandle) |
| Sets the clock divider to 1us for IEP watch dog timers. More... | |
| void | EIP_DLR_enableIEPWatchdog (EIP_DLRHandle dlrHandle, uint8_t id) |
| Enable the IEP Watch dog timers. More... | |
| void | EIP_DLR_disableIEPWatchdog (EIP_DLRHandle dlrHandle, uint8_t id) |
| Disable the IEP Watch dog timers. More... | |
| void | EIP_DLR_setTimeoutIEPWatchdog (EIP_DLRHandle dlrHandle, uint16_t periodInMicroSec, uint8_t id) |
| Set the timeout value in watchdog. More... | |
| void | EIP_DLR_setPDIWatchdogTriggerMode (EIP_DLRHandle dlrHandle, uint32_t mode) |
| Set the PDI WD trigger mode. More... | |
| EIP_DLR_portLinkStatus | EIP_DLR_checkOtherPortLinkStatus (EIP_DLRHandle dlrHandle, uint8_t currentPort) |
| Checks the link status of the port opposite to the current port. More... | |
| int32_t | EIP_DLR_isSelfSupervisorCapable () |
| API to check whether the DLR Supervisor capability is supported by the EIP FWHAL Library. More... | |
| void | EIP_DLR_startBeaconIntervalTimer (EIP_DLRHandle dlrHandle, uint32_t beaconInterval) |
| API to start the beacon interval timer. More... | |
| void | EIP_DLR_configureSupervisorStatus (EIP_DLRHandle dlrHandle) |
| void | EIP_DLR_copyBeaconToDMEM (EIP_DLRHandle dlrHandle, uint8_t *port0BeaconFrame, uint8_t *port1BeaconFrame) |
| API to copy the Beacon Frames into ICSS DMEM for easy firmware access. More... | |
| void | EIP_DLR_copySupervisorConfig (EIP_DLRHandle dlrHandle) |
| API to copy the DLR Supervisor values into ICSS SMEM for easy firmware access. More... | |
| void | EIP_DLR_configureSupFrames (EIP_DLRHandle dlrHandle) |
| API to configure the frames that need to be sent out by the supervisor. More... | |
| void | EIP_DLR_configSupervisor (EIP_DLRHandle dlrHandle) |
| API to configure the DLR Supervisor Capability Calling this can enable/disable DLR Supervisor. More... | |
| int32_t | EIP_DLR_beaconTimeoutSupProcessing (EIP_DLRHandle dlrHandle, uint8_t portNum, uint8_t priorNodeState) |
| Handle beacon timeout related processing as a DLR Supervisor. More... | |
| void | EIP_DLR_transitionToNormalStateSupProcessing (EIP_DLRHandle dlrHandle, uint8_t portNum) |
| Process state change related handling as a DLR Supervisor. More... | |
| int32_t | EIP_DLR_processPort0SupLinkBrk (EIP_DLRHandle dlrHandle) |
| Perform Supervisor related processing of DLR state machine in the event of a link break on Port0. More... | |
| int32_t | EIP_DLR_processPort1SupLinkBrk (EIP_DLRHandle dlrHandle) |
| Perform Supervisor related processing of DLR state machine in the event of a link break on Port1. More... | |
| void | EIP_DLR_transmitSignOnFrame (ClockP_Object *obj, void *userArg) |
| ISR for Sign-on timer timeout. More... | |
| void | EIP_DLR_transmitAnnounce (ClockP_Object *obj, void *userArg) |
| ISR for Announce timer timeout. More... | |
| void | EIP_DLR_genSignOnFrame (EIP_DLRHandle dlrHandle, uint8_t *src) |
| void | EIP_DLR_genAnnounceFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t ringState) |
| void | EIP_DLR_genLocateFaultFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t sourcePort) |
| int32_t | EIP_DLR_processSignOnFrameAsSupervisor (EIP_DLRHandle dlrHandle, uint8_t *pktBuffer, uint16_t size) |
| Processes a sign on frame as the DLR Supervisor. More... | |
| void | EIP_DLR_processLinkNeighborStatusFrameSup (EIP_DLRHandle dlrHandle, uint8_t *pktBuffer, uint8_t portNum, uint16_t size) |
| Processes a Link Status/Neighbor Status frame as the DLR Supervisor. More... | |
| void | EIP_DLR_addModuleIPAddress (EIP_DLRHandle dlrHandle, uint32_t newIP) |
| int32_t | EIP_DLR_handleVerifyFaultLocationReq (EIP_DLRHandle dlrHandle) |
| API to handle a Verify_Fault_Location service request. More... | |
| void | EIP_DLR_transitionToBackupSupervisor (EIP_DLRHandle dlrHandle) |
| API to transition from the active ring supervisor to a backup supervisor. More... | |
| int32_t | EIP_DLR_serviceRingSupConfigSetRequest (EIP_DLRHandle dlrHandle, superConfig *supCfg) |
| Sets DLR supervisor configuration parameters. More... | |
| int32_t | EIP_DLR_resetRingFaultsSincePowerUp (EIP_DLRHandle dlrHandle) |
| Resets the count of ring faults since power-up. More... | |
| int32_t | EIP_DLR_serviceRestartSignOnReq (EIP_DLRHandle dlrHandle) |
| Services a DLR Sign-On restart request from a DLR supervisor node. More... | |
| int32_t | EIP_DLR_serviceClearRapidFaultsReq (EIP_DLRHandle dlrHandle) |
| Services a request to clear rapid fault detection state and reset supervisor. More... | |
| void | EIP_DLR_announceSuppressionTimeoutHandler (EIP_DLRHandle dlrHandle) |
| Handles timeout of announce suppression period for DLR supervisor configuration changes. More... | |
| int32_t | EIP_DLR_startAnnounceSuppressionTimer (EIP_DLRHandle dlrHandle, uint32_t beaconTimeout) |
| Configures and starts the DLR announce suppression timer. More... | |
| void | EIP_DLR_initRapidFaultTracker (EIP_DLRHandle dlrHandle) |
| Initialize the Rapid faults tracker. More... | |
| void | EIP_DLR_processTickRapidFaultTracker (ClockP_Object *obj, void *userArg) |
| Process one second tick for fault tracking. More... | |
| void | EIP_DLR_rapidFaultsDetected (EIP_DLRHandle dlrHandle) |
| API to handle Rapid Fault-Restore cycles. More... | |
| void | EIP_DLR_addRapidFault (EIP_DLRHandle dlrHandle) |
| Adds a new rapid fault occurrence. More... | |
| void | EIP_DLR_copySelfSupervisorConfig (EIP_DLRHandle dlrHandle, supervisorStatusCopyType copyType) |
| Copy to or from the Self Supervisor Configuration. More... | |
| void | EIP_DLR_clearRingProtocolParticipantTable (EIP_DLRHandle dlrHandle) |
| Clear ring protocol participants table. More... | |
| void | EIP_DLR_backupSupCopyActiveRingSupParams (EIP_DLRHandle dlrHandle) |
| Copy active ring supervisor parameters as a backup supervisor. More... | |
| int32_t | EIP_DLR_checkForActiveSupTransition (EIP_DLRHandle dlrHandle, superConfig *supCfg) |
| Check if the device can transition from a backup ring supervisor to the active ring supervisor. More... | |
| void | EIP_DLR_stopBeaconIntervalTimer (EIP_DLRHandle dlrHandle) |
| Stop the beacon interval timer - also stops the beacon frame transmission. More... | |
| void EIP_DLR_init | ( | EIP_DLRHandle | dlrHandle | ) |
API to initialize the DLR driver.
Initializes variables and timers & clocks, call once at the beginning
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_deinit | ( | EIP_DLRHandle | dlrHandle | ) |
API to de-initialize the DLR driver.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_start | ( | EIP_DLRHandle | dlrHandle | ) |
API to start the DLR driver Calling this enables DLR on the device.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_stop | ( | EIP_DLRHandle | dlrHandle | ) |
API to stop the DLR driver Halt DLR. Calling this disables DLR on the device.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_port0ISR | ( | uintptr_t | arg | ) |
Fast ISR for Port 0, bypasses the buffer copy and NDK.
| arg | [in] user argument. DLR handle |
| void EIP_DLR_port1ISR | ( | uintptr_t | arg | ) |
Fast ISR for Port 1, bypasses the buffer copy and NDK.
| arg | [in] user argument. DLR handle |
| void EIP_DLR_beaconTimeoutISR_P0 | ( | uintptr_t | arg | ) |
ISR for beacon timeout for Port 0.
| arg | [in] user argument. DLR handle |
| void EIP_DLR_beaconTimeoutISR_P1 | ( | uintptr_t | arg | ) |
ISR for beacon timeout for Port 1.
| arg | [in] user argument. DLR handle |
| void EIP_DLR_port0ProcessLinkBrk | ( | uint8_t | linkStatus, |
| void * | arg2 | ||
| ) |
Process DLR state machine in the event of a link break on Port0.
| linkStatus | [in] link status of the port. Up/Down. 1/0 |
| arg2 | [in] argument DLR handle |
| void EIP_DLR_port1ProcessLinkBrk | ( | uint8_t | linkStatus, |
| void * | arg2 | ||
| ) |
Process DLR state machine in the event of a link break on Port1.
| linkStatus | [in] link status of the port. Up/Down. 1/0 |
| arg2 | [in] argument DLR handle |
| void EIP_DLR_neighborTimeoutISR0 | ( | ClockP_Object * | obj, |
| void * | arg | ||
| ) |
ISR for Neighbor timeout timer for port 0.
| obj | [in] Clock object associated with this callback |
| arg | [in] user argument. DLR handle |
| void EIP_DLR_neighborTimeoutISR1 | ( | ClockP_Object * | obj, |
| void * | arg | ||
| ) |
ISR for Neighbor timeout timer for port 1.
| obj | [in] Clock object associated with this callback |
| arg | [in] user argument. DLR handle |
| void EIP_DLR_addVlanID | ( | uint8_t * | src, |
| uint16_t | vlanID | ||
| ) |
| void EIP_DLR_genNCReqFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | src, | ||
| uint8_t | sourcePort | ||
| ) |
| void EIP_DLR_genNCResFrame | ( | uint8_t * | src, |
| uint8_t | sourcePort, | ||
| uint8_t | reqSrcPort, | ||
| uint32_t | sequenceId | ||
| ) |
| void EIP_DLR_genNeighborLinkStatFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | src, | ||
| uint8_t | sourcePort, | ||
| uint8_t | linkOrNeighbor, | ||
| uint8_t | linkStatus | ||
| ) |
| void EIP_DLR_initDLRFrameHeader | ( | uint8_t * | src, |
| uint8_t * | header | ||
| ) |
| void EIP_DLR_addSignOnNumNodes | ( | uint8_t * | src, |
| uint16_t | numNodes | ||
| ) |
| void EIP_DLR_processDLRFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | pktBuffer, | ||
| uint8_t | portNum, | ||
| uint16_t | size | ||
| ) |
Processes a sign on and Neighbor check request frame.
In case of sign on frames, if size of packet is greater than \ref DLR_SIGNON_FRAME_SIZE then the frame is sent directly to host. Therefore the 'size' argument must be the size of the incoming frame, because it is used as the size of the outgoing frame, only if the frame already has maximum size and is sent unchanged but directed to the supervisor. Also, 'pktBuffer' passed to the function must provide 'size'+10 bytes space so that the own MAC and IP addresses can be added.
| dlrHandle | [in] DLR handle |
| pktBuffer | [in] pointer to bytestream |
| portNum | [in] Port number wherer the packet arrived |
| size | [in] size of packet |
| void EIP_DLR_dRAMInit | ( | EIP_DLRHandle | dlrHandle | ) |
| void EIP_DLR_resetStateMachine | ( | EIP_DLRHandle | dlrHandle | ) |
Initialize the state machine when it goes back to idle state.
| dlrHandle | [in] DLR handle |
| void EIP_DLR_setDefaultValue | ( | EIP_DLRHandle | dlrHandle | ) |
| void EIP_DLR_switchToFault | ( | EIP_DLRHandle | dlrHandle | ) |
| void EIP_DLR_switchToNormal | ( | EIP_DLRHandle | dlrHandle | ) |
| int32_t EIP_DLR_isrInit | ( | EIP_DLRHandle | dlrHandle | ) |
| void EIP_DLR_periodicProcessing | ( | ClockP_Object * | obj, |
| void * | userArg | ||
| ) |
| void EIP_DLR_addToExceptionList | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | macId | ||
| ) |
| void EIP_DLR_clearExceptionList | ( | EIP_DLRHandle | dlrHandle | ) |
| uint8_t EIP_DLR_checkSupervisorException | ( | uint8_t * | macId, |
| EIP_DLRHandle | dlrHandle | ||
| ) |
| void EIP_DLR_setDividerIEPWatchdog | ( | EIP_DLRHandle | dlrHandle | ) |
Sets the clock divider to 1us for IEP watch dog timers.
| dlrHandle | [in] DLR handle |
| void EIP_DLR_enableIEPWatchdog | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t | id | ||
| ) |
Enable the IEP Watch dog timers.
| dlrHandle | [in] DLR handle |
| id | [in] 0/1 for WD_PD and WD_PDI respectively |
| void EIP_DLR_disableIEPWatchdog | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t | id | ||
| ) |
Disable the IEP Watch dog timers.
| dlrHandle | [in] DLR handle |
| id | [in] 0/1 for WD_PD/WD_PDI respectively |
| void EIP_DLR_setTimeoutIEPWatchdog | ( | EIP_DLRHandle | dlrHandle, |
| uint16_t | periodInMicroSec, | ||
| uint8_t | id | ||
| ) |
Set the timeout value in watchdog.
| dlrHandle | [in] DLR handle |
| periodInMicroSec | [in] Timeout value in microseconds |
| id | [in] watch dog ID |
| void EIP_DLR_setPDIWatchdogTriggerMode | ( | EIP_DLRHandle | dlrHandle, |
| uint32_t | mode | ||
| ) |
Set the PDI WD trigger mode.
| dlrHandle | [in] DLR handle |
| mode | [in] mode to be set in DGIO ctrl reg |
| EIP_DLR_portLinkStatus EIP_DLR_checkOtherPortLinkStatus | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t | currentPort | ||
| ) |
Checks the link status of the port opposite to the current port.
This function determines which port to check based on the current port, then queries the MDIO interface to get the physical link status of the other port. This is typically used in DLR (Device Level Ring) topology to verify connectivity status.
| [in] | dlrHandle | Handle to the DLR driver instance |
| [in] | currentPort | Current port number being processed (ICSS_EMAC_PORT_1 or ICSS_EMAC_PORT_2) |
| PORT_LINK_UP | The other port's link is active |
| PORT_LINK_DOWN | The other port's link is inactive |
| int32_t EIP_DLR_isSelfSupervisorCapable | ( | ) |
API to check whether the DLR Supervisor capability is supported by the EIP FWHAL Library.
| void EIP_DLR_startBeaconIntervalTimer | ( | EIP_DLRHandle | dlrHandle, |
| uint32_t | beaconInterval | ||
| ) |
API to start the beacon interval timer.
| dlrHandle | [in] DLR driver handle |
| beaconInterval | [in] Beacon interval value |
| void EIP_DLR_configureSupervisorStatus | ( | EIP_DLRHandle | dlrHandle | ) |
| void EIP_DLR_copyBeaconToDMEM | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | port0BeaconFrame, | ||
| uint8_t * | port1BeaconFrame | ||
| ) |
API to copy the Beacon Frames into ICSS DMEM for easy firmware access.
| dlrHandle | [in] DLR driver handle |
| port0BeaconFrame | [in] Port 0 beacon frame pointer |
| port1BeaconFrame | [in] Port 1 beacon frame pointer |
| void EIP_DLR_copySupervisorConfig | ( | EIP_DLRHandle | dlrHandle | ) |
API to copy the DLR Supervisor values into ICSS SMEM for easy firmware access.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_configureSupFrames | ( | EIP_DLRHandle | dlrHandle | ) |
API to configure the frames that need to be sent out by the supervisor.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_configSupervisor | ( | EIP_DLRHandle | dlrHandle | ) |
API to configure the DLR Supervisor Capability Calling this can enable/disable DLR Supervisor.
| dlrHandle | [in] DLR driver handle |
| int32_t EIP_DLR_beaconTimeoutSupProcessing | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t | portNum, | ||
| uint8_t | priorNodeState | ||
| ) |
Handle beacon timeout related processing as a DLR Supervisor.
| dlrHandle | [in] DLR handle |
| portNum | [in] Port number wherer the packet arrived |
| priorNodeState | [in] The State of the node during beacon timeout |
| SystemP_SUCCESS | in case Supervisor related processing has been done successfully |
| SystemP_FAILURE | in case Supervisor related processing has not been done |
| void EIP_DLR_transitionToNormalStateSupProcessing | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t | portNum | ||
| ) |
Process state change related handling as a DLR Supervisor.
| dlrHandle | [in] DLR handle |
| portNum | [in] Port number wherer the packet arrived |
| int32_t EIP_DLR_processPort0SupLinkBrk | ( | EIP_DLRHandle | dlrHandle | ) |
Perform Supervisor related processing of DLR state machine in the event of a link break on Port0.
| dlrHandle | [in] DLR handle |
| SystemP_SUCCESS | in case Supervisor related processing has been done successfully |
| SystemP_FAILURE | in case Supervisor related processing has not been done |
| int32_t EIP_DLR_processPort1SupLinkBrk | ( | EIP_DLRHandle | dlrHandle | ) |
Perform Supervisor related processing of DLR state machine in the event of a link break on Port1.
| dlrHandle | [in] DLR handle |
| SystemP_SUCCESS | in case Supervisor related processing has been done successfully |
| SystemP_FAILURE | in case Supervisor related processing has not been done |
| void EIP_DLR_transmitSignOnFrame | ( | ClockP_Object * | obj, |
| void * | userArg | ||
| ) |
ISR for Sign-on timer timeout.
| obj | [in] Clock object associated with this callback |
| userArg | [in] user argument. DLR handle |
| void EIP_DLR_transmitAnnounce | ( | ClockP_Object * | obj, |
| void * | userArg | ||
| ) |
ISR for Announce timer timeout.
| obj | [in] Clock object associated with this callback |
| userArg | [in] user argument. DLR handle |
| void EIP_DLR_genSignOnFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | src | ||
| ) |
| void EIP_DLR_genAnnounceFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | src, | ||
| uint8_t | ringState | ||
| ) |
| void EIP_DLR_genLocateFaultFrame | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | src, | ||
| uint8_t | sourcePort | ||
| ) |
| int32_t EIP_DLR_processSignOnFrameAsSupervisor | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | pktBuffer, | ||
| uint16_t | size | ||
| ) |
Processes a sign on frame as the DLR Supervisor.
| dlrHandle | [in] DLR handle |
| pktBuffer | [in] pointer to bytestream |
| size | [in] size of packet |
| SystemP_SUCCESS | in case Supervisor related processing has been done successfully |
| SystemP_FAILURE | in case Supervisor related processing has not been done |
| void EIP_DLR_processLinkNeighborStatusFrameSup | ( | EIP_DLRHandle | dlrHandle, |
| uint8_t * | pktBuffer, | ||
| uint8_t | portNum, | ||
| uint16_t | size | ||
| ) |
Processes a Link Status/Neighbor Status frame as the DLR Supervisor.
| dlrHandle | [in] DLR handle |
| pktBuffer | [in] pointer to bytestream |
| portNum | [in] Port number where the packet arrived |
| size | [in] size of packet |
| void EIP_DLR_addModuleIPAddress | ( | EIP_DLRHandle | dlrHandle, |
| uint32_t | newIP | ||
| ) |
| int32_t EIP_DLR_handleVerifyFaultLocationReq | ( | EIP_DLRHandle | dlrHandle | ) |
API to handle a Verify_Fault_Location service request.
| dlrHandle | [in] DLR driver handle |
| void EIP_DLR_transitionToBackupSupervisor | ( | EIP_DLRHandle | dlrHandle | ) |
API to transition from the active ring supervisor to a backup supervisor.
| dlrHandle | [in] DLR driver handle |
| int32_t EIP_DLR_serviceRingSupConfigSetRequest | ( | EIP_DLRHandle | dlrHandle, |
| superConfig * | supCfg | ||
| ) |
Sets DLR supervisor configuration parameters.
This function:
| [in] | dlrHandle | Handle to DLR instance |
| [in] | supCfg | Supervisor configuration parameters |
| int32_t EIP_DLR_resetRingFaultsSincePowerUp | ( | EIP_DLRHandle | dlrHandle | ) |
Resets the count of ring faults since power-up.
This function:
| [in] | dlrHandle | Pointer to DLR instance handle |
| int32_t EIP_DLR_serviceRestartSignOnReq | ( | EIP_DLRHandle | dlrHandle | ) |
Services a DLR Sign-On restart request from a DLR supervisor node.
This function:
| [in] | dlrHandle | Handle to DLR instance |
| int32_t EIP_DLR_serviceClearRapidFaultsReq | ( | EIP_DLRHandle | dlrHandle | ) |
Services a request to clear rapid fault detection state and reset supervisor.
This function handles clearing of rapid fault detection state when excessive ring faults are detected within a short time window. It:
| [in] | dlrHandle | Handle to DLR instance |
| void EIP_DLR_announceSuppressionTimeoutHandler | ( | EIP_DLRHandle | dlrHandle | ) |
Handles timeout of announce suppression period for DLR supervisor configuration changes.
This function manages the transition after an announce suppression period expires:
This handler is typically called after a 2x beacon timeout period when changing supervisor configuration parameters to ensure smooth transition of timing-critical parameters.
| [in] | dlrHandle | Handle to DLR instance |
| int32_t EIP_DLR_startAnnounceSuppressionTimer | ( | EIP_DLRHandle | dlrHandle, |
| uint32_t | beaconTimeout | ||
| ) |
Configures and starts the DLR announce suppression timer.
This function:
| [in] | dlrHandle | Pointer to DLR instance handle |
| [in] | beaconTimeout | Beacon timeout value in microseconds |
| void EIP_DLR_initRapidFaultTracker | ( | EIP_DLRHandle | dlrHandle | ) |
Initialize the Rapid faults tracker.
| [in] | dlrHandle | Pointer to DLR instance handle |
| void EIP_DLR_processTickRapidFaultTracker | ( | ClockP_Object * | obj, |
| void * | userArg | ||
| ) |
Process one second tick for fault tracking.
| obj | [in] Clock object associated with this callback |
| userArg | [in] user argument. DLR handle |
| void EIP_DLR_rapidFaultsDetected | ( | EIP_DLRHandle | dlrHandle | ) |
API to handle Rapid Fault-Restore cycles.
| [in] | dlrHandle | Pointer to DLR instance handle |
| void EIP_DLR_addRapidFault | ( | EIP_DLRHandle | dlrHandle | ) |
Adds a new rapid fault occurrence.
| [in] | dlrHandle | Pointer to DLR instance handle |
| void EIP_DLR_copySelfSupervisorConfig | ( | EIP_DLRHandle | dlrHandle, |
| supervisorStatusCopyType | copyType | ||
| ) |
Copy to or from the Self Supervisor Configuration.
| [in] | dlrHandle | Pointer to DLR instance handle |
| [in] | copyType | Copy type defining whether there is a need to copy to or from the self config |
| void EIP_DLR_clearRingProtocolParticipantTable | ( | EIP_DLRHandle | dlrHandle | ) |
Clear ring protocol participants table.
| [in] | dlrHandle | Pointer to DLR instance handle |
| void EIP_DLR_backupSupCopyActiveRingSupParams | ( | EIP_DLRHandle | dlrHandle | ) |
Copy active ring supervisor parameters as a backup supervisor.
| [in] | dlrHandle | Pointer to DLR instance handle |
| int32_t EIP_DLR_checkForActiveSupTransition | ( | EIP_DLRHandle | dlrHandle, |
| superConfig * | supCfg | ||
| ) |
Check if the device can transition from a backup ring supervisor to the active ring supervisor.
| [in] | dlrHandle | Pointer to DLR instance handle |
| [in] | supCfg | Pointer to the new supervisor configuration |
| void EIP_DLR_stopBeaconIntervalTimer | ( | EIP_DLRHandle | dlrHandle | ) |
Stop the beacon interval timer - also stops the beacon frame transmission.
| [in] | dlrHandle | Pointer to DLR instance handle |