What is vPC Host Mode Pinning for Nexus 1000v?

By | January 8, 2015

Recently I have been done a migration from vSS to the Cisco Nexus 1000v switch. My customer wanted to reconfigure network (uplinks) because some of ESXi uplinks  had been configured as active-standby in VSS because there were uplinks connected to the upstream switches (two old catalyst separate switches, no stackable) not supported multi-chassis Etherchannel (MEC). The VSS active-standby is a failover configuration so both uplinks are not used at the same time (no balancing).active-standby

One of the reason to do the migration to the Nexus 1000v was avoid active-standby and try to use an active-active configuration. Nexus 1000v provides vPC Host Mode (vPC HM) which allows to configure PortChannel on the Nexus 1000v even if the upstream physicals switches cannot support PortChannel. How is it possible? The "one-side" PortChannel can be configured using one of three methods of pinning VM traffic to an uplink:

  • MAC Pinning
  • Subgroup Pinning based on CDP
  • Manual Subgroup Pinning

MAC Pinning

MAC Pinning simply pins VM traffic in a round-robin fashion to each uplink based on the MAC address of the VM. This allows for utilization of all uplinks, but is non-deterministic as to which uplink a particular VM will use. This approach helps ensure that the MAC address of a virtual machine is never seen on multiple interfaces on the upstream switches. MAC Pinning is the easiest to deploy and is the recommended channeling option when connecting to upstream switches that do not support MEC.

vPC Host Mode (vPC HM) - MAC Pinning

vPC Host Mode (vPC HM) - MAC Pinning (cisco.com)

 

To configure Nexus 1000v uplink to use MAC Pining, you should create port profile as follows:

port-profile type ethernet High_Speed_Uplink

  vmware port-group

  switchport mode trunk

  switchport trunk allowed vlan all

  channel-group auto mode on mac-pining

  no shutdown

  state enabled

 

Subgroup Pinning based on CDP

Subgroup Pinning based on CDP is an option that can be used when there are several uplinks available that are being connected to two separate physical upstream switches. CDP is used to discover which upstream physical switch an uplink is connected to, and all uplinks connected to the same switch are assigned the same sub-group id. VM traffic is then assigned to a subgroup based on the source MAC address in a round-robin fashion. Traffic within the subgroup can be hashed based on L2/L3/L4 header information, to achieve more efficient load balancing between the links in each subgroup.vPC Host Mode (vPC HM) - Subgroup Pinning based on CDP

To configure Nexus 1000v uplink to use Subgroup Pining based on CDP, you should create port profile as follows:

 

port-profile type ethernet High_Speed_Uplink

  vmware port-group

  switchport mode trunk

  switchport trunk allowed vlan all

  channel-group auto mode on sub-group cdp

  no shutdown

  state enabled

 

Manual Subgroup Pinning

This option can be used for switches with CDP disabled (e.g. security reason) or not supported.

Conclusion

My customer uses only Cisco switches with CDP enabled so I recommended and implemented vPC Host Mode (vPC HM) with Subgroup Pinning based on CDP. It works perfectly 🙂