Nexus: Hands on with NX-OS, Part#1

Since Cisco announced the Nexus 7000, I have seen and heard quite a lot of criticism of NX-OS, often on the basis that it will force engineers to learn a whole new CLI. But Cisco believe that NX-OS is ‘IOS-like', and that engineers have nothing to worry about. So, what's the truth?

I've had access to NX-OS for a few weeks now, and initially at least I had no manuals. I decided to test just how 'IOS-like' NX-OS is.

My rough-and-ready test consisted of using standard IOS commands to configure a wide variety of layer-2 and layer-3 features and functions. In this blog post, I'll share a small but representative sample - just enough to get the flavor of NX-OS. 

First, the 'show version' command to verify the OS version:

Mark-Nexus01# show version

Cisco Nexus Operating System (NX-OS) Software

TAC support:

Copyright (c) 2002-2008, Cisco Systems, Inc. All rights reserved.

The copyrights to certain works contained herein are owned by

other third parties and are used and distributed under license.

Some parts of this software are covered under the GNU Public

License. A copy of the license is available at


  loader:    version N/A

  kickstart: version 4.0(1)

  system:    version 4.0(1) [gdb]

<output omitted>

So, I'm using NX-OS version 4.0(1). 

Next, I attempted to configure a number of basic layer-2 features using standard IOS commands:

1 a couple of VLANs

2. an access/edge port

3. a trunk port

This is how things went:

Configuring VLANs:

Mark-Nexus01(config)# vlan 2

Mark-Nexus01(config-vlan)# name testvlan

Mark-Nexus01(config-vlan)# vlan 3

Mark-Nexus01(config-vlan)# name anothertestvlan


Configuring an Access Port:


Mark-Nexus01# conf t

Mark-Nexus01(config)# interface ethernet 2/2

Mark-Nexus01(config-if)# switchport

Mark-Nexus01(config-if)# switchport mode access

Mark-Nexus01(config-if)# switchport access vlan 3

Mark-Nexus01(config-if)# spanning-tree portfast

Warning: portfast should only be enabled on ports connected to a single

 host. Connecting hubs, concentrators, switches, bridges, etc... to this

 interface  when portfast is enabled, can cause temporary bridging loops.

 Use with CAUTION

%Portfast has been configured on Ethernet2/2 but will only

 have effect when the interface is in a non-trunking mode.

Mark-Nexus01(config-if)# no shut



Configuring a Trunk:

Mark-Nexus01# conf t

Mark-Nexus01(config)# interface ethernet 2/6

Mark-Nexus01(config-if)# switchport

Mark-Nexus01(config-if)# switchport mode trunk

Mark-Nexus01(config-if)# switchport trunk allowed vlan all

Mark-Nexus01(config-if)# switchport trunk native vlan 2



Pretty successful - just about all standard IOS commands used to configure layer-2 features work.

So far so good. But how about layer-3?

For this part of my rough test of the similarities between NX-OS and IOS, I attempted to configure the following:

1. an IP address

2. a static route

3. basic OSPF

4. basic HSRP

Configuring an IP Address:


Mark-Nexus01# conf t

Mark-Nexus01(config)# int eth 2/6

Mark-Nexus01(config-if)# no switchport

Mark-Nexus01(config-if)# ip address


Configuring a Static Route:

Mark-Nexus01# conf t

Mark-Nexus01(config)# ip route

Configuring Basic OSPF:

Mark-Nexus01(config)# router ospf 1


% invalid command detected at '^' marker.

Mark-Nexus01(config)# feature ?

  bgp             Enable/Disable Border Gateway Protocol (BGP)

  cts             Enable/Disable CTS

  dhcp            Enable/Disable DHCP Snooping

  dot1x           Enable/Disable dot1x

  eigrp           Enable/Disable Enhanced Interior Gateway Routing Protocol


  eou             Enable/Disable eou(l2nac)

  glbp            Enable/Disable Gateway Load Balancing Protocol (GLBP)

  hsrp            Enable/Disable Hot Standby Router Protocol (HSRP)

  interface-vlan  Enable/Disable interface vlan

  isis            Enable/Disable IS-IS Unicast Routing Protocol (IS-IS)

  lacp            Enable/Disable LACP

  msdp            Enable/Disable Multicast Source Discovery Protocol (MSDP)

  netflow         Enable/Disable NetFlow

  ospf            Enable/Disable Open Shortest Path First Protocol (OSPF)

<output omitted>

Mark-Nexus01(config)# feature ospf

Mark-Nexus01(config)# router ospf 100

Mark-Nexus01(config-router)# network area 0

Mark-Nexus01(config-router)# network area 1

Mark-Nexus01(config-router)# network area 2

Mark-Nexus01(config-router)# area 2 stub no-summary


Configuring HSRP:

Mark-Nexus01(config)# int eth 2/6

Mark-Nexus01(config-if)# standby 1 ip


% invalid command detected at '^' marker.



Mark-Nexus01(config)# feature hsrp

Mark-Nexus01(config)# int eth 2/6

Mark-Nexus01(config-if)# standby 1 ip


% invalid command detected at '^' marker.

Mark-Nexus01(config-if)# hsrp ?

  <0-4095>  Group number

  delay     HSRP initialisation delay

  use-bia   HSRP uses interface's burned in address

  version   HSRP version

Mark-Nexus01(config-if)# hsrp 1 ?


Mark-Nexus01(config-if)# hsrp 1

Mark-Nexus01(config-if-hsrp)# ?

  authentication  Authentication

  exit            Exit from command interpreter

  ip              Enable HSRP IPv4 and set the virtual IP address

  mac-address     Virtual MAC address

  name            Redundancy name string

  no              Negate a command or set its defaults

  preempt         Overthrow lower priority Active routers

  priority        Priority level

  timers          Hello and hold timers

  track           Associates track object to HSRP group

Mark-Nexus01(config-if-hsrp)# ip

Mark-Nexus01(config-if-hsrp)# preempt



That's it. As you can see, I had a bit of trouble with OSPF until I discovered the ‘feature' command. In addition, there is a difference in the command syntax for HSRP - but I found the new commands very quickly, and they are more intuitive, in my opinion.

Cisco say that NX-OS CLI is IOS-like. I disagree - it's VERY IOS-like. So, engineers fluent in IOS will feel right at home.

Pretty much all the familiar commands work in NX-OS, and if any engineer feels the urge to learn faster more efficient ways of doing things then NX-OS also provides many commands that will make their lives just that bit easier. And then there are lots of new features to discover as well.

In summary, I like NX-OS, and I think anyone who likes IOS will like it as well. Still, there are one or two deficiencies:

Mark-Nexus01# wr t


% invalid command detected at '^' marker.

% Invalid command


But hopefully Cisco can fix that in version 4.0(2) :-)

Over the next few weeks, I'll be blogging some more on the new features that can be found in NX-OS (as well as blogging on a number of other subjects).


Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2008 IDG Communications, Inc.

SD-WAN buyers guide: Key questions to ask vendors (and yourself)