Are you sure they weren't talking about giving the VM the whole controller?I read a lot about it and thought it works.
Ok. What happens when you add an expander? An expander is always going to be taking at least four ports. Is the card just going to hot plug a truckload of new PCIe devices? Does it remove three channels and shove every disk behind the expander into the first channel?so the theory of how this works is you would get an SR-IOV device for each port on the HBA. so if you had an 8 port card you would have 8 LSI-9200-SR-IOV devices.
There's a few ways it could be done. It could just require the host to pick which VF unassigned drives should be passed into, at the time when the drive is connected. Then, the hypervisor would be able to apply its own logic. This would make it effectively the same as software-based SCSI passthrough, but with better performance.I think there are just too many moving parts for this to really be viable outside of a niche use case. Sure, you could assign disks to VFs, but then what about hot swap? What if you add a whole expander full of disks? Do you rely on SES to maintain a physical slot mapping table that can then be used to look up which VF to use for a given slot? What if you replace an expander full of disks with a different expander with as many disks? Now implement all this in a UEFI OpROM plugin menu and watch how users lose 20% of their hairs by the time they've figured out what the hell is even going on.
Ok, but then that needs all sorts of plumbing that doesn't exist and is unlikely to exist (see the relatively poor handling of SR-IOV NICs, and those have been around for literally a decade and a half):It could just require the host to pick which VF unassigned drives should be passed into, at the time when the drive is connected. Then, the hypervisor would be able to apply its own logic.
I'd consider that a complete non-starter. Akin to staring down the barrel of loaded rifle while your drunk friend has the finger on the trigger while balancing on one leg.It could also just pass all the drives into every VF (and the PF). This would only be viable for trusted guests, as it wouldn't provide any security. But it could be useful for if you wanted to run a NAS or similar off a single HBA for the host + NAS. You'd also have to be careful to not pass through disks to any guests that will happily mount everything you throw at it (Windows), since you need a specialized filesystem to support concurrent access.
You do absolutely NOTHING with that alone. The card drivers have to actually enable the Virtual Functions. Plus they have to... do something when you pass them. No one knowns how the whole piping is supposed to work.The PCIe configuration space on these things has the SR-IOV flag set to true, what more support do you want?
No i dont. The point has been stated a half dozen times. The driver has no usable exposure. Probably even cards newer than 9200 series have no firmware developed for this. And even 9200 series does not seem to be available.Want another example?
Since it wasn't obvious, my post #13 above was sarcastic.You do absolutely NOTHING with that alone.