AM64x MCU+ SDK  08.03.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 #ifdef __cplusplus
42 extern "C"
43 {
44 #endif
45 
46 
47 /* ========================================================================== */
48 /* Include Files */
49 /* ========================================================================== */
50 
51 #include "hsrPrp_red_common.h"
52 #include "hsrPrp_handle.h"
53 #include <stdbool.h>
54 
55 /* ========================================================================== */
56 /* Function Declarations */
57 /* ========================================================================== */
66 uint32_t RedGetNodesCount(PRUICSS_Handle pruicssHandle);
78 RED_STATUS RedGetIndexArrayEntry(uint8_t index, uint8_t *pEntry,
79  ICSS_EMAC_Handle icssEmacHandle);
90  hsrPrpHandle *hsrPrphandle);
99 RemNodeType_t RedGetRemNodeType(uint8_t nodeEntryStatus);
111 RED_STATUS RedNodetableSearchOp(uint8_t *srcMacId , uint8_t port,
112  uint8_t isSupFrame,
113  hsrPrpHandle *hsrPrphandle, uint16_t flags);
124 RED_STATUS RedInsertNodeTable(uint8_t port, uint8_t isSupFrame,
125  hsrPrpHandle *hsrPrphandle, uint16_t flags);
126 
138 bool RedNodetableLinearSearch(uint16_t start, uint16_t size,
139  uint8_t *macid,
140  uint16_t *index, hsrPrpHandle *hsrPrphandle);
141 
148 void RedNodetableRefresh(void *args);
149 
150 
151 #ifdef __cplusplus
152 }
153 #endif
154 
155 #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:360
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:92
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:530
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:518