After working for almost a year without issues, SR-IOV functionality suddenly quit working. The NIC is an Intel I350-T4 and the OS is Windows Server 2012 R2.
Looking at the event logs in the parent, here's an example of the message indicating failure:
Log Name: Microsoft-Windows-Hyper-V-SynthNic-Admin
Date: 3/21/2014 2:12:18 PM
Event ID: 12585
Task Category: None
User: NT VIRTUAL MACHINE\5AEE01AC-A4BC-4C66-B83A-54F9A0FF87C7
Computer: [removed from public post]
'ADDS01' Network Adapter (5aee01ac-a4bc-4c66-b83a-54f9a0ff87c7--ac9784d3-e52c-4334-ac68-465a9a853454) failed to allocate a virtual function: The request is not supported. (0x80070032): IOV networking might be incompatible with other configured networking features. (Virtual Machine ID 5AEE01AC-A4BC-4C66-B83A-54F9A0FF87C7)
Looking in one of the affected Windows VMs, the following log entry is reported:
<Provider Name="v1q" />
<TimeCreated SystemTime="2014-03-21T18:12:23.582053900Z" />
<Computer>[removed from public post]</Computer>
<Data>Intel(R) I350 Virtual Function</Data>
I've looked at John Howard's detailed, "Everything you wanted to know about SR-IOV in Hyper-V" series and followed the steps in part 8 (http://blogs.technet.com/b/jhoward/archive/2012/03/21/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-8.aspx) to see if that would lead me to the resolution. Unfortunately, most of the error conditions that he mentions are paired with a 'Degraded' status and status messages with suggested reasons.
Unfortunately, the network connections in my case are listed as 'OK', and so I'm not sure where to go next to find out what changed and why SR-IOV is enabled on the NIC, virtual switch, and virtual NIC... and yet still not functional and not reporting as degraded.
Any help would be greatly appreciated.
All of the VMs can not use the function SR-IOV ?
Did you try to create a new VM with SR-IOV ?
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place.
Thank you so much for your response! :)
All of the existing VMs are unable to use SR-IOV. I created a new VM and it IS showing SR-IOV as active.
So, since SR-IOV used to work on all of the VMs and now it's not, but it is still working on a new VM, I guess my question now is: How do I get SR-IOV working on the existing VMs again (which it used to work just fine on)?
I've tried restarting the existing VMs as well as the host server... and yet all the existing VMs are still not taking advantage of SR-IOV?
Thanks so much!
- Edited by Paul R Davis Monday, March 24, 2014 1:44 PM Typos
Elton and Tim,
I want to thank you both so much for your time and assistance with troubleshooting this issue. Thanks to your quick and accurate responses, I am happy to report that SR-IOV is once again working correctly on all the VMs hosted on the affected server.
Once again, thank you so much!!!
In my case, I was finally able to track down what was causing the issue: http://blogs.msdn.com/b/virtual_pc_guy/archive/2014/03/21/my-daily-hyper-v-status-email-part-5-of-5.aspx
If you check my comment at the end of that post (which was a series by Ben Armstrong about a daily Hyper-V status report script), you'll find that I discovered the problem started when I rolled out this script in my pre-production environment and the issue stopped happening when I disabled the scheduled, daily run of the script.
I'm not sure why querying the status (which should be a read-only operation) of Hyper-V through PowerShell would cause SR-IOV to break, but that's exactly what was happening in my case.
I hope that helps.
Great feed back: thanks. I don't script against the host, but I have recently installed Veeam v7 (including the Veeam One monitor services). This polls the host performance counters regularly via remote registry and other mechanisms, so I wonder if this might trigger a similar response on the SR-IOV?
Thought I would add this information to this thread since it came up while I was trying to figure out my issue. It turns out that the Network adapters on my motherboard the I350-AM4 support SR-IOV based on Intels website
But my motherboard manufacture for some reason has disabled this functionality.
So the lesson learned here is to check both the Adapter support and the motherboard support for SR-IOV. I still don't understand why the same exact NPU would have SR-IOV disabled but yet use the same drivers with the option to turn on SR-IOV... VMDq does work though fyi.