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
Jeff Ahrenholz
003044d98b
Merge pull request #102 from gsomlo/systemd_taskmax_fix
...
systemd: remove limit on fork() branching factor
2017-01-12 11:37:20 -08:00
Gabriel Somlo
da33defa41
systemd: remove limit on fork() branching factor
...
On distributions using systemd, a default limit on the number of
tasks allowed to be created from a given unit may be set by default
(e.g., on F24, "DefaultTasksAccounting=yes" and "DefaultTasksMax=512"
are set in /etc/systemd/system.conf. A large CORE simulation may well
exceed that limit, at least during startup when many (sub)shell
processes are generated using fork().
To avoid running into this limit, set "TasksMax=infinity" in the
core-daemon.service unit file template.
Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-01-12 14:14:41 -05:00
Jeff Ahrenholz
a56c86b0e4
Merge pull request #101 from kjacks21/patch-1
...
[MRG] DOC typo in EMANE install instructions
2017-01-11 07:38:08 -08:00
Kyle Jackson
49c91a2a31
[MRG] DOC typo in EMANE install instructions
2017-01-11 09:24:41 -05:00
Tom Goff
cec880e6e2
daemon: Add the EMANE TDMA model to the list of an available models.
2016-12-22 10:53:23 -05:00
Jeff Ahrenholz
6915eb2255
Merge pull request #96 from Shatnerz/core-readme-update
...
Core README update to ReStructuredText
2016-11-16 10:37:20 -08:00
Andrew Ahlers
f80304384a
Added direct link to manual
2016-10-22 21:18:17 -04:00
Andrew Ahlers
591de2cc9f
Converted README to rst
2016-10-22 21:14:16 -04:00
Tom Goff
7bbc2aef0e
daemon: Remove the SIGPIPE signal handler.
...
Python installs a default signal handler for SIGPIPE that raises an
exception. Let core-daemon handle the exception instead of exiting.
2016-10-20 18:10:41 -04:00
Tom Goff
c01d1226c3
daemon: Fix determining when to handle API messages locally.
...
This fixes distributed wired scenarios.
The problem was introduced by commit 42b1771
.
2016-10-19 18:49:34 -04:00
Tom Goff
5ec7e39a28
daemon: Sort EMANE servers so NEM ids are deterministic.
2016-10-12 17:37:40 +00:00
Tom Goff
b1beff1eba
daemon: Wait longer for EMANE network interfaces to exist.
...
When EMANE is still running.
2016-10-12 17:37:27 +00:00
Tom Goff
6d1b5d28a1
daemon: Remove tracking remote node boot status.
...
The instantiation-complete status of remote servers should indicate
when all nodes are running.
2016-10-12 17:37:13 +00:00
Tom Goff
d33147154c
daemon: Add an instantiation-complete CORE API event type.
...
Have CORE servers send an instantiation-complete event after a session
has completed instantiating. Only enter the runtime state after
instantiation-complete events have been received form all servers.
2016-10-12 17:36:59 +00:00
Tom Goff
42b1771dcb
daemon: Create a CoreServer class to represent CORE servers.
...
Includes related changes and refactoring.
2016-10-12 17:36:42 +00:00
Tom Goff
8479ccd2c5
daemon: Use a set to store the broker node map.
2016-10-12 17:36:30 +00:00
Tom Goff
6494605298
daemon: Use a set to store broker physical nodes.
2016-10-12 17:36:16 +00:00
Tom Goff
4662164ece
daemon: Use a set to store broker networks.
2016-10-12 17:35:18 +00:00
Tom Goff
31a9f6fb34
daemon: Use a set to store broker handlers.
2016-10-12 15:55:30 +00:00
Tom Goff
bcd749578d
gui: Avoid added an extra newline to hook scripts when saving.
2016-09-29 17:28:31 -04:00
Tom Goff
e1aec0ea1d
daemon/examples: Update the distributed netns example.
...
The number of nodes used can depend on a command-line argument, but
node one should always exist.
2016-09-16 10:48:22 -04:00
Rod A Santiago
e58de230d2
packaging: Update RPM spec to include core/coreserver.py
2016-09-14 18:19:22 -07:00
Rod A Santiago
2d745c339f
Moved classes CoreRequestHandler, CoreDatagramRequestHandler, CoreServer, CoreUdpServer to a separate core.coreserver module. This will allow future definition of auxiliary request handlers for providing alternative interfaces with CORE.
2016-09-14 18:06:19 -07:00
Rod A Santiago
9913168896
Fixed sendnodeemuid to use the handler's sendall() method instead of BaseRequestHandler's request.sendall(). Added a method to retrieve a configuration item by key.
2016-09-14 18:05:52 -07:00
Rod A Santiago
1b8c195c75
Merge branch 'master' of https://github.com/coreemu/core
2016-09-14 17:52:35 -07:00
Tom Goff
5d80716550
packaging: Add a makefile to directly build RPM packages.
2016-09-06 11:36:32 -04:00
Tom Goff
5911c7a69a
packaging: Update RPM spec to include the EMANE TDMA model bindings.
2016-09-06 11:36:32 -04:00
Tom Goff
a85a1e4ece
packaging: Add a makefile to directly build Debian packages.
2016-09-06 11:36:32 -04:00
Tom Goff
82f22fde5e
packaging: Fix RPM spec changelog date.
2016-09-06 11:36:32 -04:00
Tom Goff
dc735c5d8f
gitignore: Ignore distribution tar files.
2016-09-06 11:36:32 -04:00
Tom Goff
4cf8c62149
packaging: Update Debian packaging.
2016-09-06 11:36:32 -04:00
Tom Goff
cdc3071bed
autoconf: Remove an unused variable.
2016-09-06 11:36:32 -04:00
Tom Goff
c0a9c6c9af
daemon: Remove unused variable.
2016-09-06 10:38:38 -04:00
adamson
f8da9334d8
fix to EMANE TDMA XML generation
2016-09-06 10:16:31 -04:00
Tom Goff
e5e75756ea
daemon: Remove session-related changes introduced by 68532cb
.
2016-09-05 17:12:16 -04:00
Tom Goff
1c91f41742
daemon: Remove unused traceback code introduced by 68532cb
.
2016-09-05 17:09:49 -04:00
adamson
d270da8f41
added daemon/core/emane/tdma.py module to support EMANE 1.0.1 TDMA model
2016-09-05 17:06:31 -04:00
Tom Goff
f03311b50a
daemon: Add support for EMANE 1.0.1.
2016-09-05 17:02:59 -04:00
Rod A Santiago
405fe50ff5
comment out print_stack call in linkconfig
2016-04-26 15:07:55 -07:00
Rod A Santiago
88e285f016
daemon: added option API TLVs so that per-interface parameters are kept for EMANE models when a single node has multiple interfaces of the same EMANE model type but different model parameters
2016-04-20 08:45:16 -07:00
Rod A Santiago
68532cb818
daemon: added option API TLVs so that per-interface parameters are kept for EMANE models when a single node has multiple interfaces of the same EMANE model type but different model parameters
2016-04-20 08:43:39 -07:00
Rod A Santiago
46cd65c821
daemon: added support to set <address> 'iface' attribute with interface name in XML written by CORE so different interface addresses can be discriminated on <testHost> instances
2016-04-20 08:41:59 -07:00
Rod A Santiago
139b495982
examples: added option API TLVs so that per-interface parameters are kept for EMANE models when a single node has multiple interfaces of the same EMANE model type but different model parameters
2016-04-20 08:38:10 -07:00
Rod A Santiago
b91b5125f2
daemon: changes to support optional retainment of per-interface parameters for EMANE models when multiple EMANE models of the same type are used as interfaces for a node
2016-04-20 08:36:58 -07:00
Rod A Santiago
c66914ec21
daemon: added option API TLVs so that per-interface parameters are kept for EMANE models when a single node has multiple interfaces of the same EMANE model type but different model parameters
2016-04-20 08:33:58 -07:00
Rod A Santiago
5895ba2d20
fixed issue with wlan objects from previous sessions lingering in EbtablesQueue and causing the daemon to hang.
2016-04-19 14:10:03 -07:00
Tom Goff
76bf200f41
daemon: Explicitly close EMANE event service files.
2016-03-04 16:57:56 -05:00
Tom Goff
d681534b17
daemon: Minor code reorganization.
2016-03-04 16:57:46 -05:00
Tom Goff
6f77086540
daemon: Remove __del__() methods.
...
This simplifies Python garbage collection.
2016-03-04 16:57:29 -05:00