rstp_procedures.c
Go to the documentation of this file.
Debugging facilities.
const uint8_t res[]
RSTP (Rapid Spanning Tree Protocol)
@ RSTP_RCVD_INFO_INFERIOR_ROOT_ALTERNATE
Definition: rstp.h:232
error_t rstpSendBpdu(RstpBridgePort *port, const RstpBpdu *bpdu, size_t length)
Send bridge protocol data unit.
Definition: rstp_bpdu.c:308
BPDU processing.
uint_t rstpHelloTime(RstpBridgePort *port)
HelloTime variable evaluation (17.20.7)
Definition: rstp_conditions.c:192
bool_t rstpVersion(RstpBridgeContext *context)
rstpVersion condition (17.20.11)
Definition: rstp_conditions.c:265
RSTP state machine conditions.
void rstpUpdateTopologyChangeCount(RstpBridgeContext *context)
Update the number of topology changes.
Definition: rstp_misc.c:394
void rstpUpdatePortState(RstpBridgePort *port, SwitchPortState state)
Set port state.
Definition: rstp_misc.c:495
int_t rstpComparePortNum(uint16_t portId1, uint16_t portId2)
Compare port numbers.
Definition: rstp_misc.c:219
RstpBridgePort * rstpGetBridgePort(RstpBridgeContext *context, uint16_t portId)
Retrieve the port that matches the specified port number.
Definition: rstp_misc.c:187
const char_t * rstpGetParamName(uint_t value, const RstpParamName *paramList, size_t paramListLen)
Convert a parameter to string representation.
Definition: rstp_misc.c:883
int_t rstpComparePriority(const RstpPriority *p1, const RstpPriority *p2)
Compare priority vectors.
Definition: rstp_misc.c:302
int_t rstpCompareBridgeAddr(const MacAddr *addr1, const MacAddr *addr2)
Compare bridge addresses.
Definition: rstp_misc.c:256
int_t rstpCompareTimes(const RstpTimes *t1, const RstpTimes *t2)
Compare timer parameter values.
Definition: rstp_misc.c:367
RSTP helper functions.
void rstpSetSyncTree(RstpBridgeContext *context)
Set sync for all ports of the bridge (17.21.14)
Definition: rstp_procedures.c:483
void rstpUpdtRcvdInfoWhile(RstpBridgePort *port)
Update the Received Info timer (17.21.23)
Definition: rstp_procedures.c:815
bool_t rstpBetterOrSameInfo(RstpBridgePort *port, RstpInfoIs newInfoIs)
Compare Spanning Tree information (17.21.1)
Definition: rstp_procedures.c:63
void rstpNewTcWhile(RstpBridgePort *port)
Update the value of tcWhile (17.21.7)
Definition: rstp_procedures.c:181
void rstpEnableLearning(RstpBridgePort *port)
Start learning from frames received on the port (17.21.6)
Definition: rstp_procedures.c:166
void rstpRecordDispute(RstpBridgePort *port)
Record dispute (17.21.10)
Definition: rstp_procedures.c:392
void rstpRecordTimes(RstpBridgePort *port)
Set portTimes variable (17.21.13)
Definition: rstp_procedures.c:457
void rstpUpdtBpduVersion(RstpBridgePort *port)
Update rcvdSTP and rcvdRSTP variables depending on BPDU version (17.21.22)
Definition: rstp_procedures.c:783
void rstpDisableForwarding(RstpBridgePort *port)
Stop forwarding frames through the port (17.21.3)
Definition: rstp_procedures.c:120
void rstpRecordProposal(RstpBridgePort *port)
Record proposal (17.21.11)
Definition: rstp_procedures.c:415
void rstpUpdtRolesTree(RstpBridgeContext *context)
Update spanning tree information and port roles (17.21.25)
Definition: rstp_procedures.c:856
void rstpDisableLearning(RstpBridgePort *port)
Stop learning from frames received on the port (17.21.4)
Definition: rstp_procedures.c:132
void rstpSetReRootTree(RstpBridgeContext *context)
Set reRoot for all ports of the bridge (17.21.15)
Definition: rstp_procedures.c:501
void rstpUpdtRoleDisabledTree(RstpBridgeContext *context)
Set the selectedRole to DisabledPort for all ports of the bridge (17.21.24)
Definition: rstp_procedures.c:838
void rstpSetSelectedTree(RstpBridgeContext *context)
Set the selected variable for all ports of the bridge (17.21.16)
Definition: rstp_procedures.c:519
void rstpRecordAgreement(RstpBridgePort *port)
Record agreement (17.21.9)
Definition: rstp_procedures.c:364
void rstpSetTcFlags(RstpBridgePort *port)
Update rcvdTc, rcvdTcAck and rcvdTcn flags (17.21.17)
Definition: rstp_procedures.c:550
void rstpTxTcn(RstpBridgePort *port)
Transmit a Topology Change Notification BPDU (17.21.21)
Definition: rstp_procedures.c:764
RstpRcvdInfo rstpRcvInfo(RstpBridgePort *port)
Decode message priority and timer values from the received BPDU (17.21.8)
Definition: rstp_procedures.c:220
void rstpTxConfig(RstpBridgePort *port)
Transmit a Configuration BPDU (17.21.19)
Definition: rstp_procedures.c:616
void rstpRecordPriority(RstpBridgePort *port)
Record priority (17.21.12)
Definition: rstp_procedures.c:444
void rstpEnableForwarding(RstpBridgePort *port)
Start forwarding frames through the port (17.21.5)
Definition: rstp_procedures.c:147
void rstpTxRstp(RstpBridgePort *port)
Transmit a Rapid Spanning Tree BPDU (17.21.20)
Definition: rstp_procedures.c:666
void rstpSetTcPropTree(RstpBridgePort *port)
Set tcProp for all ports except the port that called the procedure (17.21.18)
Definition: rstp_procedures.c:591
void rstpClearReselectTree(RstpBridgeContext *context)
Clear reselect for all ports of the bridge (17.21.2)
Definition: rstp_procedures.c:102
RSTP state machine procedures.