1This guide describes the list of the files of the project. 2========================================================== 3 4There are two target binaries: mngr & bridge 5o The first is a simplest tools to connect/disconnect 6 bridges and check their current connection. These its 7 functions are managed from command line simple language 8 and use the library libcli.a (see below). Beside it mngr 9 serves to transport BPDU messages between bridges; for 10 this purpose mngr uses the library libuid.a 11 The source code of the mngr: file mngr.c 12 13o The second is a simulation of virtual RSTP bridge. It 14 accepts two types of messages: UID_CNTRL & UID_BPDU (see 15 file uid.h). This program is linked with the same two 16 libraries libcli.a & libuid.a; beside it uses a system 17 independent librstp.a: implementation of Rapid Spanning 18 Tree (802.1w) - see below. 19 The source code of the bridge: files bridge.c,stp_cli.c, 20 stp_to.c 21 * bridge.c - simulates the main bridge behavior 22 * stp_cli.c - consists from command line functions 23 * stp_to.c - API, that librstp.a uses for its purposes. 24 The management communication between bridge and librstp.a 25 uses structures and definitions from the header uid_stp.h 26 27o libcli.a - library for command line features. It has only 28 one file cli.c, the API is described in the header cli.h. 29 30o libuid.a - the 'transport' library: the source code you 31 may find in the file uid_sock.c and in the two headers: 32 uid.h & uid_sock.h 33 34o (so far, so good) librstp.a - it is a heart of the project 35 Actually, it implements 802.1w state machines. Files 36 stpm.c - the RSTP instance (some reflection of Port0) 37 port.c - the RSTP port instance 38 portinfo.c - Port Information State Machine, 17.21 39 rolesel.c - Port Role Selection State Machine, 17.22 40 roletrns.c - Port Role Transition State Machine, 17.23 41 sttrans.c - Port State Transition State Machine, 17.24 42 topoch.c - Topology Change State Machine, 17.25 43 migrate.c - Port Protocol Migration State Machine, 17.26 44 transmit.c - Port Transmit State Machine 17.27 45 pcost.c - Path Cost Resolution State Machine 46 edge.c - operEdge Port Resolution State Machine 47 p2p.c - operPointToPoit Resolution State Machine 48 statmch.c - generic state machine implementation 49 vector.c - Priority Vectors manipulations 50 times.c - Times manipulations 51 stp_in.c - API for calls from outside. 52 sttrans.c - API for calls from outside (dedicated for creation 53 deleting, starting & stopping the RSTP instance) less 54 relevant to the project. 55 56 57 58 59