We've moved to GitHub a while back but haven't transitioned the old Google Code archive over yet. Let's start to populate the GitHub wiki -- starting with the essentials: how to get started with CORE on Ubuntu 16.04:
Showing posts with label announcement. Show all posts
Showing posts with label announcement. Show all posts
Monday, July 3, 2017
Wednesday, August 6, 2014
CORE 4.7 released
A new 4.7 release of CORE is available. To obtain the software, please visit:
http://downloads.pf.itd.nrl.navy.mil/core/packages/4.7/
Brief summary of changes:
The full release notes and list of known issues are posted on the Wiki Release Notes page.
Ubuntu 14.04 and Debian users can install a "core-network" package via apt-get (look for version 4.7 soon.) Also, Subversion source control access can be found here.
http://downloads.pf.itd.nrl.navy.mil/core/packages/4.7/
Brief summary of changes:
- EMANE 0.9.1 support
- asymmetric links
- bugfixes
The full release notes and list of known issues are posted on the Wiki Release Notes page.
Ubuntu 14.04 and Debian users can install a "core-network" package via apt-get (look for version 4.7 soon.) Also, Subversion source control access can be found here.
Thursday, September 26, 2013
CORE 4.6 released
A new 4.6 release of CORE is available. To obtain the software, please visit:
https://code.google.com/p/coreemu/downloads/list
(In a few weeks, 4.6 also available here: http://downloads.pf.itd.nrl.navy.mil/core/packages/4.6/)
Brief summary of changes:
NOTE: cored is now core-daemon and core is now core-gui (for Debian acceptance)
NOTE: /etc/init.d/core is now /etc/init.d/core-daemon (for insserv compatibility)
The full release notes and list of known issues are posted on the Wiki Release Notes page. Debian unstable/testing users can now install CORE directly using "sudo apt-get install core-network" (native Ubuntu packages coming soon.)
https://code.google.com/p/coreemu/downloads/list
(In a few weeks, 4.6 also available here: http://downloads.pf.itd.nrl.navy.mil/core/packages/4.6/)
Brief summary of changes:
- Cut/Copy/Paste and Find options added to the Edit menu
- Debian package compliance
- distributed emulation fixes and other bugfixes.
NOTE: cored is now core-daemon and core is now core-gui (for Debian acceptance)
NOTE: /etc/init.d/core is now /etc/init.d/core-daemon (for insserv compatibility)
The full release notes and list of known issues are posted on the Wiki Release Notes page. Debian unstable/testing users can now install CORE directly using "sudo apt-get install core-network" (native Ubuntu packages coming soon.)
Friday, April 12, 2013
CORE 4.5 released
A new 4.5 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.5/
The high-level changes since version 4.4 are:
GUI
- improved behavior when starting GUI without daemon, or using File New after connection with daemon is lost
- fix various GUI issues when reconnecting to a session
- support 3D GUI via output to SDT3D
- added "Execute Python script..." entry to the File Menu
- support user-defined terminal program instead of hard-coded xterm
- added session options for "enable RJ45s", "preserve session dir"
- added buttons to the IP Addresses dialog for removing all/selected IPv4/IPv6
- allow sessions with multiple canvases to enter RUNTIME state
- added "--addons" startup mode to pass control to code included from addons dir
- added "Locked" entry to View menu to prevent moving items
- use currently selected node type when invoking a topology generator
- updated throughput plots with resizing, color picker, plot labels, locked
- scales, and save/load plot configuration with imn file
- improved session dialog
EMANE
- EMANE 0.8.1 support with backwards-compatibility for 0.7.4
- extend CommEffect model to generate CommEffect events upon receipt of Link Messages having link effects
Services
- updated FTP service with root directory for anonymous users
- added HTTP, PCAP, BIRD, RADVD, and Babel services
- support copying existing files instead of always generating them
- added "Services..." entry to node right-click menu
- added "View" button for side-by-side comparison when copying customized config files
- updated Quagga daemons to wait for zebra.vty VTY file before starting
General
- XML import and export
- renamed "cored.py" to "cored", "coresendmsg.py" to "coresendmsg"
- code reorganization and clean-up
- updated XML export to write NetworkPlan, MotionPlan, and ServicePlan within a Scenario tag, added new "Save As XML..." File menu entry
- added script_start/pause/stop options to Ns2ScriptedMobility
- "python" source sub-directory renamed to "daemon"
- added "cored -e" option to execute a Python script, adding its session to the active sessions list, allowing for GUI connection
- support comma-separated list for custom_services_dir in core.conf file
- updated kernel patches for Linux kernel 3.5
- support RFC 6164-style IPv6 /127 addressing
ns-3
- integrate ns-3 node location between CORE and ns-3 simulation
- added ns-3 random walk mobility example
- updated ns-3 Wifi example to allow GUI connection and moving of nodes
The following bugs were fixed:
54, 103, 111, 136, 145, 153, 157, 160, 161, 162, 164, 165, 168, 170, 171, 173, 174, 176, 184, 190, 193
Wednesday, October 31, 2012
3D GUI with SDT3D
A new 3D GUI menu item has been introduced under the View menu. CORE can now publish its topology to the SDT3D (Scripted Display Tool 3D) developed by NRL. The latitude, longitude, and altitude settings under the Canvas Size and Scale dialog will determine the coordinate mapping to a geographic location. SDT3D is based on NASA's WorldWind Java SDK. This is three-dimensional virtual globe software similar to Google Earth.
Node movements and links are drawn on the 3D map as depicted in the screenshot below.
For tips on building and install SDT3D under Ubuntu 12.04 x86_64, see this SDT3D wiki page. OpenJDK 1.7 is used, as the Oracle JDK did not seem to work.
Node movements and links are drawn on the 3D map as depicted in the screenshot below.
In order to get this working, a /usr/local/bin/sdt3d.sh launcher script is made with the following contents:
#!/bin/sh
cd ~
/opt/sdt/sdt3d.sh $@
The following line is used in an ~/sdtConfig.txt file in the user's home directory; this causes SDT3D to receive commands on a local UDP port 5000 socket :
listen 5000Here we have SDT3D installed to /opt/sdt, with a /opt/sdt/sdt3d.sh script as shown below:
#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
THISDIR=`dirname $0`
export LD_LIBRARY_PATH=${THISDIR}/libjava -jar -Dsun.java2d.noddraw=true -Xmx512m \ ${THISDIR}/jars/sdt3d.jar
For tips on building and install SDT3D under Ubuntu 12.04 x86_64, see this SDT3D wiki page. OpenJDK 1.7 is used, as the Oracle JDK did not seem to work.
Tuesday, September 25, 2012
CORE 4.4 released
A new 4.4 release of CORE is available. To obtain the software, please visit:
The high-level changes since version 4.3 are:
GUI
- real-time bandwidth plotting tool
- added Wireshark and tshark right-click menu items
- X,Y coordinates shown in the status bar
- updated GUI attribute option to link messages for changing color/width/dash
- added sample IPsec and VPN scenarios, how many nodes script
- added jitter parameter to WLANs
- renamed Experiment menu to Session menu, added session options
- use 'key=value' configuration for services, EMANE models, WLAN models, etc.
- save only service values that have been customized
- copy service parameters from one customized service to another
- right-click menu to start/stop/restart each service
EMANE
- EMANE 0.7.4 support
- added support for EMANE CommEffect model and Comm Effect controller GUI
- added support for EMANE Raw Transport when using RJ45 devices
Services
- improved service customization; allow a service to define custom Tcl tab
- added vtysh.conf for Quagga service to support 'write mem'
- support scheduled events and services that start N seconds after runtime
- added UCARP service
Documentation
- converted the CORE manual to reStructuredText using Sphinx; added Python docs
General
- Python code reorganization
- improved cored.py thread locking
- merged xen branch into trunk
- added an event queue to a session with notion of time zero
- added UDP support to cored.py
- use UDP by default in coresendmsg.py; added '-H' option to print examples
- enter a bash shell by default when running vcmd with no arguments
- fixes to distributed emulation entering runtime state
- write 'nodes' file upon session startup
- make session number and other attributes available in environment
- support /etc/core/environment and ~/.core/environment files
- added Ns2ScriptedMobility model to Python, removed from the GUI
- namespace nodes mount a private /sys
- fixed the following bugs: 80, 81, 84, 99, 104, 109, 110, 122, 124, 131, 133, 134, 135, 137, 140, 143, 144, 146, 147, 151, 154, 155
These release notes along with a list of known issues are posted here:
Monday, April 30, 2012
throughput plots
The Throughput Widget in CORE has shown the real-time kbps bandwidth usage on each link, and now we can plot this data using a new Plot Tool.
About the new Plot Tool:
- Available in the SVN snapshot of CORE
- Click on the new blue plot icon in the Execution Toolbar
- Click on any link to open a new plot for that link. (Opening a new plot will turn on the Throughput Widget if it is off.)
- Plots are updated every second (along with the throughput labels.)
- Plots can be dragged around the canvas with the mouse.
- Right-click on a plot to close it.
To-do list -- help wanted!
Are you interested in improving the plot tool? Here are some items on the To-do list:
- Plot re-sizing: drag the edge/corner of a plot to resize it; use Tk canvas scale command
- Color picker: click an icon to choose one of several preset color schemes for the plot (choices could appear after floating the mouse in the upper-right corner of the plot)
- link/interface label on a plot (with many plots on screen, it may be useful to know which plot belongs to which nodes)
- lock all scales together (plots will auto-scale up to display higher throughputs; this may cause the scales of several plots to be out of sync and difficult to compare)
- pause plot (e.g. float mouse in upper-right corner and pause/color selection buttons appear)
- scroll back plot history
- save/log plot data to a file (throughput data is calculated from bytes reported in /proc/net/dev)
- save location and plot settings with the imn file for auto-loading
- plot something else: kbps in/out? plot different protocols, TCP/UDP, unicast/multicast?
Thursday, March 8, 2012
CORE 4.3 released
A new 4.3 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.3/
Quickstart installation instructions are here:
http://code.google.com/p/coreemu/wiki/Quickstart
The high-level changes since version 4.2 are:
- EMANE 0.7.2 and 0.7.3 support
- hook scripts: customize actions at any of six different session states
- Check Emulation Light (CEL) exception feedback system
- added FTP and XORP services, and service validate commands
- services can flag when customization is required
- Python classes to support ns-3 simulation experiments
- write state, node X,Y position, and servers to pycore session dir
- removed over 9,000 lines of unused GUI code
- performance monitoring script
- batch mode improvements and --closebatch option
- export session to EmulationScript XML files
- basic range model moved from GUI to Python, supports 3D coordinates
- improved WLAN dialog with tabs
- added PhysicalNode class for joining real nodes with emulated networks
- fixed the following bugs: 50, 75, 76, 79, 82, 83, 85, 86, 89, 90, 92, 94, 96, 98, 100, 112, 113, 116, 119, 120
These release notes along with a list of known issues are posted here:
http://code.google.com/p/coreemu/wiki/ReleaseNotes
Monday, January 16, 2012
physical nodes
When defining new node types, you can also specify the machine type. The default machine type is netns (for a Linux network namespace), and other options are xen and physical. (The xen machine type is only available on the Xen code branch -- more about that in a later post.) The physical machine type allows you to incorporate physical testbed machines into your emulated network.
There is a new default node type with a green icon named prouter, or physical router. You can define other node types that are physical nodes. When you link to a physical node, a GRE interface will be built on the real machine for that link, to tunnel data to/from the emulated network. Services will be started and stopped as defined in the service list. Double-clicking a physical node opens an SSH shell to that node.
Physical nodes must be assigned to a server just like emulation servers in a distributed session. The physical node should be running the cored.py daemon. The difference between a physical node and a distributed emulation server is that no virtual namespaces are created; processes run directly on the physical node without virtualization.
There is a new default node type with a green icon named prouter, or physical router. You can define other node types that are physical nodes. When you link to a physical node, a GRE interface will be built on the real machine for that link, to tunnel data to/from the emulated network. Services will be started and stopped as defined in the service list. Double-clicking a physical node opens an SSH shell to that node.
Physical nodes must be assigned to a server just like emulation servers in a distributed session. The physical node should be running the cored.py daemon. The difference between a physical node and a distributed emulation server is that no virtual namespaces are created; processes run directly on the physical node without virtualization.
Tuesday, December 13, 2011
XORP routing services
XORP routing services were added to the development version of CORE (SVN snapshot) on 10/24/11. These services provide an alternative to Quagga routing, and include multicast routing support with PIM SM.
Similar to Quagga's zebra service, a unified configuration (/etc/xorp/config.boot) is written by the xorp_rtrmgr (router manager) service. This means that once you have enabled XORP protocols, use the customize button next to the xorp_rtrmgr service to edit the config file.
The default router node type still uses Quagga's OSPF, but you can create your own node types that use XORP protocols as default.
Similar to Quagga's zebra service, a unified configuration (/etc/xorp/config.boot) is written by the xorp_rtrmgr (router manager) service. This means that once you have enabled XORP protocols, use the customize button next to the xorp_rtrmgr service to edit the config file.
The default router node type still uses Quagga's OSPF, but you can create your own node types that use XORP protocols as default.
Thursday, November 3, 2011
check emulation light (CEL)
A new feedback system has been added to CORE (SVN): the Check Emulation Light (CEL). A small yellow indicator appears in the bottom right corner of the screen when problems arise. In the screenshot below, for example, the OSPFv3 service reports a problem that the ospf6d daemon is not running.
A dialog listing the problem items (exceptions) will pop up when you click the yellow CEL icon. The CEL will blink for fatal errors, such as the failure to spawn a new network namespace or failure to launch EMANE processes. The affected node is also highlighted so it is easy to find.
Node services have a new field named validation commands. These commands (if any) are invoked following the service startup commands to verify that the service has correctly started. The validation commands for existing services are currently defined with something like `pidof ospfd`, to check that a daemon is actually running. A non-zero return code from a validation command causes a CEL exception to be thrown.
The motivation for the CEL is to be more informative about underlying emulation problems. With previous versions of CORE, something may have gone terribly wrong, but the GUI continued happily along with no indication of issues. We're also cooking up some performance monitoring scripts that monitor the CPU, memory, and throughput used by nodes; future plans are to tie in performance alarms with this exception system.
Thursday, September 22, 2011
improved customization of services 2
As a follow-up to the new tabbed dialog described previously, the service list for each node now has yellow customize buttons for services that require customization. The BGP service must be customized, for example, as BGP requires fine-tuning peering relationships and AS numbers.
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:
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:
- Definition - used by the GUI to tell the backend to clear any state.
- Configuration - when the user presses the Start button, node, link, and other configuration data is sent to the backend.
- Instantiation - after configuration data has been sent, just before the nodes are created.
- Runtime - all nodes and networks have been built and are running.
- Datacollect - the user has pressed the Stop button; a good time to collect log files before nodes are shut down.
- Shutdown - all nodes and networks have been shut down and destroyed.
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).
Friday, July 15, 2011
custom MAC assignments

improved customization of services

The color of this button can indicate several things:
- Gray (default): the service config will be auto-generated
- Green: this service has been customized for this node
- Yellow (future): this is a service that requires customization
Friday, May 6, 2011
EMANE 0.7.1 supported
If you build CORE from source using the nightly SVN snapshot, you can now use EMANE 0.7.1 for more detailed wireless networking. The previous version 0.6.4 is no longer supported. The full list of changes in EMANE 0.7.1 is available here, but if you use EMANE with CORE here are some highlights:
- Location now works with IEEE 802.11abg. Thanks to the new Universal PHY, the 802.11 model now handles location events; if you drag nodes around the canvas, location events are generated and alter node connectivity.
- Rebuild your imn scenarios. Any custom EMANE parameters from your old scenarios need to be removed and re-entered; you can do this by editing the imn file and removing the "custom-config { }" block within the WLAN node definition.
Wednesday, January 5, 2011
CORE 4.1 released
A new 4.1 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.1/
Quickstart installation instructions are here. If you are upgrading, you may want to remove any /etc/core/* and ~/.core preferences files (don't forget to first save any configs you may have in /etc/core/configs/ or ~/.core/configs.)
Here are some of the high-level changes since version 4.0:
- new icons for toolbars and nodes
- node services introduced, node models deprecated
- customizable node types
- traffic flow editor with MGEN support
- user configs moved from /etc/core/* to ~/.core/
- allocate addresses from custom IPv4/IPv6 prefixes
- distributed emulation using GRE tunnels
- FreeBSD 8.1 now uses cored.py
- EMANE 0.6.4 support
- numerous bugfixes
Monday, August 9, 2010
CORE 4.0 released
A new 4.0 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.0/
This is the first release of CORE that doesn't require you to patch and recompile your kernel. Using Ubuntu 10.04 or Fedora 12 or 13, you can install a single package (deb or rpm) and build virtual networks, using Linux network namespace containers. FreeBSD 8.x and OpenVZ are still supported platforms.
Quickstart installation instructions are here:
http://code.google.com/p/coreemu/wiki/Quickstart
Quagga is available from the following page with OSPF MDR extensions:
http://cs.itd.nrl.navy.mil/work/ospf-manet/
Standard Quagga may also be used, but the configs generated for wireless routers will not be recognized.
Here are some of the high-level changes since version 3.5:
http://cs.itd.nrl.navy.mil/work/core/
http://downloads.pf.itd.nrl.navy.mil/core/packages/4.0/
This is the first release of CORE that doesn't require you to patch and recompile your kernel. Using Ubuntu 10.04 or Fedora 12 or 13, you can install a single package (deb or rpm) and build virtual networks, using Linux network namespace containers. FreeBSD 8.x and OpenVZ are still supported platforms.
Quickstart installation instructions are here:
http://code.google.com/p/coreemu/wiki/Quickstart
Quagga is available from the following page with OSPF MDR extensions:
http://cs.itd.nrl.navy.mil/work/ospf-manet/
Standard Quagga may also be used, but the configs generated for wireless routers will not be recognized.
Here are some of the high-level changes since version 3.5:
- Python framework with Linux network namespace (netns) support
- (Linux netns is now the primary supported platform)
- ability to close the GUI and later reconnect to a running session (netns only)
- EMANE integration (netns only)
- new topology generators, host file generator
- user-editable Observer Widgets
- use of /etc/core instead of /usr/local/etc/core
- various bugfixes
Subscribe to:
Posts (Atom)














