---
name: "dynagen"
section: "1"
platform: "linux"
package: "dynagen"
version: "0.11.0-7"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/dynagen"
---

# dynagen(1)

command line interface to dynamips Cisco 7200 Emulator

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