Commit graph

499 commits

Author SHA1 Message Date
Jeff Ahrenholz
de923091b3 Merge pull request #115 from gh0st42/master
fix to add correct broadcast address for ipv4 interfaces
2017-03-29 06:56:00 -07:00
lbaumgaertner
e665a122b6 fix to add correct broadcast address for ipv4 interfaces with netns backend 2017-03-28 12:00:24 +02:00
Tom Goff
67117a3af3 daemon: Improve importing custom services.
This should help avoid python module name conflicts.
2017-02-24 01:02:08 +00:00
adamson
56896bddd1 fixed issue with indexing EMANE RJ45 objects 2017-02-23 18:40:54 -05:00
adamson
c147d5b2f5 added option Throughput widge to observe transmissions/receptions separately if desired 2017-02-23 18:40:29 -05:00
Jeff Ahrenholz
c616699d77 Merge pull request #107 from gsomlo/distro_quagga
daemon: start Quagga with default user/group names
2017-02-23 08:30:55 -08:00
Jeff Ahrenholz
116033bffa Merge pull request #110 from gsomlo/f25_spec_iproute_tc
rpm: include iproute-tc [Build]Requires for fedora >= 25
2017-02-10 08:59:20 -08:00
Jeff Ahrenholz
c7324dbb45 Merge pull request #109 from coreemu/bugfix/issue24-fix-throughput-widget
Bugfix/issue24 fix Throughput Widget resolves #108
2017-02-10 08:58:24 -08:00
Gabriel Somlo
a70da2eb61 rpm: include iproute-tc [Build]Requires for fedora >= 25
As of F25, the 'tc' command was moved to a separate sub-package of
iproute, which must be included both at build- and run-time.

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-10 11:34:01 -05:00
Jeff Ahrenholz
798793ed87 fix #24 Throughput Widget bug, now that hex interface numbers are used
(cherry picked from commit e8d4d5397c86d9edd454870f71c6ee72ea728df2)
2017-02-09 07:39:13 -08:00
Gabriel Somlo
b1ea0574e5 daemon: start Quagga with default user/group names
Allow native distribution packages to run with their default user
and group names by no longer forcing "-u root -g root" on any of
the Quagga daemons' command lines.

This should continue to allow hand-compiled and/or "side-loaded"
Quagga software to run as root, if configured to do so at build
time.

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-02 11:25:53 -05:00
Jeff Ahrenholz
3e208ab4b7 Merge pull request #106 from gsomlo/cleanup_vtysh
daemon: remove Quagga 'vtysh' service
2017-02-01 08:21:35 -08:00
Gabriel Somlo
33906aae9f daemon: remove Quagga 'vtysh' service
Since all Quagga daemons are configured from a consolidated
location (the 'zebra' service), there is nothing left to do
for a dedicated service such as 'vtysh'. This patch removes
the service, along with all references to it from the rest
of the source tree (sample *.imn files, examples, etc.)

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-01 09:55:58 -05:00
Jeff Ahrenholz
b4c8be9e23 Merge pull request #103 from gsomlo/quagga_startup
daemon: streamline Quagga startup
2017-01-26 09:18:05 -08:00
Jeff Ahrenholz
3a34467e38 update NRL links from http to https; freshen content; resolves #105 2017-01-26 09:13:47 -08:00
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
Rod A Santiago
6e610f4309 ensured the shutdown event doesn't get sent until all node delete replies have been sent 2016-12-14 17:24:21 -08: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
Rod A Santiago
3f6040a0f3 Merge branch 'master' of https://github.com/coreemu/core 2016-10-19 16:21:10 -07:00
Rod A Santiago
d17ed889d2 remerged with git pending fix to distributed configuration problem 2016-10-19 16:21:06 -07: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
Rod A Santiago
5d0aa4ac1a Reverted changes due to merge with github commits made on Oct 12. An issue with distributed deployment seem to have been introduced in those commits. 2016-10-19 13:09:21 -07:00
Rod A Santiago
35356dc9c8 Merge branch 'master' of https://github.com/coreemu/core 2016-10-18 16:40:47 -07: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
Rod A Santiago
b12c795aa8 removed modules that are currently in the API_2.0 repo 2016-09-23 09:04:01 -07: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
Rod A Santiago
520dce894a New file from NRL 2016-09-14 17:15:43 -07:00
Rod A Santiago
b239b906bd Cleaned up for checking in to NRL repo 2016-09-14 17:15:16 -07:00
Rod A Santiago
ae4a4b903e Merged with new version from NRL 2016-09-14 17:13:46 -07:00