I read an excellent blog post by Scott Lowe (@scott_lowe) this week on Single Root I/O Virtualization (SR-IOV) titled “What is SR-IOV?“. It’s an older post but it did a great job of solidifying my understanding and filling in the knowledge gaps. One thing that stuck out was this bit:
SR-IOV requires support in the BIOS as well as in the operating system instance or hypervisor that is running on the hardware. Until very recently, I had been under the impression that SR-IOV was handled solely in hardware and did not require any software support; unfortunately, I was mistaken. Software support in the operating system instance or hypervisor is definitely required.
Like Scott, I didn’t realize there was a software dependency. Here’s the kicker though:
I do not have a timeframe for SR-IOV support in VMware vSphere or Microsoft Hyper-V.
Ouch. I immediately wondered how the Virtual Interface Cards (VICs) in Cisco UCS were able to successfully present multiple vNICs and vHBAs to the hypervisor. Was Cisco pulling a fast one? Was this only possible if the UCS node was running an OS like Windows or Redhat on bare metal and not when running vSphere or Hyper-V?
To the Google! Actually, first to bradhedlund.com. Brad (@bradhedlund) is well known in the blogosphere and Twitterverse as a Cisco UCS authority. He plainly points out [Cisco UCS criticism and FUD: Answered, answer to question #6] that the UCS VIC does not employ SR-IOV but uses alternate, standards-based PCIe methods of presenting virtual hardware to the hypervisor.
To further drive the point home, the datasheet for the first generation “Palo” adapter [UCS M81KR Virtual Interface Card] and the gen 2 1240/1280 cards [UCS Virtual Interface Card 1240 Data Sheet] both state that IO virtualization is achieved without the use of SR-IOV.
So there we go. Question asked and answered. I don’t quite understand what the “alternate methods” are, but I know that the VIC adapters will work just fine with vSphere and Hyper-V.
On a side note, the thing that led me down this rabbit hole was Scott’s recent post on SR-IOV support coming in the next version of Hyper-V [SR-IOV Support in the Next Version of Hyper-V].