Nov 2006
Version 0.8.1 released
* So, as great as the Ghost RAM feature is, it does have the potential to break existing labs. For example, if the lab uses compressed images, or if you are right on the edge of the process VM size limit. So for safety and to preserve backwards compatibility ghostios now defaults to False. You can turn it on with "ghostios = true" in either the router definition, the device defaults section, or at the top level of your network file. As ususal, see all_config_options.txt for more info.
* Fixed bug that caused crash when using ghostios and image paths that do not include any directory separator characters.
* Trying to manually start a nonexistent router caused dynagen to crash.
* Ghost instances are only created if two or more routers on the same dynamips host use the same IOS image. This optimization eliminates unnecessary host virtual memory consumption, so as not to run into process vm size limits unnecessarily.
* Added an option to manually tweak the virtual ram allocated to Ghost images. Set this with "ghostsize = ..." in either the router definition, the device defaults section, or at the top level of your network file. The default is whatever that class of router would normally use.
Version 0.8.0 released
* 2691, 3725, and 3745 support. Usage is as you would expect, but see all_config_options.txt for documentation.
* Support for the IOS ghosting feature added in 0.2.6-RC3. IOS ghosting takes advantage of the mmap() "MAP_PRIVATE" flag to allocate a shared memory mapped file for IOS images. So instead of each virtual router storing an identical copy of IOS in its virtual RAM, the host will allocate one shared region of memory that they will all share. If you are running 10 routers all with the same IOS image, and that image is 60 MB in size you will save 9*60 = 540 MB of real RAM when running your lab with this feature. If you are using mmap (which is on by default) then IOS ghosting will automatically be implemented and you don't need to make any changes to your labs to take advantage of it. You can turn it off on a per router (or per device default section) with "ghostios = False" if you so desire. If you are using more than one IOS image in your lab then the feature still works, but the sharing will only occur among routers that are using the same image. The ghost file created is based on the name of your IOS image, so be sure that all your images have different names in a given lab (all the more reason to use the image naming convention recommended in the tutorial.)
* Corrected some minor typos in all_config_options.txt (thanks Dmitry M)
* Added error checks for malformed or nonexistent devices specified in push/save/import/export commands. BTS #94
* ctrl-c then return now exist the CLI instead of crashing. BTS #89
* With RC3 push / extract are much improved so import/export/push/save should all work much better. I removed the workaround code that ensured routers were started before push / extract operations since that is no longer necessary with 0.2.6-RC3.
* The Windows installer no longer overwrites dynagen.ini if it exists (so as not to obliterate customizations). In all cases it creates a file dynagen.ini.new that might contain additional options. You should manually compare your dynagen.ini and this file to see if any of the new options are useful to you.
Version 0.7.0 released
* Added idlepc commands, for generating, testing, and saving idlepc values from Dynagen. See the tutorial for example usage.
* Also includes a system for maintaining your idlepc values in a "database" indexed by the image name. Again, see the tutorial for an example of how to use this feature.
* Added import / export CLI commands that store / retrieve IOS configs in a directory. Can be used as an alternative to save / push for packaging up labs, for creating "snapshots" for later retrieval, importing configurations from "the real world", etc. Note this feature is experimental and is still being refined. Garbled import / exports have been observed. (Thanks to "solo" for assistance with patch).
* Network files and CLI commands (should) now also support two letter interface type designations (e.g. Fa0/1 or. F0/1)
* Added "send" CLI command for sending raw hypervisor commands. Here is some rope, try not to hang yourself with it...
* Dynagen checks for console selection conflicts
* Added a "debug" top level option to turn on debugging from network files. Usage is "debug = " and a number from 0 - 9. Right now 0 means disabled, 1 means the same thing as using the -d command line switch, and 2 - 3 provide increasing levels of debugging verbosity
* Added a udp option to dynagen.ini to set the base udp NIO port. Can still be overridden in the network file.
* Fixed bug using "-n" option that caused dynamips to crash
* Trying to use iomem option resulted in "invalid iomem type, must be an integer". Fixed.
* Fixed bug parsing bad interfaces on filter command
* Fixed a bug in the "save" command that sometimes wrote the configuration in the wrong network file section
* Fixed bug that caused save command to crash dynagen when the port was specified in the dynamips server section BTS #73
* Fixed bug that caused some hypervisor commands that returned errors to cause a hang
* Due to some Dynamips / Dynagen "branding" confusion, the Start menu folder is now named "Dynagen". You may want to manually delete the old "Dynamips" program group. The programs are still installed in C:\Program Files\Dynamips for now.
* Windows uninstaller now correctly deletes all files except the Images directory (for safety)
* The dynamips.exe included with the Windows installer package is now built against Winpcap 4.0 beta 2. It doesn't seem be be necessary to upgrade from previous betas to use, but you might wish to anyway.