NAME
dynagen - command line interface to dynamips Cisco 7200 Emulator
SYNOPSIS
dynagen [options] configuration file
DESCRIPTION
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 &
OPTIONS
This program follow the usual GNU command line syntax, with long
options starting with two dashes (‘-’). A summary of options is
included below.
-n, --nosend
Do not send any command to dynamips.
-d, --debug
Show debugging information.
-h, --help
Show summary of options.
--version
Show version.
CONFIGURATION FILE OPTIONS
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
Global Configuration variable
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).
Server Configuration variables
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.
Device Configuration variables
[[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
EXAMPLES
See /usr/share/doc/dynagen/examples directory
BUGS
Take a look at the Bug tracking system.
REPORTING BUGS
Please send bug reports to http://www.ipflow.utc.fr/bts/
SEE ALSO
http://www.ipflow.utc.fr/index.php/
http://www.ipflow.utc.fr/blog/
http://dyna-gen.sourceforge.net/
http://hacki.at/7200emu/index.php
AUTHOR
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).
Aug 29, 2006