Common Open Research Emulator
6609d2c394
Currently, all Quagga daemons are started concurrently by their respective CORE services, using "quaggaboot.sh" generated by the 'zebra' service. However, all routing services depend on 'zebra' already running, and 'vtysh' depends on ALL other Quagga services before it can push configuration from the common "Quagga.conf" to all running daemons (see "waitforvtyfiles()" in "quaggaboot.sh"). The spinwait+timeout based implementation of "waitforvtyfiles()" may, depending on load, give up too early and fail to configure all Quagga daemons. This patch streamlines the way Quagga daemons are started, by launching them all from the 'zebra' service. The correct sequence is to first launch the 'zebra' daemon itself, then proceed with all routing daemons, and finish with a call to "vtysh -b" which configures all running daemons. The list of all applicable daemons to launch is obtained using 'grep' from Quagga.conf, in the same way "waitforvtyfiles()" used to discover which *.vty files to look for in /var/run/quagga/. The startup command for all services other than 'zebra' becomes empty, and "quaggaboot.sh" issues a warning on attempts to have it launch any other daemon. Signed-off-by: Gabriel Somlo <glsomlo@cert.org> |
||
---|---|---|
daemon | ||
doc | ||
gui | ||
kernel | ||
packaging | ||
scripts | ||
.gitignore | ||
bootstrap.sh | ||
Changelog | ||
configure.ac | ||
LICENSE | ||
Makefile.am | ||
python-prefix.py | ||
README-Xen | ||
README.rst | ||
revision.sh |
==== CORE ==== CORE: Common Open Research Emulator Copyright (c)2005-2013 the Boeing Company. See the LICENSE file included in this distribution. About ===== CORE is a tool for emulating networks using a GUI or Python scripts. The CORE project site (1) is a good source of introductory information, with a manual, screenshots, and demos about this software. Also a supplemental Google Code page (2) hosts a wiki, blog, bug tracker, and quickstart guide. 1. http://www.nrl.navy.mil/itd/ncs/products/core 2. http://code.google.com/p/coreemu/ 3. `Official Documentation`_ .. _Official Documentation: http://downloads.pf.itd.nrl.navy.mil/docs/core/core-html/index.html Building CORE ============= To build this software you should use: ./bootstrap.sh ./configure make sudo make install Here is what is installed with 'make install': /usr/local/bin/core-gui /usr/local/sbin/core-daemon /usr/local/sbin/[vcmd, vnoded, coresendmsg, core-cleanup.sh] /usr/local/lib/core/* /usr/local/share/core/* /usr/local/lib/python2.6/dist-packages/core/* /usr/local/lib/python2.6/dist-packages/[netns,vcmd].so /etc/core/* /etc/init.d/core See the manual for the software required for building CORE. Running CORE ============ First start the CORE services: sudo /etc/init.d/core-daemon start This automatically runs the core-daemon program. Assuming the GUI is in your PATH, run the CORE GUI by typing the following: core-gui This launches the CORE GUI. You do not need to run the GUI as root. Support ======= If you have questions, comments, or trouble, please use the CORE mailing lists: - `core-users`_ for general comments and questions - `core-dev`_ for bugs, compile errors, and other development issues .. _core-users: http://pf.itd.nrl.navy.mil/mailman/listinfo/core-users .. _core-dev: http://pf.itd.nrl.navy.mil/mailman/listinfo/core-dev