Commit graph

2057 commits

Author SHA1 Message Date
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
5a58978f79 netns: Add a close() method to VCmd objects. 2016-03-04 16:56:56 -05:00
Tom Goff
b1de00be1a netns: Remove the explicit client connected flag.
Use the client variable directly.
2016-03-04 16:56:29 -05:00
Tom Goff
73b14f17b8 netns: Delete the associated client if an I/O error occurs. 2016-03-04 16:56:09 -05:00
Tom Goff
d40dae4e1c netns: Change the argument passed to client delete requests.
Directly pass a pointer to the containing VCmd struct.
2016-03-04 16:55:42 -05:00
Tom Goff
b86881aba9 netns: Add a kill() method to VCmdWait objects. 2016-02-23 17:33:05 -05:00
Tom Goff
d7bce43e42 netns: Have VCmdWait objects hold a reference to the corresponding Vcmd.
Also have VCmdWait methods check if the object is associated with an
actual command.
2016-02-23 17:33:05 -05:00
Tom Goff
d42d54a477 netns: Trivial code reorganization. 2016-02-19 17:57:21 -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
a102c46d37 daemon: Make asynchronous notifier file descriptors close-on-exec. 2016-01-29 18:42:19 -05:00
Tom Goff
104d05a4be daemon: Minor code reorganization. 2016-01-29 18:22:08 -05:00
Tom Goff
0dcf2c05f0 daemon: Make the UDP server socket close-on-exec. 2016-01-29 18:07:43 -05:00
Tom Goff
0853c95592 daemon: Make command channel file descriptors close-on-exec. 2016-01-29 17:49:16 -05:00
Tom Goff
ec8ac2f258 daemon: Minor code reorganization. 2016-01-29 17:46:55 -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
18039a2564 daemon: Add a logrotate configuration file. 2015-12-29 13:50:28 -05:00
Tom Goff
52e75bea3b daemon: Add support for log file rotation when SIGUSR1 is received. 2015-12-29 13:50:18 -05:00
Tom Goff
b84c565329 daemon: Catch additional signals that terminate the process by default. 2015-12-29 13:50:05 -05:00
Tom Goff
ccf0dae139 automake: Add some missing distribution files. 2015-12-28 14:56:00 -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
63ff54243e daemon: Add an example script that generates skeleton CORE bindings
from EMANE model manifest files.
2015-10-09 13:50:54 -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
Jeff Ahrenholz
c37627b67a Merge pull request #70 from stuartmarsden/pythondaemonexample
Add an example which can run on the daemon when run as a standard user.
2015-09-30 20:47:18 -07: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
Stuart Marsden
a9b0014c91 Add a example which can run on the daemon when run as a standard user. 2015-08-04 13:46:09 +03: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
a7e8043db8 daemon: Fix installation of executable example scripts. 2015-05-27 13:29:09 +00:00
tgoff0
5845f7afed Changed default listen address back to localhost from 0.0.0.0 2015-05-26 17:34:33 +00:00
tgoff0
a91e9e0d4c daemon: Fix corens3 examples install directory. 2015-05-26 17:34:28 +00:00
tgoff0
0ce17e8c52 daemon: Use automake to install python data files.
Includes other small changes.
2015-05-26 17:33:57 +00:00
tgoff0
5838814f07 daemon: Improve running session state change hooks. 2015-05-22 00:56:24 +00:00
tgoff0
aedd808f1a daemon: Fix path of python sbin programs. 2015-05-22 00:56:02 +00:00
tgoff0
ad60004fad daemon: Improve launching xterm from a sudo environment. 2015-05-22 00:55:48 +00:00
tgoff0
c68e05b4b5 Prefer using ip instead of ifconfig.
Includes other minor improvements.
2015-05-22 00:55:20 +00:00
tgoff0
2f3ec89ef4 Use sys.prefix instead of sys.exec_prefix for python sbin programs. 2015-05-22 00:55:13 +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
e73dbbe25d Made persistent to allow execution from the GUI 2015-05-22 00:54:17 +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
9600ce9e03 Added example setting of primary control network ina distributed environment. Added example settings of auxiliary control networks. 2015-05-22 00:53:49 +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
04e98a8004 Improve uninstalling python sbin programs. 2015-05-16 01:53:20 +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
tgoff0
abaed4924b daemon: Improve event handling some. 2015-03-24 18:06:49 +00:00
tgoff0
61d0f34982 added a default olsrd config file to the olsrorg service template
From: dean
2015-03-09 15:21:22 +00:00
tgoff0
e9a4a52755 daemon: Make Configurable.valueof() a class method. 2015-03-09 15:21:16 +00:00
tgoff0
8248a292d0 daemon: Use a consistent interface naming convention when creating
links between layer-2 devices.
2015-03-09 15:20:59 +00:00
tgoff0
61f1a6e72e daemon: Represent object ids in hex when used to generate interface
names (to reduce length if possible).
2015-03-09 15:20:54 +00:00
tgoff0
db15bee60c daemon: Include MAC addresses in CORE API link messages. 2015-03-09 15:20:42 +00:00
tgoff0
db03927892 daemon: Fix encoding MAC addresses for CORE API messages. 2015-03-09 15:20:33 +00:00
tgoff0
f2cd25d893 daemon: Update the example emane 802.11 python script. 2015-02-27 22:03:52 +00:00
tgoff0
750b6c507d daemon: Minor XML-related cleanup. 2015-02-27 00:06:47 +00:00
tgoff0
cb93153007 daemon: Use autoconf to build the vnoded, vcmd, and netns programs. 2015-02-20 03:10:56 +00:00
tgoff0
99ab22c78c Improve determining an appropriate python install prefix. 2015-02-19 02:00:11 +00:00
tgoff0
9cae7819bf daemon: Have git ignore files generated when creating python
documentation.
2015-02-13 22:35:34 +00:00
tgoff0
145866b70b daemon: Improve the python documentation Makefile. 2015-02-13 21:34:41 +00:00
tgoff0
ca8856d6c8 daemon: Initial support for writing different versions of XML scenario files. 2015-02-05 00:16:14 +00:00
tgoff0
899b5ae5be daemon: Renumber XML versioning.
Consider the current XML representation version 0.0.
2015-02-05 00:15:59 +00:00
tgoff0
bc3ba68b28 daemon/services: Update NRL services. 2015-02-05 00:15:54 +00:00
tgoff0
5bb00646d7 daemon: Call the EMANE post-startup function when entering the session
runtime state.

This should help synchronization startup for distributed emulations.
2015-02-05 00:15:48 +00:00
tgoff0
978f9946f1 daemon: Add initial support for invoking python callbacks when session
state changes occur.
2015-02-05 00:15:43 +00:00
tgoff0
fb662d06b7 daemon: Ignore redundant session state changes. 2015-02-05 00:15:38 +00:00
tgoff0
4599520518 Add some gitignore files. 2015-01-28 02:15:45 +00:00
tgoff0
baa9afc20f script fix 2015-01-21 21:38:19 +00:00
tgoff0
458d1d64e6 added olsr.org service template 2015-01-21 21:38:15 +00:00
tgoff0
6159d31f66 daemon: Refactor waiting for a TunTap device to exist.
This should also fix an issue that caused excessive startup delay.
2015-01-21 21:38:10 +00:00
tgoff0
d40b0dd89c Adjust file mode bits. 2015-01-21 21:38:02 +00:00
tgoff0
3d7aab1149 daemon: Use interface names from /sys/class/net when it exists. 2015-01-21 21:37:52 +00:00
tgoff0
dfc4b2b9a2 daemon: Trivial debug message cleanup.
Check that a message header was received before trying to log it.
2015-01-21 21:37:48 +00:00
tgoff0
29c31aad9a daemon: Send an exception message reply if an error occurs when
importing/executing a file.
2015-01-21 21:37:43 +00:00
tgoff0
b9ebcd979c daemon: Do some session cleanup if an error occurs when importing an
XML scenario.
2015-01-21 21:37:38 +00:00
tgoff0
d56f26b5d6 Some trivial code cleanup. 2015-01-21 21:37:31 +00:00
tgoff0
a0d4ac4ec4 daemon: Wait for a TunTap device to exist before trying to configure
addresses.
2014-12-15 22:24:17 +00:00
tgoff0
6084b4f416 Adjust file mode bits. 2014-12-15 18:23:25 +00:00
tgoff0
598cd87080 daemon: Export the filename as a global variable when executing a file. 2014-12-15 18:23:13 +00:00
tgoff0
104e68a712 daemon: Initial support to allow multiple versions of XML scenario files. 2014-12-15 18:22:53 +00:00
tgoff0
3ffdf7c420 daemon: Some code reorganization to make XML support more modular. 2014-12-15 18:22:46 +00:00
ahrenholz
b89e7d6471 fix MDR test to work with Quagga under Ubuntu found in quagga_search_path
(Boeing r1901)
2014-11-05 21:31:01 +00:00
ahrenholz
c5f1fa7d13 added docker service file from r603 2014-10-31 18:47:57 +00:00
ahrenholz
90f3c6569f convert node count to string before building session message (fixes bug #258)
patch from Björn Axelsson
(Boeing r1900)
2014-10-31 18:35:38 +00:00
ahrenholz
f5e3461903 make calcdistance a staticmethod
(Boeing r1897)
2014-10-31 16:46:43 +00:00
ahrenholz
267c49dfab added Docker service contributed by Stuart Marsden, with some mods
fixes bug #264
(Boeing r1896)
2014-10-31 16:45:03 +00:00
ahrenholz
f61522207d update HTTP service to support apache 2.4 on Ubuntu 14.04 (fixes bug #261)
(Boeing r1895)
2014-10-30 18:13:43 +00:00
ahrenholz
503713f0bc use hex value for short session ID used in naming interfaces
use interface names "vethOOOOO.ii.ss" and "vethOOOOO.iipss" for veth pairs

(where OOOOO = object id, ii = interface index, ss = hex short session ID)

fixes bug #260 virtual interface names too long
(Boeing r1894)
2014-10-28 21:18:16 +00:00
ahrenholz
96dd48e3c3 fixed sample scripts to work with EMANE 0.9.x
(Boeing r1893)
2014-10-28 17:40:14 +00:00
ahrenholz
5c9c8bfff7 set IP addresses on TAP devices used with EMANE 0.9.2 (fixes bug #268)
(Boeing r1892)
2014-10-28 17:24:31 +00:00
ahrenholz
be4f431ab6 revise EMANE 0.9.2 detection due to protobuf file under Ubuntu 12.04
make Emane.detectversionfromcmd() a classmethod
(Boeing r1890,1891)
2014-10-27 20:52:01 +00:00
ahrenholz
c04c0a9ef3 added SDT option to basicrange.py example
(Boeing r1889)
2014-10-23 22:14:06 +00:00
ahrenholz
2df3e6cd77 update labels, EMANE 0.9.x RF-PIPE jitter/delay is in seconds, not microseconds
(Boeing r1886)
2014-10-02 15:00:19 +00:00
ahrenholz
7f05bcd94a fix improper EMANE version detection when stopping/starting sessions
(Boeing r1885)
2014-09-30 14:52:13 +00:00
ahrenholz
5359ff4fd4 added support for distributed EMANE 0.9.2
(Boeing r1884)
2014-09-29 19:07:25 +00:00
ahrenholz
f081985433 use default log level of 3 ("INFO" level) with EMANE if unspecified in core.conf
(Boeing r1883)
2014-09-23 21:37:18 +00:00
ahrenholz
4ee92d1711 support linking RJ45 with EMANE 0.9.2 using Raw transport;
build extra XML and launch emane process on host for the raw devices
(Boeing r1882)
2014-09-23 20:24:19 +00:00
ahrenholz
e825b94e13 support for EMANE 0.9.2 by running emane process in each container
use control network for data and events
use internal transport instead of emanetransportd for 0.9.2
(Boeing r1881)
2014-09-23 16:26:22 +00:00
ahrenholz
24263d77bd initial XML changes for EMANE 0.9.2
for version detection, use 'emane --version' output instead of other tricks
(Boeing r1880)
2014-09-18 15:50:09 +00:00
ahrenholz
3ca4cecd0b whitespace only changes made by Ninja-IDE
(Boeing r1879)
2014-09-17 22:00:11 +00:00
ahrenholz
66ebcb5cf4 fix bug #253 "NetworkManager runs DHCP..." for Ubuntu (but not Fedora/CentOS)
use "vethA.B.SS" name for veth devices (A = node number, B = index, SS = short session ID)
use "tapA.B.SS" name for tap devices; use "b.A.SS" name for bridge devices
added a SESSION_SHORT environment variable to the default CORE environment
(Boeing r1867)
2014-08-04 17:28:35 +00:00
ahrenholz
f3b86f6dbd fix bug #231 exception with mobility script and two wlans
(Boeing r1859)
2014-07-29 14:52:08 +00:00
ahrenholz
42f176e1ec write local address, port for slave servers in /tmp/pycore.nnnnn/servers file
fixes bug #248
(Boeing r1856)
2014-07-28 17:49:42 +00:00
ahrenholz
3bcbc0ffac make daemon shutdown more robust to Python errors
(Boeing r1855)
2014-07-22 17:17:42 +00:00
ahrenholz
c95e240aa8 added nodetype target to core-manage to add/remove/check $HOME/.core/nodes.conf
(Boeing r1854)
2014-07-18 16:56:05 +00:00
ahrenholz
71927274cd added core-manage tool for addons to add/remove/check services and models
(Boeing r1851)
2014-07-15 20:30:45 +00:00
ahrenholz
e6ff3b4cce support multiple frequencies of interest with the EMANE 0.9.1 Universal Phy
(Boeing r1850)
2014-07-11 17:44:41 +00:00
ahrenholz
7905a26e4d (from veytser@ll) include antenna profile manifest parameter in platform.xml
(Boeing r1849)
2014-07-10 22:00:58 +00:00
ahrenholz
758f7d50e8 fix clang compile error by replacing unsigned int with long for syscall()
(Boeing r1848)
2014-07-07 17:11:28 +00:00
ahrenholz
52bcf71e12 minor cleanup of SDT helper
(Boeing r1846)
2014-06-13 18:41:46 +00:00
ahrenholz
33ea3e95ec added support for subscribing to EMANE 0.9.1 location events
(Boeing r1845)
2014-06-13 17:06:41 +00:00
ahrenholz
1f5397c558 tomh: s._starttime may not be a string
(Boeing r1843)
2014-06-02 19:38:02 +00:00
ahrenholz
9ba3d29768 initial EMANE 0.9.1 support
does not support event monitor or generating CommEffect events
2014-05-25 20:08:41 +00:00
ahrenholz
1ab6be9625 fix bug #244 by printing an error when some non-unique directory names are
used in the custom_services_dir setting
(Boeing r1841)
2014-04-30 21:27:41 +00:00
ahrenholz
422ecab341 use default SDT URL as default session option
(Boeing r1840)
2014-04-22 15:49:12 +00:00
ahrenholz
7bc3fa99a0 added stdurl session option
(Boeing r1839)
2014-04-22 15:23:59 +00:00
ahrenholz
57022b7ca6 save and parse canvas origin (reference point) and scale in the Motion Plan XML
(Boeing r1838)
2014-04-08 16:18:11 +00:00
ahrenholz
34c7784009 updated two Python script examples to enter the RUNTIME state for execution
from the GUI
(Boeing r1837)
2014-04-03 21:58:47 +00:00
ahrenholz
fef98f30c9 when executing Python scripts from the GUI, run in background thread and
wait for them to enter the RUNTIME state
2014-04-03 21:58:05 +00:00
ahrenholz
81a22a7192 NRL SVN r954 / dean:
added nrl services for an mgen sink and nrlolsrv2
(Boeing r1831)
2014-04-03 14:43:23 +00:00
ahrenholz
e610a8d726 fix hash calculation used to determine GRE tunnel keys
for fixing tunnels between distributed controlnets
(Boeing r1830)
2014-04-02 21:19:41 +00:00
ahrenholz
481daf4c0d update examples scripts, replacing add_to_server() with two-line statement
note that due to the usage of the 'server' global, it will not work to add a
Session.add_to_server() or core.misc.utils.add_to_server() function
(Boeing r1828)
2014-03-12 21:38:07 +00:00
ahrenholz
f717fcc0dd (commit by Kelly Bunn)
session.py:  Created method (sendnodeemuid) to send node status response
             message, so all nodes can call it. Added per session updown
             script option.
service.py:  Added test for _starttime before calling float() in
             bootnodeservices().
             Changed servicesfromopaque code to collect unknown
             services and return with valid services.
             Changed handleevent to send a message with posible failed
             and unknown services.
coreobj.py:  Added code to put nodes actual configured services in
             tonodemsg.
core-daemon: Added call to self.session.sendnodeemuid if in running
             state in handlenodemsg

(Boeing r1824,1825)
2014-03-05 16:28:32 +00:00
ahrenholz
3b01f99e2c use a shell script to start SMF and detach stdin/stdout/stderr
(Boeing r1822)
2014-01-22 17:31:40 +00:00
ahrenholz
47433fc231 log exception messages generated by Session.exception()
(Boeing r1819)
2014-01-10 16:56:14 +00:00
ahrenholz
ee8023a64a fix bug #150 where the EMANE event service address and port were not used
added buildeventservicexml() helper to write /tmp/pycore.xxxxx/libemane...xml
dynamically set LIBEMANEEVENTSERVICECONFIG environment variable when needed
 to load the event service library XML
(Boeing r1818)
2013-12-19 22:27:10 +00:00
ahrenholz
bbbf775766 improved imports, added addtextelementsfromtuples() helper,
added sample XML in comments
(Boeing r1817)
2013-12-19 21:34:58 +00:00
ahrenholz
96f346804b allow default node class to be specified when initalizing an XML parser
write and parse default services and node types to/from XML ServicePlan
(Boeing r1814)
2013-12-16 23:57:42 +00:00
ahrenholz
c635c54a3a fix two exceptions when using ns2 scripted mobility along with SDT3D
(Boeing r1813)
2013-12-16 23:29:27 +00:00
ahrenholz
9e955d22f0 update MDR service to use broadcast interfaces for links to non-WLAN nets
(Boeing r1812)
2013-12-16 18:52:41 +00:00
ahrenholz
9d897e4898 unbreak mobility script pause event
(Boeing r1811)
2013-12-11 17:21:46 +00:00
ahrenholz
ddfc6f5de7 unbreak the ability to create a WLAN network during runtime
(Boeing r1810)
2013-12-09 23:43:46 +00:00
ahrenholz
5a1e8bfdca fix handling of service stop message
(Boeing r1809)
2013-12-09 22:14:05 +00:00
ahrenholz
fce1cf18ee allow run-time model changes when pressing "Apply" in WLAN config dialog
(Boeing r1808)
2013-12-09 17:56:06 +00:00
ahrenholz
a9ea208a08 added reconfigure event type, for re-generating service config files
added new Event Message handling for starting mobility model or reconfiguring
  a service during runtime
(Boeing r1806)
2013-12-05 23:44:25 +00:00
ahrenholz
d281682772 globally replace old NRL URL with new
http://www.nrl.navy.mil/itd/ncs/products/core
(Boeing r1803)
2013-12-04 21:45:42 +00:00
ahrenholz
3e99c9d12f added extra logic to EMANE node to enable flow control in the virtual transport
if it is enabled in the MAC model
(Boeing r1801)
2013-12-03 23:10:21 +00:00
ahrenholz
6babc9895e fix error with EMANE CommEffect model with loss/duplicate % string values
(Boeing r1800)
2013-12-03 19:48:06 +00:00
ahrenholz
5390f280e3 update daemon to generate extra Link Messages for bidirectional link effects
support bidirectional links with session reconnect and XML save/load
(Boeing r1799)
2013-12-03 18:14:39 +00:00
ahrenholz
6547b898c3 daemon support for unidirectional link effects
also enable link effects between hub/switch and hub/switch connections
(Boeing r1798)
2013-12-02 21:20:52 +00:00
ahrenholz
536ff20fff change API version to 1.23
change jitter to 64-bit value to align with delay in Link Message
added unidirectional link flag TLV to Link Message
(Boeing r1795)
2013-12-02 21:08:00 +00:00
ahrenholz
1e8abc4c1e allow executing XML files from daemon from Register Message
(like a Python script)
added start flag to xmlutils.opensessionxml(), 
XML file will be parsed into a live running session
(Boeing r1792)
2013-11-25 19:54:02 +00:00
ahrenholz
d9b564acb4 added TODO comment for scripts that don't return
(Boeing r1790)
2013-10-28 21:42:32 +00:00
ahrenholz
ed401451d2 print stack trace when Python script fails to run in core-daemon context
(Boeing r1789)
2013-10-28 15:25:44 +00:00
ahrenholz
102dd2aa3b set NODE_NAME and NODE_NUMBER in default vnoded environment for SimpleLxcNodes
(Boeing r1788)
2013-10-28 14:33:31 +00:00
ahrenholz
d00a49d682 added mkdir flag to Session.__init__() to allow adopting existing sessions
(Boeing r1786)
2013-10-25 15:21:08 +00:00
ahrenholz
0fc51e38bf (Boeing r1784,1785)
implement local flag when receiving Execute Message, for running host commands
added checkforkernelmodule helper
2013-10-22 14:32:42 +00:00
ahrenholz
d676a9fd59 (Boeing r1783)
fix HTTP service running under Ubuntu by setting up /var/lock/apache2 dir
2013-10-22 14:23:57 +00:00
ahrenholz
f9e7c36204 (Boeing r1776)
bump CORE API version number to 1.22
2013-09-25 17:35:56 +00:00
ahrenholz
51e17db093 (Boeing r1775)
raise exception when veth created with local name longer than 16 bytes
2013-09-25 17:34:29 +00:00
ahrenholz
454d17a245 (Boeing r1774)
added which() function to search full PATH for executable; use it in checkexec()
2013-09-12 19:07:41 +00:00
ahrenholz
3e2e8f77b2 (Boeing r1773)
properly pass CFLAGS and LDFLAGS when building extension module via setup.py

this fixes Debian build issues when hardening flags are used and properly
 passes the -D_GNU_SOURCE required for the "implicit declaration of function
 ‘posix_openpt’" warning
2013-09-10 16:24:32 +00:00
ahrenholz
4f9c7bf804 (Boeing r1769)
include exception text when service startup command fails
2013-09-06 17:58:54 +00:00
ahrenholz
ece697df70 (Boeing r1768)
basic fixes to ospfmanetmdrtest.py script to work with current LxcNode class
2013-09-06 17:38:47 +00:00
ahrenholz
f96bbf7a29 (Boeing r1767)
update SDT helper to support 3D display of distributed emulations (fix bug #205)
2013-09-05 17:46:12 +00:00
ahrenholz
dba5f31b8d (Boeing r1766)
fix bug where TunnelNodes not included in boot count, session doesn't enter
 the RUNTIME state
2013-09-05 17:32:50 +00:00
ahrenholz
8d11b40009 (Boeing r1765)
added simple distributed Python script example involving N/2 local nodes and
 N/2 nodes on a remote server, connected to a common switch

lacks runtime access to the remote nodes (e.g. for command execution)
2013-09-04 17:16:31 +00:00
ahrenholz
30965ba950 (Boeing r1764)
added Broker.handlerawmsg() helper to invoke handlemsg() using packed bytes
2013-09-04 17:03:34 +00:00
ahrenholz
83d238c691 (Boeing r1763)
include server TLV when generating node messages

useful for Python scripts that generate messages for feeding into the broker
2013-09-04 17:01:01 +00:00
ahrenholz
0694a20793 (Boeing r1762)
start session event queue on slave servers when RUNTIME message is received

this enables queued events on slave servers such as service start times
2013-09-03 15:23:44 +00:00
ahrenholz
1a659fe9eb (Boeing r1761)
have broker forward conf reset messages to "all"

fixes issue with restarting distributed EMANE session
2013-08-30 18:42:42 +00:00
ahrenholz
aad3f07560 (Boeing r1760)
fix Session.instantiate() for EMANE slave servers, which wait for their 
  platform ID and starting NEM ID from the master server
2013-08-30 18:41:39 +00:00
ahrenholz
898a8c6c76 (Boeing r1757)
fix exception raised when EMANE model is missing config
2013-08-29 20:35:56 +00:00
ahrenholz
ce65d617c5 (Boeing r1755)
allow specifying multiple controlnet prefixes for distributed sessions

a callback causes the broker to munge the CONF message so that controlnet
  prefixes are assigned to slave servers by the master server
2013-08-29 17:51:19 +00:00
ahrenholz
7e63173d07 (Boeing r1754)
display message when control network bridge is added
2013-08-29 16:08:53 +00:00
ahrenholz
f8f46d28be initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00