SourceForge Logo

RSTP 802.1w Library & Simulator List of Files

(This guide describes the list of the files of the project.)

There are two target binaries: mngr & bridge
  • The first is a simplest tools to connect/disconnect
    bridges and check their current connection. These its
    functions are managed from command line simple language
    and use the library libcli.a (see below). Beside it mngr
    serves to transport BPDU messages between bridges; for
    this purpose mngr uses the library libuid.a
    The source code of the mngr: file mngr.c

  • The second is a simulation of virtual RSTP bridge. It
    accepts two types of messages: UID_CNTRL & UID_BPDU (see
    file uid.h). This program is linked with the same two
    libraries libcli.a & libuid.a; beside it uses a system
    independent librstp.a: implementation of Rapid Spanning
    Tree (802.1w) - see below.
    The source code of the bridge: files bridge.c,stp_cli.c,
    * bridge.c - simulates the main bridge behavior
    * stp_cli.c - consists from command line functions
    * stp_to.c - API, that librstp.a uses for its purposes.
    The management communication between bridge and librstp.a
    uses structures and definitions from the header uid_stp.h

  • libcli.a - library for command line features. It has only
    one file cli.c, the API is described in the header cli.h.

  • libuid.a - the 'transport' library: the source code you
    may find in the file uid_sock.c and in the two headers:
    uid.h & uid_sock.h

  • (so far, so good) librstp.a - it is a heart of the project
    Actually, it implements 802.1w state machines. Files
    stpm.c - the RSTP instance (some reflection of Port0)
    port.c - the RSTP port instance
    portinfo.c - Port Information State Machine, 17.21
    rolesel.c - Port Role Selection State Machine, 17.22
    roletrns.c - Port Role Transition State Machine, 17.23
    sttrans.c - Port State Transition State Machine, 17.24
    topoch.c - Topology Change State Machine, 17.25
    migrate.c - Port Protocol Migration State Machine, 17.26
    transmit.c - Port Transmit State Machine 17.27
    pcost.c - Path Cost Resolution State Machine
    edge.c - operEdge Port Resolution State Machine
    p2p.c - operPointToPoit Resolution State Machine
    statmch.c - generic state machine implementation
    vector.c - Priority Vectors manipulations
    times.c - Times manipulations
    stp_in.c - API for calls from outside.
    sttrans.c - API for calls from outside (dedicated for creation
    deleting, starting & stopping the RSTP instance) less
    relevant to the project.

    SourceForge Logo