Releases: coreemu/core
CORE 6.4.0
Enhancements
- updates to core-route-monitor, allow specific session, configurable settings, and properly
listen on all interfaces - install.sh now has a "-r" option to help with reinstalling from current branch and installing
current python dependencies - #202 - enable OSPFv2 fast convergence
- #178 - added comments to OVS service
Python GUI Enhancements
- supports drawing multiple links for wireless connections
- supports differentiating wireless networks with different colored links
- implemented unlink in node context menu to delete links to other nodes
- implemented node run tool dialog
- implemented find node dialog
- implemented address configuration dialog
- implemented mac configuration dialog
- updated link address creation to more closely mimic prior behavior
- updated configuration to use yaml class based configs
- implemented auto grid layout for nodes
- fixed drawn wlan ranges during configuration
Bugfixes
- no longer writes link option data for WLAN/EMANE links in XML
- avoid configuring links for WLAN/EMANE link options in XML, due to them being written to XML prior
- updates to allow building python docs again
- #431 - peer to peer node uplink link data was not using an enum properly due to code changes
- #432 - loading XML was not setting EMANE nodes model
- #435 - loading XML was not maintaining existing session options
- #448 - fixed issue sorting hooks being saved to XML
CORE 6.3.0
Features
- #424 - added FRR IS-IS service
Enhancements
- #414 - update GUI OSPFv2 adjacency widget to work with FRR
- #416 - EMANE links can now be drawn for 80211 and RF Pipe models
- #418 #409 - code cleanup
- #425 - added route monitor script for SDT3D integration
- a formal error will now be thrown when EMANE binding are not installed, but attempted to be used
- node positions will now default to 0,0 to avoid GUI errors, when one is not provided
- improved SDT3D integration, multiple link support and usage of custom layers
Python GUI Enhancements
- enabled edit menu delete
- cleaned up node context menu and enabled delete
Bugfixes
CORE 6.2.0
gRPC API
- Added call to execute python script
Enhancements
#371 - improved coretk gui scaling
#374 - display range visually for wlan in coretk gui, when configuring
#377 - improved coretk error dialogs
#379 - fixed issues with core converting between x,y and lon,lat for values that would cross utm zones
#384 - sdt integration moved internally to core code allowing it to work for coretk gui as well
#387 - coretk gui will now auto detect potential valid terminal and command to use for interacting with nodes during runtime
#389 - coretk gui will now attempt to reconnect to daemon without need to restart
#395 - coretk gui now has "save" and "save as" menu options
#402 - coretk will now allow terminal preference to be directly edited
Bugfixes
#375 - fixed issues with emane event monitor handling data
#381 - executing a python script will now wait until completion before looking to join a new session
#391 - fixed configuring node ip addresses in coretk gui
#392 - fixed coretk link display when addresses are cleared out
#393 - coretk gui will properly clear marker annotations when switching sessions
#396 - Docker and LXC nodes will now properly save to XML
#406- WLAN bridge initialization was not ran when all nodes are disconnected
CORE 6.1.0
New
- config services - these services leverage a proper template engine and have configurable parameters, given enough time may replace existing services
- core-imn-to-xml - IMN to XML utility script
- replaced internal code for determining ip/mac address with netaddr library
Enhancements
- added distributed package for built packages
- made use of python type hinting for functions and their return values
- updated Quagga zebra service to remove deprecated warning
Removed
- removed stale ns3 code
CORETK GUI
- added logging
- improved error dialog
- properly use global ipv6 addresses for nodes
- disable proxy usage by default, flag available to enable
gRPC API
- add_link - now returns created interface information
- set_node_service - can now set files and directories to properly replicate previous usage
- get_emane_event_channel - return information related to the currently used emane event channel
Bugfixes
- fixed session SDT functionality back to working order, due to python3 changes
- avoid shutting down services for nodes that are not up
- EMANE bypass model options will now display properly in GUIs
- XML scenarios will now properly read in custom node icons
- #372 - fixed mobility waypoint comparisons
- #370 - fixed radvd service
- #368 - updated frr services to properly start staticd when needed
- #358 - fixed systemd service install path
- #350 - fixed frr babel wireless configuration
- #354 - updated frr to reset interfaces to properly take configurations
CORE 6.0.0
New
- beta release of the python based tk GUI, use coretk-gui to try it out, plan will be to eventually sunset the old GUI once this is good enough
- this GUI will allow us to provide enhancements and a consistent python dev environment for developers
Major Changes
- python3.6+ support only, due to python2 EOL https://pyfound.blogspot.com/2019/12/python-2-sunset.html
- distributed sessions now leverages the fabric library for sending remote SSH commands
Enhancements
- changed usage of bridge-utils to using ip based bridge commands due to deprecation
- installation.sh script to help automate a standard make install or dev install
- when sessions are created without an id they will now always start from 1 and return the next unused id
- gRPC is now running by default
Session API
- removed create_emane_network and create_wlan_network to help force using add_node for all cases
- removed session.master as it was only used for previous distributed sessions
- updated add_node to allow providing a custom class for node creation
gRPC API
- added get all services configurations
- added get all wlan configurations
- added start/stop session calls, provides more freedom for startup and shutdown logic
- session events now have a session id to help differentiate which session they are coming from
- throughput events now require a session id and responses include session id for differentiating data
- session events can now be subscribed to with a subset of events or all
- emane model config data now include interface ids properly
- sessions returned from get sessions call may include file names when created from xml
- when opening an xml the session can now be started or not
- edit node will now broadcast the edit for others to listen to
- all config responses will now be in the form of a mapped value of key to ConfigOption, or a list of these when retrieving all, sometimes the config response may be wrapped in a different message to include other metadata
Bugfixes
- #311 - initialize ebtables chains for wlan networks only
- #312 - removed sudo from init script
- #313 - check if interface exists before flushing, previously would log an exception that didn't matter
- #314 - node locations stored as floats instead of ints to avoid mobility calculations due to loss of precision
- #321 - python installation path will be based on distr ibution/python building it
- emane options xml parsing didn't properly take into account the emane_prefix configuration
- updates services that checked for ipv4/ipv6 addresses to not fail for valid ipv6 addresses with a decimal
Documentation
- updated NRL links to new GitHub locations
- updates for distributed session
- updates to dev guide
- updates to examples LXD/Docker setup
- updates to FRR service documentation
- gRPC get node service file will not throw an exception when node doesn't exist
CORE 5.5.2
gRPC
- Added emane_link API for linking/unlinking EMANE nodes within the GUI
Bugfixes
- Fixed python3 issues when configuring WLAN nodes
- Fixed issue due to refactoring when running distributed
- Fixed issue when running python script from GUI
CORE 5.5.1
Bugfix
- Fixed issue with 5.5.0 refactoring causing issues in python2.
- Fixed python3 issues with NRL services
CORE 5.5.0
Documentation
- updated dependencies for building OSPF MDR on installation page
- added python/pip instruction on installation page
- added ethtool dependency for CORE
GUI
- removed experimental OVS node to avoid confusion and issues related to using it
Daemon
- fixed core-daemon --ovs flag back to working order for running CORE using OVS bridges instead of Linux bridges
- updated requirements.txt to refer to configparser 4.0.2, due to 4.0.1 removal by developers
- update to fail fast for dependent executables that are not found within PATH
- update to not load services that fail during service.on_load and move on
Build
- fixed issue with configure script when using option flags
- python install path will use the native install path for AM_PATH_PYTHON, instead of coercing to python3
Issues
#271 - OVS node error in GUI
#291 - configparser 4.0.1 issue
#290 - python3 path issue when building
CORE 5.4.0
Documentation
- Updates to documentation dev guide
Improvements
- Added support for Pipenv for development
- Added configuration to leverage pre-commit during development
- Added configuration to leverage isort, black, and flake8 during development
- Added Github Actions to help verify pull requests in the same way as pre-commit
Issues
- #279 - WLAN configuration does not get set by default
- #272 - error installing python package futures==3.2.0
Pull Requests
CORE 5.3.1
Documentation
- Updates to provide more information regarding several of the included services
Issues
- #252 - fixed changing wlan configurations during runtime
- #256 - fixed mobility waypoint comparison for python3
- #174 - turn tx/rx checksums off by default as they will never be valid for virtual interfaces
- #259 - fixes for distributed EMANE
- #260 - fixed issue with how execfile was being used due to it not existing within python3