Blake J. Harnden
8e9dc21c3c
removed some commented out code and fixed a documentation parameter mistake
2017-05-04 15:24:45 -07:00
Blake J. Harnden
603179d8ca
fix control net method naming error
2017-05-04 14:43:57 -07:00
Blake J. Harnden
fd29b4a141
fixed documentation for mac address paramters in seen locations
2017-05-04 14:22:02 -07:00
Blake J. Harnden
7ad57bfb53
removed the core server reference from sessions, added a shutdown handler to initiate callbacks for when a session shutsdown, this is how the core server can run the same functionality going forward, small core-daemon documentation cleanup
2017-05-04 13:49:14 -07:00
Blake J. Harnden
3f82c980de
pass to help flesh out documentation for core.misc
2017-05-04 10:36:13 -07:00
Blake J. Harnden
8ade6f4f02
fixed bug with unpacking objects introduced while cleaning things up, added a basic gui broker test that depends on an existing daemon running
2017-05-03 15:29:15 -07:00
Blake J. Harnden
2b866e1b3f
quick pass to try and provide documentation within core.netns
2017-05-03 13:20:56 -07:00
Blake J. Harnden
4ae7958a63
quick base to try and help flesh out documentation under core.*
2017-05-03 09:30:49 -07:00
Blake J. Harnden
8f45e5c4da
core test cleanup, conslidating network creation for link modification testing
2017-04-27 14:49:51 -07:00
Blake J. Harnden
14cb7dc251
caught up with latest gitlab commits, added a new tests directory leveraging pytest based tests for testing core functionality
2017-04-27 13:34:23 -07:00
Blake J. Harnden
2fc6345138
catching up with commits: daemon: Add an instantiation-complete CORE API event type
2017-04-25 11:38:53 -07:00
Blake J. Harnden
00f4ebf5a9
initial commit after bringing over cleaned up code and testing some examples
2017-04-25 08:45:34 -07:00
Jeff Ahrenholz
0b0557e008
fix /var/run/quagga permissions for Ubuntu 16.04
2017-03-31 10:59:58 -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
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
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
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
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
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
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
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
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
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
Tom Goff
ef85995cc6
daemon: Explicitly close vnode clients at shutdown.
2016-03-04 16:57:17 -05:00
Tom Goff
d4d2f36481
daemon: Fix typo.
2016-02-18 17:23:10 -05:00
Tom Goff
85a3eee5b7
daemon: Have the xpimd service enable IGMP by default.
2016-02-18 15:35:17 -05:00
Tom Goff
360de10e1e
daemon: Add IPv4 multicast routing using xpimd as a Quagga service.
2016-02-17 13:33:19 -05:00
Tom Goff
d21de76dfa
daemon: Save NEM information in the session directory during EMANE startup.
...
Write NEM information formatted as:
<node hostname> <network interface name> <NEM ID>
to /tmp/pycore.XXXXX/emane_nems as part of starting EMANE.
This happens before the runtime state is entered and is then available
to node services.
2016-02-09 16:57:05 -05:00
Tom Goff
6dbec302e3
daemon: Use /dev/null for stdin when running state hooks.
2016-01-29 18:47:12 -05:00
Tom Goff
23f7995eab
daemon: Make EMANE event service file descriptors close-on-exec.
2016-01-29 18:43:54 -05:00
Tom Goff
104d05a4be
daemon: Minor code reorganization.
2016-01-29 18:22:08 -05:00
Tom Goff
0333c74bec
daemon: Used the communicate() method to interact with subprocesses.
2016-01-29 16:56:49 -05:00
Tom Goff
6fb1eb9bd6
daemon: Log output from state hooks to a file.
...
Also close other file descriptors when running state hooks.
2016-01-29 16:18:39 -05:00
Rod A Santiago
e8cf15fb64
assigned specific xml element types to network nested devices (switches and hubs) instead of the generic 'host' type
2016-01-28 15:37:52 -08:00
Tom Goff
1787d9e42c
services: Add a terminating newline.
2016-01-06 13:42:17 -05:00
Tom Goff
9440a16ef2
daemon: Add support for EMANE 0.9.3.
2015-12-18 17:12:26 -05:00
Tom Goff
ce0bfc88eb
daemon: Improve handling node-specific directory names.
2015-11-23 09:51:07 -05:00
Tom Goff
adbbafcc11
services: Set 'default' sysctl interface settings in addition to 'all'.
2015-11-12 18:22:41 -05:00
Tom Goff
28c27d27c1
daemon: Simplify event loop timer processing.
2015-11-05 12:37:48 -05:00
Tom Goff
c8d5ec994a
daemon: Include stack trace information when an exception occurs in a
...
session state hook.
2015-11-04 19:06:33 -05:00
Tom Goff
fc9a7c5759
daemon: Fix adding events to an event loop that already has an event
...
pending.
2015-11-04 19:02:21 -05:00
Tom Goff
f16f11c272
daemon: Check if devices are found when generating deployed scenario XML.
2015-10-13 11:07:15 -04:00
Tom Goff
ec5635c4a4
daemon: Add EMANE 0.9.1 R2RI configuration items.
2015-10-09 17:18:18 -04:00
weston
412f86ff15
removed specification of path for executable
2015-10-09 15:54:52 -04:00
weston
0b94aab4ae
removed specification of default mgenBasicActor port (to allow default to be changed by mgenBasicActor)
2015-10-09 15:54:28 -04:00
Tom Goff
3a13b8c92d
daemon: Use Emane.version directly instead of checking if EventService
...
exists.
2015-10-09 13:51:04 -04:00
Tom Goff
026f54d658
daemon: Assign version variables to the Emane class instead of
...
instances.
2015-10-09 13:50:59 -04:00
Tom Goff
1c8c9ce6ea
daemon: Make generation of EMANE location events explicitly configurable.
2015-10-09 13:50:50 -04:00
Tom Goff
04e934c93c
daemon: Prefer using Session.getcfgitem() instead of direct access.
2015-10-09 13:50:45 -04:00
Tom Goff
e24bc9f3b9
daemon: Fix support for multiple session state hooks.
2015-10-09 13:50:39 -04:00
Tom Goff
ac19cfa7ff
daemon: Add a startup service.
...
When enabled, the startup service ensures that other node services
start in order (according to the service _startindex value) and that
the prior service completes before the next service starts. It also
captures any output from startup commands in a file named
'startup.log'.
2015-09-11 18:12:57 -04:00
Tom Goff
2c8744f14e
Revert "daemon: Use a master script to start node services."
...
This reverts commit 15adf81954
.
2015-09-11 18:12:49 -04:00
Tom Goff
15adf81954
daemon: Use a master script to start node services.
...
This helps starting services with dependencies by running service
start commands serially.
2015-08-31 11:31:57 -04:00
tgoff0
b1322df827
use the modified tun_flowctl driver if it exists
...
From: weston
2015-06-01 17:52:49 +00:00
tgoff0
d92f1ff89d
fixed issue with assigning the 'lo' device for eventservice when using emane 0.9.1
...
From: santiago
2015-06-01 17:52:43 +00:00
tgoff0
5838814f07
daemon: Improve running session state change hooks.
2015-05-22 00:56:24 +00:00
tgoff0
ad60004fad
daemon: Improve launching xterm from a sudo environment.
2015-05-22 00:55:48 +00:00
tgoff0
e905648d68
change the default pipe name of olsrv2
2015-05-22 00:54:49 +00:00
tgoff0
f675b0a16d
added check for all blank option values
2015-05-22 00:54:44 +00:00
tgoff0
b82c94efd8
prevent unintended session options alteration from the gui
2015-05-22 00:54:39 +00:00
tgoff0
0018be074f
daemon: Only automatically save a XML representation of the current
...
running session when NMF version 1.0 is used.
2015-05-22 00:54:34 +00:00
tgoff0
ea4f6ba518
fixed issues with shutting down a distributed batch mode
2015-05-22 00:54:28 +00:00
tgoff0
5b36181956
Raise fatal exception if control nets from earlier sessions are detected
2015-05-22 00:54:23 +00:00
tgoff0
591ec20937
daemon: Automatically save a XML representation of the current session
...
after starting, including the deployed network plan when the new NMF
format is used.
2015-05-22 00:54:04 +00:00
tgoff0
baec96fac1
Undo check for configured controlnet, which is optional.
2015-05-22 00:53:59 +00:00
tgoff0
f6049614ab
Undo check for configured controlnet, which is optional.
2015-05-22 00:53:54 +00:00
tgoff0
06fe91ea86
Added support for auxiliary control networks. Some refactoring.
2015-05-22 00:53:43 +00:00
tgoff0
cd479193fc
checked for the attachment of a server interface to a control net before establishing a GRE tunnel with peers.
2015-05-22 00:53:38 +00:00
tgoff0
ab4819ac93
allow attachment of a server interface to a control net. added support for multiple control networks.
2015-05-22 00:53:33 +00:00
tgoff0
13fbea9153
Allow separation of OTA traffic from event traffic and from control backplane traffic. Some refactoring.
2015-05-22 00:53:28 +00:00
tgoff0
0fde50992d
daemon: Initial support to include a deployed network plan in the NMF
...
XML scenario representation.
2015-05-22 00:53:22 +00:00
tgoff0
1112da1417
daemon: Initial support for importing a scenario using the new NRL
...
Network Modeling Framework (NMF) XML representation.
2015-05-22 00:53:15 +00:00
tgoff0
08c9fd8bf5
daemon: Initial support for exporting a scenario using the new NRL
...
Network Modeling Framework (NMF) XML representation.
2015-05-22 00:53:01 +00:00
tgoff0
692afe7f81
services: Improve the mgen actor service.
...
Fix shutdown and add a validation command.
2015-04-10 00:55:15 +00:00
tgoff0
4957b73e44
added shutdown to mgen actor
...
From: macker
2015-04-03 01:49:15 +00:00
tgoff0
ed14bb60e5
added missing 80211abg mac params when running with EMACS 0.9.x
...
From: santiago
2015-04-03 01:49:09 +00:00
tgoff0
5d08aa21bf
daemon: Set session configuration before setting the initial session state.
2015-03-24 23:30:04 +00:00