rstp_prt.h File Reference

Port Role Transition state machine (PRT) More...

#include "rstp/rstp.h"

Go to the source code of this file.

Enumerations

enum  RstpPrtState {
  RSTP_PRT_STATE_INIT_PORT = 0, RSTP_PRT_STATE_DISABLE_PORT = 1, RSTP_PRT_STATE_DISABLED_PORT = 2, RSTP_PRT_STATE_ROOT_PROPOSED = 3,
  RSTP_PRT_STATE_ROOT_AGREED = 4, RSTP_PRT_STATE_REROOT = 5, RSTP_PRT_STATE_ROOT_FORWARD = 6, RSTP_PRT_STATE_ROOT_LEARN = 7,
  RSTP_PRT_STATE_REROOTED = 8, RSTP_PRT_STATE_ROOT_PORT = 9, RSTP_PRT_STATE_DESIGNATED_PROPOSE = 10, RSTP_PRT_STATE_DESIGNATED_SYNCED = 11,
  RSTP_PRT_STATE_DESIGNATED_RETIRED = 12, RSTP_PRT_STATE_DESIGNATED_FORWARD = 13, RSTP_PRT_STATE_DESIGNATED_LEARN = 14, RSTP_PRT_STATE_DESIGNATED_DISCARD = 15,
  RSTP_PRT_STATE_DESIGNATED_PORT = 16, RSTP_PRT_STATE_ALTERNATE_PROPOSED = 17, RSTP_PRT_STATE_ALTERNATE_AGREED = 18, RSTP_PRT_STATE_BLOCK_PORT = 19,
  RSTP_PRT_STATE_BACKUP_PORT = 20, RSTP_PRT_STATE_ALTERNATE_PORT = 21
}
 Port Role Transition machine states. More...
 

Functions

void rstpPrtInit (RstpBridgePort *port)
 PRT state machine initialization. More...
 
void rstpPrtFsm (RstpBridgePort *port)
 PRT state machine implementation. More...
 
void rstpPrtDisabledPortFsm (RstpBridgePort *port)
 PRT state machine implementation (Disabled port role) More...
 
void rstpPrtDisabledPortChangeState (RstpBridgePort *port, RstpPrtState newState)
 Update PRT state machine state (Disabled port role) More...
 
void rstpPrtRootPortFsm (RstpBridgePort *port)
 PRT state machine implementation (Root port role) More...
 
void rstpPrtRootPortChangeState (RstpBridgePort *port, RstpPrtState newState)
 Update PRT state machine state (Root port role) More...
 
void rstpPrtDesignatedPortFsm (RstpBridgePort *port)
 PRT state machine implementation (Designated port role) More...
 
void rstpPrtDesignatedPortChangeState (RstpBridgePort *port, RstpPrtState newState)
 Update PRT state machine state (Designated port role) More...
 
void rstpPrtAlternatePortFsm (RstpBridgePort *port)
 PRT state machine implementation (Alternate or Backup port role) More...
 
void rstpPrtAlternatePortChangeState (RstpBridgePort *port, RstpPrtState newState)
 Update PRT state machine state (Alternate or Backup port role) More...
 

Detailed Description

Port Role Transition state machine (PRT)

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2019-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSTP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.4

Definition in file rstp_prt.h.

Enumeration Type Documentation

◆ RstpPrtState

Port Role Transition machine states.

Enumerator
RSTP_PRT_STATE_INIT_PORT 
RSTP_PRT_STATE_DISABLE_PORT 
RSTP_PRT_STATE_DISABLED_PORT 
RSTP_PRT_STATE_ROOT_PROPOSED 
RSTP_PRT_STATE_ROOT_AGREED 
RSTP_PRT_STATE_REROOT 
RSTP_PRT_STATE_ROOT_FORWARD 
RSTP_PRT_STATE_ROOT_LEARN 
RSTP_PRT_STATE_REROOTED 
RSTP_PRT_STATE_ROOT_PORT 
RSTP_PRT_STATE_DESIGNATED_PROPOSE 
RSTP_PRT_STATE_DESIGNATED_SYNCED 
RSTP_PRT_STATE_DESIGNATED_RETIRED 
RSTP_PRT_STATE_DESIGNATED_FORWARD 
RSTP_PRT_STATE_DESIGNATED_LEARN 
RSTP_PRT_STATE_DESIGNATED_DISCARD 
RSTP_PRT_STATE_DESIGNATED_PORT 
RSTP_PRT_STATE_ALTERNATE_PROPOSED 
RSTP_PRT_STATE_ALTERNATE_AGREED 
RSTP_PRT_STATE_BLOCK_PORT 
RSTP_PRT_STATE_BACKUP_PORT 
RSTP_PRT_STATE_ALTERNATE_PORT 

Definition at line 47 of file rstp_prt.h.

Function Documentation

◆ rstpPrtAlternatePortChangeState()

void rstpPrtAlternatePortChangeState ( RstpBridgePort port,
RstpPrtState  newState 
)

Update PRT state machine state (Alternate or Backup port role)

Parameters
[in]portPointer to the bridge port context
[in]newStateNew state to switch to

Definition at line 718 of file rstp_prt.c.

◆ rstpPrtAlternatePortFsm()

void rstpPrtAlternatePortFsm ( RstpBridgePort port)

PRT state machine implementation (Alternate or Backup port role)

Parameters
[in]portPointer to the bridge port context

Definition at line 637 of file rstp_prt.c.

◆ rstpPrtDesignatedPortChangeState()

void rstpPrtDesignatedPortChangeState ( RstpBridgePort port,
RstpPrtState  newState 
)

Update PRT state machine state (Designated port role)

Parameters
[in]portPointer to the bridge port context
[in]newStateNew state to switch to

Definition at line 551 of file rstp_prt.c.

◆ rstpPrtDesignatedPortFsm()

void rstpPrtDesignatedPortFsm ( RstpBridgePort port)

PRT state machine implementation (Designated port role)

Parameters
[in]portPointer to the bridge port context

Definition at line 461 of file rstp_prt.c.

◆ rstpPrtDisabledPortChangeState()

void rstpPrtDisabledPortChangeState ( RstpBridgePort port,
RstpPrtState  newState 
)

Update PRT state machine state (Disabled port role)

Parameters
[in]portPointer to the bridge port context
[in]newStateNew state to switch to

Definition at line 224 of file rstp_prt.c.

◆ rstpPrtDisabledPortFsm()

void rstpPrtDisabledPortFsm ( RstpBridgePort port)

PRT state machine implementation (Disabled port role)

Parameters
[in]portPointer to the bridge port context

Definition at line 166 of file rstp_prt.c.

◆ rstpPrtFsm()

void rstpPrtFsm ( RstpBridgePort port)

PRT state machine implementation.

Parameters
[in]portPointer to the bridge port context

Definition at line 91 of file rstp_prt.c.

◆ rstpPrtInit()

void rstpPrtInit ( RstpBridgePort port)

PRT state machine initialization.

Parameters
[in]portPointer to the bridge port context

Definition at line 79 of file rstp_prt.c.

◆ rstpPrtRootPortChangeState()

void rstpPrtRootPortChangeState ( RstpBridgePort port,
RstpPrtState  newState 
)

Update PRT state machine state (Root port role)

Parameters
[in]portPointer to the bridge port context
[in]newStateNew state to switch to

Definition at line 379 of file rstp_prt.c.

◆ rstpPrtRootPortFsm()

void rstpPrtRootPortFsm ( RstpBridgePort port)

PRT state machine implementation (Root port role)

Parameters
[in]portPointer to the bridge port context

Definition at line 287 of file rstp_prt.c.