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