/[dynamips]/trunk/README
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/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11 - (hide annotations)
Sat Oct 6 16:33:40 2007 UTC (16 years, 5 months ago) by dpavlin
Original Path: upstream/dynamips-0.2.8-RC1/README
File size: 16296 byte(s)
dynamips-0.2.8-RC1

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

  ViewVC Help
Powered by ViewVC 1.1.26