How to connect Cisco NX-OS emulator – GNS3

How to connect Cisco NX-OS emulator –
Titanium 5.1.2 – installed on VMware to
GNS3
Titanium is Cisco Nexus Operating System NX-OS emulator made by Cisco. A copy of
Titanium 5.1.(2) installed on VMware image has recently leaked to the Internet and now we can
use it for our studies.
The tutorial shows how to do connect Titanium VMware image to GNS3 using Qemu emulator.
As GNS3 has built-in support for Qemu and Qemu can work with VMware vmdk images no
cloud connection is needed for connection to external devices.
Used Software
GNS3 0.8.3.1 installed on Fedora 17 Linux
NX-OS Emulator Titanium 5.1(2) VMware image
Qemu 1.3.0
1. Configure Qemu Guest Settings
Assuming that you have Qemu emulator installed and working set Qemu Guest settings as
following.
Edit-> Preferences-> Qemu-> Qemu Guest
Picture 1 GNS3 – Qemu Guest settings
2. Create a new GNS3 project
File-> New blank project
Picture 2 GNS3 – New Project
3. Create your topology
Two Titanium instances are connected to 3725 router occupied with NM-16SW module.
Titanium ports eth2/1 and mgmt0 are routed L3 ports connecting instances each other. There are
also switched trunk ports eth2/2 on both Titanium instances connecting instances to the router
3725.. For layer3 connectivity interfaces vlan1 are created on both instances.
Picture 3 GNS3 – Topology
Ports f1/0 and f1/1 are interfaces located on NM-16SW module that is inserted in the router
3725. Both ports are L2 trunk ports connected to Titanium instances. For L3 connectivity
interface vlan 1 is created on the router.
4. Titanium configuration
Use console (Right click on device) to connect to device serial port. Username/password for
Titanium is admin/cisco.
Picture 4 Titanium login
Now, check Titanium version.
Picture 5 Titanium version
Check presented modules.
Picture 6 Presented modules
From what we see, one management port mgmt0 and one Ethernet module with 9 interfaces are
presented in Titanium1. To ping IP address of management interface just issue command:
Picture 7 Pinging management interface
As interface mgmt0 is up on both Titanium instances by default instances should see each other
using CDP protocol.
Picture 8 L2 connection is working on routed eth2/1 ports of Titanium
Now configure particular IP addresses for eth2/1 interfaces on both Titanium instances. Once IP
addresses are assigned to the interfaces we should ping instances each other.
Picture 9 L3 connection is working on routed ports of Titanium
Create VLAN 10 and configure ethernet 2/2 as a L2 trunk port. In order to create layer3 vlan
interface, following command has to be issued.
Picture 10 Titanium1 Vlan, trunk a vlan interface configuration
Once vlan1 interface has been brought up a warning message “crashed service netstack” has
appeared as it is captured at the picture. However we can still ping vlan1 inetrface IP address
192.168.3.1 as it is shown at the picture.
Picture 11 Pinging vlan1 interface IP address
We have finished Titanium1 configuration. Configure router 3725 as following.
Picture 12 Router 3725 configuration
Test if we can ping vlan10 IP address 192.168.3.3 locally from CLI of router 3725.
Picture 13 Pinging local interface vlan10 on router 3725
Router 3725 Vlan1 interface seems to be up and reachable. The other task is to ping vlan10
interface of Titanium1. As you can see at the picture, once we issue ping to 192.168.3.1 from
router 3725, Titanium instance completly crashed and reboot itself.
Picture 14 Titanium1 crash
Conclusion
I’ve tested this scenario several times and every time I issued ping either from the remote end
device, Titanium emulator crashed and rebooted. My conclusion is that Titanium is not ready for
use in home lab and the real world scenario testing is impossible. As one guy said on the forum it
is just feeling of NX-OS.
Hoping for the best, everything may be changed with the next version of Titanium.