/[dynamips]/trunk/dynamips.1
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/dynamips.1

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12 - (hide annotations)
Sat Oct 6 16:45:40 2007 UTC (11 years, 8 months ago) by dpavlin
File size: 15353 byte(s)
make working copy

1 dpavlin 1 .\" First parameter, NAME, should be all caps
2     .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
3     .\" other parameters are allowed: see man(7), man(1)
4     .TH DYNAGEN 1 "Sep 07, 2006"
5     .\" Please adjust this date whenever revising the manpage.
6     .\"
7     .\" Some roff macros, for reference:
8     .\" .nh disable hyphenation
9     .\" .hy enable hyphenation
10     .\" .ad l left justify
11     .\" .ad b justify to both left and right margins
12     .\" .nf disable filling
13     .\" .fi enable filling
14     .\" .br insert line break
15     .\" .sp <n> insert n+1 empty lines
16     .\" for manpage-specific macros, see man(7)
17     .SH NAME
18     dynamips \- Cisco router 7200/3600 simulator
19     .SH SYNOPSIS
20     .B dynamips
21     .RI [ options ]
22     .I ios_image
23     .br
24     .SH DESCRIPTION
25     emulates Cisco 7200 and 3600 Routers on a traditional PC. You can use
26     \fBdynamips\fP to create labs. It uses real Cisco IOS Images (which are not
27     part of this package). Of course, this emulator cannot replace a real router.
28     It is simply a complementary tool to real labs for administrators of Cisco
29     networks or people wanting to pass their CCNA/CCNP/CCIE exams.
30     .br
31     The emulator currently supports Cisco 7200 and Cisco 3600 series.
32     By default, a Cisco 7206VXR with NPE\-200 (256 Mb of DRAM) is emulated.
33     .br
34     To emulate a Cisco 3600, use the "\-P 3600" command line option.
35     .br
36     For the 3600, a 3640 with 128 Mb is emulated by default. You can change this
37     with the "\-t" option and by specifying "3620" or "3660". Don't forget to set
38     the chassis type depending on your IOS image, a c3660 image will not run on
39     c3640 hardware and vice\-versa.
40     .PP
41     .\" TeX users may be more comfortable with the \fB<whatever>\fP and
42     .\" \fI<whatever>\fP escape sequences to invode bold face and italics,
43     .\" respectively.
44     .SH OPTIONS
45     A summary of options is included below.
46     .TP
47     .B -H <tcp_port>
48     Enable hypervisor mode.
49     .br
50     The hypervisor mode of dynamips allows you to run simultaneously
51     many virtual router instances, and to simulate ATM, Ethernet
52     or Frame-Relay networks.
53     .br
54     You can connect directly to the TCP control port with telnet, or use
55     \fBdynagen\fP(1), \fBdynagui\fP(1) that will pass commands transparently.
56     The second method is highly recommended.
57     .TP
58     .B -l <log_file>
59     Set logging file (default is dynamips_log.txt)
60     .TP
61     .B -j
62     Disable the JIT compiler, very slow
63     .TP
64     .B --exec-area <size>
65     Set the exec area size (default: 64 Mb)
66     .br
67     The exec area is a pool of host memory used to store pages translated by
68     the JIT (they contain the native code corresponding to MIPS code pages).
69    
70     .TP
71     .B --idle-pc <pc>
72     Set the idle PC (default: disabled)
73     .br
74     The "idle PC" feature allows you to run a router instance without having
75     a 100% CPU load. This implies that you can run a larger number of instances
76     per real machine.
77     .br
78     To determine the "idle PC", start normally the emulator with your Cisco IOS
79     image, and a totally IOS empty configuration (although not mandatory, this
80     will give better results). When the image is fully booted, wait for the
81     "Press RETURN to get started!" message prompt, but do not press Enter key.
82     Wait about 5 seconds, then press "Ctrl-] + i". Some statistics will be
83     gathered during 10 seconds. At the end, the emulator will display a list of
84     possible values to pass to the "--idle-pc" option. You may have to try some
85     values before finding the good one. To check if the idle PC value is good,
86     just boot the Cisco IOS image, and check your CPU load when the console
87     prompt is available. If it is low, you have found a good value, keep it
88     preciously.
89     .br
90     Important remarks:
91     .br
92     * An "idle PC" value is *specific* to a Cisco IOS image. You cannot
93     boot a different IOS image without proceeding as described above.
94     .br
95     * Do not run the process while having the "autoconfiguration" prompt.
96    
97     .TP
98     .B --timer-itv <val>
99     Timer IRQ interval check (default: 1000)
100     .TP
101     .B -i <instance>
102     Set instance ID
103     .TP
104     .B -r <ram_size>
105     Set the virtual RAM size (default: 256 Mb)
106     .TP
107     .B -o <rom_size>
108     Set the virtual ROM size (default: 4 Mb)
109     .TP
110     .B -n <nvram_size>
111     Set the NVRAM size (default: 128 Kb)
112     .TP
113     .B -c <conf_reg>
114     Set the configuration register (default: 0x2102)
115     .TP
116     .B -m <mac_addr>
117     Set the MAC address of the chassis (default: automatically generated)
118     .TP
119     .B -C <cfg_file>
120     Import an IOS configuration file into NVRAM
121     .TP
122     .B -X
123     Do not use a file to simulate RAM (faster)
124     .TP
125     .B -R <rom_file>
126     Load an alternate ROM (default: embedded)
127     .TP
128     .B -k <clock_div>
129     Set the clock divisor (default: 4)
130     .br
131     Specify the clock divider (integer) based on the host clock.
132     Alter the value to match the CISCO clock with the real time.
133     The command "show clock" at the IOS' CLI will help you set this value.
134    
135     .TP
136     .B -T <port>
137     Console is on TCP <port>
138     .TP
139     .B -U <si_desc>
140     Console in on serial interface <si_desc> (default is on the terminal)
141     .TP
142     .B -A <port>
143     AUX is on TCP <port>
144     .TP
145     .B -B <si_desc>
146     AUX is on serial interface <si_desc> (default is no AUX port)
147     .TP
148     .B --disk0 <size>
149     Set PCMCIA ATA disk0: size (default: 64 Mb)
150     .TP
151     .B --disk1 <size>
152     Set PCMCIA ATA disk1: size (default: 0 Mb)
153     .TP
154     .B -a <cfg_file>
155     Virtual ATM switch configuration file.
156     .TP
157     .B -f <cfg_file>
158     Virtual Frame-Relay switch configuration file.
159     .TP
160     .B -E <cfg_file>
161     Virtual Ethernet switch configuration file.
162     .TP
163     .B -e
164     Show network device list of the host machine.
165    
166     .SH OPTIONS specific to the Cisco 7200 series
167     .TP
168     .B -t <npe_type>
169     Select NPE type (default: "npe-200")
170     .TP
171     .B -M <midplane>
172     Select Midplane ("std" or "vxr")
173     .TP
174     .B -p <pa_desc>
175     Define a Port Adapter
176     .TP
177     .B -s <pa_nio>
178     Bind a Network IO interface to a Port Adapter
179    
180     .SH OPTIONS specific to the Cisco 3600 series
181     .TP
182     .B -t <chassis_type>
183     Select Chassis type (default: "3640")
184     .TP
185     .B -p <nm_desc>
186     Define a Network Module
187     .TP
188     .B -s <nm_nio>
189     Bind a Network IO interface to a Network Module
190    
191     .SH Cisco 7200 Port Adapter Description "<pa_desc>"
192     .TP
193     .B Format
194     slot:pa_driver
195     .TP
196     .B slot
197     the number of the physical slot (starts from 0)
198     .TP
199     .B pa_driver
200     the name of a Port Adapter driver in:
201     .RS
202     .IP C7200-IO-FE
203     (FastEthernet, slot 0 only)
204     .IP PA-FE-TX
205     (FastEthernet, slots 1 to 6)
206     .IP PA-4E
207     (Ethernet, 4 ports)
208     .IP PA-8E
209     (Ethernet, 8 ports)
210     .IP PA-4T+
211     (Serial, 4 ports)
212     .IP PA-8T
213     (Serial, 8 ports)
214     .IP PA-A1
215     (ATM)
216     .SH Cisco 3600 Network Module Description "<nm_desc>"
217     .TP
218     .B Format
219     slot:nm_driver
220     .TP
221     .B slot
222     the number of the physical slot (starts from 0)
223     .TP
224     .B nm_driver
225     the name of a Network Module driver in:
226     .RS
227     .IP NM-1E
228     (Ethernet, 1 port)
229     .IP NM-4E
230     (Ethernet, 4 ports)
231     .IP NM-1FE-TX
232     (FastEthernet, 1 port)
233     .IP NM-4T
234     (Serial, 4 ports)
235     .IP Leopard-2FE
236     (Cisco 3660 FastEthernet in slot 0, automatically used)
237     .SH NIO binding to Port Adapter "<pa_nio>" and Network Modules "<nm_nio>":
238     .TP
239     .B Format
240     slot:port:netio_type[:netio_parameters]
241     .TP
242     .B slot
243     the number of the physical slot (starts from 0)
244     .TP
245     .B port
246     the port in the specified slot (starts from 0)
247     .TP
248     .B netio_type
249     host interface for communication
250     .RS
251     .IP unix:<local_sock>:<remote_sock>
252     Use unix sockets for local communication.
253     <local_sock> is created and represents the local NIC.
254     <remote_sock> is the file used by the other interface.
255     (ex. "/tmp/local:/tmp/remote")
256     .IP vde:<control_sock>:<local_sock>
257     For use with UML (User-Mode-Linux) or VDE switches.
258     VDE stands for "Virtual Distributed Ethernet".
259     Please refer to : http://sourceforge.net/projects/vde/
260     .IP tap:<tap_name>
261     Use a virtual ethernet device for communication.
262     <tap_name> is the name of the tap device (ex. "tap0")
263     .IP gen_eth:<dev_name>
264     Use a real ethernet device for communication, using libpcap 0.9 or
265     WinPcap. Works on Windows and Unix systems.
266     .br
267     <dev_name> is the name of the Ethernet device (ex. "eth0")
268     .br
269     The device list can be found using the "-e" option.
270     .IP linux_eth:<dev_name>
271     Use a real ethernet device for communication (Linux specific).
272     <dev_name> is the name of the Ethernet device (ex. "eth0")
273     .IP udp:<local_port>:<remote_host>:<remote_port>
274     Use an UDP socket for connection between remote instances. <local_port>
275     is the port we listen to.
276     <remote_host> is the host listening the port you want to connect to.
277     <remote_port> is the port you want to connect to. (ex. "1000:somehost:2000"
278     and "2000:otherhost:1000" on the other side)
279     .IP tcp_cli:<host>:<port>
280     Client side of a tcp connection.
281     <host> is the ip address of the server.
282     <port> is the port to connect to.
283     .IP tcp_ser:<port>
284     Server side of a tcp connection.
285     <port> is the port to listen to.
286     .IP null
287     Dummy netio (used for testing/debugging), no parameters needed.
288     .SH VTTY binding to real serial port device "<si_desc>"
289     .TP
290     .B Format
291     <device>{:baudrate{:databits{:parity{:stopbits{:hwflow}}}}}}
292     .RS
293     .IP device
294     character device name, e.g. /dev/ttyS0
295     .IP baudrate
296     baudrate
297     .IP databits
298     number of databits
299     .IP parity
300     data parity: N=none, O=odd, E=even
301     .IP stopbits
302     number of stop bits
303     .IP hwflow
304     hardware flow control (0=disable, 1=enable)
305     .br
306     Note that the device field is mandatory, however other fields are optional.
307     (dynamips will default to 9600, 8, N, 1, no hardware flow control)
308     .br
309     Note that access to the escape commands (described below) through a serial
310     port are deliberately prevented, as the escape commands interfere with
311     serial encapsulation protocols.
312    
313     .SH Escape commands
314     You can press ^] (Ctrl + ]) at any time, followed by one of these characters:
315     .TP
316     .B o
317     Show the VM object list
318     .TP
319     .B d
320     Show the device list
321     .TP
322     .B r
323     Dump MIPS CPU registers
324     .TP
325     .B t
326     Dump MIPS TLB entries
327     .TP
328     .B m
329     Dump the latest memory accesses
330     .TP
331     .B s
332     Suspend CPU emulation
333     .TP
334     .B u
335     Resume CPU emulation
336     .TP
337     .B q
338     Quit the emulator
339     .TP
340     .B b
341     Dump the instruction block tree
342     .TP
343     .B h
344     JIT hash table statistics
345     .TP
346     .B l
347     MTS64 cache statistics
348     .TP
349     .B c
350     Write IOS configuration to disk (ios_cfg.txt)
351     .TP
352     .B j
353     Non-JIT mode statistics
354     .TP
355     .B x
356     Experimentations (can crash the box!)
357     .TP
358     .B ^]
359     Send ^]
360     .br
361     If you press an unrecognized key, help will be shown. Note: on Windows, it may be the "Ctrl + $" sequence.
362     .SH Virtual Bridge
363     The virtual bridge is used to emulate a shared network between emulator
364     instances.
365     Any emulator instance can act as a virtual bridge.
366     .br
367     The configuration file (specified by the "-b" option) contains a list of
368     NetIO descriptors, with the following syntax:
369     .TP
370     .B interface_name:netio_type[:netio_parameters]
371     .TP
372     Example:
373     .nf
374     # Connection to instance "I0"
375     I0:udp:10000:127.0.0.1:10001
376     # Connection to instance "I1"
377     I1:udp:10002:127.0.0.1:10003
378     # Connection to instance "I2"
379     I2:udp:10004:127.0.0.1:10005
380     .fi
381     .PP
382     The "I0" instance would be launched with the following parameters:
383     .TP
384     dynamips ios.bin -p 1:PA-FE-TX -s 1:0:udp:10001:127.0.0.1:10000
385    
386     .SH Virtual Ethernet switch
387     The virtual ethernet switch is used to emulate an Ethernet network between
388     emulator instances. This switch supports access and trunk ports (802.1Q).
389     ISL will be available in a future release.
390     .br
391     Any emulator instance can act as a virtual ethernet switch.
392     .br
393     The configuration file (specified by the "-E" option) contains a list of
394     NetIO descriptors (representing interfaces) and a list of interface properties
395     (access/trunk port, VLAN info...)
396     .br
397     The interface definition is similar to Port Adapters:
398     .TP
399     .B IF:interface_name:netio_type[:netio_parameters]
400     .TP
401     .B Access Port
402     ACCESS:interface_name:vlan_id
403     .TP
404     .B 802.1Q Trunk Port
405     DOT1Q:interface_name:native_vlan
406     .PP
407     The native VLAN is not tagged. On Cisco devices, by default the native VLAN
408     is VLAN 1.
409     .TP
410     Example of configuration file:
411     .nf
412     IF:E0:udp:10000:127.0.0.1:10001
413     IF:E1:udp:10002:127.0.0.1:10003
414     IF:E2:gen_eth:eth0
415     DOT1Q:E0:1
416     ACCESS:E1:4
417     DOT1Q:E2:1
418     .fi
419    
420     .SH Virtual ATM switch
421     The virtual ATM switch fabric is used to emulate an ATM backbone between
422     emulator instances. The use of this virtual switch is not mandatory, you
423     can directly connect emulator instances for point-to-point ATM connections.
424     Please note that only basic VP/VC switching is supported, there is no
425     support for ILMI/QSAAL/\|.\|.\|. or other specific ATM protocols.
426     .br
427     Any emulator instance can act as a virtual ATM switch.
428     .TP
429     Example of configuration file (specified by the "-a" option):
430     .nf
431     # Virtual Interface List
432     IF:A0:udp:10001:127.0.0.1:10000
433     IF:A1:udp:10002:127.0.0.1:10003
434     IF:A2:udp:10004:127.0.0.1:10005
435     # VP connection between I0 and I1
436     VP:A0:10:A1:20
437     VP:A1:20:A0:10
438     # VP connection between I0 and I2
439     VP:A0:11:A2:30
440     VP:A2:30:A0:11
441     # VC connection between I1 and I2
442     VC:A1:5:2:A2:7:3
443     VC:A2:7:3:A1:5:2
444     .fi
445     .PP
446     In this example, we have 3 virtual interfaces, A0, A1 and A2. The syntax
447     for interface definition is similar to Port Adapters:
448     .TP
449     .B IF:interface_name:netio_type[:netio_parameters]
450     You can do VP switching or VC switching:
451     .TP
452     .B VP switching
453     VP:input_if:input_vpi:output_if:output_vpi
454     .TP
455     .B VC switching
456     VC:input_if:input_vpi:input_vci:output_if:output_vpi:output_vci
457    
458     .SH Testing the Virtual ATM switch with one dynamips instance
459     .TP
460     Virtual ATM switch configuration file ("atm.cfg"):
461     .nf
462     IF:A0:udp:10003:127.0.0.1:10001
463     IF:A1:udp:10004:127.0.0.1:10002
464     # a0/vpi=1/vci=100 connects to a1/vpi=2/vci=200
465     VC:A0:1:100:A1:2:200
466     VC:A1:2:200:A0:1:100
467     .fi
468     .TP
469     Invoking dynamips:
470     .B \|./dynamips \-p 1:PA\-A1 \-s 1:0:udp:10001:127.0.0.1:10003 \-p 2:PA\-A1 \-s 2:0:udp:10002:127.0.0.1:10004 \-a atm.cfg IOS.BIN
471     .br
472     (note input ports of IOS interfaces are output ports of ATM switch
473     interfaces, and vice versa).
474     .br
475     .TP
476     IOS Configuration:
477     .nf
478     ip cef
479     ip vrf test
480     rd 1:1
481     route-target both 1:1
482     int a1/0
483     no shut
484     int a1/0.2 p
485     ip addr 1.1.1.1 255.255.255.0
486     pvc 1/100
487     interface a2/0
488     no shut
489     interface a2/0.2 p
490     ip vrf forwarding test
491     ip addr 1.1.1.2 255.255.255.0
492     pvc 2/200
493     !
494     .fi
495    
496     .SH Virtual Frame-Relay switch
497     The virtual Frame-Relay switch fabric is used to emulate a Frame-Relay
498     backbone between emulator instances. The use of this virtual switch is not
499     mandatory, you can directly connect emulator instances with appropriate IOS
500     configuration.
501     .br
502     Any emulator instance can act as a virtual Frame-Relay switch.
503     There is only a basic implementation of the LMI protocol (ANSI Annex D), which
504     is probably not conforming but works with Cisco IOS. Fortunately, Cisco IOS
505     is able to detect automatically the LMI protocol.
506     .TP
507     Example of configuration file (specified by the "-f" option):
508     .nf
509     # Virtual Interface List
510     IF:S0:udp:10001:127.0.0.1:10000
511     IF:S1:udp:10002:127.0.0.1:10003
512     # DLCI switching between S0 and S1
513     VC:S0:200:S1:100
514     VC:S1:100:S0:200
515     .fi
516     .PP
517     In this example, we have 2 virtual interfaces, S0 and S1. The syntax
518     for interface definition is similar to Port Adapters:
519     .TP
520     .B IF:interface_name:netio_type[:netio_parameters]
521     .TP
522     .B DLCI switching syntax:
523     .RS
524     .IP VC:input_if:input_dlci:output_if:output_dlci
525     .RE
526     .br
527     In the example above, the switch is configured to switch packets
528     received on interface S0 with DLCI 200 to interface S1 with DLCI 100,
529     and vice-versa.
530    
531     .SH BUGS
532     .TP
533     The "npe-g1" Port Adapter is not working.
534     .TP
535     PCMCIA card emulation is not supported yet with Cisco 3600.
536     .SH REPORTING BUGS
537     .br
538     Please send bug reports to http://www.ipflow.utc.fr/bts/
539     .SH SEE ALSO
540     .br
541     \fBnvram_export\fP(1), \fBhypervisor_mode\fP(7), \fBdynagen\fP(1),
542     \fBdynagui\fP(1)
543     .br
544     .UR
545     http://www.ipflow.utc.fr/index.php/
546     .UE
547     .br
548     .UR
549     http://www.ipflow.utc.fr/blog/
550     .UE
551     .br
552     .UR
553     http://hacki.at/7200emu/index.php
554     .UE
555     .SH AUTHOR
556     \fBdynamips\fP was written by Fabien Devaux, Christophe Fillot (cf@utc.fr)
557     and MtvE. This manual page was written by Erik Wenzel <erik@debian.org>
558     for the Debian GNU/Linux system (but may be used by others).

  ViewVC Help
Powered by ViewVC 1.1.26