DOKK / manpages / debian 10 / dynagen / dynagen.1.en
DYNAGEN(1) General Commands Manual DYNAGEN(1)

dynagen - command line interface to dynamips Cisco 7200 Emulator

dynagen [options] configuration file

Dynagen is a text-based front end for Dynamips, that uses the hypervisor mode for communication with Dynamips. Dynagen simplifies building and working with virtual networks. Dynagen uses a simple and easy to understand configuration file for specifying virtual router hardware configurations. Configuration file has a simple syntax for interconnecting routers, bridges, frame-relay and ATM switches. No need to deal with NetIO's. Dynagen provides a management CLI for listing devices, starting, stopping, reloading, suspending and resuming virtual routers.
Dynagen can work in a client server mode, with dynagen running on your Workstation communicating to dynamips servers running ona back-end server. Dynagen can also control multiple dynamips servers simultaneously for distributing large virtual networks across several machines.

Before running dynagen you need to start dynamips:

nice dynamips -H 7200 &

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

Do not send any command to dynamips.
Show debugging information.
Show summary of options.
Show version.

Empty lines or lines starting with a hash ('#') are ignored.
Configuration file, in other documentation also called network file, knows three sections: global section, server section which starts with [...] and device section which start with [[...]]. Server section and device section can have multiple occurrencies.

Server Section: [<ip-address|hostname>]
Device Section: [[7200|ROUTER|FRSW|ATMSW|ETHSW <name>]] The 7200 section specifies defaults for all 7200 routers on this Dynamips server. Everything in this section is optional, and defaults to whatever the default is in Dynamips

autostart <true/false> (Default: True)
By default, all routers are automatically started when a lab is launched. The autostart keyword overrides this behavior, and the lab must manually be started (start /all).
port <1-65535> (Default: 7200)
Hypervision port to connect to.
workingdir <path> (Default: None)
Set the directory where Dynamips will store all the device files for this network. This is the fully qualified path relative to the system running dynamips.
console <1-65535> (Default: 2000)
Base console port. New instances that do not specify a console port will default to this + the instance number.
udp <1-65535> (Default: 10000)
Set the base UDP port for NIOs.
[[7200]]
The 7200 section specifies defaults for all 7200 routers on this Dynamips server. Everything in this section is optional, and defaults to whatever the default is in Dynamips.

image <path/file> (Default: None)
Full path to 7200 IOS image file. This is the fully qualified path relative to the system running dynamips.
ram <integer> (Default: None) Amount of Virtual RAM to allocate to each router instance.
rom <integer> (Default: None)
Size of ROM.
nvram <integer> (Default: None)
Size of NVRAM.
disk0 <integer> (Default: None)
Set size of PCMCIA ATA disk0
disk1 <integer> (Default: None)
Set size of PCMCIA ATA disk1
cnfg <path/file> (Default: None)
Configuration file to import. This is the fully qualified path relative to the system running dynamips.
confreg <hex> (Default: 0x2102) 0x210X where X=0,1,2
Set the configuration register
idlepc <string> (Default: None)
Set the Idle PC value. Include a description here.
exec_area <string> (Default: None)
Set the exec area size.
clock <integer> (Default: None)
Clock divisor (should no longer been needed as of dynamips 0.2.5 RC1)
npe <npe-100|150|175|200|225|300|400> (Default: None)
NPE type.
midplane <std|vxr> (Default: None)
Midplane, either "std" or "vxr"
mmap <binary> (Default: True)
Set to false to use real memory rather than a disk file for router vitural memory. Conserves RAM at the expense of performance.

[[ROUTER <name>]]
All options from the 7200 section are options here as well, including "autostart". <name> must be unique in network file.
model 7200 (Default: 7200)
console <1-65535> (Default: None)
Console port. Defaults to the server's base console port (specified in the server section) + instance number.
aux <1-65535> (Default: None)
Aux port.
slotX <0-X> <PA-C7200-IO-FE|PA-FE-TX|PA-4T|PA-4E|PA-POS-OC3> (Default: None)
Manual PA specification. This is optional, and if not done dynagen will make sane decisions based on the interface specifications.
slot0 = PA-C7200-IO-FE # Ethernet in slot 0
slot1 = PA-FE-TX # Ethernet in slot 1
slot3 = PA-4T # PA-4T+ in slot 2
slot6 = PA-4E # PA-4E in slot 6
#slotx = PA-POS-OC3 # PA-POS-OC3 in slot x

<local interface> = <remote interface>
Interface specification. Can take the following forms:
f1/0 = R2 f1/0 # Connect to f1/0 on device R2
f2/0 = LAN 1 # Connect to bridged LAN 1
s3/0 = R2 s3/0 # Connect to s3/0 on device R2
s3/1 = F1 1 # Connect to port 1 on device "F1" (a frame relay switch)
s3/2 = F2 1
a4/0 = A1 1 # Connect to port 1 on device "A1" (an ATM switch)
f5/0 = NIO_linux_eth:eth0 # manually specify an NIO


[[ROUTER R2]]
# Interface f1/0 will automatically be created because the interface was referenced in R1's config
f2/0 = LAN 1 # Connect to bridged LAN 1
s4/0 = F1 2
s4/1 = F2 2
s4/2 = F1 3
a5/0 = A1 2


[[router R3]] # Case is not significant
# Examples of other manually specified NIOs
f1/0 = NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}
f2/0 = NIO_udp:10000:172.0.0.1:10001
f3/0 = NIO_tap:tap0
f4/0 = NIO_unix:/tmp/local:/tmp/remote
f5/0 = NIO_vde:foo:bar

[[ETHSW <name>]]
Define an Ethernet Switch

[[ETHSW S1]]
1 = access 1 # Port 1 is an access port in vlan 1
2 = access 20 # Port 2 is an access port in vlan 20
3 = dot1q 1 # Port 3 is a trunk port (dot1q encapsulation) with native vlan 1
4 = dot1q 1 NIO_gen_eth:eth0 # Port 4 is trunk port (naitive vlan 1) that is connected to the host eth0 via the gen_eth NIO
#4 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487} # Same as above, Windows example
[[FRSW <name>]]
Each FRSW section defines a frame relay switch. All keywords are optional

1:102 = 2:201 # Tell the FRSW to switch from port 1, DLCI 102 to port 2, DLCI 201.
1:103 = 3:301 # and from port 1, DLCI 103 to port 3, DLCI 301


[[FRSW F2]]
1:102 = 2:201

[[ATMSW <name>]]
Define an ATM Switch

1:10 = 2:20 # Port 1, vpi 10 to port 2, vpi 20
#1:10:200 = 2:20:100 # Port 1, vpi 10, vci 200 to port 2, vpi 20, vci 100

See /usr/share/doc/dynagen/examples directory

Take a look at the Bug tracking system.

Please send bug reports to http://www.ipflow.utc.fr/bts/

http://www.ipflow.utc.fr/index.php/
http://www.ipflow.utc.fr/blog/
http://dyna-gen.sourceforge.net/
http://hacki.at/7200emu/index.php

dynagen was written by Greg Anuzelli (dynagen@gmail.com)
This manual page was written by Erik Wenzel <erik@debian.org> for the Debian GNU/Linux system (but may be used by others).

August 29, 2006