Annotation of cf/README, revision 1.1.1.7

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.