CycloneSTP
Spanning Tree Protocol Library (STP and RSTP)

CycloneSTP is an implementation of STP (Spanning Tree Protocol) and RSTP (Rapid Spanning Tree Protocol) algorithms suitable for resource-constrained microcontrollers. STP and RSTP are network protocols that can be implemented on Ethernet bridges to ensure loop-free LAN topologies. Spanning Tree Protocol allows a network design with multiple physical paths and backup links for redunduncy purpose. If a link fails, STP or RSTP automatically reconfigures the network to establish a new loop-free tree topology.

Spanning Tree Protocol (STP)

Main Features

  • STP (Spanning Tree Protocol) implementation
  • RSTP (Rapid Spanning Tree Protocol) implementation for faster convergence
  • Prevents creation of loops
  • Automatic reconfiguration of the tree in case of topology changes
  • RSTP is designated to be backward compatible with STP
  • Comprehensive user API to configure Spanning Tree Protocol parameters
  • Supports BRIDGE-MIB (RFC 4188) to remotely manage and monitor STP operation
  • Support RSTP-MIB (RFC 4318) to remotely manage RSTP-specific parameters
  • Flexible memory footprint. Built-time configuration to embed only the necessary features
  • Portable architecture (no processor dependencies)
  • The library is distributed as a full ANSI C and highly maintainable source code
Coming: MSTP (Multiple Spanning Tree Protocol) implementation

Supported Ethernet Switches

CycloneSTP supports 10/100 and Gigabit Ethernet switches from IC+, Marvell and Microchip.

ManufacturerPart NumberP/NPortsSpeed
IC+
  • IP175C
  • 5
  • 10/100
Marvell
  • 88E6060
  • 6
  • 10/100
Microchip
  • KSZ8463
  • KSZ8563
  • KSZ8863
  • KSZ8864
  • KSZ8873
  • KSZ8895
  • KSZ9477
  • KSZ9563
  • KSZ9893
  • KSZ9897
  • LAN9303
  • 3
  • 3
  • 3
  • 4
  • 3
  • 5
  • 7
  • 3
  • 3
  • 7
  • 3
  • 10/100
  • 10/100
  • 10/100
  • 10/100
  • 10/100
  • 10/100
  • 10/100/1000
  • 10/100/1000
  • 10/100/1000
  • 10/100/1000
  • 10/100
  • ARM7TDMI / ARM926EJ-S
  • ARM Cortex-M3
  • ARM Cortex-M4
  • ARM Cortex-M7
  • ARM Cortex-R4
  • ARM Cortex-A5
  • ARM Cortex-A8
  • ARM Cortex-A9
  • RISC-V
  • MIPS M4K
  • MIPS microAptiv
  • PowerPC e200
  • Coldfire V2
  • RX600
  • AVR32
  • Xtensa LX6
  • Amazon FreeRTOS
  • ChibiOS/RT
  • CMSIS-RTOS
  • CMSIS-RTOS2 (RTX v5 and FreeRTOS)
  • Keil RTX
  • Micrium µC/OS-II
  • Micrium µC/OS-III
  • Segger embOS
  • SYS/BIOS (TI-RTOS)
  • Bare Metal programming (without RTOS)
  • GNU GCC / Makefile
  • Atollic TrueSTUDIO
  • IAR Embedded Workbench
  • Keil MDK-ARM
  • Microsoft Visual Studio
  • Segger Embedded Studio
  • AC6 System Workbench for STM32 (SW4STM32)
  • Atmel Studio
  • Infineon DAVE
  • Microchip MPLAB X
  • NXP MCUXpresso
  • Renesas e2Studio
  • ST STM32CubeIDE
  • TI Code Composer Studio (CSS)

IEEE

  • IEEE Std 802.1D-1998: IEEE Standard for Local Area Network MAC (Media Access Control) Bridges
  • IEEE Std 802.1D-2004: IEEE Standard for Local and metropolitan area networks: Media Access Control (MAC) Bridges

RFC

  • RFC 4188: Definitions of Managed Objects for Bridges
  • RFC 4318: Definitions of Managed Objects for Bridges with Rapid Spanning Tree Protocol