[openstack-dev] [nova] [neutron] PCI pass-through network support
yongli he
yongli.he at intel.com
Thu Jan 16 08:07:25 UTC 2014
On 2014?01?16? 08:28, Ian Wells wrote:
> To clarify a couple of Robert's points, since we had a conversation
> earlier:
> On 15 January 2014 23:47, Robert Li (baoli) <baoli at cisco.com
> <mailto:baoli at cisco.com>> wrote:
>
> --- do we agree that BDF address (or device id, whatever you call
> it), and node id shouldn't be used as attributes in defining a PCI
> flavor?
>
>
> Note that the current spec doesn't actually exclude it as an option.
> It's just an unwise thing to do. In theory, you could elect to define
> your flavors using the BDF attribute but determining 'the card in this
> slot is equivalent to all the other cards in the same slot in other
> machines' is probably not the best idea... We could lock it out as an
> option or we could just assume that administrators wouldn't be daft
> enough to try.
>
> * the compute node needs to know the PCI flavor. [...]
> - to support live migration, we need to use it
> to create network xml
>
>
> I didn't understand this at first and it took me a while to get what
> Robert meant here.
>
> This is based on Robert's current code for macvtap based live
> migration. The issue is that if you wish to migrate a VM and it's
> tied to a physical interface, you can't guarantee that the same
> physical interface is going to be used on the target machine, but at
> the same time you can't change the libvirt.xml as it comes over with
> the migrating machine. The answer is to define a network and refer
> out to it from libvirt.xml. In Robert's current code he's using the
> group name of the PCI devices to create a network containing the list
> of equivalent devices (those in the group) that can be macvtapped.
> Thus when the host migrates it will find another, equivalent,
> interface. This falls over in the use case under
but, with flavor we defined, the group could be a tag for this purpose,
and all Robert's design still work, so it ok, right?
> consideration where a device can be mapped using more than one flavor,
> so we have to discard the use case or rethink the implementation.
>
> There's a more complex solution - I think - where we create a
> temporary network for each macvtap interface a machine's going to use,
> with a name based on the instance UUID and port number, and containing
> the device to map. Before starting the migration we would create a
> replacement network containing only the new device on the target host;
> migration would find the network from the name in the libvirt.xml, and
> the content of that network would behave identically. We'd be
> creating libvirt networks on the fly and a lot more of them, and we'd
> need decent cleanup code too ('when freeing a PCI device, delete any
> network it's a member of'), so it all becomes a lot more hairy.
> --
> Ian.
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140116/59ff0d87/attachment.html>
More information about the OpenStack-dev
mailing list