So recently I was involved in a project to swap out a Nexus core that consisted of Nexus 7K Chassis with Nexus 5k distribution switches in favor of new Nexus 9396 models. This was my first opportunity to work with the Nexus line of switches whether in production or a lab and thought I’d post a couple of the differences between IOS and NX-OS.
HSRP (Hot Standby Routing Protocol)
First off, HSRP is Cisco’s proprietary redundancy protocol that allows a standby router to take over active control of the packet forwarding process in the event of a failure.
In IOS, the HSRP process is running all the time without user intervention. With NX-OS, you must enable this feature (and others) using the “feature hsrp” command.
Once HSRP is configured, if you remove the “feature hsrp” command, all the HSRP configuration will be deleted.
- HSRPv1 is enabled by default which is not compatible with HSRPv2 BUT can coexist in an HSRPv2 environment (both versions can run on the same device).
- HSRPv1 supports 256 group numbers (0-255) while HSRPv2 supports 4096 (0-4095).
- HSRPv2 is enabled on a per-interface basis.
- NX-OS uses the “hsrp #” command versus the IOS “standby ip” command
In a L3 switch environment this is normally set up in the VLAN SVI’s configuration or turning a switchport into a L3 port using the “no switchport” command and assigning that port an IP address.
HSRP on IOS
SWITCH 1
interface vlan 50
ip address 10.50.50.2 255.255.255.0
standby 50 ip 10.50.50.1
standby 50 preempt
standby 50 priority 110
SWITCH 2
interface vlan 50
ip address 10.50.50.3 255.255.255.0
standby 50 ip 10.50.50.1
HSRP on NX-OS
SWITCH 1
interface vlan 50
ip address 10.50.50.2/24
hsrp 0
ip 10.50.50.1
preempt
priority 110
SWITCH 2
interface vlan 50
ip address 10.50.50.3/24
hsrp 0
ip 10.50.50.1
That’s the basic difference in the configuration between NX-OS and IOS. Nothing special but the NX-OS does simplify things a little and improves readability.
vPC (Virtual Port-Channel) on NX-OS

Above is the vPC connections between the core and a set of distribution switches. Due to other configuration limitations, all routing and HSRP is configured on the core. The 3560X switches are L2 switches to provide out-of-band management for all switches in the racks using VLAN 99. We thought the mgmt ports would be better served as OOB interfaces rather than using them for keep-alive links. Also by moving the keep-alive links to normal interfaces, we were able to provide redundancy with two links vs one.
The Configuration
VPC Peer-Link on the core
*On all the switches with NX-OS, the following needs to be configured*
feature vpc
feature hsrp
feature lacp
VPC Domain and Switch Configuration
SW-CORE-A
vpc domain 10
peer-switch
role priority 120
system-priority 1024
peer-keepalive destination 10.199.199.2 source 10.199.199.1 vrf vpc-keepalive
delay restore 10
peer-gateway
auto-recovery reload-delay 300
ip arp synchronize
SW-CORE-B
vpc domain 10
peer-switch
role priority 150 *lower priority wins*
system-priority 1024
peer-keepalive destination 10.199.199.1 source 10.199.199.2 vrf vpc-keepalive
delay restore 10
peer-gateway
auto-recovery reload-delay 300
ip arp synchronize
SW-CORE-A
interface port-channel99
description VPC Peer Link - SW-CORE-B
switchport mode trunk
switchport trunk allowed vlan 1-499,501-4094
spanning-tree port type network
vpc peer-link
SW-CORE-B
interface port-channel99
description VPC Peer Link-SW-CORE-A
switchport mode trunk
switchport trunk allowed vlan 1-499,501-4094
spanning-tree port type network
vpc peer-link
Port-Channel Members (Same on both switches)
99 Po99(SU) Eth LACP Eth1/47(P) Eth1/48(P)
VPC Peer Link on the Distribution Layer
SW-DIST-A
interface port-channel1
description VPC Peer Link - SW-DIST-B
switchport mode trunk
spanning-tree port type network
vpc peer-link
SW-DIST-B
interface port-channel1
description VPC Peer Link - SW-DIST-A
switchport mode trunk
spanning-tree port type network
vpc peer-link
Port-Channel Members (Same on both switches)
1 Po1(SU) Eth LACP Eth1/29(P) Eth1/30(P)
VPC Peer-Keepalive Links on the Core
These links need to be in their own VRF table and the interfaces need to be Layer3. Also it’s really a pleasure to be able to use CIDR notation rather than type out the subnet mask in NX-OS commands.
SW-CORE-A
interface port-channel910
no switchport
speed 1000
vrf member vpc-keepalive
ip address 10.199.199.1/30
SW-CORE-B
interface port-channel910
no switchport
speed 1000
vrf member vpc-keepalive
ip address 10.199.199.2/30
Port-Channel Members for Keepalive
910 Po910(RU) Eth NONE Eth1/39(P) Eth1/40(P)
Member Interface Configuration
interface Ethernet#/#
description keep-alive: SW-CORE-# <> SW-CORE-#
no switchport
vrf member vpc-keepalive
channel-group 910 *lacp*
no shutdown
Peer Keepalives for Distribution
SW-DIST-A
interface port-channel920
description keep-alive: SW-DIST-A <> SW-DIST-B
no switchport
vrf member vpc-keepalive
ip address 10.199.199.13/30
SW-DIST-B
interface port-channel920
description keep-alive: SW-DIST-B <> SW-DIST-A
no switchport
vrf member vpc-keepalive
ip address 10.199.199.12/30
Port-Channel Members for Keepalive
920 Po920(RU) Eth NONE Eth1/2(P) Eth1/4(P)
Member Interface (Same for all)
interface Ethernet#/#
no switchport
vrf member vpc-keepalive
channel-group 920 *lacp*
no shutdown
That sums up a basic installation of a VPC domain with four Nexus switches running NX-OS.
You must be logged in to post a comment.