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 [AT] gmail.com)
This manual page was written by Erik Wenzel
<erik [AT] debian.org> for the Debian GNU/Linux system (but
may be used by others).