A library that implements the Multiple / Rapid Spanning Tree Protocol as defined in 802.1Q-2018.
It's written in C++03 and is callable from C.
I integrated the library myself in various devices made by various OEMs (ship automation, tactical networking, in-flight entertainment) and I helped others integrate it in plenty other devices.
A Simulator application for Windows is provided - both sources and binaries. The Simulator lets you create networks and see the library in action. See the screenshot below. This is a project for Visual Studio 2017.
The repository includes sources with a couple of RSTP implementations on embedded devices with microcontrollers and switches such as Marvell, Microchip, IC+. The projects are for Rowley CrossWorks (gcc and clang compilers) and IAR Embedded Workbench (EDG compiler).
These samples highlight the platform-specific code required by STP -- mostly code that writes to a few hardware registers of the switch chip. To integrate the library in your embedded application, you'll need to write platform-specific code for your particular switch IC. Drop me a message at adigostin@gmail.com and I might be able to help.
The repository also includes help files for most of the library APIs - some rather extensive.