|
|
1.1.1.3 ! root 1: Help for Cisco 7200 simulator (dynamips-0.2.4) 1.1 root 2: ============================================== 3: Authors: Fabien Devaux, Christophe Fillot, MtvE 4: 5: Emulated hardware 6: ***************** 7: 8: By default, a NPE-200 is emulated. You can choose the NPE type with the 9: "-t" option. It is possible to select "npe-100", "npe-150", "npe-175", 10: "npe-200", "npe-225", "npe-300" and "npe-400". The "npe-g1" is not working. 11: 12: Please note that you must use the C7200-IO-FE PA driver as IO card if you 13: want a FastEthernet interface in slot 0. For other slots, you must use 14: the PA-FE-TX driver. 15: 16: 17: Command Line Options overview 18: ***************************** 19: 20: -r <ram_size> : Set the virtual RAM size (default is 256 Mb) 21: -o <rom_size> : Set the virtual ROM size (default is 4 Mb) 22: -n <nvram_size> : Set the NVRAM size (default is 128 Kb) 23: -l <log_file> : Set logging file (default is pred_log0.txt) 24: -C <cfg_file> : Import an IOS configuration file into NVRAM 1.1.1.3 ! root 25: -X : Do not use a file to simulate RAM (faster) 1.1 root 26: -R <rom_file> : Load an alternate ROM (default is embedded) 1.1.1.3 ! root 27: -S <sym_file> : Load a symbol file 1.1 root 28: -c <conf_reg> : Set the configuration register (default is 0x2102) 29: -m <mac_addr> : Set the MAC address of the chassis (IOS chooses default) 30: -k <clock_div> : Set the clock divisor (default is 2) 31: -T <port> : Console is on TCP <port> (default is on the terminal) 32: -A <port> : AUX is on TCP <port> (default is no AUX port) 33: -i : Instruction block trace, very slow 34: -j : Disable the JIT compiler, very slow 35: -t <npe_type> : Select NPE type 36: -M <midplane> : Select Midplane ("std" or "vxr") 37: -p <pa_desc> : Define a Port Adapter 1.1.1.3 ! root 38: -s <pa_nio> : Bind a Network IO interface to a Port Adapter 1.1 root 39: -a <cfg_file> : Virtual ATM switch configuration file 1.1.1.3 ! root 40: -f <cfg_file> : Virtual Frame relay switch configuration file 1.1 root 41: -b <cfg_file> : Virtual bridge configuration file 1.1.1.3 ! root 42: -e : Show network device list of the host machine 1.1 root 43: 44: 45: Command Line Options details 46: **************************** 47: 48: <clock_div> : 49: 50: Specify the clock divider (integer) based on the host clock. 51: Alter the value to match the CISCO clock with the real time. 52: The command "show clock" at the IOS' CLI will help you set this value. 53: 54: <pa_desc> : 55: 56: Format: slot:pa_driver:netio_type[:netio_parameters] 57: 58: slot : the number of the physical slot (starts from 0) 59: 60: pa_driver : the name of a port adapter driver in: 61: - C7200-IO-FE (FastEthernet, slot 0 only) 62: - PA-FE-TX (FastEthernet, slots 1 to 6) 1.1.1.3 ! root 63: - PA-4T+ (Serial, 4 ports) ! 64: - PA-8T (Serial, 8 ports) 1.1 root 65: - PA-A1 (ATM) 66: 1.1.1.3 ! root 67: <pa_nio> : ! 68: ! 69: Format: slot:port:netio_type[:netio_parameters] ! 70: ! 71: slot : the number of the physical slot (starts from 0) ! 72: port : the port in the specified slot (starts from 0) ! 73: 1.1 root 74: netio_type : host interface for communication 75: 76: unix:<local_sock>:<remote_sock> 77: Use unix sockets for local communication. 78: <local_sock> is created and represents the local NIC. 79: <remote_sock> is the file used by the other interface. 80: (ex. "/tmp/local:/tmp/remote") 81: 82: tap:<tap_name> 83: Use a virtual ethernet device for communication. 84: <tap_name> is the name of the tap device (ex. "tap0") 85: 1.1.1.2 root 86: gen_eth:<dev_name> 87: Use a real ethernet device for communication, using libpcap 0.9 88: or WinPcap. Works on Windows and Unix systems. 89: 90: <dev_name> is the name of the Ethernet device (ex. "eth0") 91: 92: The device list can be found using the "-e" option. 93: 1.1 root 94: linux_eth:<dev_name> 95: Use a real ethernet device for communication (Linux specific). 96: <dev_name> is the name of the Ethernet device (ex. "eth0") 97: 98: udp:<local_port>:<remote_host>:<remote_port> 99: Use an UDP socket for connection between remote instances. 100: <local_port> is the port we listen to. 101: <remote_host> is the host listening the port you want to connect to. 102: <remote_port> is the port you want to connect to. 103: (ex. "1000:somehost:2000" and "2000:otherhost:1000" on the other 104: side) 105: 106: tcp_cli:<host>:<port> 107: Client side of a tcp connection. 108: <host> is the ip address of the server. 109: <port> is the port to connect to. 110: 111: tcp_ser:<port> 112: Server side of a tcp connection. 113: <port> is the port to listen to. 114: 115: null 116: Dummy netio (used for testing/debugging), no parameters needed. 117: 118: 119: Escape commands 120: *************** 121: 1.1.1.2 root 122: You can press ^] (Ctrl + ]) at any time, followed by one of these characters: 1.1 root 123: 124: d : Show the device list 125: r : Dump MIPS CPU registers 126: t : Dump MIPS TLB entries 127: m : Dump the latest memory accesses 128: s : Suspend CPU emulation 129: u : Resume CPU emulation 130: q : Quit the emulator 131: b : Dump the instruction block tree 1.1.1.3 ! root 132: h : JIT hash table statistics 1.1 root 133: c : Write IOS configuration to disk (ios_cfg.txt) 134: j : Non-JIT mode statistics 135: x : Experimentations (can crash the box!) 136: ^]: Send ^] 137: 138: If you press an unrecognized key, help will be shown. 139: 1.1.1.2 root 140: Note: on Windows, it may be the "Ctrl + $" sequence. 141: 1.1 root 142: 143: Virtual Bridge 144: ************** 145: 146: The virtual bridge is used to emulate a shared network between emulator 147: instances. 148: 149: Any emulator instance can ast as a virtual bridge. 150: 151: The configuration file (specified by the "-b" option) contains a list of 152: NetIO descriptors, which the following syntax: netio_type[:netio_parameters] 153: 154: Example: 155: 156: # Connection to instance "I0" 157: udp:10000:127.0.0.1:10001 158: 159: # Connection to instance "I1" 160: udp:10002:127.0.0.1:10003 161: 162: # Connection to instance "I2" 163: udp:10004:127.0.0.1:10005 164: 165: The "I0" would be launched with the following parameters: 166: 167: dynamips ios.bin -p 1:PA-FE-TX:udp:10001:127.0.0.1:10000 168: 169: 170: Virtual ATM switch 171: ****************** 172: 173: The virtual ATM switch fabric is used to emulate an ATM backbone between 174: emulator instances. The use of this virtual switch is not mandatory, you 175: can directly connect emulator instances for point-to-point ATM connections. 176: Please note that only basic VP/VC switching is supported, there is no 177: support for ILMI/QSAAL/... or other specific ATM protocols. 178: 179: Any emulator instance can act as a virtual ATM switch. 180: 181: Example of configuration file (specified by the "-a" option): 182: 183: # Virtual Interface List 184: IF:A0:udp:10001:127.0.0.1:10000 185: IF:A1:udp:10002:127.0.0.1:10003 186: IF:A2:udp:10004:127.0.0.1:10005 187: 188: # VP connection between I0 and I1 189: VP:A0:10:A1:20 190: VP:A1:20:A0:10 191: 192: # VP connection between I0 and I2 193: VP:A0:11:A2:30 194: VP:A2:30:A0:11 195: 196: # VC connection between I1 and I2 197: VC:A1:5:2:A2:7:3 198: VC:A2:7:3:A1:5:2 199: 200: In this example, we have 3 virtual interfaces, A0, A1 and A2. The syntax 201: for interface definition is similar to Port Adapters: 202: 203: IF:interface_name:netio_type[:netio_parameters] 204: 205: You can do VP switching or VC switching: 206: 207: 1) VP switching 208: 209: syntax: VP:input_if:input_vpi:output_if:output_vpi 210: 211: 2) VC switching 212: 213: syntax: VC:input_if:input_vpi:input_vci:output_if:output_vpi:output_vci 214: 215: 216: Testing the Virtual ATM switch with one dynamips instance 217: ********************************************************* 218: (Contribution of Mtv Europe) 219: 220: Virtual ATM switch configuration file ("atm.cfg"): 221: 222: IF:A0:udp:10003:127.0.0.1:10001 223: IF:A1:udp:10004:127.0.0.1:10002 224: # a0/vpi=1/vci=100 connects to a1/vpi=2/vci=200 225: VC:A0:1:100:A1:2:200 226: VC:A1:2:200:A0:1:100 227: 228: Invoking dynamips: 229: 230: ./dynamips -p 1:PA-A1:udp:10001:127.0.0.1:10003 -p 2:PA-A1:udp:10002:127.0.0.1:10004 -a atm.cfg IOS.BIN 231: 232: (note input ports of IOS interfaces are output ports of ATM switch 233: interfaces, and vice versa). 234: 235: IOS configuration: 236: 237: ip cef 238: ip vrf test 239: rd 1:1 240: route-target both 1:1 241: int a1/0 242: no shut 243: int a1/0.2 p 244: ip addr 1.1.1.1 255.255.255.0 245: pvc 1/100 246: interface a2/0 247: no shut 248: interface a2/0.2 p 249: ip vrf forwarding test 250: ip addr 1.1.1.2 255.255.255.0 251: pvc 2/200 252: ! 253: 254: # ping 1.1.1.2 255: !!!!! 256: 1.1.1.3 ! root 257: ! 258: Virtual Frame-Relay switch ! 259: ************************** ! 260: ! 261: The virtual Frame-Relay switch fabric is used to emulate a Frame-Relay ! 262: backbone between emulator instances. The use of this virtual switch is not ! 263: mandatory, you can directly connect emulator instances with appropriate IOS ! 264: configuration. ! 265: ! 266: Any emulator instance can act as a virtual Frame-Relay switch. ! 267: ! 268: There is only a basic implementation of the LMI protocol (ANSI Annex D), which ! 269: is probably not conforming but works with Cisco IOS. Fortunately, Cisco IOS ! 270: is able to detect automatically the LMI protocol. ! 271: ! 272: Example of configuration file (specified by the "-f" option): ! 273: ! 274: # Virtual Interface List ! 275: IF:S0:udp:10001:127.0.0.1:10000 ! 276: IF:S1:udp:10002:127.0.0.1:10003 ! 277: ! 278: # DLCI switching between S0 and S1 ! 279: VC:S0:200:S1:100 ! 280: VC:S1:100:S0:200 ! 281: ! 282: In this example, we have 2 virtual interfaces, S0 and S1. The syntax ! 283: for interface definition is similar to Port Adapters: ! 284: ! 285: IF:interface_name:netio_type[:netio_parameters] ! 286: ! 287: DLCI switching syntax: ! 288: ! 289: VC:input_if:input_dlci:output_if:output_dlci ! 290: ! 291: In the example above, the switch is configured to switch packets ! 292: received on interface S0 with DLCI 200 to interface S1 with DLCI 100, ! 293: and vice-versa. ! 294: 1.1 root 295: == EOF == 1.1.1.3 ! root 296:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.