diff --git a/CHANGELOG.md b/CHANGELOG.md index b8daae53..adfcbf43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,368 +1,368 @@ ## 2019-06-10 CORE 5.3.0 - * Enhancements - - python 2 / 3 support - - added new API using [gRPC](https://grpc.io/) - - --grpc --grpc-port --grpc-address flags added to core-daemon - - core.api.grpc.client.CoreGrpcClient, provides a convenience wrapper for leveraging the API - * Docs - - Updates to installation instructions for latest changes - * Services - - Added FRR service - * EMANE - - Added EMANE prefix configuration when looking for emane model manifest files - - requires configuring **emane_prefix** in /etc/core/core.conf - * Cleanup - - Refactoring of the core python package structure, trying to help provide better organization and - logical groupings - * Issues - - \#246 - Fixed network to network link handling when reading xml files - - \#236 - Fixed storing/reading of link configuration values within xml files - - \#170 - FRR Service - - \#155 - EMANE path configuration - - \#233 - Python 3 support - - \#245 - Fixed bidirectional link configurations when reading from xml files - - \#208 - gRPC API - - Fixed link configuration dup handling when loaded from xml files +* Enhancements + * python 2 / 3 support + * added new API using [gRPC](https://grpc.io/) + * --grpc --grpc-port --grpc-address flags added to core-daemon + * core.api.grpc.client.CoreGrpcClient, provides a convenience wrapper for leveraging the API +* Docs + * Updates to installation instructions for latest changes +* Services + * Added FRR service +* EMANE + * Added EMANE prefix configuration when looking for emane model manifest files + * requires configuring **emane_prefix** in /etc/core/core.conf +* Cleanup + * Refactoring of the core python package structure, trying to help provide better organization and + logical groupings +* Issues + * \#246 - Fixed network to network link handling when reading xml files + * \#236 - Fixed storing/reading of link configuration values within xml files + * \#170 - FRR Service + * \#155 - EMANE path configuration + * \#233 - Python 3 support + * \#245 - Fixed bidirectional link configurations when reading from xml files + * \#208 - gRPC API + * Fixed link configuration dup handling when loaded from xml files ## 2019-06-07 CORE 5.2.2 - * Enhancements: - - adds back in core-daemon udp support for coresendmsg, people may have depended on previously for certain scenarios - * Bug Fixes: - - fixes issue in GUI that would prevent moving nodes during mobility scenarios +* Enhancements: + * adds back in core-daemon udp support for coresendmsg, people may have depended on previously for certain scenarios +* Bug Fixes: + * fixes issue in GUI that would prevent moving nodes during mobility scenarios ## 2019-03-25 CORE 5.2.1 - * Packaging: - - documentation no longer builds by default, must use configure flag - - added configure flag to allow only building vcmd - - sphinx will no long be required when not building documentation - * Services: - - Added source NAT service - - Fixed DHCP service for Ubuntu 18.04 - * BUGFIXES: - - \#188 - properly remove session on delete TLV API call - - \#192 - updated default gnome terminal command for nodes to be Ubuntu 18.04 compatible - - \#193 - updates to service validation, will retry on failure and better exception logging - - \#195 - TLV link message data fix - - \#196 - fix to avoid clearing out default services - - \#197 - removed wireless_link_all API from EmuSession - - \#216 - updated default WLAN bandwidth to 54Mbps - - \#223 - fix to saving RJ45 to session XML files +* Packaging: + * documentation no longer builds by default, must use configure flag + * added configure flag to allow only building vcmd + * sphinx will no long be required when not building documentation +* Services: + * Added source NAT service + * Fixed DHCP service for Ubuntu 18.04 +* BUGFIXES: + * \#188 - properly remove session on delete TLV API call + * \#192 - updated default gnome terminal command for nodes to be Ubuntu 18.04 compatible + * \#193 - updates to service validation, will retry on failure and better exception logging + * \#195 - TLV link message data fix + * \#196 - fix to avoid clearing out default services + * \#197 - removed wireless_link_all API from EmuSession + * \#216 - updated default WLAN bandwidth to 54Mbps + * \#223 - fix to saving RJ45 to session XML files ## 2018-05-22 CORE 5.1 - * DAEMON: - - removed and cleared out code that is either legacy or no longer supported (Xen, BSD, Kernel patching, RPM/DEB - specific files) - - default nodes are now set in the node map - - moved ns3 and netns directories to the top of the repo - - changes to make use of fpm as the tool for building packages - - removed usage of logzero to avoid dependency issues for built packages - - removed daemon addons directory - - added CoreEmu to core.emulator.coreemu to help begin serving as the basis for a more formal API for scripting - and creating new external APIs out of - - cleaned up logging, moved more logging to DEBUG from INFO, tried to mold INFO message to be more simple and - informative - - EMANE 1.0.1-1.21 supported - - updates to leverage EMANE python bindings for dynamically parsing phy/mac manifest files - - example custom EMANE model lives under /usr/share/core/examples/myemane/examplemodel.py - - EMANE TDMA model now supports an option to start a TDMA schedule when running - - fixed issues with coresendmsg script due to code refactoring - - added make target for generating documentation "make doc" - - Python 2.7+ is now required - - ns3 is no longer bundled by default, but will be produced as a separate package for installation - * GUI: - - updated broken help links in GUI Help->About - * Packaging: - - fixed PYTHON_PATH to PYTHONPATH in sysv script - - added make command to leverage FPM as the tool for creating deb/rpm packages going forward, there is documentation - within README.md to try it out - * TEST: - - fixed some broken tests - - new test cases based on CoreEmu usage - * BUGFIXES: - - \#142 - duplication of custom services - - \#136 - sphinx-apidoc command not found - - \#137 - make command fails when using distclean - +* DAEMON: + * removed and cleared out code that is either legacy or no longer supported (Xen, BSD, Kernel patching, RPM/DEB + specific files) + * default nodes are now set in the node map + * moved ns3 and netns directories to the top of the repo + * changes to make use of fpm as the tool for building packages + * removed usage of logzero to avoid dependency issues for built packages + * removed daemon addons directory + * added CoreEmu to core.emulator.coreemu to help begin serving as the basis for a more formal API for scripting + and creating new external APIs out of + * cleaned up logging, moved more logging to DEBUG from INFO, tried to mold INFO message to be more simple and + informative + * EMANE 1.0.1-1.21 supported + * updates to leverage EMANE python bindings for dynamically parsing phy/mac manifest files + * example custom EMANE model lives under /usr/share/core/examples/myemane/examplemodel.py + * EMANE TDMA model now supports an option to start a TDMA schedule when running + * fixed issues with coresendmsg script due to code refactoring + * added make target for generating documentation "make doc" + * Python 2.7+ is now required + * ns3 is no longer bundled by default, but will be produced as a separate package for installation +* GUI: + * updated broken help links in GUI Help->About +* Packaging: + * fixed PYTHON_PATH to PYTHONPATH in sysv script + * added make command to leverage FPM as the tool for creating deb/rpm packages going forward, there is documentation + within README.md to try it out +* TEST: + * fixed some broken tests + * new test cases based on CoreEmu usage +* BUGFIXES: + * \#142 - duplication of custom services + * \#136 - sphinx-apidoc command not found + * \#137 - make command fails when using distclean + ## 2017-09-01 CORE 5.0 - * DEVELOPMENT: - - support for editorconfig to help standardize development across IDEs, from the defined configuration file - - support for sonarqube analysis, from the defined configuration file - * DAEMON: - - code cleanup and improvements to adhere to coding standards (SonarQube) - - leverage "logzero" module to make easy usage of the standard logging module - - improvements to documentation across the code base - - initial work to separate the dependence on TCP API messaging from the core library (easier core scripting) - - beta support for running core in Open vSwitch mode, leveraging Open vSwitch bridges, instead of Linux bridges - * SERVICES: - - added Ryu SDN controller service - - added Open vSwitch service - * TEST: - - added unit/integration tests to support validating changes going forward - * BUGFIXES: - - merged pull requests for: #115, #110, #109, #107, #106, #105, #103, #102, #101, #96 +* DEVELOPMENT: + * support for editorconfig to help standardize development across IDEs, from the defined configuration file + * support for sonarqube analysis, from the defined configuration file +* DAEMON: + * code cleanup and improvements to adhere to coding standards (SonarQube) + * leverage "logzero" module to make easy usage of the standard logging module + * improvements to documentation across the code base + * initial work to separate the dependence on TCP API messaging from the core library (easier core scripting) + * beta support for running core in Open vSwitch mode, leveraging Open vSwitch bridges, instead of Linux bridges +* SERVICES: + * added Ryu SDN controller service + * added Open vSwitch service +* TEST: + * added unit/integration tests to support validating changes going forward +* BUGFIXES: + * merged pull requests for: #115, #110, #109, #107, #106, #105, #103, #102, #101, #96 ## 2015-06-05 CORE 4.8 - * EMANE: - - support for EMANE 0.9.2 - - run emane in each container when using EMANE 0.9.2 - - support using separate control networks for EMANE OTA and event traffic - * GUI: - - fixed an issue where the adjacency widget lines pointed to old node positions - - fixed an issue where not all EMANE 0.9.x IEEE 802.11 MAC parameter were configurable - - fixed an issue related to running python scripts from the GUI when using tcl/tk version 8.6 - - improved batch mode execution to display the check emulation light status - - improved managing multiple sessions - - improved support for using multiple canvases - - added a reload option to the file menu to revert back to a saved scenario - * DAEMON: - - support exporting scenarios in NRL Network Modeling Framework 1.0 XML format - - support importing scenarios in NRL Network Modeling Framework 1.0 XML format - - support exporting the deployed scenario state in NRL NMF XML 1.0 format - - improved EMANE post-startup processing to better synchronize distributed emulations - - improved how addresses are assigned to tun/tap devices - - added support for python state-change callbacks - * SERVICES: - - added mgen sink and mgen actor services - - added oslrv2 and olsr.org services - - added a docker service - * BUILD: - - improved the install/uninstall process - - improved debian and rpm packaging - * BUGFIXES: - - updated the http service for ubuntu 14.04 - - improved included examples - - shortened the length of network interface names - - improved how the core system service manages running the core daemon - - fixed an issues related to applying session configuration setting - - improved detecting when a distributed emulation is already running - - improved documentation +* EMANE: + * support for EMANE 0.9.2 + * run emane in each container when using EMANE 0.9.2 + * support using separate control networks for EMANE OTA and event traffic +* GUI: + * fixed an issue where the adjacency widget lines pointed to old node positions + * fixed an issue where not all EMANE 0.9.x IEEE 802.11 MAC parameter were configurable + * fixed an issue related to running python scripts from the GUI when using tcl/tk version 8.6 + * improved batch mode execution to display the check emulation light status + * improved managing multiple sessions + * improved support for using multiple canvases + * added a reload option to the file menu to revert back to a saved scenario +* DAEMON: + * support exporting scenarios in NRL Network Modeling Framework 1.0 XML format + * support importing scenarios in NRL Network Modeling Framework 1.0 XML format + * support exporting the deployed scenario state in NRL NMF XML 1.0 format + * improved EMANE post-startup processing to better synchronize distributed emulations + * improved how addresses are assigned to tun/tap devices + * added support for python state-change callbacks +* SERVICES: + * added mgen sink and mgen actor services + * added oslrv2 and olsr.org services + * added a docker service +* BUILD: + * improved the install/uninstall process + * improved debian and rpm packaging +* BUGFIXES: + * updated the http service for ubuntu 14.04 + * improved included examples + * shortened the length of network interface names + * improved how the core system service manages running the core daemon + * fixed an issues related to applying session configuration setting + * improved detecting when a distributed emulation is already running + * improved documentation ## 2014-08-06 CORE 4.7 - * EMANE: - - support for EMANE 0.9.1 - - fix error when using Comm Effect model with loss/duplicate string values - - enable flow control in virtual transport if enabled in the MAC model - - fix bug #150 where EMANE event service/address port were not used - * GUI: - - support Tcl/Tk 8.6 when available - - added --(a)ddress and --(p)ort arguments to core-gui command-line - - added File > Execute XML or Python script... option - - added File > Execute Python script with options... menu item - - when executing Python script from GUI, run in background thread, wait for - RUNTIME state - - enter RUNTIME state when start button pressed with empty canvas - - added support for asymmetric link effects - - support link delays up to 274 seconds (netem maximum) - - allow runtime changes of WLAN link effects - * DAEMON: - - set NODE_NAME, NODE_NUMBER, SESSION_SHORT in default vnoded environment - - changed host device naming to use veth, tap prefixes; b.n.SS for bridges - - allow parsing XML files into live running session - - enable link effects between hub/switch and hub/switch connections - - update MDR service to use broadcast interfaces for non-WLAN links - - allow node class to be specified when initializing XML parser - - save and parse canvas origin (reference point) and scale in MP XML - - up/down control script session option - - fix hash calculation used to determine GRE tunnel keys - - use shell script to detach SMF on startup - - added NRL services for mgen sink and nrlolsrv2 - - use SDT URL session option - - added core-manage tool for addons to add/remove/check services, models, - and custom node types - * API: - - implement local flag in Execute Message for running host commands - - jitter changed to 64-bit value to align with delay in Link Message - - added unidirectional link flag TLV to Link Message - - added reconfigure event type for re-generating service config files - - return errors in API with failed services - * BUGFIXES: - - fix HTTP service running under Ubuntu - - fixed the following bugs: #150, 169, 188, 220, 225, 230, 231, 242, 244, - 247, 248, 250, 251 +* EMANE: + * support for EMANE 0.9.1 + * fix error when using Comm Effect model with loss/duplicate string values + * enable flow control in virtual transport if enabled in the MAC model + * fix bug #150 where EMANE event service/address port were not used +* GUI: + * support Tcl/Tk 8.6 when available + * added --(a)ddress and --(p)ort arguments to core-gui command-line + * added File > Execute XML or Python script... option + * added File > Execute Python script with options... menu item + * when executing Python script from GUI, run in background thread, wait for + RUNTIME state + * enter RUNTIME state when start button pressed with empty canvas + * added support for asymmetric link effects + * support link delays up to 274 seconds (netem maximum) + * allow runtime changes of WLAN link effects +* DAEMON: + * set NODE_NAME, NODE_NUMBER, SESSION_SHORT in default vnoded environment + * changed host device naming to use veth, tap prefixes; b.n.SS for bridges + * allow parsing XML files into live running session + * enable link effects between hub/switch and hub/switch connections + * update MDR service to use broadcast interfaces for non-WLAN links + * allow node class to be specified when initializing XML parser + * save and parse canvas origin (reference point) and scale in MP XML + * up/down control script session option + * fix hash calculation used to determine GRE tunnel keys + * use shell script to detach SMF on startup + * added NRL services for mgen sink and nrlolsrv2 + * use SDT URL session option + * added core-manage tool for addons to add/remove/check services, models, + and custom node types +* API: + * implement local flag in Execute Message for running host commands + * jitter changed to 64-bit value to align with delay in Link Message + * added unidirectional link flag TLV to Link Message + * added reconfigure event type for re-generating service config files + * return errors in API with failed services +* BUGFIXES: + * fix HTTP service running under Ubuntu + * fixed the following bugs: #150, 169, 188, 220, 225, 230, 231, 242, 244, + 247, 248, 250, 251 ## 2013-09-25 CORE 4.6 - * 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) - * EMANE: - - don't start EMANE locally if no local NEMs - - EMANE poststartup() to re-transmit location events during initialization - - added debug port to EMANE options - - added a basic EMANE 802.11 CORE Python script example - - expose transport XML block generation to EmaneModels - - expose NEM entry to the EmaneModel so it can be overridden by a model - - add the control interface bridge prior to starting EMANE, as some models may - - depend on the controlnet functionality - - added EMANE model to CORE converter - - parse lat/long/alt from node messages, for moving nodes using command-line - - fix bug #196 incorrect distance when traversing UTM zones - * GUI: - - added Cut, Copy, and Paste options to the Edit menu - - paste will copy selected services and take care of node and interface - - renumbering - - implement Edit > Find dialog for searching nodes and links - - when copying existing file for a service, perform string replacement of: - - "~", "%SESSION%", "%SESSION_DIR%", "%SESSION_USER%", "%NODE%", "%NODENAME%" - - use CORE_DATA_DIR insteadof LIBDIR - - fix Adjacency Widget to work with OSPFv2 only networks - * BUILD: - - build/packaging improvements for inclusion on Debian - - fix error when running scenario with a mobility script in batch mode - - include Linux kernel patches for 3.8 - - renamed core-cleanup.sh to core-cleanup for Debian conformance - - don't always generate man pages from Makefile; new manpages for - coresendmsg and core-daemon - * BUGFIXES: - - don't auto-assign IPv4/IPv6 addresses when none received in Link Messages (session reconnect) - - fixed lock view - - fix GUI spinbox errors for Tk 8.5.8 (RHEL/CentOS 6.2) - - fix broker node count for distributed session entering the RUNTIME state when - - (non-EMANE) WLANs or GreTapBridges are involved; - - fix "file exists" error message when distributed session number is re-used - - and servers file is written - - fix bug #194 configuration dialog too long, make dialog scrollable/resizable - - allow float values for loss and duplicates percent - - fix the following bugs: 166, 172, 177, 178, 192, 194, 196, 201, 202, - 205, 206, 210, 212, 213, 214, 221 +* 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) +* EMANE: + * don't start EMANE locally if no local NEMs + * EMANE poststartup() to re-transmit location events during initialization + * added debug port to EMANE options + * added a basic EMANE 802.11 CORE Python script example + * expose transport XML block generation to EmaneModels + * expose NEM entry to the EmaneModel so it can be overridden by a model + * add the control interface bridge prior to starting EMANE, as some models may + * depend on the controlnet functionality + * added EMANE model to CORE converter + * parse lat/long/alt from node messages, for moving nodes using command-line + * fix bug #196 incorrect distance when traversing UTM zones +* GUI: + * added Cut, Copy, and Paste options to the Edit menu + * paste will copy selected services and take care of node and interface + * renumbering + * implement Edit > Find dialog for searching nodes and links + * when copying existing file for a service, perform string replacement of: + * "~", "%SESSION%", "%SESSION_DIR%", "%SESSION_USER%", "%NODE%", "%NODENAME%" + * use CORE_DATA_DIR insteadof LIBDIR + * fix Adjacency Widget to work with OSPFv2 only networks +* BUILD: + * build/packaging improvements for inclusion on Debian + * fix error when running scenario with a mobility script in batch mode + * include Linux kernel patches for 3.8 + * renamed core-cleanup.sh to core-cleanup for Debian conformance + * don't always generate man pages from Makefile; new manpages for + coresendmsg and core-daemon +* BUGFIXES: + * don't auto-assign IPv4/IPv6 addresses when none received in Link Messages (session reconnect) + * fixed lock view + * fix GUI spinbox errors for Tk 8.5.8 (RHEL/CentOS 6.2) + * fix broker node count for distributed session entering the RUNTIME state when + * (non-EMANE) WLANs or GreTapBridges are involved; + * fix "file exists" error message when distributed session number is re-used + * and servers file is written + * fix bug #194 configuration dialog too long, make dialog scrollable/resizable + * allow float values for loss and duplicates percent + * fix the following bugs: 166, 172, 177, 178, 192, 194, 196, 201, 202, + 205, 206, 210, 212, 213, 214, 221 ## 2013-04-13 CORE 4.5 - * 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 - * fixed the following bugs: 54, 103, 111, 136, 145, 153, 157, 160, 161, 162, 164, 165, 168, 170, 171, 173, 174, 176, - 184, 190, 193 +* 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 +* fixed the following bugs: 54, 103, 111, 136, 145, 153, 157, 160, 161, 162, 164, 165, 168, 170, 171, 173, 174, 176, +184, 190, 193 ## 2012-09-25 CORE 4.4 - * 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 +* 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 ## 2012-03-07 CORE 4.3 - * 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 +* 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 ## 2011-08-19 CORE 4.2 - * 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 +* 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 ## 2011-01-05 CORE 4.1 - * 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 +* 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 ## 2010-08-17 CORE 4.0 - * 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 +* 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 ## 2009-09-15 CORE 3.5 diff --git a/README.md b/README.md index 76435683..a0af9390 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,13 @@ scripting network emulation. ## Documentation and Examples * Documentation hosted on GitHub - * + * * Basic Script Examples - * [Examples](daemon/examples/api) + * [Examples](daemon/examples/api) * Custom Service Example - * [sample.py](daemon/examples/myservices/sample.py) + * [sample.py](daemon/examples/myservices/sample.py) * Custom Emane Model Example - * [examplemodel.py](daemon/examples/myemane/examplemodel.py) + * [examplemodel.py](daemon/examples/myemane/examplemodel.py) ## Support