8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / librstp / common / README.files
blobf08ea7d503fa028af294419cf711915032912b7d
1 This guide describes the list of the files of the project.
2 ==========================================================
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
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
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.
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
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.