|
|
1.1.1.7 ! root 1: Help for Cisco router simulator (dynamips-0.2.8) 1.1.1.6 root 2: ================================================ 1.1.1.4 root 3: Authors of this document: Fabien Devaux, Christophe Fillot, MtvE 1.1 root 4: 5: Emulated hardware 6: ***************** 7: 1.1.1.6 root 8: 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 1.1.1.7 ! root 14: - Cisco 2600 (2610 to 2650XM) ! 15: - Cisco 1700 (1710 to 1760) 1.1.1.6 root 16: 1.1.1.4 root 17: By default, a Cisco 7206VXR with NPE-200 (256 Mb of DRAM) is emulated. 18: 1.1.1.6 root 19: To emulate another platform, use the "-P" command line option (for example, 20: "-P 3725" or "-P 3600"). 1.1.1.4 root 21: 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. 1.1 root 32: 33: 34: Command Line Options overview 35: ***************************** 36: 1.1.1.4 root 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") 1.1.1.6 root 82: --iomem-size <val> : IO memory (in percents, default: 5) 83: -p <nm_desc> : Define a Network Module 84: -s <nm_nio> : Bind a Network IO interface to a Network Module 85: 86: Options specific to the Cisco 2691 series ("dynamips -P 2691 --help"): 87: 88: --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) 1.1.1.4 root 95: -p <nm_desc> : Define a Network Module 96: -s <nm_nio> : Bind a Network IO interface to a Network Module 1.1 root 97: 1.1.1.6 root 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: 1.1 root 105: 106: Command Line Options details 107: **************************** 108: 1.1.1.4 root 109: -k <clock_div> : 1.1 root 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: 1.1.1.4 root 115: --idle-pc <pc> : 1.1 root 116: 1.1.1.4 root 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. 1.1 root 120: 1.1.1.4 root 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> : 1.1 root 143: 1.1.1.4 root 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: 1.1 root 156: - C7200-IO-FE (FastEthernet, slot 0 only) 1.1.1.4 root 157: - PA-FE-TX (FastEthernet, slots 1 to 6) 158: - PA-4E (Ethernet, 4 ports) 159: - PA-8E (Ethernet, 8 ports) 1.1.1.3 root 160: - PA-4T+ (Serial, 4 ports) 161: - PA-8T (Serial, 8 ports) 1.1 root 162: - PA-A1 (ATM) 163: 1.1.1.4 root 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) 1.1.1.6 root 176: - NM-16ESW (Ethernet switch module, 16 ports) 1.1.1.4 root 177: - Leopard-2FE (Cisco 3660 FastEthernet in slot 0, automatically used) 178: 179: 1.1.1.6 root 180: 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: 1.1.1.4 root 193: NIO binding to Port Adapter "<pa_nio>" and Network Modules "<nm_nio>": 194: ---------------------------------------------------------------------- 1.1.1.3 root 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: 1.1 root 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: 1.1.1.4 root 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: 1.1 root 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: 1.1.1.2 root 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: 1.1 root 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: 1.1.1.4 root 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: 1.1 root 272: Escape commands 273: *************** 274: 1.1.1.2 root 275: You can press ^] (Ctrl + ]) at any time, followed by one of these characters: 1.1 root 276: 1.1.1.4 root 277: o : Show the VM object list 1.1 root 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 1.1.1.3 root 286: h : JIT hash table statistics 1.1.1.4 root 287: l : MTS64 cache statistics 1.1 root 288: c : Write IOS configuration to disk (ios_cfg.txt) 289: j : Non-JIT mode statistics 1.1.1.5 root 290: i : Determine an idling pointer counter 1.1 root 291: x : Experimentations (can crash the box!) 292: ^]: Send ^] 293: 294: If you press an unrecognized key, help will be shown. 295: 1.1.1.2 root 296: Note: on Windows, it may be the "Ctrl + $" sequence. 297: 1.1 root 298: 299: Virtual Bridge 300: ************** 301: 302: The virtual bridge is used to emulate a shared network between emulator 303: instances. 304: 1.1.1.4 root 305: Any emulator instance can act as a virtual bridge. 1.1 root 306: 307: The configuration file (specified by the "-b" option) contains a list of 1.1.1.4 root 308: NetIO descriptors, with the following syntax: 309: 310: interface_name:netio_type[:netio_parameters] 1.1 root 311: 312: Example: 313: 314: # Connection to instance "I0" 1.1.1.4 root 315: I0:udp:10000:127.0.0.1:10001 1.1 root 316: 317: # Connection to instance "I1" 1.1.1.4 root 318: I1:udp:10002:127.0.0.1:10003 1.1 root 319: 320: # Connection to instance "I2" 1.1.1.4 root 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: 1.1 root 357: 1.1.1.4 root 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 1.1 root 361: 1.1.1.4 root 362: DOT1Q:E0:1 363: ACCESS:E1:4 364: DOT1Q:E2:1 1.1 root 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: 1.1.1.4 root 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 1.1 root 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: 1.1.1.3 root 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: 1.1 root 494: == EOF == 1.1.1.3 root 495:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.