/[dynamips]/trunk/README.hypervisor
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/README.hypervisor

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12 - (hide annotations)
Sat Oct 6 16:45:40 2007 UTC (11 years, 8 months ago) by dpavlin
File size: 13368 byte(s)
make working copy

1 dpavlin 1 Description of the hypervisor mode
2     ==================================
3    
4     The hypervisor mode of dynamips allows you to run simultaneously
5     many virtual router instances, and to simulate ATM, Ethernet
6     or Frame-Relay networks.
7    
8     Running dynamips in hypervisor mode
9     ===================================
10    
11 dpavlin 11 dynamips -H [<ip_address>:]<tcp_port>
12 dpavlin 1
13     Managing the hypervisor
14     =======================
15    
16     You can connect directly to the TCP control port with telnet, or use
17     dynagen/dynagui that will pass commands transparently. The second method
18     is highly recommended.
19    
20     The command syntax is simple: <module> <function> [arguments...]
21     For example: "c7200 start R1" starts virtual instance named "R1".
22    
23     The modules that are currently defined are given below:
24    
25     * hypervisor : General hypervisor management
26     * vm : General virtual machine (VM) management
27     * c7200 : Virtual instances of Cisco 7200
28     * c3600 : Virtual instances of Cisco 3600
29     * nio : Network Input/Output (NIO) descriptors
30     * nio_bridge : NIO bridges (shared media)
31     * atmsw : ATM switches
32     * frsw : Frame-Relay switches
33     * ethsw : Ethernet switches
34    
35    
36     Hypervisor management module ("hypervisor")
37     ============================================
38    
39     * "hypervisor module_list" : Display the module list.
40    
41     * "hypervisor cmd_list <module>" : Display commands recognized by the
42     specified module.
43    
44     * "hypervisor close" : Close the current session.
45    
46     * "hypervisor stop" : Destroy all objects and stop hypervisor.
47    
48     * "hypervisor reset" : Destroy all objects (used to get an empty
49     configuration)
50    
51     * "hypervisor working_dir <directory>" : Set the directory to use to store
52     files.
53    
54     * "hypervisor save_config <filename>" : Save the configuration of all objects
55     into the specified file.
56    
57    
58     Virtual Machine module ("vm")
59     =============================
60    
61     * "vm list" : List all VM instances (c7200, c3600).
62    
63     * "vm set_debug_level <instance_name> <level>" : Set the debug level
64     (which is a number) for a VM. By default, no specific debug is enabled
65     (level = 0).
66    
67     * "vm set_ios <instance_name> <ios_file>" : Set the IOS image file to
68     use. There is no default.
69    
70     * "vm set_config <instance_name> <config_reg>" : Set the config register
71     value.
72    
73     * "vm set_ram <instance_name> <ram_size>" : Set the RAM size, specified
74     in Mbytes.
75    
76     * "vm set_nvram <instance_name> <nvram_size>" : Set the NVRAM size,
77     specified in Kbytes.
78    
79     * "vm set_ram_mmap <instance_name> <0|1>" : Enable/Disable use
80     of a mapped file to simulate router memory. By default, a mapped file
81     is used. This is a bit slower, but requires less memory.
82    
83     * "vm suspend <instance_name>" : Suspend execution of the instance.
84    
85     * "vm resume <instance_name>" : Resume execution of the instance.
86    
87     * "vm set_clock_divisor <instance_name> <clock_div>" : Set the clock
88     divisor value. The higher is the value, the faster is the clock in the
89     virtual machine. The default is 4, but it is often required to adjust it.
90    
91     * "vm set_idle_pc <instance_name> <pc_value>" : Set the idle Pointer
92     Counter (PC). You must determine it through the method explained in the
93     main README file.
94    
95     * "vm set_exec_area <instance_name> <area_size>" : Set the exec area
96     size. The exec area is a pool of host memory used to store pages
97     translated by the JIT (they contain the native code corresponding to MIPS
98     code pages).
99    
100     * "vm set_disk0 <instance_name> <value>" : Set size of PCMCIA ATA disk0.
101    
102     * "vm set_disk1 <instance_name> <value>" : Set size of PCMCIA ATA disk1.
103    
104     * "vm set_conf_reg <instance_name> <value>" : Set the config register
105     value. The default is 0x2102.
106    
107     * "vm set_con_tcp_port <instance_name> <tcp_port>" : Set the TCP port
108     to use for console. By default, no TCP port is chosen, meaning that you
109     cannot get access to the console.
110    
111     * "vm set_aux_tcp_port <instance_name> <tcp_port>" : Set the TCP port
112     to use for AUX port. By default, no TCP port is chosen, meaning that you
113     cannot get access to the AUX port.
114    
115     * "vm cpu_info <instance_name> <cpu_id>" : Show info about the CPU identified
116     by "cpu_id". The boot CPU (which is typically the only CPU) has ID 0.
117    
118    
119     Virtual Cisco 7200 instances module ("c7200")
120     ==============================================
121    
122     * "c7200 list" : List all existing Cisco 7200 instances.
123    
124     * "c7200 create <instance_name> <instance_id>" : Create a new router
125     instance. The ID must be unique and is used to name files on disk.
126    
127     * "c7200 delete <instance_name>" : Delete the specified instance.
128    
129     * "c7200 start <instance_name>" : Start the instance.
130     At least the IOS image must be set.
131    
132     * "c7200 stop <instance_name>" : Stop the instance. The settings are kept.
133    
134     * "c7200 set_npe <instance_name> <npe_name>" : Set the NPE model.
135     For example: npe-100, npe-400, ... The default is "npe-200".
136    
137     * "c7200 set_midplane <instance_name> <midplane_name>" : Set the midplane
138     model, it can be either "std" or "vxr". The default is "vxr".
139    
140     * "c7200 set_mac_addr <instance_name> <mac_addr>" : Set the base MAC
141     address of the router. By default, the address is automatically generated
142     with this pattern : ca<instance_id>.<process_pid>.0000 (Cisco format).
143    
144     * "c7200 add_pa_binding <instance_name> <slot> <pa_type>" : Add a
145     Port Adapter binding for the specified slot.
146     For example: "c7200 add_pa_binding R1 1 PA-A1" adds a PA-A1 card into
147     slot 1.
148    
149     * "c7200 remove_pa_binding <instance_name> <slot>" : Remove a Port Adapter
150     binding (if it exists) for the specified slot.
151    
152     * "c7200 pa_bindings <instance_name>" : Display all PA bindings for the
153     router instance.
154    
155     * "c7200 add_nio_binding <instance_name> <slot> <port> <nio_name>":
156     Add a NIO binding for the interface designated by "slot/port".
157     For example: "c7200 add_nio_binding R1 1 0 nio1" (with PA-A1 bound
158     to slot 1) binds the NIO called "nio1" to the interface ATM1/0.
159    
160     * "c7200 remove_nio_binding <instance_name> <slot> <port>":
161     Removes the NIO binding for the interface designated by "slot/port".
162    
163     * "c7200 pa_nio_bindings <instance_name> <slot>": Display NIO bindings
164     for all ports of the specified slot.
165    
166     * "c7200 pa_enable_nio <instance_name> <slot> <port>" : Enable NIO for
167     the interface "slot/port" (used when NIO has to be changed while the
168     virtual router is online).
169    
170     * "c7200 pa_disable_nio <instance_name> <slot> <port>" : Disable NIO for
171     the interface "slot/port" (used when NIO has to be changed while the
172     virtual router is online).
173    
174     * "c7200 pa_init_online <instance_name> <slot>" : Initialize a Port
175     Adapter while the router is online (this triggers an OIR event).
176    
177     * "c7200 pa_stop_online <instance_name> <slot>" : Stop a Port
178     Adapter while the router is online (this triggers an OIR event).
179    
180     * "c7200 show_hardware <instance_name>" : Display virtual hardware info
181     about the instance.
182    
183    
184     Virtual Cisco 3600 instances module ("c3600")
185     ==============================================
186    
187     * "c3600 list" : List all existing Cisco 3600 instances.
188    
189     * "c3600 create <instance_name> <instance_id>" : Create a new router
190     instance. The ID must be unique and is used to name files on disk.
191    
192     * "c3600 delete <instance_name>" : Delete the specified instance.
193    
194     * "c3600 start <instance_name>" : Start the instance.
195     At least the IOS image must be set.
196    
197     * "c3600 stop <instance_name>" : Stop the instance. The settings are kept.
198    
199     * "c3600 set_chassis <instance_name> <chassis_name>" : Set the chassis model.
200     Possible values: 3620, 3640, 3660. The default is "3640".
201    
202     * "c3600 set_mac_addr <instance_name> <mac_addr>" : Set the base MAC
203     address of the router. By default, the address is automatically generated
204     with this pattern : cc<instance_id>.<process_pid>.0000 (Cisco format).
205    
206     * "c3600 add_nm_binding <instance_name> <slot> <pa_type>" : Add a
207     Network Module binding for the specified slot.
208     For example: "c3600 add_nm_binding R1 1 NM-1FE-TX" adds a NM-1FE-TX card
209     into slot 1.
210    
211     * "c3600 remove_pa_binding <instance_name> <slot>" : Remove a Network Module
212     binding (if it exists) for the specified slot.
213    
214     * "c3600 nm_bindings <instance_name>" : Display all NM bindings for the
215     router instance.
216    
217     * "c3600 add_nio_binding <instance_name> <slot> <port> <nio_name>":
218     Add a NIO binding for the interface designated by "slot/port".
219     For example: "c3600 add_nio_binding R1 1 0 nio1" (with NM-1FE-TX bound
220     to slot 1) binds the NIO called "nio1" to the interface FastEthernet1/0.
221    
222     * "c3600 remove_nio_binding <instance_name> <slot> <port>":
223     Removes the NIO binding for the interface designated by "slot/port".
224    
225     * "c3600 nm_nio_bindings <instance_name> <slot>": Display NIO bindings
226     for all ports of the specified slot.
227    
228     * "c3600 nm_enable_nio <instance_name> <slot> <port>" : Enable NIO for
229     the interface "slot/port" (used when NIO has to be changed while the
230     virtual router is online).
231    
232     * "c3600 nm_disable_nio <instance_name> <slot> <port>" : Disable NIO for
233     the interface "slot/port" (used when NIO has to be changed while the
234     virtual router is online).
235    
236     * "c3600 show_hardware <instance_name>" : Display virtual hardware info
237     about the instance.
238    
239    
240     Network Input/Output (NIO) module ("nio")
241     ==========================================
242    
243     * "nio list" : List all exiting NIOs.
244    
245     * "nio create_udp <nio_name> <local_port> <remote_host> <remote_port>" :
246     Create an UDP NIO with the specified parameters.
247    
248     * "nio create_unix <nio_name> <local_file> <remote_file>" :
249     Create an UNIX NIO with the specified parameters.
250    
251     * "nio create_vde <nio_name> <control_file> <local_file>" :
252     Create a VDE NIO with the specified parameters. VDE stands for "Virtual
253     Distributed Ethernet" and is compatible with UML (User-Mode-Linux) switch.
254    
255     * "nio create_tap <nio_name> <tap_device>" : Create a TAP NIO. TAP devices
256     are supported only on Linux and FreeBSD and require root access.
257    
258     * "nio create_gen_eth <nio_name> <eth_device>" : Create a generic ethernet
259     NIO, using PCAP (0.9.4 and greater). It requires root access.
260    
261     * "nio create_linux_eth <nio_name> <eth_device>" : Create a Linux ethernet
262     NIO. It requires root access and is supported only on Linux platforms.
263    
264     * "nio delete <nio_name>" : Delete the specified NIO. The NIO can be deleted
265     only when it is not anymore in use by another object.
266    
267     * "nio set_debug <nio_name> <debug>" : Enable/Disable debugging for the
268     specified NIO. When debugging is enabled, received and emitted packets are
269     displayed at screen. It is mainly used to debug interface drivers.
270    
271    
272     NIO bridge mdoule ("nio_bridge")
273     =================================
274    
275     * "nio_bridge list" : List all NIO bridges.
276    
277     * "nio_bridge create <bridge_name>" : Create a NIO bridge. A NIO bridge
278     acts as a shared media (a kind of hub).
279    
280     * "nio_bridge delete <bridge_name>" : Delete a NIO bridge.
281    
282     * "nio_bridge add_nio <bridge_name> <nio_name>" : Add a NIO as new port
283     in a NIO bridge. The NIO must be created through the "nio" module.
284    
285     * "nio_bridge remove_nio <bridge_name> <nio_name>" : Remove the specified
286     NIO as member of the NIO bridge.
287    
288    
289     Virtual Ethernet switch ("ethsw")
290     ==================================
291    
292     * "ethsw list" : List all Ethernet switches.
293    
294     * "ethsw create <switch_name>" : Create a new Ethernet switch.
295    
296     * "ethsw delete <switch_name>" : Delete the specified Ethernet switch.
297    
298     * "ethsw add_nio <switch_name> <nio_name>" : Add a NIO as new port in an
299     Ethernet switch. The NIO must be created through the "nio" module.
300    
301     * "ethsw remove_nio <switch_name> <nio_name>" : Remove the specified NIO
302     as member of the Ethernet switch.
303    
304     * "ethsw set_access_port <switch_name> <nio_name> <vlan_id>" :
305     Set the specified port as an ACCESS port in VLAN <vlan_id>.
306    
307     * "ethsw set_dot1q_port <switch_name> <nio_name> <native_vlan>" :
308     Set the specified port as a 802.1Q trunk port, with native
309     VLAN <native_vlan>.
310    
311     * "ethsw clear_mac_addr_table <switch_name>" : Clear the MAC address table.
312    
313     * "ethsw show_mac_addr_table <switch_name>" : Show the MAC address table
314     (output format: Ethernet address, VLAN, NIO)
315    
316    
317     Virtual ATM switch ("atmsw")
318     =============================
319    
320     * "atmsw list" : List all ATM switches.
321    
322     * "atmsw create <switch_name>" : Create a new ATM switch.
323    
324     * "atmsw delete <switch_name>" : Delete the specified ATM switch.
325    
326     * "atmsw create_vpc <switch_name> <input_nio> <input_vpi>
327     <output_nio> <output_vpi>" :
328     Create a new Virtual Path connection (unidirectional).
329    
330     * "atmsw delete_vpc <switch_name> <input_nio> <input_vpi>
331     <output_nio> <output_vpi>" :
332     Delete a Virtual Path connection (unidirectional).
333    
334     * "atmsw create_vcc <switch_name> <input_nio> <input_vpi> <input_vci>
335     <output_nio> <output_vpi> <output_vci>" :
336     Create a new Virtual Channel connection (unidirectional).
337    
338     * "atmsw delete_vcc <switch_name> <input_nio> <input_vpi> <input_vci>
339     <output_nio> <output_vpi> <output_vci>" :
340     Delete a Virtual Channel connection (unidirectional).
341    
342    
343     Virtual Frame-Relay switch ("frsw")
344     ====================================
345    
346     * "frsw list" : List all Frame-Relay switches.
347    
348     * "frsw create <switch_name>" : Create a new Frame-Relay switch.
349    
350     * "frsw delete <switch_name>" : Delete the specified Frame-Relay switch.
351    
352     * "frsw create_vc <switch_name> <input_nio> <input_dlci>
353     <output_nio> <output_dlci>" :
354     Create a new Virtual Circuit connection (unidirectional).
355    
356     * "frsw delete_vc <switch_name> <input_nio> <input_dlci>
357     <output_nio> <output_dlci>" :
358     Delete a Virtual Circuit connection (unidirectional).
359    

  ViewVC Help
Powered by ViewVC 1.1.26