rstp_misc.c
void rstpLock(RstpBridgeContext *context)
Acquire exclusive access to the RSTP bridge context.
Definition: rstp_misc.c:50
void rstpGeneratePortAddr(RstpBridgePort *port)
Port's MAC address generation.
Definition: rstp_misc.c:815
void rstpUpdateTopologyChangeCount(RstpBridgeContext *context)
Update the number of topology changes.
Definition: rstp_misc.c:394
RSTP state machine conditions.
uint_t rstpFwdDelay(RstpBridgePort *port)
FwdDelay variable evaluation (17.20.6)
Definition: rstp_conditions.c:179
int_t rstpCompareBridgeAddr(const MacAddr *addr1, const MacAddr *addr2)
Compare bridge addresses.
Definition: rstp_misc.c:256
RSTP helper functions.
bool_t rstpCheckBridgeParams(uint_t maxAge, uint_t helloTime, uint_t forwardDelay)
Check bridge parameters.
Definition: rstp_misc.c:854
const uint8_t res[]
void rstpUpdateOperPointToPointMac(RstpBridgePort *port)
Update the value of the operPointToPointMac variable.
Definition: rstp_misc.c:455
int_t rstpCompareBridgeId(const StpBridgeId *id1, const StpBridgeId *id2)
Compare bridge identifiers.
Definition: rstp_misc.c:271
RSTP (Rapid Spanning Tree Protocol)
void rstpUpdateAgeingTime(RstpBridgeContext *context, uint32_t ageingTime)
Set ageing time for dynamic filtering entries.
Definition: rstp_misc.c:527
void rstpUpdatePortPathCost(RstpBridgePort *port)
Update the value of the portPathCost variable.
Definition: rstp_misc.c:425
error_t rstpConfigurePermanentDatabase(RstpBridgeContext *context)
Configure the permanent database.
Definition: rstp_misc.c:743
void rstpUnconfigurePermanentDatabase(RstpBridgeContext *context)
Unconfigure the permanent database.
Definition: rstp_misc.c:788
error_t rstpAddStaticFdbEntry(RstpBridgeContext *context, const MacAddr *macAddr, bool_t override)
Add a new entry to the static MAC table.
Definition: rstp_misc.c:584
int_t rstpComparePortNum(uint16_t portId1, uint16_t portId2)
Compare port numbers.
Definition: rstp_misc.c:219
void rstpFlushFdbTable(RstpBridgePort *port)
Remove all the filtering database entries for a given port.
Definition: rstp_misc.c:711
bool_t stpVersion(RstpBridgeContext *context)
stpVersion condition (17.20.12)
Definition: rstp_conditions.c:292
RstpBridgePort * rstpGetBridgePort(RstpBridgeContext *context, uint16_t portId)
Retrieve the port that matches the specified port number.
Definition: rstp_misc.c:187
void rstpUpdatePortState(RstpBridgePort *port, SwitchPortState state)
Set port state.
Definition: rstp_misc.c:495
void osAcquireMutex(OsMutex *mutex)
Acquire ownership of the specified mutex object.
Definition: os_port_chibios.c:396
void osReleaseMutex(OsMutex *mutex)
Release ownership of the specified mutex object.
Definition: os_port_chibios.c:408
void rstpRemoveFdbEntries(RstpBridgePort *port)
Remove filtering database entries (immediately or by rapid ageing)
Definition: rstp_misc.c:660
int_t rstpCompareTimes(const RstpTimes *t1, const RstpTimes *t2)
Compare timer parameter values.
Definition: rstp_misc.c:367
void rstpUnlock(RstpBridgeContext *context)
Release exclusive access to the RSTP bridge context.
Definition: rstp_misc.c:62
int_t rstpComparePriority(const RstpPriority *p1, const RstpPriority *p2)
Compare priority vectors.
Definition: rstp_misc.c:302
void rstpFsm(RstpBridgeContext *context)
RSTP state machine implementation.
Definition: rstp_fsm.c:152
const char_t * rstpGetParamName(uint_t value, const RstpParamName *paramList, size_t paramListLen)
Convert a parameter to string representation.
Definition: rstp_misc.c:883
Debugging facilities.
void rstpEnableRsvdMcastTable(RstpBridgeContext *context, bool_t enable)
Enable reserved multicast table.
Definition: rstp_misc.c:557
error_t rstpDeleteStaticFdbEntry(RstpBridgeContext *context, const MacAddr *macAddr)
Remove an entry from the static MAC table.
Definition: rstp_misc.c:623
Rapid Spanning Tree state machines.