Help for Cisco 7200/3600 simulator (dynamips-0.2.5)
=====================================================
Authors of this document: Fabien Devaux, Christophe Fillot, MtvE
Emulated hardware
*****************
The emulator currently supports Cisco 7200 and Cisco 3600 series.
By default, a Cisco 7206VXR with NPE-200 (256 Mb of DRAM) is emulated.
To emulate a Cisco 3600, use the "-P 3600" command line option.
For the 7200, you can change the NPE type with the "-t" option.
It is possible to select "npe-100", "npe-150", "npe-175", "npe-200",
"npe-225", "npe-300" and "npe-400". The "npe-g1" is not working.
For the 3600, a 3640 with 128 Mb is emulated by default. You can change this
with the "-t" option and by specifying "3620" or "3660".
Don't forget to set the chassis type depending on your IOS image,
a c3660 image will not run on c3640 hardware and vice-versa.
Remark: PCMCIA card emulation is not supported yet with Cisco 3600.
Command Line Options overview
*****************************
-l <log_file> : Set logging file (default is dynamips_log.txt)
-j : Disable the JIT compiler, very slow
--exec-area <size> : Set the exec area size (default: 64 Mb)
--idle-pc <pc> : Set the idle PC (default: disabled)
--timer-itv <val> : Timer IRQ interval check (default: 1000)
-i <instance> : Set instance ID
-r <ram_size> : Set the virtual RAM size
-o <rom_size> : Set the virtual ROM size
-n <nvram_size> : Set the NVRAM size
-c <conf_reg> : Set the configuration register
-m <mac_addr> : Set the MAC address of the chassis
(default: automatically generated)
-C <cfg_file> : Import an IOS configuration file into NVRAM
-X : Do not use a file to simulate RAM (faster)
-R <rom_file> : Load an alternate ROM (default: embedded)
-k <clock_div> : Set the clock divisor (default: 4)
-T <port> : Console is on TCP <port>
-U <si_desc> : Console in on serial interface <si_desc>
(default is on the terminal)
-A <port> : AUX is on TCP <port>
-B <si_desc> : AUX is on serial interface <si_desc>
(default is no AUX port)
--disk0 <size> : Set PCMCIA ATA disk0: size
--disk1 <size> : Set PCMCIA ATA disk1: size
-a <cfg_file> : Virtual ATM switch configuration file
-f <cfg_file> : Virtual Frame-Relay switch configuration file
-E <cfg_file> : Virtual Ethernet switch configuration file
-b <cfg_file> : Virtual bridge configuration file
-e : Show network device list of the host machine
Options specific to the Cisco 7200 series:
-t <npe_type> : Select NPE type (default: "npe-200")
-M <midplane> : Select Midplane ("std" or "vxr")
-p <pa_desc> : Define a Port Adapter
-s <pa_nio> : Bind a Network IO interface to a Port Adapter
Options specific to the Cisco 3600 series ("dynamips -P 3600 --help"):
-t <chassis_type> : Select Chassis type (default: "3640")
-p <nm_desc> : Define a Network Module
-s <nm_nio> : Bind a Network IO interface to a Network Module
Command Line Options details
****************************
-k <clock_div> :
Specify the clock divider (integer) based on the host clock.
Alter the value to match the CISCO clock with the real time.
The command "show clock" at the IOS' CLI will help you set this value.
--idle-pc <pc> :
The "idle PC" feature allows you to run a router instance without having
a 100% CPU load. This implies that you can run a larger number of instances
per real machine.
To determine the "idle PC", start normally the emulator with your Cisco IOS
image, and a totally IOS empty configuration (although not mandatory, this
will give better results). When the image is fully booted, wait for the
"Press RETURN to get started!" message prompt, but do not press Enter key.
Wait about 5 seconds, then press "Ctrl-] + i". Some statistics will be
gathered during 10 seconds. At the end, the emulator will display a list of
possible values to pass to the "--idle-pc" option. You may have to try some
values before finding the good one. To check if the idle PC value is good,
just boot the Cisco IOS image, and check your CPU load when the console
prompt is available. If it is low, you have found a good value, keep it
preciously.
Important remarks:
==================
* An "idle PC" value is *specific* to a Cisco IOS image. You cannot
boot a different IOS image without proceeding as described above.
* Do not run the process while having the "autoconfiguration" prompt.
--exec_area <size> :
The exec area is a pool of host memory used to store pages translated by
the JIT (they contain the native code corresponding to MIPS code pages).
Cisco 7200 Port Adapter Description "<pa_desc>":
------------------------------------------------
Format: slot:pa_driver
slot: the number of the physical slot (starts from 0)
pa_driver: the name of a Port Adapter driver in:
- C7200-IO-FE (FastEthernet, slot 0 only)
- PA-FE-TX (FastEthernet, slots 1 to 6)
- PA-4E (Ethernet, 4 ports)
- PA-8E (Ethernet, 8 ports)
- PA-4T+ (Serial, 4 ports)
- PA-8T (Serial, 8 ports)
- PA-A1 (ATM)
Cisco 3600 Network Module Description "<nm_desc>":
--------------------------------------------------
Format: slot:nm_driver
slot: the number of the physical slot (starts from 0)
nm_driver: the name of a Network Module driver in:
- NM-1E (Ethernet, 1 port)
- NM-4E (Ethernet, 4 ports)
- NM-1FE-TX (FastEthernet, 1 port)
- NM-4T (Serial, 4 ports)
- Leopard-2FE (Cisco 3660 FastEthernet in slot 0, automatically used)
NIO binding to Port Adapter "<pa_nio>" and Network Modules "<nm_nio>":
----------------------------------------------------------------------
Format: slot:port:netio_type[:netio_parameters]
slot : the number of the physical slot (starts from 0)
port : the port in the specified slot (starts from 0)
netio_type : host interface for communication
unix:<local_sock>:<remote_sock>
Use unix sockets for local communication.
<local_sock> is created and represents the local NIC.
<remote_sock> is the file used by the other interface.
(ex. "/tmp/local:/tmp/remote")
vde:<control_sock>:<local_sock>
For use with UML (User-Mode-Linux) or VDE switches.
VDE stands for "Virtual Distributed Ethernet".
Please refer to : http://sourceforge.net/projects/vde/
tap:<tap_name>
Use a virtual ethernet device for communication.
<tap_name> is the name of the tap device (ex. "tap0")
gen_eth:<dev_name>
Use a real ethernet device for communication, using libpcap 0.9
or WinPcap. Works on Windows and Unix systems.
<dev_name> is the name of the Ethernet device (ex. "eth0")
The device list can be found using the "-e" option.
linux_eth:<dev_name>
Use a real ethernet device for communication (Linux specific).
<dev_name> is the name of the Ethernet device (ex. "eth0")
udp:<local_port>:<remote_host>:<remote_port>
Use an UDP socket for connection between remote instances.
<local_port> is the port we listen to.
<remote_host> is the host listening the port you want to connect to.
<remote_port> is the port you want to connect to.
(ex. "1000:somehost:2000" and "2000:otherhost:1000" on the other
side)
tcp_cli:<host>:<port>
Client side of a tcp connection.
<host> is the ip address of the server.
<port> is the port t