To reply to myself, I see that the sr-iov pool is initialized by networkCreateInterfacePool in network/bridge_driver.c, and it looks like ports are allocated by networkAllocatePort. The latter looks for a device with 0 connections as defined by netdef->forward.ifs[i].connections, and later bumps that count if the device is successfully allocated. So it seems the answer to my question is that libvirt does maintain this state in memory only, and does not try to re-create it if restarted. As such I don't think there's any way to recover from my situation currently short of shutting down everything :(. networkCreateInterfacePool iterates over all the vf's while configuring the pool. Would there by any way for it to check to see if a vf is already is use while doing so, and initialize connections to 1 so it won't be used until the running vm releases it, or at least generate a warning that the vf is in use and *not* add it to the pool? Thanks... _______________________________________________ Users mailing list -- users@xxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxx