core-extra/daemon
Gabriel Somlo 6609d2c394 daemon: streamline Quagga startup
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>
2017-01-12 16:40:45 -05:00
..
core daemon: streamline Quagga startup 2017-01-12 16:40:45 -05:00
data daemon: Add the EMANE TDMA model to the list of an available models. 2016-12-22 10:53:23 -05:00
doc daemon: Have git ignore files generated when creating python 2015-02-13 22:35:34 +00:00
examples daemon/examples: Update the distributed netns example. 2016-09-16 10:48:22 -04:00
ns3 daemon: Fix installation of executable example scripts. 2015-05-27 13:29:09 +00:00
sbin daemon: Remove the SIGPIPE signal handler. 2016-10-20 18:10:41 -04:00
src netns: Add a close() method to VCmd objects. 2016-03-04 16:56:56 -05:00
.gitignore Add some gitignore files. 2015-01-28 02:15:45 +00:00
CORE.e4p initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00
Makefile.am daemon: Add a logrotate configuration file. 2015-12-29 13:50:28 -05:00
MANIFEST.in initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00
setup.py daemon: Use automake to install python data files. 2015-05-26 17:33:57 +00:00