]>
Commit | Line | Data |
---|---|---|
ad02a0eb SH |
1 | This guide describes the list of the files of the project. |
2 | ========================================================== | |
3 | ||
4 | There are two target binaries: mngr & bridge | |
5 | o 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 | ||
13 | o 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 | ||
27 | o 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 | ||
30 | o 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 | ||
34 | o (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 |