Thursday, August 25, 2011

yargh, hooks

One of the goals of the CORE project is hackability. In that spirit, you can now define hooks under the experiment menu. Hooks are optional shell scripts that run at the specified session state. (If you previously used the global experiment script, this is the same thing; the experiment script now becomes a runtime hook.) The hook script runs on the host as root, is not associated with any particular node, and is saved in the imn file.
 Below the hook configuration dialog is shown. You select the session state from a drop-down menu.

Here are the session states and their meanings:
  1. Definition - used by the GUI to tell the backend to clear any state.
  2. Configuration - when the user presses the Start button, node, link, and other configuration data is sent to the backend.
  3. Instantiation - after configuration data has been sent, just before the nodes are created.
  4. Runtime - all nodes and networks have been built and are running.
  5. Datacollect - the user has pressed the Stop button; a good time to collect log files before nodes are shut down.
  6. Shutdown - all nodes and networks have been shut down and destroyed.
Another related feature that has been added is a /tmp/pycore.nnnnn/state file. As a session changes states, it will write the current state number and name into this file. This would enable an external program or script to monitor that file.

Friday, August 19, 2011

CORE 4.2 released



A new 4.2 release of CORE is available. To obtain the software, please visit:
http://cs.itd.nrl.navy.mil/work/core/
http://downloads.pf.itd.nrl.navy.mil/core/packages/4.2/

Quickstart installation instructions are here:
http://code.google.com/p/coreemu/wiki/Quickstart

Here are some of the high-level changes since version 4.1:

  • EMANE 0.7.1 support
    support for Bypass model, Universal PHY, logging, realtime
  • configurable MAC addresses
  • control interfaces (backchannel between node and host)
  • service customization dialog improved (tabbed)
  • new testing scripts for MDR and EMANE performance testing
  • improved upgrading of old imn files
  • new coresendmsg.py utility (deprecates libcoreapi and coreapisend)
  • new security services, custom service becomes UserDefined
  • new services and Python scripting chapters in manual
  • fixes to distributed emulation, linking tunnels/RJ45s with WLANs/hubs/switches
  • fixed the following bugs:
    18, 32, 34, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,  52, 53, 55, 57, 58, 60, 62, 64, 65, 66, 68, 71, 72, 74


These release notes along with a list of known issues are posted here:
http://code.google.com/p/coreemu/wiki/ReleaseNotes

Monday, August 1, 2011

customize service tabbed dialog

The customize service dialog was limited in the past, only allowing configuration of the first config/script file. This dialog has been revamped with a new tabbed dialog, using Ttk (Tcl/Tk 8.5 now required).


To add a new config/script file, you would enter the new name into the combo box and press the new button.

Below the Directories and Startup/Shutdown tabs are shown.