/[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

Contents of /trunk/dynamips.1

Parent Directory Parent Directory | Revision Log Revision Log


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

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