For an Ubuntu 12.04 server and KVM/libvirt 1.0.0 with an Intel 82599 network chip:
following these docs: http://wiki.libvirt.org/page/Networking#Assignment_from_a_pool_of_SRIOV_VFs_in_a_libvirt_.3Cnetwork.3E_definition
I can get a single pool of SRIOV networks on one PF ( eth0 for example) but when I try to get four pools, or a pool with four PFs, I get an error. "Duplicate ID 'hostdev0' for device" ... (I am able to get four PFs for each VM via manually specifying using the hostdev stanza in the create xml file.)
My temp network xml is:
<network>
<name>passthrough_eth0</name>
<forward mode='hostdev' managed='yes'>
<pf dev='eth0'/>
</forward>
</network>
And it seems that I need to name the hostdevs 0..3 but I don't see how?