SYNOPSIS
dynagen [options] configuration fileDESCRIPTION
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.
AUTHOR
dynagen was written by Greg Anuzelli ([email protected])This manual page was written by Erik Wenzel <[email protected]> for the Debian GNU/Linux system (but may be used by others).