AM64x MCU+ SDK  08.02.00
hsrPrp_red_nodeTable.h
Go to the documentation of this file.
1 
38 #ifndef RED_NODETABLE_H_
39 #define RED_NODETABLE_H_
40 
41 /* ========================================================================== */
42 /* Include Files */
43 /* ========================================================================== */
44 
45 #include "hsrPrp_red_common.h"
46 #include "hsrPrp_handle.h"
47 #include <stdbool.h>
48 
49 /* ========================================================================== */
50 /* Function Declarations */
51 /* ========================================================================== */
60 uint32_t RedGetNodesCount(PRUICSS_Handle pruicssHandle);
72 RED_STATUS RedGetIndexArrayEntry(uint8_t index, uint8_t *pEntry,
73  ICSS_EMAC_Handle icssEmacHandle);
84  hsrPrpHandle *hsrPrphandle);
93 RemNodeType_t RedGetRemNodeType(uint8_t nodeEntryStatus);
105 RED_STATUS RedNodetableSearchOp(uint8_t *srcMacId , uint8_t port,
106  uint8_t isSupFrame,
107  hsrPrpHandle *hsrPrphandle, uint16_t flags);
118 RED_STATUS RedInsertNodeTable(uint8_t port, uint8_t isSupFrame,
119  hsrPrpHandle *hsrPrphandle, uint16_t flags);
120 
132 bool RedNodetableLinearSearch(uint16_t start, uint16_t size,
133  uint8_t *macid,
134  uint16_t *index, hsrPrpHandle *hsrPrphandle);
135 
142 void RedNodetableRefresh(void *args);
143 
144 #endif /* RED_NODETABLE_H_ */
ICSS_EMAC_Handle
struct ICSS_EMAC_Config_s * ICSS_EMAC_Handle
Alias for ICSS EMAC Handle containing base addresses and modules.
Definition: icss_emac.h:368
RedGetNodeTableEntry
RED_STATUS RedGetNodeTableEntry(RED_NODE_TABLE *pNodeTable, hsrPrpHandle *hsrPrphandle)
Gets the Node Table entry by an index return by redGetIndexArrayEntry.
size
uint16_t size
Definition: tisci_boardcfg.h:1
RemNodeType_t
RemNodeType_t
Remote Node Type.
Definition: hsrPrp_red_common.h:354
index
uint16_t index
Definition: tisci_rm_proxy.h:3
RedNodetableSearchOp
RED_STATUS RedNodetableSearchOp(uint8_t *srcMacId, uint8_t port, uint8_t isSupFrame, hsrPrpHandle *hsrPrphandle, uint16_t flags)
searches for the macid in the nodetable
RedNodetableLinearSearch
bool RedNodetableLinearSearch(uint16_t start, uint16_t size, uint8_t *macid, uint16_t *index, hsrPrpHandle *hsrPrphandle)
linear search implementation | search for the param macid in the BIN ARRAY where starting index for s...
hsrPrpHandle
struct hsrPrp_Config_s hsrPrpHandle
Definition: hsrPrp_handle.h:86
RedNodetableRefresh
void RedNodetableRefresh(void *args)
increment the timeLastSeenX values by 1 every 10 ms & delete a nodetable entry if it reaches NODE_FOR...
hsrPrp_red_common.h
Commonly used Macros, structures and Offsets.
RedGetIndexArrayEntry
RED_STATUS RedGetIndexArrayEntry(uint8_t index, uint8_t *pEntry, ICSS_EMAC_Handle icssEmacHandle)
RED_STATUS
RED_STATUS
RED Status.
Definition: hsrPrp_red_common.h:524
RedInsertNodeTable
RED_STATUS RedInsertNodeTable(uint8_t port, uint8_t isSupFrame, hsrPrpHandle *hsrPrphandle, uint16_t flags)
makes an insertion in the node table
RedGetNodesCount
uint32_t RedGetNodesCount(PRUICSS_Handle pruicssHandle)
RedGetRemNodeType
RemNodeType_t RedGetRemNodeType(uint8_t nodeEntryStatus)
Gets the type of a remote node.
hsrPrp_handle.h
Include file for hsrPrp_red_hsr.c.
flags
uint32_t flags
Definition: csl_udmap_tr.h:0
PRUICSS_Handle
struct PRUICSS_Config_s * PRUICSS_Handle
A handle that is returned from a PRUICSS_open() call. This handle is required for calling other APIs.
Definition: pruicss/g_v0/pruicss.h:234
RED_NODE_TABLE
Node Table.
Definition: hsrPrp_red_common.h:512