Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
COPYING | H A D | 10-Sep-2009 | 25.8 KiB | 505 | 418 | |
COPYING.descrip | H A D | 19-Aug-2010 | 23 | 2 | 1 | |
ChangeLog | H A D | 10-Sep-2009 | 2.1 KiB | 63 | 59 | |
README | H A D | 10-Sep-2009 | 1.3 KiB | 38 | 26 | |
README.CVS.HOWTO | H A D | 10-Sep-2009 | 899 | 23 | 14 | |
README.authors | H A D | 10-Sep-2009 | 69 | 4 | 2 | |
README.files | H A D | 10-Sep-2009 | 2.5 KiB | 59 | 49 | |
README.news | H A D | 10-Sep-2009 | 575 | 20 | 13 | |
TODO | H A D | 10-Sep-2009 | 567 | 23 | 12 | |
base.h | H A D | 15-Aug-2023 | 6.5 KiB | 199 | 148 | |
choose.h | H A D | 15-Aug-2023 | 1.4 KiB | 43 | 14 | |
edge.c | H A D | 15-Aug-2023 | 3 KiB | 116 | 80 | |
edge.h | H A D | 15-Aug-2023 | 1.3 KiB | 39 | 9 | |
mapfile-vers | H A D | 25-Jun-2010 | 1.9 KiB | 73 | 68 | |
migrate.c | H A D | 15-Aug-2023 | 3.3 KiB | 120 | 83 | |
migrate.h | H A D | 15-Aug-2023 | 1.3 KiB | 38 | 9 | |
p2p.c | H A D | 15-Aug-2023 | 2.3 KiB | 91 | 58 | |
p2p.h | H A D | 15-Aug-2023 | 1.2 KiB | 38 | 9 | |
pcost.c | H A D | 15-Aug-2023 | 3.6 KiB | 133 | 95 | |
pcost.h | H A D | 15-Aug-2023 | 1.2 KiB | 38 | 9 | |
port.c | H A D | 15-Aug-2023 | 6.6 KiB | 254 | 183 | |
port.h | H A D | 15-Aug-2023 | 5.8 KiB | 186 | 129 | |
portinfo.c | H A D | 15-Aug-2023 | 14.5 KiB | 504 | 419 | |
portinfo.h | H A D | 15-Aug-2023 | 1.3 KiB | 41 | 11 | |
rolesel.c | H A D | 15-Aug-2023 | 9.9 KiB | 401 | 320 | |
rolesel.h | H A D | 15-Aug-2023 | 1.3 KiB | 42 | 11 | |
roletrns.c | H A D | 15-Aug-2023 | 12 KiB | 432 | 368 | |
roletrns.h | H A D | 15-Aug-2023 | 1.3 KiB | 38 | 8 | |
statmch.c | H A D | 15-Aug-2023 | 3.3 KiB | 124 | 84 | |
statmch.h | H A D | 15-Aug-2023 | 3 KiB | 90 | 49 | |
stp_bpdu.h | H A D | 15-Aug-2023 | 2.7 KiB | 91 | 56 | |
stp_in.c | H A D | 15-Aug-2023 | 25.8 KiB | 1,027 | 808 | |
stp_in.h | H A D | 15-Aug-2023 | 5.8 KiB | 228 | 131 | |
stp_to.h | H A D | 15-Aug-2023 | 2 KiB | 49 | 20 | |
stp_vectors.h | H A D | 15-Aug-2023 | 3 KiB | 91 | 41 | |
stpm.c | H A D | 15-Aug-2023 | 8 KiB | 361 | 256 | |
stpm.h | H A D | 15-Aug-2023 | 4.1 KiB | 127 | 60 | |
stpmgmt.c | H A D | 15-Aug-2023 | 3.8 KiB | 162 | 110 | |
sttrans.c | H A D | 15-Aug-2023 | 3.5 KiB | 141 | 99 | |
sttrans.h | H A D | 15-Aug-2023 | 1.3 KiB | 39 | 9 | |
times.c | H A D | 15-Aug-2023 | 2.6 KiB | 81 | 42 | |
times.h | H A D | 15-Aug-2023 | 1.5 KiB | 51 | 17 | |
topoch.c | H A D | 15-Aug-2023 | 6.3 KiB | 228 | 177 | |
topoch.h | H A D | 15-Aug-2023 | 1.3 KiB | 38 | 8 | |
transmit.c | H A D | 15-Aug-2023 | 10.4 KiB | 369 | 300 | |
transmit.h | H A D | 15-Aug-2023 | 1.3 KiB | 39 | 9 | |
uid_stp.h | H A D | 15-Aug-2023 | 5.9 KiB | 203 | 142 | |
vector.c | H A D | 15-Aug-2023 | 4.8 KiB | 184 | 123 | |
vector.h | H A D | 15-Aug-2023 | 2.2 KiB | 80 | 40 |
README
1 2 3The Rapid Spanning Tree Library project contains a full implementation 4of 802.1s as an library with API. There is two processes, using this 5library: 'bridge' & 'mngr'. First simulates RSTP bridge behavior, second 6is dedicated to link/unlink 'bridges' into virtual RSTP domain (VRSTPD). 7Both 'bridge' & 'mngr' has its own simple CLI like language of commands; 8these commands allow to manage the VRSTPD. There are tools to trace 9state machine transitions and get traps about drastic changes. 10 11Purpose: studying, debugging, development. 12 13The library may be used in real bridges/routers while bounding to a real 14system depending environment. 15 16To run: 171. In one shell run 'mngr' 18./mngr 19You will get prompt of 'mngr'; type '?' and get full help of 20'mngr' commands. 21 222. In another shell run bridge instance. 23./bridge 24You will get prompt of 'bridge'; type '?' and get full help 25of bridge management commands. 26 273. You may (and should) run a number of bridge instances, each in its 28separate shell (this way you will be able manage them). 29 30For example, if there were two bridge instances, you may see examples 31of the dialog in files mngr.txt, B5055.txt and B5056.txt. 32 33Note: prompt both of 'mngr' and of 'bridge' instance contains time stamp, 34while all these process run onto the same computer, these time stamps 35are synchronized. 36 37 38
README.CVS.HOWTO
1Anonymous CVS Access 2 3This project's SourceForge CVS repository can be checked out through 4anonymous (pserver) CVS with the following instruction set. The module 5you wish to check out must be specified as the modulename. When prompted 6for a password for anonymous, simply press the Enter key. 7 8cvs -d:pserver:anonymous@cvs.rstplib.sourceforge.net:/cvsroot/rstplib login 9 10cvs -z3 -d:pserver:anonymous@cvs.rstplib.sourceforge.net:/cvsroot/rstplib co modulename 11 12Updates from within the module's directory do not need the -d parameter. 13 14Developer CVS Access via SSH 15 16Only project developers can access the CVS tree via this method. SSH1 must 17be installed on your client machine. Substitute modulename and developername 18with the proper values. Enter your site password when prompted. 19 20export CVS_RSH=ssh 21 22cvs -z3 -d:ext:developername@cvs.rstplib.sourceforge.net:/cvsroot/rstplib co modulename 23
README.authors
README.files
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
README.news
1- All per Port variables have been moved from the State 2 Machines into the Port instance (it made the state 3 machines much more clear) 4 5- In libcli.a instead of stupid fgets() function we use 6 now readline (thanks to Michel Roshavsky) 7 8- 'mcheck' support 9 10- 'nonStp' support (I know, that it is out the standard, 11 but it seems to be useful (see a discussion on 12http://www1.ietf.org/mail-archive/working-groups/bridge/current/msg00038.html) 13 and our customers demand it 14 15- The function rolesel.c has been drastically fixed, IMHO 16 closer to the standard 17 18- Nicer output 19 20