DYNAGEN(1)

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).