Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18672064
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 系统运维

2008-05-22 18:12:22

Help for Cisco 7200 simulator (dynamips-0.2.4)
==============================================
Authors: Fabien Devaux, Christophe Fillot, MtvE

Emulated hardware
*****************

By defau lt, a NPE-200 is emulated. You can choose the NPE type with the
"-t" option. It is possible to select "npe-100", "npe-150", "npe-175",
"npe-200", "npe-225", "npe-300" and "npe-400". The "npe-g1" is not working.

Please note that you must use the C7200-IO-FE PA driver as IO card if you
want a FastEthernet interface in slot 0. For other slots, you must use
the PA-FE-TX driver.


Command Line Options overview
*****************************

-r    : Set the virtual RAM size (default is 256 Mb)
-o    : Set the virtual ROM size (default is 4 Mb)
-n : Set the NVRAM size (default is 128 Kb)
-l    : Set logging file (default is pred_log0.txt)
-C    : Import an IOS configuration file into NVRAM
-X              : Do not use a file to simulate RAM (faster)
-R    : Load an alternate ROM (default is embedded)
-S    : Load a symbol file
-c    : Set the configuration register (default is 0x2102)
-m    : Set the MAC address of the chassis (IOS chooses default)
-k   : Set the clock divisor (default is 2)
-T        : Console is on TCP (default is on the terminal)
-A        : AUX is on TCP (default is no AUX port)
-i              : Instruction block trace, very slow
-j              : Disable the JIT compiler, very slow
-t    : Select NPE type
-M    : Select Midplane ("std" or "vxr")
-p     : Define a Port Adapter
-s      : Bind a Network IO interface to a Port Adapter
-a    : Virtual ATM switch configuration file
-f    : Virtual Frame relay switch configuration file
-b    : Virtual bridge configuration file
-e              : Show network device list of the host machine


Command Line Options details
****************************

:

   Specify the clock divider (integer) based on the host clock.
   Alter the value to match the CISCO clock with the real time.
   The command "show clock" at the IOS' CLI will help you set this value.

:

   Format: slot:pa_driver:netio_type[:netio_parameters]

   slot       : the number of the physical slot (starts from 0)

   pa_driver  : the name of a port adapter driver in:
        - C7200-IO-FE  (FastEthernet, slot 0 only)
        - PA-FE-TX     (FastEthernet, slots 1 to 6)
        - PA-4T+       (Serial, 4 ports)
        - PA-8T        (Serial, 8 ports)
        - PA-A1        (ATM)

:

   Format: slot:port:netio_type[:netio_parameters]

   slot       : the number of the physical slot (starts from 0)
   port       : the port in the specified slot (starts from 0)

   netio_type : host interface for communication

        unix::
           Use unix sockets for local communication.
           is created and represents the local NIC.
           is the file used by the other interface.
           (ex. "/tmp/local:/tmp/remote")

        tap:
           Use a virtual ethernet device for communication.
           is the name of the tap device (ex. "tap0")

        gen_eth:
           Use a real ethernet device for communication, using libpcap 0.9
           or WinPcap. Works on Windows and Unix systems.         

           is the name of the Ethernet device (ex. "eth0")

           The device list can be found using the "-e" option.

        linux_eth:
           Use a real ethernet device for communication (Linux specific).
           is the name of the Ethernet device (ex. "eth0")

        udp:::
           Use an UDP socket for connection between remote instances.
           is the port we listen to.
           is the host listening the port you want to connect to.
           is the port you want to connect to.
       (ex. "1000:somehost:2000" and "2000:otherhost:1000" on the other
           side)

        tcp_cli::
           Client side of a tcp connection.
           is the ip address of the server.
           is the port to connect to.

        tcp_ser:
           Server side of a tcp connection.
           is the port to listen to.

        null
           Dummy netio (used for testing/debugging), no parameters needed.


Escape commands
***************

You can press ^] (Ctrl + ]) at any time, followed by one of these characters:

d : Show the device list
r : Dump MIPS CPU registers
t : Dump MIPS TLB entries
m : Dump the latest memory accesses
s : Suspend CPU emulation
u : Resume CPU emulation
q : Quit the emulator
b : Dump the instruction block tree
h : JIT hash table statistics
c : Write IOS configuration to disk (ios_cfg.txt)
j : Non-JIT mode statistics
x : Experimentations (can crash the box!)
^]: Send ^]

If you press an unrecognized key, help will be shown.

Note: on Windows, it may be the "Ctrl + $" sequence.


Virtual Bridge
**************

The virtual bridge is used to emulate a shared network between emulator
instances.

Any emulator instance can ast as a virtual bridge.

The configuration file (specified by the "-b" option) contains a list of
NetIO descriptors, which the following syntax: netio_type[:netio_parameters]

Example:

# Connection to instance "I0"
udp:10000:127.0.0.1:10001

# Connection to instance "I1"
udp:10002:127.0.0.1:10003

# Connection to instance "I2"
udp:10004:127.0.0.1:10005

The "I0" would be launched with the following parameters:

   dynamips ios.bin -p 1:PA-FE-TX:udp:10001:127.0.0.1:10000


Virtual ATM switch
******************

The virtual ATM switch fabric is used to emulate an ATM backbone between
emulator instances. The use of this virtual switch is not mandatory, you
can directly connect emulator instances for point-to-point ATM connections.
Please note that only basic VP/VC switching is supported, there is no
support for ILMI/QSAAL/... or other specific ATM protocols.

Any emulator instance can act as a virtual ATM switch.

Example of configuration file (specified by the "-a" option):

# Virtual Interface List
IF:A0:udp:10001:127.0.0.1:10000
IF:A1:udp:10002:127.0.0.1:10003
IF:A2:udp:10004:127.0.0.1:10005

# VP connection between I0 and I1
VP:A0:10:A1:20
VP:A1:20:A0:10

# VP connection between I0 and I2
VP:A0:11:A2:30
VP:A2:30:A0:11

# VC connection between I1 and I2
VC:A1:5:2:A2:7:3
VC:A2:7:3:A1:5:2

In this example, we have 3 virtual interfaces, A0, A1 and A2. The syntax
for interface definition is similar to Port Adapters:

   IF:interface_name:netio_type[:netio_parameters]

You can do VP switching or VC switching:

1) VP switching

syntax: VP:input_if:input_vpi:output_if:output_vpi

2) VC switching

syntax: VC:input_if:input_vpi:input_vci:output_if:output_vpi:output_vci


Testing the Virtual ATM switch with one dynamips instance
*********************************************************
(Contribution of Mtv Europe)

Virtual ATM switch configuration file ("atm.cfg"):

IF:A0:udp:10003:127.0.0.1:10001
IF:A1:udp:10004:127.0.0.1:10002                                               
# a0/vpi=1/vci=100 connects to a1/vpi=2/vci=200
VC:A0:1:100:A1:2:200                                                          
VC:A1:2:200:A0:1:100

Invoking dynamips:

./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

(note input ports of IOS interfaces are output ports of ATM switch
interfaces, and vice versa).

IOS configuration:

ip cef
ip vrf test
 rd 1:1
 route-target both 1:1
int a1/0
 no shut
int a1/0.2 p
 ip addr 1.1.1.1 255.255.255.0
 pvc 1/100
interface a2/0
 no shut
interface a2/0.2 p
 ip vrf forwarding test
 ip addr 1.1.1.2 255.255.255.0
 pvc 2/200
!

# ping 1.1.1.2
!!!!!


Virtual Frame-Relay switch
**************************

The virtual Frame-Relay switch fabric is used to emulate a Frame-Relay
backbone between emulator instances. The use of this virtual switch is not
mandatory, you can directly connect emulator instances with appropriate IOS
configuration.

Any emulator instance can act as a virtual Frame-Relay switch.

There is only a basic implementation of the LMI protocol (ANSI Annex D), which
is probably not conforming but works with Cisco IOS. Fortunately, Cisco IOS
is able to detect automatically the LMI protocol.

Example of configuration file (specified by the "-f" option):

# Virtual Interface List
IF:S0:udp:10001:127.0.0.1:10000
IF:S1:udp:10002:127.0.0.1:10003

# DLCI switching between S0 and S1
VC:S0:200:S1:100
VC:S1:100:S0:200

In this example, we have 2 virtual interfaces, S0 and S1. The syntax
for interface definition is similar to Port Adapters:

   IF:interface_name:netio_type[:netio_parameters]

DLCI switching syntax:

   VC:input_if:input_dlci:output_if:output_dlci

In the example above, the switch is configured to switch packets
received on interface S0 with DLCI 200 to interface S1 with DLCI 100,
and vice-versa.

== EOF ==
 

阅读(292) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~