AM64x INDUSTRIAL COMMUNICATIONS SDK  11.00.00

Introduction

Functions

void RedProtocolInit (void)
 Assigns key function pointers based on macro. More...
 
void RedNodeTableClear (hsrPrpHandle *hsrPrphandle)
 Sets Clear Node Table flag to be used by PRU. More...
 
void RedIncrementCounter (uint32_t offset, PRUICSS_Handle pruicssHandle)
 Increments statistics counter. More...
 
void RedSupFrameUpdateTlv (hsrPrpHandle *hsrPrphandle, uint8_t type)
 
int32_t RedTxPacket (void *icssEmachandle, ICSS_EMAC_TxArgument *txArg, void *userArg)
 Enqueues redundancy frames to transmit. More...
 
int32_t RedRxPktGet (void *icssEmachandle, ICSS_EMAC_RxArgument *rxVoidArg, void *userArg)
 Copies data from L3 receive queues. More...
 
RED_STATUS RedLifeCheckTaskCreate (hsrPrpHandle *hsrPrphandle, PRUICSS_Handle pruicssHandle)
 Function to create RED Supervision task. More...
 
void RedLifeCheckTaskDelete (hsrPrpHandle *hsrPrphandle)
 Function to delete RED Supervision task. More...
 
RED_STATUS RedProtocolStart (hsrPrpHandle *hsrPrphandle, PRUICSS_Handle pruicssHandle)
 Function to start RedProtocolStart. More...
 
void RedProtocolConfigure (PRUICSS_Handle pruicssHandle)
 Configure IEP to modify max frame size (to acccount for LRE header) More...
 
void RedProtocolStop (hsrPrpHandle *hsrPrphandle, PRUICSS_Handle pruicssHandle)
 Delete Node Table check Task. More...
 
void LRE_open (Lre_Handle lreHandle)
 Opens the LRE driver. More...
 
int32_t LRE_supervisionInit (Lre_Handle lreHandle)
 Initializes the LRE supervision object. More...
 
void LRE_nodesTableInit (Lre_nodestableObj *ntObj)
 Initializes the nodestable. More...
 
void LRE_updateNodeEntry (NodesTable *table, const uint8_t *src_mac, uint16_t sequence_number, uint8_t port, Lre_NodeType node_type)
 Updates the node entry in the node table. More...
 
void LRE_checkNodeTimeouts (NodesTable *table)
 Checks the node timeouts. More...
 
void LRE_printNodesTable (Lre_Handle lreHandle)
 Prints the current state of the node table. More...
 
void LRE_supervisionDeinit (Lre_Handle lreHandle)
 Deinitializes the supervision module. More...
 
void LRE_statisticsInit (Lre_Handle lreHandle)
 Initializes the statistics object. More...
 
void LRE_getStatistics (Lre_Handle lreHandle)
 Updates the LRE statistics. More...
 

Function Documentation

◆ RedProtocolInit()

void RedProtocolInit ( void  )

Assigns key function pointers based on macro.

◆ RedNodeTableClear()

void RedNodeTableClear ( hsrPrpHandle hsrPrphandle)

Sets Clear Node Table flag to be used by PRU.

Parameters
hsrPrphandle

◆ RedIncrementCounter()

void RedIncrementCounter ( uint32_t  offset,
PRUICSS_Handle  pruicssHandle 
)

Increments statistics counter.

Parameters
offsetCounter
pruicssHandlePointer to PRU ICSS Handle, parent structure containing all switch information

◆ RedSupFrameUpdateTlv()

void RedSupFrameUpdateTlv ( hsrPrpHandle hsrPrphandle,
uint8_t  type 
)

◆ RedTxPacket()

int32_t RedTxPacket ( void *  icssEmachandle,
ICSS_EMAC_TxArgument txArg,
void *  userArg 
)

Enqueues redundancy frames to transmit.

Parameters
icssEmachandle
txArg
userArg
Returns
RED_OK on success, RED_ERR otherwise

◆ RedRxPktGet()

int32_t RedRxPktGet ( void *  icssEmachandle,
ICSS_EMAC_RxArgument rxVoidArg,
void *  userArg 
)

Copies data from L3 receive queues.

Parameters
icssEmachandle
rxVoidArg
userArg
Returns
RED_OK(0) on success, RED_ERR(1) otherwise

◆ RedLifeCheckTaskCreate()

RED_STATUS RedLifeCheckTaskCreate ( hsrPrpHandle hsrPrphandle,
PRUICSS_Handle  pruicssHandle 
)

Function to create RED Supervision task.

Parameters
hsrPrphandle
pruicssHandlePointer to PRU ICSS Handle, parent structure containing all switch information
Returns
RED_OK(0) if success, RED_ERR(1) otherwise

◆ RedLifeCheckTaskDelete()

void RedLifeCheckTaskDelete ( hsrPrpHandle hsrPrphandle)

Function to delete RED Supervision task.

Parameters
hsrPrphandle

◆ RedProtocolStart()

RED_STATUS RedProtocolStart ( hsrPrpHandle hsrPrphandle,
PRUICSS_Handle  pruicssHandle 
)

Function to start RedProtocolStart.

Parameters
hsrPrphandle
pruicssHandlePointer to PRU ICSS Handle, parent structure containing all switch information

◆ RedProtocolConfigure()

void RedProtocolConfigure ( PRUICSS_Handle  pruicssHandle)

Configure IEP to modify max frame size (to acccount for LRE header)

Parameters
pruicssHandlePointer to PRU ICSS Handle, parent structure containing all switch information

◆ RedProtocolStop()

void RedProtocolStop ( hsrPrpHandle hsrPrphandle,
PRUICSS_Handle  pruicssHandle 
)

Delete Node Table check Task.

Parameters
hsrPrphandle
pruicssHandlePointer to PRU ICSS Handle, parent structure containing all switch information

◆ LRE_open()

void LRE_open ( Lre_Handle  lreHandle)

Opens the LRE driver.

This function is called to open the LRE driver.

Parameters
lreHandleLRE handle

◆ LRE_supervisionInit()

int32_t LRE_supervisionInit ( Lre_Handle  lreHandle)

Initializes the LRE supervision object.

This function initializes the LRE supervision object by setting the different fields with required values.

Parameters
lreHandleLRE handle
Returns
Status of the function call

◆ LRE_nodesTableInit()

void LRE_nodesTableInit ( Lre_nodestableObj ntObj)

Initializes the nodestable.

This function is called to initialize the nodestable.

Parameters
ntObjLRE nodestable object

◆ LRE_updateNodeEntry()

void LRE_updateNodeEntry ( NodesTable table,
const uint8_t *  src_mac,
uint16_t  sequence_number,
uint8_t  port,
Lre_NodeType  node_type 
)

Updates the node entry in the node table.

This function is called to update the node entry in the node table.

Parameters
tablePointer to the NodesTable.
src_macPointer to the source MAC address.
sequence_numberSequence number (host byte order).
portThe port on which SV frame was received
node_typeType of the remote node.

◆ LRE_checkNodeTimeouts()

void LRE_checkNodeTimeouts ( NodesTable table)

Checks the node timeouts.

This function is called to check the node timeouts.

Parameters
tablePointer to the NodesTable.

◆ LRE_printNodesTable()

void LRE_printNodesTable ( Lre_Handle  lreHandle)

Prints the current state of the node table.

This function is called to print the current state of the node table.

Parameters
lreHandleLRE handle

◆ LRE_supervisionDeinit()

void LRE_supervisionDeinit ( Lre_Handle  lreHandle)

Deinitializes the supervision module.

This function is called to deinitialize the supervision module.

Parameters
lreHandleLRE handle

◆ LRE_statisticsInit()

void LRE_statisticsInit ( Lre_Handle  lreHandle)

Initializes the statistics object.

This function is called to clear out the statistics.

Parameters
lreHandleLRE handle

◆ LRE_getStatistics()

void LRE_getStatistics ( Lre_Handle  lreHandle)

Updates the LRE statistics.

Parameters
lreHandleLRE handle