Defining VN-Link

The misunderstanding of Cisco’s enhanced network products for VMware environments has hit critical mass.  At this point very few people know what does what, how, and when to use it.  Hopefully this will demystify some of it.

VN-Link:

Product name for a family of products, does not specifically refer to any one product so forget the idea of hardware vs. software implementation, etc.  Think of the Nexus family of switches: 1000v, 2000, 4000, 5000, 7000.  All different products solving different design goals but are components of the Data Center 3.0 portfolio.  The separate products that fall under VN-Link are described below:

Nexus 1000v:

The Nexus 1000v is a Cisco software switch for VMware environments.  It is comprised of two components: a Virtual Supervisor Module (VSM) which acts as the control plane, and a Virtual Ethernet Module (VEM) which acts as a data plane.  2 VSM modules operate in an active/standby fashion for HA and each VMware host gets a VEM.  This switch is managed by a Cisco NXOS CLI and looks/smells/feels like a physical switch from a management perspective…that’s the whole point:

‘Network teams, here’s your network back, thanks for letting us borrow it.’  – The Server Team

The Nexus 1000v does not rely on any mystical magic such as VN-Tag (discussed shortly) to write frames.  Standard Ethernet rules apply and MAC based forwarding stays the same.  The software switch itself is proprietary (just like any hardware/software you buy from anyone) but the protocol used is standards based Ethernet.

Hypervisor Bypass/Direct path I/O:

Hypervisor bypass is the ability for a VM to access PCIe adapter hardware directly in order to reduce the overhead on a physical VMware’s hosts CPU.  This functionality can be done with most any PCIe device using VMware’s Direct-Path I/O.  The advantage here is less host CPU/memory overhead for I/O virtualization.  The disadvantage is currently no support for vMotion and limits as to the number of Direct-Path I/O devices per host.  This doesn’t require Cisco hardware or software to do, but Cisco does have a device that makes this more appealing in blade servers with limited PCIe devices (the VIC discussed later.)

Pass Through Switching (PTS):

PTS is a capability of the Cisco UCS blade system.  It relies on management intelligence in the UCS Manager and switching intelligence on each host to pull management of the virtual network into the UCS manager.  This allows a single point of management for the entire access layer including the virtual switching environment, hooray less management overhead more doing something that matters!

PTS directly maps a Virtual Machines virtual NIC to an individual physical NIC port across a virtualized pass-through switch.  No internal switching is done in the VMware environment, instead switching and policy enforcement are handled by the upstream Fabric Interconnect.  What makes this usable is the flexibility on number of interfaces provided by the VIC, discussed next.

Virtual Interface Card (VIC) the card formerly known as Palo:

The virtual interface card is an DCB and FCoE capable I/O card that is able to virtualize the PCIe bus to create multiple interfaces and present them to the operating system.  Theoretically the card can create a mix of 128 virtual Ethernet and Fibre Channel interfaces, but the real usable number is 58.  Don’t get upset about the numbers your operating system can’t even support 58 PCIe devices today ;-).  Each virtual interface is known as a VIF and is presented to the operating system (any OS) as an individual PCIe device.  The operating system can then do anything it chooses and is capable of with the interfaces.  In the example of VMware the VMware OS (yes there is an actual OS installed there on the bare metal underneath the VMs) can then assign those virtual interfaces (VIF) to vSwitches, VM kernel ports, or Service Console ports, as it could with any other physical NIC.  It can also assign them to the 1000v, to be used for Direct-Path I/O, or to use with Pass-Through Switching.  Even more important is the flexibility to use separate VIFs for each of these purposes on the same host (read: none of these is mutually exclusive.)   The VIC relies on VN-Tag for identification of individual VIFs, this is the only technology discussed in this post that uses VN-tag (although there are others.)

VN-Tag:

VN-Tag is a frame tagging method that Cisco has proposed to the IEEE and is used in several Cisco hardware products.  VN-Tag serves two major purposes:

1) It provides individual identification for virtual interfaces (VIF.)

2) It allows a VN-Tag capable Ethernet switch to switch and forward frames for several VIFs sharing a set of uplinks.  For example if VIF 1 and 2 are both using port 1 as an uplink to a VN-Tag capable switch device the VN-Tag allows the switch to forward the frame back down the same link because the destination VIF is different than the source VIF.

VN-Tag has been successfully used in production environments for over a year.  If you’re using a Nexus 2000, you’re already using VN-Tag.  VN-Tag is used by the: Nexus 2000 Series Switches, the UCS I/O Module (IOM), and the Cisco Virtual Interface Card (VIC.)  The switching for these devices is handled by one of the two VN-Tag capable switches: Nexus 5000 or UCS 6100 Fabric interconnect.  Currently all implementations of VN-Tag use hardware to write the tags.

– Joe Onisick (http://www.definethecloud.net)

What’s the difference between VN-Link and VN-Tag?

This is a question that constantly comes up in the classes and discussions that I’m involved in.

Part of the problem is that Cisco’s own documentation tends towards the marketing and less towards the technology.  Because of that, even a lot of Cisco folks are confused on exactly what is meant by each term.  Hopefully, this short summary will help.

VN-Link is a marketing umbrella term used by Cisco to describe any number of approaches to providing physical network type visibility to non-physical or non-directly attached devices.  This could mean virtual machines, could mean virtual interfaces on a remote interface card (a la Cisco’s Virtual Interface Card – aka Palo), or could mean physical interfaces on a non-switching remote device such as the Nexus 2000-series devices.

Probably the easiest way to group these is by the existence of a “Virtual Ethernet Port” on a switching device that is controlled like a physical port, but doesn’t directly map to a local physical switch port.

There are two approaches currently in use that fall under the VN-Link umbrella.

The Cisco Nexus 1000V switch, which is a software-only Cisco-branded switch that rides on top of VMware’s vNetwork Distributed Switch (DVS), is considered VN-Link because it provides virtual machine level visibility and granularity in network configuration and control.  Each virtual machine receives a “virtual Ethernet port” on the 1000V, which can be configured and controlled just like a physical Ethernet port would on a standard switch.

The Nexus 5000/2000 combination and the Cisco UCS Fabric Interconnect/IO Module combination both use an additional header in Ethernet frames called VN-Tag, which uniquely identifies some remote port which will receive a virtual Ethernet port on the local switch (50xx or 61xx).  This causes the Nexus 2000 or UCS IO Module to act as a remote line card to the host device, and doesn’t have to be managed individually.   All switching happens in the host device (50xx or 61xx).  The same VN-Tag technology is used by the Cisco Virtual Interface Card (VIC, or Palo) to identify the virtual interfaces being supported by the card.  With this tag added into the Ethernet frame, the host device (50xx or 61xx) can uniquely identify the source port (virtual or physical) and apply policy or configuration to it.

Note that the Nexus 1000V does not perform VN-Tag’ing – it simply doesn’t need to in order to meet it’s objective of providing VM-level visibility and control.

So both of these approaches meet the same architectural goal, while doing so with very different technologies.  Even so, they both fall under the same VN-Link umbrella.  Don’t confuse VN-Link, the “goal”, with the implementation.