<div dir="ltr"><div><div><div>Hey Luke,<br><br></div>If you look at the passthrough proposals, the overview is that part of the passthrough work is to ensure there's an PCI function available to allocate to the VM, and part is to pass that function on to the Neutron plugin via conventional means.  There's nothing that actually mandates that you connect the SRIOV port using the passthrough mechanism, and we've been working on the assumption that we would be supporting the 'macvtap' method of attachment that Mellanox came up with some time ago.  <br>

<br></div>I think what we'll probably have is a set of standard attachments (including passthrough) added to the Nova drivers - you'll see in the virtualisation drivers that Neutron already gets to tell Nova how to attach the port and can pass auxiliary information - and we will pass the PCI path and, optionally, other parameters to Neutron in the port-update that precedes VIF plugging.  That would leave you with the option of passing the path back and requesting an actual passthrough or coming up with some other mechanism of your own choosing (which may not involve changing Nova at all, if you're using your standard virtual plugging mechanism).<br>

<br>-- <br></div>Ian.<br><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On 10 January 2014 19:26, Luke Gorrie <span dir="ltr"><<a href="mailto:luke@snabb.co" target="_blank">luke@snabb.co</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Mike,<br>
<div class="im"><br>
On 10 January 2014 17:35, Michael Bright <<a href="mailto:mjbrightfr@gmail.com">mjbrightfr@gmail.com</a>> wrote:<br>
<br>
> Very pleased to see this initiative in the OpenStack/NFV space.<br>
<br>
</div>Glad to hear it!<br>
<div class="im"><br>
> A dumb question - how do you see this related to the ongoing<br>
>      "[openstack-dev] [nova] [neutron] PCI pass-through network support"<br>
><br>
> discussion on this list?<br>
><br>
> Do you see that work as one component within your proposed architecture for<br>
> example or an alternative implementation?<br>
<br>
</div>Good question. I'd like to answer separately about the underlying<br>
technology on the one hand and the OpenStack API on the other.<br>
<br>
The underlying technology of SR-IOV and IOMMU hardware capabilities<br>
are the same in PCI pass-through and Snabb NFV. The difference is that<br>
we introduce a very thin layer of software over the top that preserves<br>
the basic zero-copy operation while adding a Virtio-net abstraction<br>
towards the VM, packet filtering, tunneling, and policing (to start<br>
off with). The design goal is to add quite a bit of functionality with<br>
only a modest processing cost.<br>
<br>
The OpenStack API question is more open. How should we best map our<br>
functionality onto Neutron APIs? This is something we need to thrash<br>
out together with the community. Our current best guess - which surely<br>
needs much revision, and is not based on the PCI pass-through<br>
blueprint - is here:<br>
<a href="https://github.com/SnabbCo/snabbswitch/tree/snabbnfv-readme/src/designs/nfv#neutron-configuration" target="_blank">https://github.com/SnabbCo/snabbswitch/tree/snabbnfv-readme/src/designs/nfv#neutron-configuration</a><br>


<br>
Cheers,<br>
-Luke<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div></div></blockquote></div></div></div></div></div>