Go to the documentation of this file.
32 #define TRACE_LEVEL RSTP_TRACE_LEVEL
41 #if (RSTP_SUPPORT == ENABLED)
57 context->bridgePriority.rootBridgeId = context->bridgeId;
58 context->bridgePriority.rootPathCost = 0;
59 context->bridgePriority.designatedBridgeId = context->bridgeId;
60 context->bridgePriority.designatedPortId = 0;
61 context->bridgePriority.bridgePortId = 0;
65 context->bridgeTimes.forwardDelay = context->params.bridgeForwardDelay;
66 context->bridgeTimes.helloTime = context->params.bridgeHelloTime;
67 context->bridgeTimes.maxAge = context->params.bridgeMaxAge;
68 context->bridgeTimes.messageAge = 0;
71 context->rootPriority = context->bridgePriority;
73 context->rootTimes = context->bridgeTimes;
76 context->ageingTime = context->params.ageingTime;
78 context->rapidAgeingWhile = 0;
87 for(i = 0; i < context->numPorts; i++)
90 port = &context->ports[i];
95 port->designatedTimes = context->rootTimes;
96 port->designatedTimes.helloTime = context->bridgeTimes.helloTime;
117 for(i = 0; i < context->numPorts; i++)
120 port = &context->ports[i];
162 context->busy =
FALSE;
170 for(i = 0; i < context->numPorts; i++)
173 port = &context->ports[i];
205 for(i = 0; i < context->numPorts; i++)
208 port = &context->ports[i];
217 }
while(context->busy);
void rstpPstFsm(RstpBridgePort *port)
PST state machine implementation.
void rstpPstInit(RstpBridgePort *port)
PST state machine initialization.
void rstpPtxInit(RstpBridgePort *port)
PTX state machine initialization.
void rstpTcmFsm(RstpBridgePort *port)
TCM state machine implementation.
Spanning Tree priority vector.
void rstpPrsFsm(RstpBridgeContext *context)
PRS state machine implementation.
RSTP timer parameter values.
#define RstpBridgeContext
void rstpPtiInit(RstpBridgePort *port)
PTI state machine initialization.
void rstpPrxInit(RstpBridgePort *port)
PRX state machine initialization.
void rstpPimFsm(RstpBridgePort *port)
PIM state machine implementation.
void rstpPimInit(RstpBridgePort *port)
PIM state machine initialization.
void rstpTcmInit(RstpBridgePort *port)
TCM state machine initialization.
void rstpBdmFsm(RstpBridgePort *port)
BDM state machine implementation.
RSTP (Rapid Spanning Tree Protocol)
void rstpUpdateAgeingTime(RstpBridgeContext *context, uint32_t ageingTime)
Set ageing time for dynamic filtering entries.
void rstpPpmFsm(RstpBridgePort *port)
PPM state machine implementation.
void rstpFsmInit(RstpBridgeContext *context)
RSTP state machine initialization.
void rstpBdmInit(RstpBridgePort *port)
BDM state machine initialization.
void rstpPpmInit(RstpBridgePort *port)
PPM state machine initialization.
void rstpPrtFsm(RstpBridgePort *port)
PRT state machine implementation.
void rstpPrtInit(RstpBridgePort *port)
PRT state machine initialization.
void rstpFsmError(RstpBridgeContext *context)
RSTP state machine error handler.
void rstpPtxFsm(RstpBridgePort *port)
PTX state machine implementation.
void rstpPrxFsm(RstpBridgePort *port)
PRX state machine implementation.
void rstpRemoveFdbEntries(RstpBridgePort *port)
Remove filtering database entries (immediately or by rapid ageing)
void rstpPrsInit(RstpBridgeContext *context)
PRS state machine initialization.
#define osMemset(p, value, length)
void rstpPtiFsm(RstpBridgePort *port)
PTI state machine implementation.
void rstpFsm(RstpBridgeContext *context)
RSTP state machine implementation.
Rapid Spanning Tree state machines.